数字钟设计Word文档格式.docx
- 文档编号:15784133
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:18
- 大小:436.40KB
数字钟设计Word文档格式.docx
《数字钟设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《数字钟设计Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
这里要求实现一个具有实时时钟显示和闹钟控制功能的数字钟。
通过数字钟的设计与制作,将前面所学的单片机内部定时器资源、I/O端口、键盘和显示接口等知识融会贯通,锻炼独立设计、制作和调试应用系统的能力,深入领会单片机应用系统的硬件设计、模块化程序设计及软硬件调试方法等,并掌握单片机应用系统的开发过程。
产品的设计要求:
(1)自动计时,由6位LED显示器显示时、分、秒。
(2)具备校准功能,可以设置当前时间。
(3)具备定时启闹功能,可以设置启闹时间,启闹1分钟后自动关闭闹铃,也可以按退出按钮退出闹铃。
(4)设计时间或闹铃时要求有加一和减一功能。
系统方案选择
1、单片机选型
选用MCS-51系列主流芯片AT89S51,内部带有4KBFlashROM,无须扩展程序存储器。
由于数字钟没有大量运算和暂存数据,片内128B的RAM可以满口设计要求,无须外扩片外RAM。
2、设计方案
(1)采用实时时钟芯片。
针对应用系统对实时时钟的普遍需求,各大芯片生产厂家陆续推出了一系列实时时钟集成电路,如DS1287、DS112887、DS1302、PCF8563、S35190等。
这些实时时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能和多点定时功能,计时数据每秒自动更新一次,不需程序干预。
单片机可通过中断或者查询方式读取计时数据。
实时时钟芯片的计时功能无须占用CPU时间,功能完善,精度高,软件程序设计简单,在实时工业测控系统中多采用这一类专用芯片来实现。
(2)软件控制。
利用AT89S51内部定时/计数器进行中断定时,配合软件延时实现时、分、秒的计时。
该方案节省硬件成本,且能够使读者对前面所学知识进行综合运用,因此,本系统设计采用这一方案。
3、显示方案
(1)利用串行口扩展LED,实现LED静态显示。
(2)利用单片机并行I/O端口,实现LED动态显示。
本方案就是选用了这一显示方案。
4、系统方案确定
综合上述方案分析,本系统选用主流芯片AT89S51单片机作为主控制器,采用单片机内部定时器实现计时、用七个按键控制时钟的各项功能和动态LED显示(6位)。
按键功能定义。
与P1口相连的7个按键定义如下:
K1键:
启动设置时间的功能。
K2键:
实现分位加一功能。
K3键:
实现时位加一功能。
K4键:
启动设置闹钟的功能。
K5键:
实现分为减一功能。
K6键:
实现时位减一功能。
K8键:
实现退出设置和闹铃功能。
5、系统硬件设计
系统硬件设计电路如下图所示,单片机的P0口作为6位LED显示的段选口,P0.0~P0.7分别接6个LED的a~g。
,单片机P2口的P2.0~P2.5分别连接6个LED的段选口。
P0.6口作为蜂鸣器的引脚。
电子元器件列表
序号
名称
数量
1
单片机AT89S51
1片
9
2.7K电阻
7只
2
12M晶振
1个
10
104瓷片电容
4只
3
共阳数码管
6只
11
30P瓷片电容
2只
4
PNP管8550
12
200Ω电阻
1只
5
74LS244
13
560Ω电阻
8只
6
蜂鸣器
14
10K电阻
12只
7
微动按键
5个
15
100Ω电阻
8
10UF电容
数字钟硬件电路图
技术帮助:
七段数码管分共阳管和共阴管,使用时要注
意区分,本项目使用共阳数码管即公共端接
正极。
数码管引脚示意图如下:
6、系统软件设计
闹钟响铃图
在程序执行的时候,由于在protus中不容易看到闹钟响铃的情形,所以我在显示上加了一个闪烁程序,只要闹铃定时一到,6个LED就会同时闪烁,一分钟后就会停止,当然,在中途过程中你也可以按K8退出键,退出响铃程序。
程序说明:
第一步:
主程序开始时,显示23:
59:
00。
第二步:
当需要修改时间时,可以按下K1键,程序跳到调时函数。
此时6个LED显示的时间暂停,定时器被关闭。
按下K2键可以让分位加一。
按下K3键可以让时位加一。
按下K5键可以让分位减一。
按下K6键可以让时位减一。
如修改好后,可以按下K8键退出。
定时器被打开,计时正常显示
第三步:
当需要定闹钟时,可以按下K4键,程序跳到调闹函数。
如修改好后,可以按下K8键退出,定时器被打开,同时恢复时钟时间,计时正常显示。
部分程序截图如下:
时间设置:
按下K1键后,秒位停止走动
分位加一两次为1,时位加一一次为1,秒位开始走动
闹钟设置:
K4键按下后,并将分位加一
按下K8键后退出闹钟设置函数,显示恢复正常
总结
通过完成数字钟的设计与制作调试,掌握单片机应用系统的设计过程。
单片机应用系统开发的一般工作流程包括:
项目任务的需求分析(确定任务),制定系统软件、硬件方案(总体设计),系统硬件设计与制作,系统软件模块划分与设计,系统软、硬件联调,程序固化,脱机运行等。
学习自顶向下的模块化程序设计方法,构建出程序设计的整体框架,包括主程序流程和子模块流程的设计、各功能模块之间的调用关系。
在细化流程图的基础上,合理分配系统变量资源,即可轻松编写程序代码。
在调试程序前,一定要先将源程序分析透彻,这有助于再系统调试过程中,通过现象分析判断产生故障的原因及故障可能存在的大致范围,快速有效地排查和缩小故障范围。
虽然我的这个程序比老师的要差的很远,不够精炼,而且也不够完整,但基本功能都可以实现,我觉得自己编出来的不管怎么说也是我自己的东西,让我对以后的学习更加有信心了。
我认真分析了一下与老师的程序差距有以下几点:
1、对定时器中断的能理解还是不够。
2、对C语言的学习依然不够,例如切换按键,我不会用,不免使得电路按键过多,操作麻烦。
其实,只要定义几个变量,就可以解决这个问题,可以帮我节省三个按键。
3、在调时间上,每次加一或减一,LED总是同时闪烁,而且无法实现让所调的位闪烁。
这一点我虽然知道原因,但不好改,我只用了一个定时器,没法改他,除非再用一个定时器。
这说明,我对定时器中断认识还不够深入,没有充分利用,还需要好好学习一下。
4、按键抖动问题,我也没解决好,若需做好,还要努力。
数字钟源程序
#include<
reg51.h>
unsignedcharsec,msec,fen,hou,mhou,mfen;
unsignedcharled1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
unsignedcharled[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsignedcharnaomfen,naomhou,naofen,naohou,naomsec,naosec;
unsignedchara,b,naowei;
sbitk1=P1^0;
//调时
sbitk2=P1^3;
//加一
sbitk3=P1^4;
//换位
sbitk4=P1^1;
//调闹
sbitk8=P1^7;
//退出
sbitk5=P1^2;
//jianyi
sbitk6=P1^5;
sbitnaoling=P1^6;
voidjiayi();
voidtiaoshi();
voidtiaonao();
voidnaozhong();
voiddisplay();
voidjianyi();
voiddelay(unsignedchark)//延时
{
unsignedchari,j;
for(i=0;
i<
k;
i++)
for(j=0;
j<
100;
j++);
}
voidint0()interrupt1//中断
TH0=0x3c;
TL0=0xb0;
msec++;
if(msec==20)
{
msec=0;
sec++;
if(sec==60)
sec=0;
fen++;
if(fen==60)
fen=0;
hou++;
if(hou==24)
hou=0;
}
voidmain()//主函数
fen=59;
hou=23;
TMOD=0x01;
EA=1;
ET0=1;
TR0=1;
while
(1)
display();
if(k1==0)tiaoshi();
if(k4==0)tiaonao();
voiddisplay()//显示
P2=0x01;
P0=led[hou/10];
delay(10);
P2=0x02;
P0=led1[hou%10];
P2=0x08;
P0=led1[fen%10];
P2=0x04;
P0=led[fen/10];
P2=0x20;
P0=led[sec%10];
P2=0x10;
P0=led[sec/10];
if(naowei==1)
if(sec<
60)
if(naohou==hou)
if(naofen==fen)
naozhong();
voidtiaonao()//调闹
a=hou;
b=fen;
TR0=0;
naowei=1;
while(TR0==0)
if(k2==0)jiayi();
if(k3==0)jiayi();
if(k8==0){TR0=1;
hou=a;
fen=b;
bre
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 设计