由于只有4个按键,所以调整日历的时候K3、K4用于调整天数,K1、K2用于调整月份,当月份大于12时,年份自动加一,当月份小于1时,年份自动减一,实现了四个按键调整年月日的功能 。
3.流水灯显示
增加流水灯显示提高气氛,如下图按下矩阵键盘3号键进行流水灯显示 。
五、结果分析
本次实验使用定时器实现了时钟显示和日期显示,并能综合使用独立按键和矩阵按键实现多个功能,提高了该项目的实用性 。闹钟设置则能实现按时提醒,丰富了应用场景 。通过使用芯片稳定电流,达到保护电路的作用,使用译码器,实现数码管的同时显示,由于数码管显示速度过快会导致有残影,所以加上延时函数和p0=0x00语句来达到消影的效果 。在进行按键函数编写时,按键往往存在抖动,所以为了提高按键的稳定性,需要进行按键消抖,矩阵按键用于功能选择,独立按键用于闹钟或者日期调整,这样做可以提高程序的实用性,但仍存在优化的空间 。
六、总结
【基于51单片机实现时间显示及闹钟设置】 本次实验感觉工程量还是不小的,由于时间也比较紧迫,所以在这几段时间内都花了比较长的时间来做实验,前期主要是学习单片机各种芯片的功能,首先掌握了74HC245芯片的稳流功能,知道它在LED显示中的重要作用 。为了实现数码管同时显示时间,需要用到数码管的动态扫描,所以也学习了数码管的知识 。闹钟的实现这一块想了好久,因为没有足够的数码管来显示闹钟,最后折中想出用六个数码管显示时间,剩余的两位来显示闹钟的小时部分和分钟部分,当按下的按键要调整闹钟的小时时,则显示小时部分,当按下的按键要调整闹钟的分钟时,则显示分钟部分 。一开始想通过点阵来显示日期,但发现8X8的点阵没办法显示完整的日期,最后还是显示在数码管上,通过矩阵按键来选择要显示的是时间还是日期 。一开始编写代码的时候总是报错,但最后也通过软件的提示信息找出报错的原因,也学会了使用extern关键字来使用其他文件的函数,提高了程序各个文件的关联性,这次实验让自己学习到了很多东西,锻炼了使用C语言编写程序的能力,也是自己收获最大的一次实验,虽然实验过程中会犯错,但只有肯学习、肯下功夫,就没有解决不了的困难 。
- 按下亮 松开灭 c语言程序,单片机用c语言,按钮控制一个LED灯,要求按下松开
- 基于STM32按键的防抖和松开处理:状态机
- 海运天价,是媒体操作还是真实现状?有托运人买单就会持续上涨? oocl历史之最
- Python 基于网络爬虫的商品询价系统的设计与实现
- python 百度云文字识别 proxy_Python基于百度AI的文字识别的示
- 德州仪器升降压变换器TPS55288,助力实现台式电脑USB PD传输
- “数聚上海 共赢未来” 上海大数据产业高端峰会 Cloudera让大数据实现更多
- 刷新世界纪录中国科学家成功实现51比特超导量子簇态制备和验证 中国之最51集
- 封建社会男尊女卑:慈禧如何实现凤在上,龙在下!
- matlab实现 无监督智能地震速度拾取