单片机课程设计实验报告-基于单片机的数字时钟-含完整实验代码...docVIP

单片机课程设计实验报告-基于单片机的数字时钟-含完整实验代码...doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机课程设计报告 基于单片机的数字时钟 姓名: 班级: 学号: 前言 利用实验板上的4个LED数码管,设计带有闹铃、秒表功能的数字时钟。 功能要求: 计时并显示(LED)。由于实验板上只有4位数码管,可设计成显示“时分”和显示“分秒”并可切换。 时间调整功能。利用4个独立按钮,实现时钟调整功能。这4个按钮的功能为工作模式切换按钮(MODE),数字加(INC),数字减(DEC)和数字移位(SHITF)。 定闹功能。利用4个独立按钮设定闹钟时间,时间到以蜂鸣器响、继电器动作作为闹铃。 秒表功能。最小时间单位0.01秒。 硬件原理分析 电源部分 电源部份采用两种输入接口(如上图)。 外电源供电,采用2.1电源座,可接入电源DC5V,经单向保护D1接入开关S1。 USB供电,USB供电口输入电源也经D1单向保护,送到开关S1。 注:两路电源输入是并连的,因此只选择一路就可以了,以免出问题。 S1为板子工作电源开关,按下后接通电源,提供VCC给板子各功能电路。电路采用两个滤波电容,给板子一个更加稳定的工作电源。LED为电源的指示灯,通电后LED灯亮。 蜂鸣器 蜂鸣器分为有源和无源两种,有源即两引脚有一个直流电源就可以长鸣,无源则需要一个1K左右的脉冲才可以蜂鸣,因此对于按键的提示音及报警蜂鸣使用有源来得方便。有源也可以当无源使用,而无源则不能当有源使用,当然用有源蜂鸣器作音乐发声会失真厉害。 如上图:单片机P15输出高低电平经R21连接三极管B极,控制三极管的导通与截止,从而控制蜂鸣器的工作。低电平时三极管导通,蜂鸣器得电蜂鸣,高电平时三极管截止,蜂鸣器失电关闭蜂鸣。 数码管 电路使用一个四位共阳型数码管,四个公共阳级由三极管放大电流来驱动,三极管由P10-P13控制开与关。数码管的阴级由P0口经过电阻限流连接。 例如,要十位的数码管工作,P12输出0,使三极管Q12导通,8脚得电,当P0口相应位有输出0时,点亮相应的LED灯组合各种字符数字。 独立键盘 如上图,由六个按键组成,每个按键的一端连接IO口,另一端直接连接GND(0电位)。六个按键分别接入P37-P32,只要按下按键,相应位的IO口位将被拉为低电平(0),程序可以判断相应位是否为0来确认按键己按下。 动态显示 动态显示驱动电路是单片机应用中最常用的显示方式。 动态显示接口电路是把所有显示器的8个笔划段的同名段连在一起,而每一个显示器的公共极COM是各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是哪个显示器亮,则取决于COM端。 在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人眼的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。 动态扫描显示必须由CPU不断地调用显示程序,才能保证持续不断的显示。在实际工作中,当然不可能只显示,这样在两次调用显示程序之间的时间间隔就不一定了,如果时间间隔比较长,就会使显示不连续。 软件设计 主程序 将按键1设定为功能选择键,每按一次按键1,进入相应的功能模式。 分秒显示 分秒显示模式下,数码管显示时钟时间的分和秒。当按键1按下后,进入下一模式。 时分显示 时分显示模式下,数码管显示时钟时间的时和分。当按键1按下后,进入下一模式。 时间调整 时间调整模式下,仅调整时钟的时、分。 数码管闪烁的为当前调整的位子,按键2为加,按键3为减,按键4为移位键。 闹钟 闹钟模式下,可设置闹钟的时、分。 数码管闪烁的为当前调整的位子,按键2为加,按键3为减,按键4为移位键。 当闹钟时间调整完毕之后,按下按键5,确认闹钟时间。随后等待时钟时间到达闹钟时间。时钟时间到达闹钟时间后,蜂鸣器工作。 秒表 秒表模式下,按下按键4,秒表开始计时;再次按下按键4,秒表暂停。 按下按键2或按键3,秒表清零。 软件调试 在软件调试过程中碰到了很多问题。其中比较重要的几个问题如下: 1、时钟调整子程序中,时、分的十位数、个位数加减不符合常识。比如在加减时,小时可以达到27、28等数值,而这是不符合常识的。 在查看代码后发现,可以在加、减过程中设置if函数判断当前所处位置,调整当前数值所能达到的最大值或最小值。 修改后代码如下: else if(keyval==0xbf) //按键2 加 { if(pos==0) { dispbuf[pos]++; if(dispbuf[pos]==3) {

文档评论(0)

kfcel5460 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档