向列扫描码地址逐列输出低电平,然后从行码地址读回。若有键按下则相应行的值应为低如果无键按下,行码为高,则可判断按下的是什么键。在判断有键按下后,要有去抖程序。4八段数码管显示模块将八段的驱动方式选择开关拨到“内驱”位置按地址输出相应数据,则实现对显示器的控制。显示共有6位,用动态方式显示。8位段码、6位位码由两片74LS374输出。位码经MC1413倒相驱动后,选择相应显示位。
驱动直流电机
fCS4DA变换
直流电机模块
(5)直流电机模块:由直流电机和DA转换电路组成。实验仪的DA变换可输出8V到8V的电压,将电压经驱动后加在直流电机上,使其运转。通过单片机输出数据到DA变换电路,控制电压的正负,使电机正传、反转,模拟制冷制热。
液晶显示屏
液晶屏显示模块
(6)LCD液晶屏显示模块:液晶显示屏内置控制器为SED1520,点阵为122x32需要两片,由E1、E2选通,控制左右两半屏,采用直接控制方式,即将液晶显示模块的接口作为存储器直接挂在计算机总线上。计算机通过地址译码控制E1和E2的选通;读/写操作信号R/W由地址线A1控制;命令数据寄存器选择信号AO由地址线A0控制。
fP10
(7)蜂鸣器模块:与单片机的P10口连接,当设定温度与室内实际温度相等时,电机停止工作,同时蜂鸣器发出声音提醒。
3、主要原程序流程图:
开始工始初始化温度参数
当前温度和设定温度送显示缓冲
显示温度
采样当前温度
当前温度与设定温度比较大于电机反转制冷LED0亮相等电机停止工作LED灯灭蜂鸣器报警小于电机正转制热LED1亮
液晶屏函数调用液晶屏显示
读键盘
键盘值是?NEXT键LAST键
f主程序工作时,数码管首先显示当前温度和设定的初始温度25℃,同时液晶屏显示第一行系统名称“自动化空调系统”第二行显示“制冷”或“制热”(根据初始温度与当前温度比较而定),此时电机开始转。随后按键盘调整设定温度,根据框图中的比较方式确定系统状态,在一次程序运行完成后,继续循环到程序开头运行。
4、技术小结与心得:
通过这次单片机的应用实习,我发现对单片机系统的设计要求对单片机的硬件结构和功能有很好的了解。特别是在软件程序设计过程中,单片机的内部RAM、ROM、寄存器、地址,以及外部的接口管脚的功能等,作为程序设计人员必须了然于心。刚开始设计程序时,我比较关心程序的算法,反倒对单片机的硬件结构不是很在意,结果程序的算法没什么问题,但当在单片机上运行时与硬件的结合不好,如管脚r