Board logo

标题: AVR控制4线触摸屏程序 [打印本页]

作者: yuchengze    时间: 2016-10-20 14:39     标题: AVR控制4线触摸屏程序

四线电阻式触摸屏是是电阻式家族中应用最广、最普及的一种。其结构由下线路(玻璃或薄膜材料)导电ITO层和上线路(薄膜 材料)导电ITO层组成。中间有细微绝缘点隔开,当触摸屏表面无压力时,上下线路成开路状态。一旦有压力施加到触摸屏上,
上下线路导通,控制器通过下线路导电ITO层在X坐标方向上施加驱动电压,通过上线路导电ITO层上的探针,侦测X方向上的电
压,由此推算出触点的X坐标。通过控制器改变施加电压的方向,同理可测出触点的Y坐标,从而明确触点的位置。
[img][/img]screen.width-500)this.style.width=screen.width-500;" border=0<


AVR单片机自带10位AD,这对控制4线的小尺寸触摸屏是非常合适的。
'------------------------------------------------------------------------
'使用芯片: Atmega48
'晶振: 内部8MHz晶振
'email: support@avrbascom.com
'软件版本: Bascom-AVR 1.11.8.7 Full version
'------------------------------------------------------------------------

$regfile = "m48def.DAT"
$crystal = 14745600
$baud = 19200
Dim Temp As Byte , X As Word , Y As Word
Config Adc = Single , Prescaler = Auto , Reference = Avcc   '设定ADC转换参数,单次转换,转换速度由编译器自动设定,AVCC作为AD的参考源
Main:
Do
'*************************
' 在这里你可以根据需要添加你的程序
'*************************
Gosub Readtouch  ' 读取触发屏坐标
Waitms 150
Loop
End

Readtouch:
Config Pinc.0 = Output                                      ' 设定port c.0 为输出
Config Pinc.2 = Output                                      ' 设定port c.2 为输出
Set Portc.0                                                 ' port c.0 输出高电平
Reset Portc.2                                               ' port c.2 输出低电平
Ddrc.1 = 0                                                  ' 设定port c.1 为输入
Ddrc.3 = 0                                                  ' 设定port c.3 为输入
Waitms 20                                                   ' 延时20ms,等待IO口状态稳定
Y = Getadc(3)                                               ' 读取y轴坐标
Y = 1024 - Y                                                ' 翻转坐标,该语句根据需要添加,具体与你引脚连接有关
Print "VALUE Y : " ; Y                                      ' 将结果发到串口,调试时使用
Config Pinc.1 = Output                                      ' 设定port c.1 为输出
Config Pinc.3 = Output                                      ' 设定port c.3 为输出
Reset Portc.1                                               ' 设定port c.1 低电平
Set Portc.3                                                 ' 设定port c.3 高电平
Ddrc.0 = 0                                                  ' 设定port c.0 为输入
Ddrc.2 = 0                                                  ' 设定port c.2 为输入
Waitms 20                                                   ' 延时20ms,等待IO口状态稳定
X = Getadc(2)                                               ' 读取x轴坐标
X = 1024 - X                                                
Print "VALUE X : " ; X
Return
以上的程序,只是一个简单的介绍,经过简单的修改,就可以很容易的移植到其它AVR单片机。

关键字:AVR控制  4线触摸屏




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0