- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机课设--定时闹钟汇
目 录
摘要 1
关键字 1
正文
一、系统设计 2
1.1 设计目标 2
1.2 硬件设计 2
1.3 软件设计 4
1.4 三个模式间状态图 5
1.5 键盘控制程序走向流程图 6
1.6 串口通信图 8
二、实验结果与讨论 9
三、结论 9
参考文献
附录 11
1、程序源代码 11
2、实物图 20
摘要
本设计采用ATMEL AT89C52MCU作为处理器核心,用数码管作为数据显示工具,蜂鸣器实现响铃功能,独立式键盘K20-K27控制时钟,串口用于设置时钟和闹钟时间来制作一个定时闹钟。秒数走位由MCU内部11.0592MHz的晶振提供精确定时实现,并循环扫描,在数码管上显示。
本设计的关键是键盘的动态扫描和按键消抖,难点是串口数据的传送和处理。
本设计运用C51编程,由于C语言具有语法简单、代码简洁且执行效率高等优点,使得C语言广泛运用于各种程序设计的代码编辑工具中。运用C语言编程,增强了程序可读性;使得开发人员能够将精力用在如何设计程序上来,提高了开发效率。
关键字: 单片机 动态扫描 按键消抖 C51编程
正文
系统设计
1.1设计目标
利用动态数码管作为显示器,K20-K27作为输入按键,蜂鸣器作为声音输出制作一个定时闹钟。要求:1、正确显示时分。2、可以利用按钮调整时间和设定闹钟时间。3、当时间到达设定的闹钟时间时,蜂鸣器发出嘀、嘀、嘀的报警声。
提示:利用定时器作为时间的基准。
提高:通过串口在PC上设定时间和闹钟
1.2硬件设计
本设计中涉及到的硬件模块有C52、独立键盘、数码管、PC(含keil软件、烧写工具、串口调试工具等)
1.2.1 C52
核心处理器。对传送的各个指令和数据进行处理。供其他模块用到的主要引脚有:P0:送码值;P2:送位选信号,连接键盘;TXD、RXD:串口通信;P3.7:蜂鸣器
1.2.2 独立键盘K20-K27
键盘分为独立键盘和矩阵式键盘。扫描方法有逐行扫描法和行列翻转法。在本设计中用到的键盘是独立式键盘K20-K27,分别连接到MCU C52的P2口,采用逐行扫描法,又由于只有一行,故只需扫描一次即可。在键盘按键时,需要考虑到键盘消抖问题。键盘消抖分为硬件消抖和软件消抖。在本设计中,直接采用软件延时delay2(),达到消抖功能,代码不长,又节省硬件资源。
独立键盘K20-K27连接到C52管脚P2和数码管。各键功能:
K20:编辑时间,以递增方式控制时针数值,包括时钟和闹钟
K21:编辑时间,以递增方式控制分针数值,包括时钟和闹钟
K22:时钟模式切换到闹钟模式
K23:退出闹钟模式,并保存闹钟时间,开启闹钟
K24:时钟模式和秒数显示模式切换
K25:未用到,供功能扩充使用
K26:开闹钟
K27:关闹钟
1.2.3 数码管
数码管用于显示当前时间,闹钟时间和秒数。
数码管显示分为静态显示和动态显示。静态显示时,各数码管在显示过程中持续得到送显信号,与各数码管接口的I/O口线是专用的。静态显示需借助C52串口完成。动态显示时,各数码管在显示过程中轮流得到送显信号,与各数码管接口的I/O口线是共用的。在动态显示过程中,数码管常亮是通过循环扫描送显信号实现。
本设计中用到的数码管为共阴极接法,阴极接位选信号,即C52 P2口,阳极接P0口,接受码值。
时钟和闹钟模式下,显示时针数值和分针数值。秒数显示模式下,只有两个数码管亮,显示当前时间秒值。
1.2.4 PC
在PC端除了编辑软件Keil和烧写工具外,另一个很重要的工具就是串口调试工具。串口工具通过串口线与C52通信。PC端到C52传送数据,控制写当前时间和设置闹钟。C52到PC端传送数据,提示PC送到C52的数据有误,并在串口界面上显示字符串“error! ”,供以提示。在PC端的串口工具选项设置与代码中串口设计参数匹配。波特率为9600,数据位8位,停止位1位。采用十六进制Hex发送。
根据上述硬件设计,有如下硬件间系统框图1。
1.3软件设计
1.3.1时钟
时钟设计有两个方案,一:利用程序计数延时定时;二:利用定时器定时。考虑到,程序定时不准确,误差大,而定时器c52内部晶振提供的时钟,能够精确定时,所以,本设计采用定时器给各模块提供准确时钟。对于时钟,主要用在走秒,即定时器定时时间为1s,考虑到,设计中需要用到串口进行数据传送,而且对用C52,1s属于长定时,所以定时器采用定时器timer0。timer0工作在方式1,定时设置为50ms,即初始值为TH0=0x4c,TL0
您可能关注的文档
最近下载
- 安徽省合肥市第四十六中学2024-2025学年八年级下学期期中考试数学卷[含答案].pdf VIP
- 《教师安全培训》ppt课件完整版.pptx VIP
- 蒂森823扶梯图纸.pdf VIP
- GB50169-2016 电气装置安装工程接地装置施工及验收规范附条文.docx VIP
- 字典电子版.doc VIP
- 铁总工电〔2018〕125号普速铁路桥隧建筑物修理规则.docx VIP
- 男性私密项目培训.pptx
- 宁波市2025年小学生科普知识学习体验活动-高段组(参考答案) .pdf VIP
- 安徽省合肥市2024-2025学年八年级下学期期中教学质量检测数学试卷(含详解).pdf VIP
- 2024届山东潍坊高三高考模拟训练物理卷 .pdf VIP
文档评论(0)