基于单片机的电子时钟课程设计.doc

上传人:文库蛋蛋多 文档编号:4148678 上传时间:2023-04-07 格式:DOC 页数:11 大小:70KB
返回 下载 相关 举报
基于单片机的电子时钟课程设计.doc_第1页
第1页 / 共11页
基于单片机的电子时钟课程设计.doc_第2页
第2页 / 共11页
基于单片机的电子时钟课程设计.doc_第3页
第3页 / 共11页
基于单片机的电子时钟课程设计.doc_第4页
第4页 / 共11页
基于单片机的电子时钟课程设计.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《基于单片机的电子时钟课程设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的电子时钟课程设计.doc(11页珍藏版)》请在三一办公上搜索。

1、基于单片机的电子时钟一、 系统设计要求1.1 基本功能(1)能够显示时分秒(2)能够调整时分秒 1.2 扩展功能(1)能够任意设置定时时间(2)定时时间到闹铃能够报警(3)实现了秒表功能二 、硬件总体设计方案本次设计时钟电路,使用了STC89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用C语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、显示屏即可满足设计要求。2.1系统功能实现总体设计思路此设计原理框图如图2-1所示,此电路包括以下四个部分:

2、单片机,键盘,闹铃电路及显示电路。闹铃电路51单片机独立键盘数码管显示 图2-1 设计原理框图 详细元器件列表:STC89c51 1片八位共阴极数码管 1片100p电容 6个22uf 电容 1个30p电容 2个10K电阻 6个1K电阻560欧姆电阻 8个200欧姆电阻 1个100欧姆电阻 7个按键 7个蜂鸣器 1个12MHZ晶振 1个STC89C51插座 1个USB接头1个2.2各部分功能实现(1) 单片机发送的信号通过程序控制最终在数码管上显示出来。(2) 单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。(3) 为使时钟走时与标准时间一致,校时电路是必不可少的,键盘用来校正数码管上显示

3、的时间。(4) 单片机通过控制闹铃电路来完成 定时闹钟的功能。2.3系统工作原理设计的电路主要由四模块构成:单片机控制电路,显示电路、闹铃电路以及校正电路。详细电路功能图下图所示: 详细电路功能图本设计采用C语言程序设计,使单片机控制数码管显示时、分、秒,当秒计数计满60时就向分进位,分计数器计满60后向时计数器进位,小时计数器按“23翻0”规律计数。时、分、秒的计数结果经过数据处理可直接送显示器显示。当计时发生误差的时候可以用校时电路进行校正。设计采用的是时、分、秒显示,单片机对数据进行处理同时在数码管上显示。2.4电路功能使用说明(1) 各个控制键的功能:可对时间进行校准调节(只能加);按

4、下设置键数字时钟进入闹钟设置状态,设置闹钟的时间;时加、分加键是在校准时间时或设置闹钟时间对小时数或分钟数调节而设置的;按下秒切换键就可以进入秒表模式,同时秒表也开始计时,按下秒表暂停、复位键就暂停、归零,如果要重新对秒计时则可以按秒表开始、复位;清零键可以对闹钟清零。(2) STC89C51单片机,通过编写程序对数码显示进行控制。(3) 八个7段数码管显示时钟和秒表信号。三、软件总体设计方案控制电路的C语言源程序根据流程图,经过认真分析得出控制电路的源程序如下:#include#define uchar unsigned char#define uint unsigned int#defin

5、e delay_time 3/*宏定义*/uchar k,dat=0,0,0,0,0,0,0,0;uint tcount,t,u;uchar dat1=0,0,0,0,0,0,2,1;uchar dat2=0,0,0,0,0,0,0,0;uchar alarms=0,0,0,0,0,0,0,0;uchar dis_bit=0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE;unsigned char code SEG711=0x3F,/*0*/ 0x06,/*1*/ 0x5B,/*2*/ 0x4F,/*3*/ 0x66,/*4*/ 0x6D,/*5*/ 0x7D,/

6、*6*/ 0x07,/*7*/ 0x7F,/*8*/ 0x6F,/*9*/ 0x40,/*-*/ ;/*数字显示数组*/sbit miaobiao1=P10;sbit tminute=P11;sbit thour=P12;sbit miaobiao2=P13;sbit alarm=P14;sbit P0_0=P00;sbit P1_5=P15;sbit P1_6=P16;sbit P1_7=P17;/*端口定义*/uchar ms=0;uchar flag=0;s=0;w=0;uchar sec=0;uchar minit=0;struct timeuchar second;uchar min

7、ute;uchar hour;time1; uchar n,i;void delay(n) while(n-)for(i=120;i0;i-); /*延时子程序*/ void modify(void) EA=0; if(thour=0) if(flag=0) dat16+;delay(280); if(dat169) dat16=0;dat17+;else if(dat171)&(dat163) dat17=0; dat16=0; if(flag=1) alarms6+;delay(300); if(alarms69) alarms6=0;alarms7+; else if(alarms71)

8、&(alarms63) alarms7=0;alarms6=0; dat6=alarms6; dat7=alarms7; if(tminute=0) if(flag=0) dat13+;delay(280); if(dat13=9) dat14+;dat13=0;if(dat145) dat14=0; if(flag=1) alarms3+;delay(300); if(alarms39) alarms4+;alarms3=0; if(alarms45) alarms4=0; dat3=alarms3;dat4=alarms4; if(miaobiao1=0)TR0=1;ET0=1;TR1=1

9、;ET1=1;w=1; if(miaobiao2=0) TR0=1;ET0=1;TR1=0;ET1=0;w=0;s=0; dat20=0; dat21=0; dat23=0; dat24=0; dat26=0; dat27=0; ms=0; sec=0; minit=0; if(P1_5=0) TR0=0;ET0=0;TR1=0;ET1=0; if(alarm=0)TR0=0;ET0=0;TR1=0;ET1=0;flag=1;s=1; dat0=0; dat1=0;dat2=10; dat3=0;dat4=0;dat5=10;dat6=0;dat7=0; if(s=1) dat5=10; da

10、t2=10; dat0=0; dat1=0; dat3=alarms3; dat4=alarms4; dat6=alarms6; dat7=alarms7;else if(w=1) dat5=10; dat2=10; dat0=dat20; dat1=dat21; dat3=dat23; dat4=dat24; dat6=dat26; dat7=dat27;else dat5=10; dat2=10; dat0=dat10; dat1=dat11; dat3=dat13; dat4=dat14; dat6=dat16; dat7=dat17;time1.minute=dat4*10+dat3;

11、time1.hour=dat7*10+dat6; EA=1;/*按键扫描*/void init(void) TMOD = 0x11; TH0 = 0xDB;TL0 =0xFF;TH1=0xDB;TL1=0xFF; ET0 = 1; /10msET1=1;TR1=1; TR0=1; tcount=0;ms=0;sec=0;minit=0;EA = 1;/*初始化*/void test(void)for(k=0;k23) time1.hour=0; flag=0; P0=0x01;if(alarms7=dat17)&(alarms6=dat16)&(alarms4=dat14)&(alarms3=

12、dat13)&(dat11=100) ms=0; sec+; dat23=sec%10; dat24=sec/10; if(sec=60) sec=0; minit+; dat26=minit%10; dat27=minit/10; ET1=1; /秒表中断服务程序四、课程设计结果分析硬件部分设置了的六个按键。当按键一按下时,进入秒表显示状态,秒表开始计时,当按键六按下时,秒表暂停;当按键四按下时恢复到时间显示功能;当按键二按下时,进入调分状态,按一次,分加一,60一循环;按键三按下时,进入调时状态,按一次,时加一,60一循环;按键五按下时,进入闹铃设置功能,紧接着按下按键二和按键三进行时和分

13、的设置,再按下按键4恢复显示时间,当显示的时间和定时设置的时间一致时,蜂鸣器发出蜂鸣声,蜂鸣时间我们设置为10秒。另外,闹铃电路有音乐闹钟的扩展的功能(可以将蜂鸣器换成扬声器再加一段音乐程序即可实现)。调试阶段,出现一些问题。比如,实际小时显示到29才归零,定时或秒表显示时时钟暂停了经过软件调试,以上问题均一一排除,结果达到预期目标。但时间有限,部分扩展功能不能及时实现,比如音乐闹铃。华 北 水 利 水 电 学 院 课程设计报告 20102011学年第 一 学期课 题 名 称: 电子时钟 指 导 教 师: 孙新娟 专 业: 电子信息工程 姓 名:徐等200915523 张宁200915510 时 间: 2011-01-05

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号