基于单片机的数字时钟设计

基于单片机的数字时钟设计

ID:18458807

大小:178.50 KB

页数:10页

时间:2018-09-18

基于单片机的数字时钟设计_第1页
基于单片机的数字时钟设计_第2页
基于单片机的数字时钟设计_第3页
基于单片机的数字时钟设计_第4页
基于单片机的数字时钟设计_第5页
资源描述:

《基于单片机的数字时钟设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、郑州航空工业管理学院单片机课程设计论文11届电子信息工程专业班级题目基于单片机的数字时钟设计学号姓名指导教师王丹二О一三年十二月二十七日10电子时钟的基本原理实验设计是用单片机控制的数字电路实现的数字电子钟,整体的电路设计是由振荡器、分频器、计数器、译码器、LED显示器、校时电路组成。(1)计数、显示电路该部分是由两个60进制计数器,一个24进制计数器、译码器、显示器组成。给60进制计数器一个1Hz的脉冲。观察数码管的显示,看计数器是否正常计时,并且当秒计数器计满60后向分计数器进位。分计数器计满60后向小时计数器进位。(2)校时电路按对应按键来调整时分秒,按加一减一键来调整时间。

2、(3)复位电路系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。二、电子时钟的硬件设计电路原理图如下图所示:10电子时钟原理图原理图说明:KEY1至KEY6为矩阵键盘,分别对应秒、分、时的加减,DIGILED1和DIGI2为四位数码管,SW—RET为复位键,DIG1至DIG8分别控制一位数字的显示。USB为输入端,U2提供工作电压,U1为单片机STC89C52芯片。VCC外接电源,GND接地,SWITCH1为跳帽连接处。10元器件清单如下表所示:电子时钟元件清单表原件名称数量焊接位置电源部分USB座1USBUSB线1双排针(2)1CONN1跳帽2104电容0.1uF6C2,

3、5,6,7,8,9,11LED灯1D1电阻2K1R2最小系统部分40针座1U1STC89C521晶振12MHz1Y1电容20pF2C3,C4复位键1SW_RST电阻10K1R1蜂鸣器1LS1+三极管90159Q1~Q9电阻3301R3键盘显示、通信部分16针座1U2MAX2321单排针(5)1UART按键4KEY1~KEY4单排针(3)1SWITCH1跳帽14位LED2DIGILED1,2电阻4.7K8R14~R21电阻3308R6~R13三、电子时钟的软件设计本次课程设计程序用C语言编写源程序:10/*--------------------------------电子时钟---

4、----------------------------*/#include#defineucharunsignedchar#defineuintunsignedint#defineBIT(x)(1<<(x))#definesegP0#definedigP2ucharnum=0,SEC=0,MIN=0,HOUR=12,key;ucharcodetab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xbf};voiddelayms(uintz)//毫秒级的延时程序{uintx,y;for(x=z;x>0;

5、x--)for(y=110;y>0;y--);}/*********************************函数名:keyscan()功能描述:矩阵键盘扫描(线反转法)入口参数:无返回值:key为0-15键码,返回88为错误码。*********************************/voidkeyscan()//矩阵键盘扫描函数{ucharx,y;P3=0xf0;if(P3!=0xf0){delayms(10);if(P3!=0xf0){x=P3&0xf0;P3=0x0f;y=P3&0x0f;key=x

6、y;while(P3!=0x0f);switch(key)

7、{case0xbe:key=5;HOUR++;break;10case0x7e:key=1;SEC++;break;case0xbd:key=6;if(HOUR>0)HOUR--;break;case0x7d:key=2;if(SEC>0)SEC--;break;case0x7b:key=3;MIN++;break;case0x77:key=4;if(MIN>0)MIN--;break;default:key=88;break;}}}}voiddisplay(void){uchari;for(i=0;i<8;i++){dig=dig&~BIT(i);//dig

8、=BIT(i);

9、=

10、逻辑或switch(i){case0:seg=tab[SEC%10];break;case1:seg=tab[SEC/10];break;case2:seg=tab[10];break;case3:seg=tab[MIN%10];break;case4:seg=tab[MIN/10];break;case5:seg=tab[10];break;10case6:seg=tab[HOUR%10];break;case7:seg=tab[HOUR/10];break;def

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。