数字钟的设计_毕业设计(编辑修改稿)内容摘要:

其中,秒钟调整按键的功能是当闹钟时间 调整 开关闭合时调整闹钟时间的秒位,XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 1 2 3 4 5 6 7 8 U1 AT89C51 SW1 SWSPST 反之对时间值的秒位进行调整,分钟调整按键的功能是当 闹钟时间调整开关 闭 合时调整闹钟时间的分位,反之对时间值的分位进行调整,时钟调整按键的功能是当 闹钟时间调整开关 闭合时调整闹钟时间的时位,反之对时间值的时位进行调整。 各按键每按一次 +1,当秒位和分位加到 60 自动转化为 0,当时位加到 24 自动转化为 0。 键盘的硬件电路设计只能保证八个按键信号的可靠进入,要想完成键盘的输入功能,还要靠软件编程来具体实现。 当时间值调整准确,按下时钟运行按键启动定时器中断开始准确计时。 数码管显示电路设计 在目前的扫描显示电路中为了节省成本广泛使用七段数码管显示,其工业控制、仪表仪器等都应用七段数码 管做显示输出。 用十进制数码管直观显示数字系统的运行数据,常常是主要的显示手段,数码管每个线段都是一个发光二极管 LED( Light Emitting Diode)组成的。 因其驱动电压小、功耗低、寿命长和可靠性高等优点广泛显示电路中。 七段数码管显示就是将七个发光二极管 LED(加小数点为八个)按一定的方式排列起来,七段 a、 b、 c、 d、 e、 f、 g(小数点 DP)各对应一个发光二极管,利用不同发光段的组合,显示不同的阿拉伯数字或字符,要使数码管显示,必须具备两个条件: COM 端接地; 2. 要使( a,b,c,d,e,f,g,dp)某些 端 口 接 高电。 (a) 显示器 (b) 段组合图 图 八段数字显示器及发光段组合图 以共阴极数码管为例 fabcdegDPd c DPCOMeg baCOMf 7 段数码管的段码为 7 位, 8 段数码管的段码为 8 位,用一个字节即可表示。 段码字节中代码位与各段发光二极管的对应关系如下: 段码 D7 D6 D5 D4 D3 D2 D1 D0 段名 dp g f e d c b a 显示十六进制数的段码值如下图所示: 显示数字 七段共阴极段码 八段共阴极段码 八段共阴极倒置段码 0 3FH BFH BFH 1 06H 86H B0H 2 5BH DBH DBH 3 4FH CFH F9H 4 66H E6H F4H 5 6DH EDH EDH 6 7DH FDH EFH 7 07H 87H B8H 8 7FH FFH FFH 9 6FH EFH FDH 本设计需设置 6 个数码管,其中时个位与倒置的分十位结合显示数字及“:”,分个位与秒十位结合显示数字及“:”。 在使用中,为了 给发光二极管加驱动电压,它们应有一个公共引脚,公共引脚共有 共阴极和共阳极 两种连接方法, 如图下图所示。 ( a)共阳极接法 (b) 共阴极接法 其中 共阴极接法把发光二极管的阴极连在一起构成阴极公共引脚,使用时阴极COMCOMaabbccddeeffggDPDP 公共引脚接地,这样阳极引脚上加高电平的发光二极管就导通点亮;共阳极接法则是把发光二极管的阳极连在一起作为阳极公共引脚,使用时阳极公共引脚接 +5V,这样阴极引脚上加低电平的发光二极管即可导通点亮。 此图 各数码 管的 a,b,c,d,e,f,g,DP 端分别接 ,,。 自秒个位,秒十位,分个位,分十位,时个位,时十位起数码管的 COM 端分别接,,,对应数码管连接方法如下: X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 . 01P 1 . 12P 1 . 23P 1 . 34P 1 . 45P 1 . 56P 1 . 67P 1 . 78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 / R D17P 3 . 6 / W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 / A 821P 2 .1 / A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1234567891R P 1RE S P A C K 8 蜂鸣器电路设计 本设计中当闹钟预设时间与当前显示时间值相同时驱动蜂鸣器连续工作 1 分钟,起到提醒时间的作用,给人们的工作、学习、生活带来方便。 将蜂鸣器一端与 相连,另一端与 VCC 相连,当 =0 时,蜂鸣器开始工作。 具体连接电路如下图所示: X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 . 01P 1 . 12P 1 . 23P 1 . 34P 1 . 45P 1 . 56P 1 . 67P 1 . 78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 / R D17P 3 . 6 / W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 / A 821P 2 .1 / A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 1B U Z 1B UZ Z E RV C CR31kQ12 N22 2 2S W 2S W S P S T 3 软件设计 根据设计方案要求,应用 Keil 软件和 Proteus 软件对电路进行仿真,实现设计的要求,具备对时间即时的显示,对时间和闹铃的设定。 该课题的软件设计采用模块化设计的思想即将程序划分为若干个相对独立的功能模块,画出每一个功能模块的详细流程图,并根据流程图编写程序,最后按照软件设计的总体结构框图,将各模块连接成一个完整的主程序。 本设计中 主要模块包括 初始化参数设置、按键处理、数码管显示模块及蜂鸣器工作模块, 下面对软件各部分程序进行简要介绍: 初始化参数设置如下: include define uchar unsigned char define uint unsigned int uchar code table1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 uchar code table2[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}。 uchar code table3[]={0xbf,0xb0,0xdb,0xf9,0xf4,0xed,0xef,0xb8,0xff,0xfd}。 uchar dis[6] ={0,0,0,0,0,0}。 uchar shihao, second,minite,hour,bsel。 uchar tsecond=0。 uchar tminite=0。 uchar thour=0。 uint i,j,m,n。 sbit P1_0=P1^0。 sbit P1_1=P1^1。 sbit P1_2=P1^2。 sbit P1_3=P1^3。 sbit P1_4=P1^4。 sbit beep=P3^6。 void display()。 void ndisplay()。 void tiaoshi()。 void ntiaoshi()。 定时器 0 服务程序 毫秒计数 10ms 定时器计数 +1 毫秒计数到 100 次 =1s。 重装定时常数,秒计数 +1 秒计数 =60s。 秒计数 =0,分计数 +1 分计数 =60min。 分计数 =0,时计数 +1 时计数 =0 中 断返回 时计数 =24h。 N Y 时钟计时程序流程图 本程序利用定时器中断实现数字钟的时钟计时。 : 程序分析 一次 10ms 定时结束,增加一个计数变量 shihao( 0—— 100); 当 shihao 增加到 100, second+1,shihao 清零; 当 second 增加到 60, minite+1, second 清零; 当 minite 增加到 60, hour+1, minite 清零; 当 hour 增加到 24, hour 清零; (1) TMOD:定时器 T0 方式 1, TMOD=0x01。 (2) 计算初值: fosc=12MHZ,机器周期为 1us。 一次定时时间 =10ms,T0 定时 10ms=10ms/1us=10000,即 TH0=(6553610000)/256。 TH1=(6553610000)%256。 (3) 中断方式:允许定时器 T0 中断。 EA=1。 ET0=1。 具体程序如下 :。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。