课程设计电子时钟_第1页
课程设计电子时钟_第2页
课程设计电子时钟_第3页
课程设计电子时钟_第4页
课程设计电子时钟_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大大 型型 作作 业业专业:专业:班级:班级:姓名:姓名:学号:学号:指导老师:指导老师:前言前言单单片片计计算算机机即即单单片片微微型型计计算算机机。r ra am m , ,r ro om m, ,c cp pu u构构成成,定定时时,计计数数和和多多种种接接口口于于一一体体的的微微控控制制器器。它它体体积积小小,成成本本低低,功功能能强强,广广泛泛应应用用于于智智能能产产业业和和工工业业自自动动化化上上。而而 5 51 1 系系列列单单片片机机是是各各单单片片机机中中最最为为典典型型和和最最有有代代表表性性的的一一种种。这这次次课课程程设设计计通通过过对对它它的的学学习习,应应用用,从从

2、而而达达到到学学习习、设设计计、开开发发软软、硬硬的的能能力力。单单片片机机电电子子时时钟钟,是是利利用用单单片片机机技技术术实实现现计计时时、时时间间显显示示、时时间间调调整整、定定时时调调整整、闹闹铃铃等等功功能能。完完成成该该项项目目能能够够有有效效的的训训练练大大家家的的单单片片机机应应用用能能力力,电电子子时时钟钟的的设设计计过过程程中中,除除了了应应用用单单片片机机前前六六课课题题的的基基础础知知识识外外,还还使使用用了了外外部部中中断断技技术术、定定时时器器中中断断技技术术、键键盘盘查查询询及及动动态态显显示示技技术术,希希望望大大家家通通过过该该项项目目的的设设计计,对对单单片

3、片机机应应用用技技术术有有一一个个较较深深的的认认识识。目目录录前言前言 .2摘要摘要 .4硬件描述及系统设计构思硬件描述及系统设计构思 .51.单片机电子时钟功能.52. 电路流程图.63. 数码管显示工作原理.74.电子时钟工作原理.7单片机电子时钟单片机电子时钟 .91.电路原理图.92.工作现象.93.单片机实物图.10电子时钟程序电子时钟程序 .11实习小结实习小结 .20参考文献参考文献 .21摘要摘要设设计计目目的的: 通通过过课课程程设设计计,熟熟悉悉 89c51 定定时时器器、 8255 扩扩展展接接口口,中中断断初初始始化化编编程程方方法法,解解定定时时器器应应用用在在时时

4、时时控控制制中中程程序序的的设设计计技技巧巧。使使学学生生巩巩固固和和加加深深对对单单片片机机基基本本知知识识的的理理解解,学学会会查查寻寻资资料料、方方案案设设计计、方方案案比比较较,以以及及单单元元电电路路设设计计计计算算等等环环节节,进进一一步步提提高高学学生生综综合合运运用用所所学学知知识识的的能能力力,提提高高分分析析解解决决实实际际问问题题的的能能力力。锻锻炼炼分分析析、解解决决电电子子电电路路问问题题的的实实际际本本领领,通通过过此此综综合合训训练练,为为以以后后毕毕业业设设计计打打下下一一定定的的基基础础。设设计计要要求求:( 1 1)上上电电以以后后自自动动进进入入计计时时状

5、状态态,起起始始于于0 00 0: :0 00 0。( 2 2)设设计计调调整整时时间间,完完成成时时间间设设计计。( 3 3)定定时时时时间间为为1 1 秒秒,采采用用定定时时器器实实现现。( 4 4)采采用用 l le ed d 数数码码管管显显示示,时时、分分采采用用数数字字显显示示。( 5 5)查查表表,中中断断等等方方式式实实现现目目的的。硬件描述及系统设计构思硬件描述及系统设计构思1.单片机电子时钟功能单片机电子时钟功能单片机电子时钟单片机电子时钟计计 时时 功功 能能计计 时时 调调 整整定定 时时 显显 示示定定 时时 调调 整整定定 时时 闹闹 铃铃计计 时时 显显 示示控控

6、制制器器用用a at t8 89 9s s5 51 1 , , 1 12 2m m 晶晶振振数数码码管管动动态态扫扫描描驱驱动动 p p2 2 口口数数码码管管段段码码驱驱动动 p p1 1 口口闹闹铃铃驱驱动动 p p1 1. .0 0调调整整键键 k k1 1p p3 3. .2 2( (外外部部中中断断0 0, , 正正常常、调调时时、调调分分、调调秒秒 ) )定定时时 / /正正常常切切换换键键k k2 2p p3 3. .3 3时时间间参参数数低低位位加加1 1 键键 k k3 3p p3 3. .4 4时时间间参参数数高高位位加加1 1 键键 k k4 4p p3 3. .5 52

7、.电路流程图电路流程图3. 数码管显示数码管显示工作原理工作原理数数码码管管是是一一种种把把多多个个led 显显示示段段集集成成在在一一起起的的显显示示设设备备。有有两两种种类类型型,一一种种是是共共阳阳型型,一一种种是是共共阴阴型型。共共阳阳型型就就是是把把多多个个led 显显示示段段的的阳阳极极接接在在一一起起,又又称称为为公公共共端端。共共阴阴型型就就是是把把多多个个led 显显示示段段的的阴阴极极接接在在一一起起,即即为为公公共共商商。阳阳极极即即为为二二极极管管的的正正极极,又又称称为为正正极极,阴阴极极即即为为二二极极管管的的负负极极,又又称称为为负负极极。通通常常的的数数码码管管

8、又又分分为为8段段,即即 8 个个 led 显显示示段段,这这是是为为工工程程应应用用方方便便如如设设计计的的,分分别别为为 a、 b、 c、 d、 e、 f、 g、 dp,其其中中 dp 是是小小数数点点位位段段。而而多多位位数数码码管管,除除某某一一位位的的公公共共端端会会连连接接在在一一起起,不不同同位位的的数数码码管管的的相相同同端端也也会会连连接接在在一一起起。即即,所所有有的的 a 段段都都会会连连在在一一起起,其其它它的的段段也也是是如如此此,这这是是实实际际最最常常用用的的用用法法。数数码码管管显显示示方方法法可可分分为为静静态态显显示示和和动动态态显显示示两两种种。静静态态显

9、显示示就就是是数数码码管管的的8 段段输输入入及及其其公公共共端端电电平平一一直直有有效效。动动态态显显示示的的原原理理是是,各各个个数数码码管管的的相相同同段段连连接接在在一一起起,共共同同占占用用8 位位段段引引管管线线;每每位位数数码码管管的的阳阳极极连连在在一一起起组组成成公公共共端端。利利用用人人眼眼的的视视觉觉暂暂留留性性,依依次次给给出出各各个个数数码码管管公公共共端端加加有有效效信信号号,在在此此同同时时给给出出该该数数码码管管加加有有效效的的数数据据信信号号,当当全全段段扫扫描描速速度度大大于于视视觉觉暂暂留留速速度度时时,显显示示就就会会清清晰晰显显示示出出来来。4.电子时

10、钟工作原理电子时钟工作原理该该电电子子时时钟钟由由89c51, button,六六段段数数码码管管等等构构成成,采采用用晶晶振振电电路路作作为为驱驱动动电电路路,由由延延时时程程序序和和循循环环程程序序产产生生的的一一秒秒定定时时,达达到到时时分分秒秒的的计计时时,六六十十秒秒为为一一分分钟钟,六六十十分分钟钟为为一一小小时时,满满二二十十四四小小时时为为一一天天。而而电电路路中中唯唯一一的的一一个个控控制制键键却却拥拥有有多多种种不不同同的的功功能能,按按下下又又松松开开,可可以以实实现现屏屏蔽蔽数数码码管管显显示示的的功功能能,达达到到省省电电的的目目的的;直直接接按按下下不不松松开开,则

11、则可可以以通通过过按按键键实实现现分分钟钟的的累累加加,每每按按一一次次分分钟钟加加一一;而而连连续续两两次次按按下下按按键键不不放放松松,则则可可实实现现小小时时的的调调节节,同同样样每每按按一一次次小小时时加加一一。 单片机电子时钟单片机电子时钟1.电路原理图电路原理图123456abcd654321dcbatitlenumberrevisionsizebdate:2-jun-2008 sheet of file:e:产产产产产产产产产产产产产产产产产产产产产产产产产产产产产产产.ddbdrawn b y:abfcgdedpy1234567abcdefg8dpdpsm5abfcgdedpy

12、1234567abcdefg8dpdpsm2560560560560560560560560855085502.7k2.7kp1.0vc cp1.1p0.0p1.2p0.1p1.3p0.2p1.4p0.3p1.5p0.4p1.6p0.5p1.7p0.6rstp0.7p3.0ea p3.1al ep3.2pse np3.3p2.7p3.4p2.6p3.5p2.5p3.6p2.4p3.7p2.3xt al2p2.2xt al1p2.1gn dp2.0at 89s5112.000mhz10u f30p30p10k200rstp3.2k1p3.3k2p3.4k3p3.5k410410410410410

13、010010010010k10k10k10kabfcgdedpy1234567abcdefg8dpdpsm4abfcgdedpy1234567abcdefg8dpdpsm385502.7k146523871g vc c1a 12g 2y 41y 11a 22a 42y 31y 21a 32a 32y 21y 31a 42a 22y 11y 4gn d 2a 174l s244+5vabfcgdedpy1234567abcdefg8dpdpsm1abfcgdedpy1234567abcdefg8dpdpsm085508550855010k10k10k10k10k10k2.7k2.7k2.7k91

14、0+5vspk85502.7k10k9109109109109102.工作现象工作现象单单片片机机电电子子时时钟钟,是是利利用用单单片片机机技技术术实实现现计计时时、时时间间显显示示、时时间间调调整整、定定时时调调整整、闹闹铃铃等等功功能能。完完成成该该项项目目能能够够有有效效的的训训练练大大家家的的单单片片机机应应用用能能力力,电电子子时时钟钟的的设设计计过过程程中中,除除了了应应用用单单片片机机前前六六课课题题的的基基础础知知识识外外,还还使使用用了了外外部部中中断断技技术术、定定时时器器中中断断技技术术、键键盘盘查查询询及及动动态态显显示示技技术术,希希望望大大家家通通过过该该项项目目的

15、的设设计计,对对单单片片机机应应用用技技术术有有一一个个较较深深的的认认识识。3.单片机实物单片机实物图图电子时钟程序电子时钟程序#include #include uchar h=0,m=0,s=0,t_count=0;/设设置置时时间间初初值值,进进行行时时间间计计数数 uchar h_set=11,m_set=11,s_set=11;/设设定定闹闹铃铃时时间间 uchar *sp=&s,*mp=&m,*hp=&h;/时时间间指指针针 uchar select2seg=0;/调调时时闪闪烁烁位位号号 uchar select2seg_=0;/定定时时闪闪烁烁位位号号

16、 uchar *select2segp;/闪闪烁烁位位号号指指针针 uchar h_h=0,h_l=0,m_h=0,m_l=0,s_h=0,s_l=0;/时时分分秒秒的的各各位位的的数数值值-用用于于显显示示 uchar saveh_h=0,saveh_l=0,savem_h=0,savem_l=0,saves_h=0,saves_l=0;/ 时时分分秒秒的的各各位位的的数数值值-用用于于调调时时间间时时的的数数据据保保护护 uchar light=0; /灯灯亮亮bit key3down=1;/允允许许 key3 按按键键值值增增加加1 的的标标志志(个个位位加加一一) bit key4do

17、wn=1;/允允许许 key4 按按键键值值增增加加1 的的标标志志(十十位位加加一一 ) bit settime=0;/定定时时标标志志 1 为为定定时时 24 /*蜂蜂鸣鸣器器报报警警 */ void spk(void) if(settime=0)spk=0; /闹闹铃铃响响 void tunoffspk(void) spk=1;/闹闹铃铃不不响响 /*外外部部中中断断 0 初初始始化化 */ void init_int0(void)ea=1; /打打开开中中断断总总允允许许位位ex0=1;/打打开开外外部部中中断断0 允允许许位位px0=0;/设设定定外外部部外外部部中中断断0 为为低低

18、优优先先级级中中断断 it0=1;/设设置置外外部部中中断断0 为为边边沿沿(下下降降沿沿)触触发发方方式式 /*t0-初初始始化化为为 50ms 定定时时 ,并并启启动动 */ void init_t0() tmod=(tmod&0 xf0)|0 x01;/定定时时器器 0,方方式式 1: 16 位位定定时时。 th0=0 x3c;/设设置置定定时时器器t0 初初值值tl0=0 xb0; ea=1; /打打开开中中断断总总允允许许位位et0=1;/允允许许 t0 中中断断 pt0=1;/设设定定定定时时器器t0 为为高高优优先先级级中中断断 tr0=1;/启启动动 t0 /*外外部部

19、中中断断 1 初初始始化化 */ void init_int1(void) ea=1; /打打开开中中断断总总允允许许位位ex1=1; /打打开开外外部部中中断断1 允允许许位位px1=0; /设设定定外外部部外外部部中中断断1 为为低低优优先先级级中中断断it1=1; /设设置置外外部部中中断断1 为为边边沿沿(下下降降沿沿)触触发发方方式式 /*t1-初初始始化化为为 50ms 定定时时 ,并并启启动动 */ void init_t1(void) tmod=(tmod&0 x0f)|0 x10;/定定时时器器 1,方方式式 1: 16 位位定定时时th1=0 x3c; /设设置置定

20、定时时器器t1 初初值值tl1=0 xb0; ea=1; /打打开开中中断断总总允允许许位位et1=1; /允允许许 t1 中中断断pt1=0; /设设定定定定时时器器t1 为为高高优优先先级级中中断断tr1=1; /启启动动 t1 /*外外部部中中断断 0 子子程程序序 */ void int0(void) interrupt 0 using 2 if(settime)select2segp=&select2seg_;/若若设设时时间间则则把把定定时时闪闪烁烁位位号号赋赋值值给给闪闪烁烁位位号号指指针针else select2segp=&select2seg;/若若设设时时间

21、间则则把把调调时时闪闪烁烁位位号号赋赋值值给给闪闪烁烁位位号号if(+(*select2segp)=4) *select2segp=0;/如如果果闪闪烁烁位位号号闪闪烁烁四四次次则则停停止止闪闪烁烁 tunoffspk(); /*t0 定定时时 1s 中中断断子子程程序序 1*/ void timer0() interrupt 1 using 1 th0=0 x3c;/ 设设置置定定时时器器t0 初初值值tl0=0 xb0; if(t_count+)=20) s+; t_count=0; spk=spk ; /如如果果计计数数到到订订制制,蜂蜂鸣鸣器器会会隔隔一一秒秒响响一一次次if(s=60

22、)m+;s=0;/秒秒计计数数六六十十次次进进一一位位到到分分if(m=60)h+;m=0; /分分钟钟计计数数六六十十次次进进一一位位到到时时if(h=24)h=0;/当当时时计计数数到到二二十十四四时时清清零零 if(h=h_set)&(m=m_set)&(s=s_set) spk();/当当时时、分分、秒秒到到某某一一时时刻刻时时,蜂蜂鸣鸣器器响响 /*外外部部中中断断 1 子子程程序序 */ void int1(void) interrupt 2 settime=settime; *select2segp=0; tunoffspk(); /*t1 定定时时 50ms 中

23、中断断子子程程序序 1*/ void timer1() interrupt 3 using 3 th1=0 x3c; /设设置置定定时时器器t1 初初值值tl1=0 xb0; if(light+8) light=0;灯灯亮亮 /*数数码码管管数数据据定定义义*/ uchar code diy_data=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 xbf,0 xff;/0-9,-,不不亮亮 uchar code wx_data=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf;/自自左左到到右右

24、分分别别是是面面板板(自自右右到到左左 1-6 个个数数码码管管) /*数数码码管管循循环环显显示示,n 为为位位序序号号, d 为为数数据据序序号号 */ void dsp_data(uchar n,uchar d) uchar i=n,j=d; seg7_data=diy_datan; wx=wx_datad; /*软软件件延延时时 n ms*/ void dlyms(uchar n) uchar k=125; for(;n0;n-) for(;k0;k-); void testkey2(void) if(settime) sp=&s_set;mp=&m_set;hp=&a

25、mp;h_set; select2segp=&select2seg_; else sp=&s;mp=&m;hp=&h; select2segp=&select2seg; /*检检测测 key3(调调整整时时间间个个位位键键)子子程程序序 */ void scan_kl(void) if(kl=0)&( key3down=1)key3down=0; testkey2(); tunoffspk(); switch(*select2segp) case 0:break; case 1:saves_h=*sp/10;/保保护护 秒秒 十十位位 *sp+=

26、1; *sp=saves_h*10+*sp%10; break;case 2:savem_h=*mp/10;/保保护护 分分 十十位位 *mp+=1; *mp=savem_h*10+*mp%10; break; case 3:saveh_h=*hp/10;/保保护护 时时 十十位位 *hp+=1; if(saveh_h3) *hp=saveh_h*10; break; default:break; if(kl=1)key3down=1; /*检检测测 key4(调调整整时时间间十十位位键键)子子程程序序 */ void scan_kh(void) if(kh=0)&( key4down

27、=1) key4down=0; testkey2(); tunoffspk(); switch(*select2segp) case 0:break; case 1:saves_l=*sp%10;/保保护护 秒秒 个个位位 *sp+=10; if(*sp=60)*sp=saves_l;break; case 2:savem_l=*mp%10;/保保护护 分分 个个位位 *mp+=10; if(*mp=60)*mp=savem_l; break; case 3:saveh_l=*hp%10;/保保护护 时时 个个位位 *hp+=10; if(saveh_l3)if(*hp/101)*hp=sav

28、eh_l; else if(*hp/102)*hp=saveh_l; break; default:break; if(kh=1)key4down=1;/*显显示示程程序序 */void display(void) testkey2();if(*select2segp!=1|light4) dsp_data(*sp%10,0);dlyms(n1); dsp_data(*sp/10,1);dlyms(n1); if(*select2segp!=2|light4) dsp_data(*mp%10,2);dlyms(n1); dsp_data(*mp/10,3);dlyms(n1); if(*select2segp!=3|light4) dsp_data(*hp%10,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论