单片机课程设计-电子钟-完整.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机课程设计 题目 电 子 钟 设 计 专业 通信工程 班级 11级1班 学号 姓名 单片机原理与应用课程设计 电子钟设计 功能要求: 1、设计一个电子时钟,要求可以显示时、分、秒,用户可以设置时间。 2、实现秒表功能。 功能描述 时钟。初始界面是时钟显示,按键S1是调时选位,按键S2是加数。根据不同的闪烁位置进行调节。 年与日,星期。在初始状态下,按下S2,则跳转,显示年月日,5S后跳回初始界面。若在年月日界面再次按下S2,则再次跳转,显示星期,几秒后跳转回初始界面。 秒表。在初始界面下,按下S3,则跳转,进入秒表。秒表功能键如下:S1 退出秒表;S2 停止\开始计时;S3 秒表清零。 闹钟。在设置中设置好时间,最高位设为“1”则打开闹钟。最高位设为“0”则关闭闹钟。在闹钟响是,按S3进行关闹钟。 工作原理 硬件 采用80C51系列单片机作为CPU,P0口作为数据线,通过锁存器进行段选和位选,是数码管不断地显示数字。数码管的显示是扫描式。 本电子钟用的单片机型号是STC89C516RD+ 。P0口作为段选和位选的数据线。P10口为段选寄存器的使能端。P11口为位选寄存器的使能端。晶振采用的12MHz晶振。要求频率稳定。 本电子钟用的是共阴极数码管。从左到右,第1,2位是秒位;第4,5位是分位;第7,8位是时位。第3,6位是“--”。 通过单片机的P0口,先对数码管进行位选,即在位锁存器使能是将P0口数据进行锁存。再通过段锁存器将P0口送来的段数据进行锁存。此时数码管的第一位显示数字。同样的步骤进行第二位显示。以非常快的速度进行,由于人眼的余辉效应,会看到8位数码管一起亮。即可以显示时间。通过单片机的内部TO,T1的计数。即可以实现时钟,秒表等功能。 电路图如下: 软件 程序代码包括三部分:1.bujian(部件库) 2.main(主函数) 3.H(头文件库)。 一 .bujian(部件库) xianshi.c #include<reg52.h> #include<delay.h> #define m 2 Unsigned char code t[]={0x3f,0x30,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void led_s(unsigned int s) { p10=1; //数码管秒个位 P0=t[s%10]; p10=0; p11=1; P0=0x7f; p11=0; P0=0xff; delay(m); //消隐 p10=1; //数码管秒十位 P0=t[s/10]; p10=0; p11=1; P0=0xbf; p11=0; //消隐 P0=0xff; delay(m); } void led_f(unsigned int s) { p10=1; //数码管分个位 P0=t[s%10]; p10=0; p11=1; P0=0xef; p11=0; //消隐 P0=0xff; delay(m); p10=1; //数码管分十位 P0=t[s/10]; p10=0; p11=1; P0=0xf7; p11=0; //消隐 P0=0xff; delay(m); } void led_h(unsigned int s) { //数码管时个位 p10=1; P0=t[s%10]; p10=0; p11=1; P0=0xfd; p11=0; //消隐 P0=0xff; delay(m); p10=1;

文档评论(0)

我思故我在 + 关注
实名认证
内容提供者

部分用户下载打不开,可能是因为word版本过低,用wps打开,然后另存为一个新的,就可以用word打开了

1亿VIP精品文档

相关文档