CAN总线温度控制节点设计

发布时间 : 星期日 文章CAN总线温度控制节点设计更新完毕开始阅读

图2-7 按键与单片机连接图 2.3.2 键盘功能模块软件设计流程

键盘功能模块软件流程为:开始→液晶程序初始化→等待按键被按下→进入设置温度界面→按加减键输入数据→设置温度→结束。

流程图如图2-8所示: 开始

液晶程序初始化

N 按键是否按下?

Y

进入设置界面

按加减键输入

数据

设置温度值

显示

结束

图2-8 温度设置子程序流程图

10

程序如下:

void key() {

if(key0==0) {

delay(10); // 消抖延时 if(key0==0); time1++;

if(time1==91) time1=30;

while(!key0); //等待按键释放 delay(10);

while(key0!=1); stPID.SetPoint=time1; }

if(key1==0) {

delay(10); //消抖延时 if(key1==0); time1--;

if(time1==29) time1=90;

while(!key1); //等待按键释放 delay(10);

while(key1!=1); stPID.SetPoint=time1; } }

2.3.3 按键的软件消抖措施

通常我们在检测单片机的按键时,要等按键确认释放后,才去执行相应的代码。由于单片机执行代码的速度非常快,而且是循环检测按键,所以当按下一个键的时候,单片机会在程序循环中多次检测到键被按下,从而造成错误的结果。 要解决误按问题,在编写单片机的键盘检测程序时,可在检测按下时加入去抖延时,检测松手时可以不用加,这样就可以防止误按的发生,以避免错误结果的生成。

按键检测流程图如图2-9所示:

11

开始 寄存器初始化及单片 机I/O端口初始化

N 检测是否有键

按下?

Y 延时10ms

N 检测是否有键 按下?

Y

N 检测按键是 否释放

Y 读键码 注:

图2-9按键检测流程图

2.4 液晶显示软件设计

本液晶显示模块采用常用液晶LCD1602作为数据输出显示。LCD1602液晶为5V电压驱动,带背光,可显示两行,每行16个字符,不能显示汉字,内置含128个字符的ASCII字符集字库,只有并行接口,无串行接口。

12

2.4.1 1602接口电路及其接口信号说明 接口电路如图2.10

图2-10 接口电路

接口信号说明如表2-2所示:

表2-2 液晶接口信号说明

编号 1 2 3 4 5 6 7 8 符号 VSS VDD VO RS R/W E D0 D1 引脚说明 电源地 电源正极 液晶显示对比度调节端 数据/命令选择端(H/L) 读写选择端(H/L) 使能信号 数据口 数据口 编号 9 10 11 12 13 14 15 16 符号 引脚说明 D2 D3 D4 D5 D6 D7 BLA BLK 数据口 数据口 数据口 数据口 数据口 数据口 背光电源正极 背光电源负极

2.4.2 主要技术参数

13

联系合同范文客服:xxxxx#qq.com(#替换为@)