1、单片机原理及系统课程设计报告 1 1 引言 本设计利用 AT89C51 单片机结合字符型 LCD 显示器设计一个简易的倒数计 数器,可用来煮方便面、煮开水或小睡片刻等。做一小段时间倒计数,当倒计数 为 0 时,则发出一段音乐声响,通知倒计数终了。 2 设计方案及原理 设计一个简易的倒数计数器。当键盘按键有按下时,调整计数器值,LCD 显 示新值。当复位键有按下时,计数器复位为初值,重新倒计数。当计数器值倒计 为 0 时,蜂鸣器发出声音,计数器停止倒计,程序结束。 具体过程: 按 K1 键,则在 LCD 上显示出设置画面。此时,若: (1) 按 K2 键-增加倒计数的时间 1 分钟。 (2) 按
2、 K3 键-减少倒计数的时间 1 分钟。 (3) 按 K4 键-设置完成。 3 硬件设计 3.1 设计说明 设计的功能:输出时间,按下键就开始计时,并将时间显示在 LCD1602 显 示器上。当倒计数为 0 时,蜂鸣器就发出音乐声响。该计数器系统主要由计数器 模块、LCD 显示器模块、蜂鸣器模块、键盘模块、复位模块等部分组成。总体设 计方框图如图所示。 图 1 总体设计方框图 3.2 电路原理图 电路原理图连接如图 2 所示 复位电路 键盘 AT89C51 LCD1602 蜂鸣器 单片机原理及系统课程设计报告 2 图 1 电路原理图 4 软件设计 音乐倒数计数器程序流程图包括主程序流程图,LC
3、D 显示流程图以及按键流 程图,各流程图如图 2,图 3,图 4 所示。 单片机原理及系统课程设计报告 3 开始 初始化 扫描键盘扫描复位电路扫描计数器 按键是否有按下? 调整计数器值 复位? LCD显示计数值 计数值是否为零? 蜂鸣器发声 计数器停止倒计数 结束 N Y N Y N Y 图 2 主程序流程图 开始 是否有程序执行 LCD闪动 是否有键按下 LCD显示相应时 间 复位键是否按下 LCD显示倒计时的 分钟和秒数 是否有键按下 LCD显示相应设置画面 Y N Y N Y N N Y Y 退出 初始化 按键扫描 有键按下 按键处理,确定 模式 时间显示模式 根据按键状态显示相应 时间
4、段 时间修改 模式 根据按键状态修 改时间 N Y Y N 开始 图 3 LCD 显示流程图 图 4 按键流程图 单片机原理及系统课程设计报告 4 5 系统的仿真与调试 本课程设计调试结果详见附录 6 总结 经过设计,简单带有 LCD 显示的音乐倒数计数器完成,系统基本功能基本实 现,测试运行也正常。该系统完成了计数与报警的功能。 当然这个系统还存在许多有待完善的地方: (1) 功能相对较少,有待于添加,如时钟与闹钟功能。 (2) 界面设计不够精致完美。 单片机原理及系统课程设计报告 5 参考文献 1 康华光.陈大钦.电子技术基础模拟部分M.北京:高等教育出版社,2005. 2 李朝青.单片机原理及接口技术M.北京:航空航天大学出版社,2005. 3 兰吉昌.51 单片机应用设计百例M.北京:化学工业出版社,2009. 单片机原理及系统课程设计报告 6 附录 1 调试结果图 图 2 调试结果图 2 程序关键问题的部分代码 #include #include #define time 100 #define u