徐皓课程计实验报告.docVIP

  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文档。上传文档
查看更多
徐皓课程计实验报告

单片机课程设计 姓 名: 徐皓 学 号: 1202251012 班 级: 自动化11201班 成 绩: 指导老师: 吴玉蓉 设计时间:2015年1月12日~2015年1月23日 第一章 1.1系统总体方案 STC89C51 按键电路 复位电路 晶振电路 电源电路 显示电路 利用单片机(ST89C51)制作简易电子时钟,由八个LED数码管分别显示小时十位、小时个位、分钟十位、分钟个位、秒钟十位、秒钟个位。8个NPN管分别控制八个数码管的亮灭,按键用于时间调整。 2.2 系统的原理图 用PROTEL 99软件,根据要求画出数字电子钟的原理图如下所示。 第二章 系统的硬件设计 2.1 硬件的电路原理图 2.1.1 复位电路 3. 复位引脚 RST 9 在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。复位是由外部的复位电路来实现的。 2.1.2 时钟电路 本次设计晶振使用为内部方式,晶振接XTAL1、XTAL2 XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。 2.1.3 键盘电路 该设计需要校对时间,所以用三个按键来实现。按K2来调节小时的时间,按 k1来调节分针的时间,按 k0来调节秒的时间。上图是按键硬件连接图。 2.1.4 显示电路 显示电路显示模块需要实时显示当前的时间,即时、分、秒,因此需要6个数码管,另需两个数码管来显示横。采用动态显示方式显示时间,硬件连接如上图所示,时的十位和个位分别显示在第一个和第二个数码管,分的十位和个位分别显示在第四个和第五个数码管,秒的十位和个位分别显示在第七个和第八个数码管,其余数码管显示横线。LED显示器的显示控制方式按驱动方式可分成静态显示方式和动态显示方式两种。 2.2.1 元件清单 低值易耗材料明细品名规格型号技术要求数量单片机STC89C51RC40单片机座子STC89C51RC40晶振12MHz40独石电容30pF90电解电容47μF90电解电容10μF50轻触四脚按键6.0X6.0X5.0mm170色环电阻10KΩ1/4w180色环电阻510Ω 1/4w330色环电阻4.7K1/4w330三极管2N5551 NPN330锁存器74LS37343锁存器座子74LS373438段式LED数码管QH5011AS0.5单字共阴330五连孔通用板14cm*21cm 带电源插座孔和USB插座孔40导线0.4mm20.4单股导线2卷焊锡丝0.5KG2卷交流220V-直流5V 适配器配套插座40ISP下载编程工具STC89C51RC/RD+系列ISP经济型下载编程工具2套表3-2 元件清单 第三章 系统的软件设计 3.1 软件流程图 1.1 主函数 主程序是先开始,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可以显示时间。 3.1.2 按键函数 按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加1;如果没有按下,就检测分按键是否按下,分按键如果按下,分就加1;如果没有按下,就检测时按键是否按下,时按键如果按下,时就加1;如果没有按下,就把时间显示出来。 N 24小时到? 分单元清零,时单元加1 N N N Y Y 时单元清零 时间显示 中断返回 开始 一秒时间到? 60秒时间到? 60分钟到? 秒单元加1 秒单元清零,分单元加1 Y Y 3.1.3 显示函数 时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示,再然后是分十位显示,再就是时个位计算显示,最后是时十位显示。 时十位计算显示 结束 开始 秒个位计算显示 秒十位计算显示 分个位计算显示 分十位计算显示 时个位计算显示 3.2 程序清单 #include reg51.h #define uint unsigned int #define uchar unsigned char sbit key1=P1^0; sbit key2=P1^1; s

文档评论(0)

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

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

1亿VIP精品文档

相关文档