基于嵌入式微处理器S3C44BOX的触摸屏接口设计
图5 触摸屏的状态转换 系统软件中,初始化程序、滤波程序和坐标转换程序是一般常规通用程序。AD 测量子程序是获得X 轴和Y轴坐标的关键部分,其程序如下: / / 获取当前的坐标 void TouchADC(uint16 3 x , uint16 3 y) { int i ; rADCPSR = 10 ; / / 切换为X 通道态准备A/ D 转换 Set TouchX() ; Delay(1000) ; { / / 启动AIN1 通道A/ D 转换 rADCCON = 0x1 | (1 2) ; while (rADCCON 0x1) ; while ( ! (rADCCON 0x40) ) ; for (i = 0 ; i rADCPSR ; i + + ) ; 3 x = rADCDAT ; } rADCPSR = 10 ; / / 切换为Y通道模式准备A/ D 转换 Set TouchY() ; / / 在X/ Y通道切换时要延时以使触摸屏稳定下来 Delay(1000) ; { / / 启动AIN0 通道A/ D 转换 rADCCON = 0x1| (0 2) ; while (rADCCON 0x1) ; while ( ! (rADCCON 0x40) ) ; for (i = 0 ; i rADCPSR ; i + + ) ; 3 y = rADCDAT ; } / / 切换为空闲态,等待中断发生 Set TouchIdle() ; / / 输出显示X ,Y坐标数值 Out Put (0 ,″(X ,Y) = ( %3d , %3d) n″, 3 x , 3 y) ; } 6 结语 触摸屏已成为现代嵌入式设备人机交互的首选输入设备。本文详细介绍了触摸屏的工作原理,以三星公司ARM7 内核芯片S3C44B0X 为基础,完成了触摸屏的软硬件设计,实践证明系统稳定可靠,满足了在复杂的多任务环境中触摸屏快速响应的要求。
评论