基于stc89c52的音乐倒数计数器(单片机课程设计内容摘要:

图 26 其它元件图 11 3 软件设计 程序流程图 主程序开始初始化,然后扫描键盘、复位电路和计数器。 当键盘按键有按下时,调整计数器值, LCD 显示新值。 当复位键有按下时,计数器复位为 开机画面 ,当计数器值倒计为 0 时,蜂鸣器发出声音,计数器停止倒计,程序结束。 主程序流程图 、 lcd 显示流程图和按键流程图分别如下图 3图 32 和图 33 所示。 蜂 鸣 器 发 声初 始 化调 整 计 数 器 值扫 描 键 盘扫 描 计 数 器按 键 是 否 有 按 下。 计 数 值 是 否 为 0。 开 始结 束L C D 显 示 计 数 值计 数 器 停 止 倒 计 数是 是否否扫 描 复 位 电 路复 位。 是否 图 31 主程序流程图 12 开 始是 否 有 程 序 执 行L c d 闪 动是 否 有 键 按 下l c d 显 示 相 应 时 间复 位 键 是 否 按 下l c d 显 示 倒 计 时 的 分 钟 和 秒 数是 否 有 键 按 下l c d 显 示 相 应 设 置 画 面退 出是是是是否否否否图 3 2 l c d 显 示 流 程 图 13 开始 初始化 按键扫描 有键按下 按键处 理,确定模式 时间显示模式 根据按键状态显示相应时间段 时间修改模式 根据按键状态修改时间 NO NO YES YES 图 33 按键流程图 14 4 系统的仿真与调试 硬件调试 硬件调试分为静态调试和动态调试,对于硬件调试而言,只要认真焊接,硬件一般不会出现什么问题的。 静态调试一般采用的工具是万用表,它是在用户系统未工作时的一种硬件检测。 动态调试是在用户系统工作的情况下发现和排查错误的一种硬件检测。 调试步骤是:首先把电路分为若干模块,调试过程中与该模块无关的元件可以不加考虑,这样可把故障限定在一定的范围内;故障清除后,把各个模块合在一起进行联调,即可完成整个硬件调试工作。 软件调试 软件调试是通过对程序的汇编、连接、执 行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。 软硬件调试 软硬件联调是指把调试无误的软件程序烧制进单片机芯片内部,通上电源后,检查硬件工作是否有预期的效果,如果没有则需要检测软件是否在实现功能上有欠缺。 若有错误,通过改写软件来调试,直至达到预期效果,则设计圆满成功。 本课程设计调试结果如下 图 41 所示。 15 图 41 调试结果图 实物图片 16 5 总结 经过将近 两个星期 的课程设计,简单带有 LCD 显示的音乐倒数计数器基本完成,系统基本功能基本实现,测试运行也基本 正常。 该系统基本上完成了计数闹时 的功能。 当然这个系统还存在许多有待完善的地方: ▲ 功能相对较少,有待于添加,比方说 没有 时钟功能; ▲ 焊接工艺比较差,布局有点凌乱。 这次课程设计的时间虽然不算很长,但使我对很多东西有了更深刻的认识。 平时在课堂上无法掌握的集体操作都有了一定的进步。 总结如下: ● 查阅资料和阅读相关文献的重要性。 ● 向同学请教的重要性,团结协作的重要性。 ● 勤动手的重要性,自己动手,丰衣足食。 以前很多时候一遇到问题常常都会问同学,但是通过这次设计,我学会了自己努力解决困难,提高了自己解决问题的能力。 ● 对待 任何事情都要有耐心和恒心,遇到问题要冷静地思考,积极找出症结所在,逐个解决。 ● 做事情要步步为营,不能一蹴而就,就像焊接电路,只有确保每一部都真确,才有可能实现整个电路正常工作。 通过本次课程设计,我更深刻的认识到了教学实践在大学课程中的重要性,同时也发觉到了自己在学习方面存在的许多不足之处,在以后的学习中我会努力改进这些不足,不断提高自己的动手实践能力。 17 参考文献 单片机原理及接口技术 第三版(李朝青编) 单片机 C 语言程序设计完全自学手册(郭惠 吴迅编) 基于 Proteus 的 单片机系统设计与仿真实例(蒋辉平 周国雄 编) 18 include define uchar unsigned char define uint unsigned int define busy 0x80 sbit k1=P1^0。 sbit k2=P1^1。 sbit k3=P1^2。 sbit k4=P1^3。 sbit k5=P1^4。 sbit RS=P2^5。 sbit RW=P2^6。 sbit E=P2^7。 sbit led=P2^0。 sbit sound=P3^7。 uchar code tableee[]= 20:00。 uchar code tablee[]= 10:00。 uchar code table[]= 05:00。 uchar code table1[]={39。 039。 ,39。 139。 ,39。 239。 ,39。 339。 ,39。 439。 ,39。 539。 ,39。 639。 ,39。 739。 ,39。 839。 ,39。 939。 }。 uchar code table3[]=08 wei dian zi。 uchar code table2[]= 3108008066。 uchar code table5[]= 00:00。 uchar code table4[]= TIME OUT!。 uchar d,e,num,t,shishi,shige,fenshi,fenge,miaoshi,miaoge,b,b1,a,aa。 uint counter=0。 uchar code array[]= { 0x18, 0x30, 0x1C, 0x10, 0x20, 0x40, 0x1C, 0x10, 0x18, 0x10, 0x20, 0x10, 0x1C, 0x10, 0x18, 0x40, 0x1C, 0x20, 0x20, 0x20, 0x1C, 0x20, 0x18, 0x20, 0x20, 0x80, 0xFF, 0x20, 0x30, 0x1C, 0x10, 0x18, 0x20, 0x15, 0x20, 0x1C, 0x20, 0x20, 0x20, 0x26, 0x40, 0x20, 0x20, 0x2B, 0x20, 0x26, 0x20, 0x20, 0x20, 0x30, 0x80, 0xFF, 0x20, 0x20, 0x1C, 0x10, 0x18, 0x10, 0x20, 0。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。