3.6液晶显示模块
3.5系统电源模块
图3.4-1 复位电路模块
建东职业技术学院毕业设计(论文)
为52系列单片机系统提供的电源为稳定的5V直流电源。
图3.6-1 液晶显示模块
图3.5-1 系统电源模块
8
建东职业技术学院毕业设计(论文)
3.7打铃模块
打铃电路一般用声音或音乐作为提醒,本设计选用蜂鸣器和LED灯实现声光双重打铃功能。打铃时间到时,单片机P3.3引脚置高,三极管9013导通,继而蜂鸣器和LED灯导通,实现蜂鸣和灯亮打铃功能。
图3.7-1 打铃模块
3.8 ISP下载线接口
由于系统采用的单片机为AT89S52单片机,为更方便系统的重复可用性及系统的维护性,本设计增加了在系统可编程的ISP下载线接口。只要拥有一根下载线,就能很方便快捷的对系统单片机进行程序的下载及系统维护升级。
图3.8-1 ISP下载线接口
9
建东职业技术学院毕业设计(论文)
4系统软件设计
4.1 Keil是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能、结构、可读性、可维护性上有明显的优势,因而易学易用。软件的编程设计是单片机系统设计的核心部分,也是能否实现预定功能的关键。单片机编程常用的语言是C语言和汇编语言。我们这里使用的是C语言。
以下是部分程序设计思路: LCD1602的基本操作时序:
读状态:输入:RS=L,RW=H,E=H;输出:D0-D7=状态字。
写指令:输入:RS=L,RW=L,D0-D7=指令码,E=高脉冲;输出:无。 读数据:输入:RS=H,RW=H,E=H;输出:D0-D7=数据。
写数据:输入:RS=H,RW=L,D0-D7=数据,E=高脉冲;输出:无。
LCD1602初始化过程:延时15ms;写指令38H(不检测忙信号);延时5ms;写指令38H(不检测忙信号);延时5ms;写指令38H(不检测忙信号);以后每次写指令、读/写数据操作均需要检测忙信号;写指令38H,显示模式设置;写指令08H,显示关闭;写指令01H,显示清屏;写指令06H,显示光标移动设置;写指令0CH,显示开及光标设置。
单片机读取按键的方式有2种:查询方式和中断方式。
查询方式是利用单片机引脚不断查询是否有按键按下,如果有按键按下,利用延时程序去除抖动再次确认后,进入该按键对应的子程序执行命令。
中断方式是利用单片机的外部中断功能来检测是否有按键按下。利用中断功能可以不用在主程序中不断的执行查询命令,有中断产生即有按键按下时,再进入中断子程序中进行处理。
具体程序请参考后面的附录2。
10
建东职业技术学院毕业设计(论文)
开始初始化时间送液晶显示设定定时时间N判断是否到达打铃时间Y蜂鸣器响LED灯亮结束
图4-1 系统软件设计流程图
11
相关推荐: