单片机电子时钟课程设计.docx

上传人:b****7 文档编号:9970914 上传时间:2023-02-07 格式:DOCX 页数:11 大小:164.58KB
下载 相关 举报
单片机电子时钟课程设计.docx_第1页
第1页 / 共11页
单片机电子时钟课程设计.docx_第2页
第2页 / 共11页
单片机电子时钟课程设计.docx_第3页
第3页 / 共11页
单片机电子时钟课程设计.docx_第4页
第4页 / 共11页
单片机电子时钟课程设计.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

单片机电子时钟课程设计.docx

《单片机电子时钟课程设计.docx》由会员分享,可在线阅读,更多相关《单片机电子时钟课程设计.docx(11页珍藏版)》请在冰豆网上搜索。

单片机电子时钟课程设计.docx

单片机电子时钟课程设计

郑州航空工业管理学院

单片机课程设计说明书

 

2008届电子信息工程专业0813081班级

 

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

学号081308125

姓名魏国俊

指导教师程琤

 

二О一0年12月26日

一、数字时钟的基本原理

数字时钟是用数字集成电路组成,用数码管显示的一种现代化计数器。

数字时钟实际上是一个对标准频率(1Hz)进行计数的计数电路。

振荡器产生的时钟信号经过分频器形成秒脉冲信号,秒脉冲信号输入计数器进行计数,并把累计结果“时”、“分”、“秒”的数字显示出来。

秒计数器电路计满60后触发分计数器电路,分计数器电路计满60后触发时计数器电路,当计满24小时后又开始下一轮的循环计数。

由于计数的起始时间不可能与标准时间(如北京时间)一致,故需在电路上加一个校时电路可以对分和时进行校时。

二、数字时钟的硬件设计

1、数字时钟的电路原理图

2、原器件清单

序号

器件名称

参数

数量

1

USB座

1

2

USB线

1

3

双排针

(2)

1

4

跳帽

3

5

电容

0.1uF

7

6

LED灯

1

7

电阻

2K

1

8

40针座

1

9

STC89C51

1

10

晶振

12MHZ

1

11

电容

20pF

2

12

复位键

1

13

电阻

10K

1

14

蜂鸣器

1

15

三极管9015

9

16

电阻

330

9

17

16针座

1

18

MAX232

1

19

单排针(5)

1

20

按键

4

21

单排针(3)

1

22

4位LED

2

23

电阻

4.7K

8

三、数字时钟的软件设计

1、程序流程图

开始

清显示缓冲区

初始化定时计数器

赋时钟初值

开定时器

调整时间

数码管显示当前时钟值

 

2、源程序

#include

//定义按键端口

sbitkey_1=P3^0;//用于小时增加

sbitkey_2=P3^1;//用于分钟增加

sbitkey_3=P3^2;//用于分钟减少

sbitkey_4=P3^3;//用于秒钟增加

//定义所需变量

unsignedcharshi=12,fen=00,miao=00;//定义十分秒并初始化为12:

00:

00

codeunsignedchartab[]={0xc0,0xf9,0xa4,0xb0,

0x99,0x92,0x82,0xf8,0x80,0x90};//定义共阳极数码管编码表

unsignedcharsbuff[8];//定义数据缓冲数组

voidinit()//定义初始化函数对定时器0和定时器1进行初始化

{

TMOD=0x11;//定时器0和1均为模式1

ET0=1;//开定时器0中断

ET1=1;//开定时器1中断

TH0=0xd8;

TL0=0xf0;//定时10ms

TH1=0xfc;

TL1=0x18;//定时0.1ms

TR1=1;//T1开始计时

TR0=1;//T0开始计时

EA=1;//开总中断

}

//显示数值写入缓冲区函数

voiddisplayset()

{

sbuff[7]=tab[(shi/10)];//显示小时的十位

sbuff[6]=tab[(shi%10)];//显示小时的个位

sbuff[5]=0xbf;//显示'-'号

sbuff[4]=tab[(fen/10)];//显示分钟十位

sbuff[3]=tab[(fen%10)];//显示分钟个位

sbuff[2]=0xbf;//显示'-'号

sbuff[1]=tab[(miao/10)];//显示秒钟十位

sbuff[0]=tab[(miao%10)];//显示秒钟个位

}

//延时子函数

voiddelay(unsignedcharz)

{while(z--)

{unsignedcharj;

for(j=0;j<123;j++);

}

}

voidkey_scan()

{

if(!

key_1)//按键1去抖以及动作

{

delay(100);

if(!

key_1)

{

shi++;

if(shi==24)

shi=0;//正常时间小时加1

displayset();

}

}

if(!

key_2)//按键2去抖以及动作

{

delay(100);

if(!

key_2)

{

fen++;

if(fen==60)

fen=0;//分增加1

displayset();

}

}

if(!

key_3)//按键去抖以及动作

{

delay(100);

if(!

key_3)

{

fen--;

if(fen==255)

fen=59;//分减1

displayset();

}

}

if(!

key_4)//按键去抖以及动作

{

delay(100);

if(!

key_4)

{

miao++;

if(miao==60)

miao=0;//秒增加1

displayset();

}

}

}

//主函数

voidmain()

{

init();//调用初始化定时器函数

displayset();//调用显示设置函数

while

(1)//主循环用于不断检测按键是否被按下

{

key_scan();//调用按键检测函数

}

}

//以下是中断程序///

//T0中断用于计时

voidtimer(void)interrupt1using0

{

staticunsignedcharcounter;//用于计进中断次数,即走过了多少个10毫秒

TH0=0xd8;

TL0=0xf0;//重新装入初值

counter++;

switch(counter)

{

case0:

case20:

case40:

case60:

case80:

displayset();

break;

default:

break;//在一秒内隔一段时间送一次时分秒到缓冲区

}

if(counter==100)

{

counter=0;

miao++;

if(miao==60)

{miao=0;

fen++;

if(fen==60)

{fen=0;

shi++;

if(shi==24)

shi=0;

}

}

}

}

///定时器1服务程序用于扫描显示

voidscan()interrupt3using1

{

staticunsignedcharnumber;

TH1=0xfc;

TL1=0x18;//重新装入初值

switch(number)

{

case0:

P0=0xff;P2=0xfe;P0=sbuff[number];break;

case1:

P0=0xff;P2=0xfd;P0=sbuff[number];break;

case2:

P0=0xff;P2=0xfb;P0=sbuff[number];break;

case3:

P0=0xff;P2=0xf7;P0=sbuff[number];break;

case4:

P0=0xff;P2=0xef;P0=sbuff[number];break;

case5:

P0=0xff;P2=0xdf;P0=sbuff[number];break;

case6:

P0=0xff;P2=0xbf;P0=sbuff[number];break;

case7:

P0=0xff;P2=0x7f;P0=sbuff[number];break;//轮流选中数码管并赋值显示

default:

break;

}

number++;

if(number==8)//扫描8次依次点亮8个数码管

number=0;

}

 

四、课程设计总结

本次课程设计是用8052单片机CPU及接口电路设计一个数字时钟,经过近一个星期的调试,结果满足设计要求,验证无误。

设计主要用到了多种芯片,程序也比较长比较麻烦,同时也遇到了不少困难,尤其是关于校时模块的设计实现。

关于显示模块,在以前的实验中做过,所以问题很容易解决。

通过本次设计,系统的了解了实时时钟的设计流程,尤其是硬、软件的设计方法,掌握了键盘显示电路的基本功能及编程方法,掌握了键盘电路和显示电路的一般原理,也进一步掌握了定时器的使用和中断处理器程序的编程方法。

开拓了思路,锻炼了实践动手能力,提高了分工协作能力和分析问题,解决问题的能力,达到了本次课程设计的目的。

 

五、指导教师评语

 

成绩指导教师签名

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1