AVR单片机的全功能工业控制器设计
/*************************************
INT0中断程序(触摸屏数据采集程序)
采用中断方式,在中断程序中进行A/D转换读取触摸屏数据
*************************************/
interrupt[9] int7_touch(void){ //触摸屏数据采集程序
touch_int();
TADY_IN()
TADX_IN()
TX1_0()//启动ADC转换Y轴数据
TX0_0()
TY0_1()
TY1_1()
delay_us(400);
for(i=0;i15;i++){
ADCSRA=0xA3;
ADMUX=0x41;
ADCSRA|=0x40;
while(!ADCSRA.4){;}
touch_ydata[i]=ADC0x03FF;
}
TY1_0() //启动ADC转换X轴数据
TY0_0()
TX1_1();
TX0_1()
delay_us(400);
for(i=0;i15;i++){
ADCSRA=0xA3;
ADMUX=0x40;
ADCSRA|=0x40;
while(!ADCSRA.4){;}
touch_xdata[i]=ADC0x03FF;
}
EIMSK=0x7F;
//一次数据接收完成,关闭中断
TX1_0()
TX0_0()
TY1_1()
TY0_0()
TINT_IN()
TADX_IN()
TADY_IN()
EIFR|=0x80;
//清除中断标志位
TADY_IN()
TADX_IN()
}
6 通信接口
控制器通信接口是具有抗噪声干扰性、长距离传输和多站连接能力的RS485接口。它是采用单片机串口通过光耦隔离后,再经过Maxim公司RS485芯片来实现的,主要用于组网和方便与上位计算机的通信。具体电路见图4。
结语
本文介绍的全功能工业控制器,具有较高的通用性,已用于批量生产。有关电路和程序均已验证,可以直接引用。
评论