激光治疗仪中的触摸屏接口设计
ER/DFRPD1PD0
bit7指明发送命令开始,高电平有效。A2:A0用于选择数据输入通道,101选择X坐标测量,001选择Y坐标测量。MODE将内部模数转换器的分辨率定义为8位(MODE=1)或12位(MODE=0)。SER/DFR为单端/双端参考电压选择位。PD1:PD0根据省电模式的需要进行选择设置。这些命令控制位的设置将在程序代码部分得以应用。
3系统硬件设计
激光治疗机的输入系统由三部分组成:触摸屏、触摸屏控制器和微控制器。微控制器采用Microchip公司的新型芯片PIC16F867。内部总线采用哈佛双总线结构。在内部频率相同的情况下,加快了数据的传输速度,避免了瓶颈现象。此芯片采用精简指令集(RISC)易于使用,加快了开发速度。内部含有8KB程序存储器(分页操作),256字节EEPROM,368字节RAM,8路模数转换器,1个通用串行口(SCI),1个I2C接口,1个串行外围接口(SPI),3个定时器及看门狗电路(WathcDog)等许多重要资源。外围许多接口功能上的复用使得整个微控制器简洁,功能强大。
根据ADS7846与微控制器进行数据交换的接口特征,选用PIC16F876的SPI口。SPI口包括三个信号:SDO(串行数据输出),SDI(串行数据输入),SCK(串行同步时钟)。硬件连接关系见图3。
本文侧重于激光治疗仪输入系统的设计,其它硬件的设计仅给出接口的含义。由于PIC16F876的内部集成度较高,所以外围接口相当简单,但是要完成复杂的控制功能必须进行内部寄存器的设置。
图3
4软件设计
按照以上设计思想设计了应用软件。图4为主程序与触摸屏输入检测部分的程序流程图。其中,坐标数据处理通常采用查表的方法,将用户命令的坐标形成数据表,利用获得的坐标信息进行变换快速查表,从而提高软件的运行速度。
下面是PIC16F876同ADS7846接口的部分程序代码。
CMDATAEQU30H
XDATA_HEQU31H
XDATA_LEQU32H
YDATA_HEQU33H
YDATA_LEQU34H
;初始化寄存器
MOVLW02H
MOVWFTRICB;定义B口方向
MOVLW90H
MOVWFTRISC;定义C口方向
BCFSSPCON,5
MOVLW10H
MOVWFSSPCON;初始化SSPCON
BSFSSPCON,5;启动SPI
;获取X,Y坐标
GetXY
BCFPORTB,0;选口AD7846
MOVLW0D4H;获取X坐标命令
MOVWFSSPBUF;发送命令
BUSY
BTFSCPORTB,1;判忙?
GOTOBUSY
MOVFSSPBUF,W;12位数据
MOVWFXDATA_H;XDATA_H存放高字节
《激光治疗仪中的触摸屏接口设计(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/140752.html
bit7指明发送命令开始,高电平有效。A2:A0用于选择数据输入通道,101选择X坐标测量,001选择Y坐标测量。MODE将内部模数转换器的分辨率定义为8位(MODE=1)或12位(MODE=0)。SER/DFR为单端/双端参考电压选择位。PD1:PD0根据省电模式的需要进行选择设置。这些命令控制位的设置将在程序代码部分得以应用。
3系统硬件设计
激光治疗机的输入系统由三部分组成:触摸屏、触摸屏控制器和微控制器。微控制器采用Microchip公司的新型芯片PIC16F867。内部总线采用哈佛双总线结构。在内部频率相同的情况下,加快了数据的传输速度,避免了瓶颈现象。此芯片采用精简指令集(RISC)易于使用,加快了开发速度。内部含有8KB程序存储器(分页操作),256字节EEPROM,368字节RAM,8路模数转换器,1个通用串行口(SCI),1个I2C接口,1个串行外围接口(SPI),3个定时器及看门狗电路(WathcDog)等许多重要资源。外围许多接口功能上的复用使得整个微控制器简洁,功能强大。
根据ADS7846与微控制器进行数据交换的接口特征,选用PIC16F876的SPI口。SPI口包括三个信号:SDO(串行数据输出),SDI(串行数据输入),SCK(串行同步时钟)。硬件连接关系见图3。
本文侧重于激光治疗仪输入系统的设计,其它硬件的设计仅给出接口的含义。由于PIC16F876的内部集成度较高,所以外围接口相当简单,但是要完成复杂的控制功能必须进行内部寄存器的设置。
图3
4软件设计
按照以上设计思想设计了应用软件。图4为主程序与触摸屏输入检测部分的程序流程图。其中,坐标数据处理通常采用查表的方法,将用户命令的坐标形成数据表,利用获得的坐标信息进行变换快速查表,从而提高软件的运行速度。
下面是PIC16F876同ADS7846接口的部分程序代码。
CMDATAEQU30H
XDATA_HEQU31H
XDATA_LEQU32H
YDATA_HEQU33H
YDATA_LEQU34H
;初始化寄存器
MOVLW02H
MOVWFTRICB;定义B口方向
MOVLW90H
MOVWFTRISC;定义C口方向
BCFSSPCON,5
MOVLW10H
MOVWFSSPCON;初始化SSPCON
BSFSSPCON,5;启动SPI
;获取X,Y坐标
GetXY
BCFPORTB,0;选口AD7846
MOVLW0D4H;获取X坐标命令
MOVWFSSPBUF;发送命令
BUSY
BTFSCPORTB,1;判忙?
GOTOBUSY
MOVFSSPBUF,W;12位数据
MOVWFXDATA_H;XDATA_H存放高字节
《激光治疗仪中的触摸屏接口设计(第2页)》