可调电子时钟设计

可调电子时钟设计
可调电子时钟设计

单片机综合实验课程报告题目可调电子时钟设计

学生姓名

学号

院系

专业

指导教师

二O一二年五月十五日

目录

摘要 (1)

关键字 (1)

一、可调电子时钟预期功能 (3)

二、设计方案 (3)

2.1 单片机最小系统 (3)

2.2 LCD1602 (3)

2.3 DS1302 (4)

三、硬件电路设计 (4)

四、软件设计 (5)

五、仿真结果 (7)

六、小结 (8)

参考文献 (8)

附录 (10)

可调电子时钟设计

南京信息工程大学信息与控制学院,江苏南京 210044

摘要:用AT89C51作为最小系统设计可调电子时钟,用液晶显示屏LCD102输出显示,用时钟芯片DS1302管理时间。可以显示年、月、日、星期、时、分、秒,并且均可通过按键调整。当按第一个键时开始调整时间,第二个键是加键,第三个键是减键。单片机具有集成度高、功能强、通用好、特别是它能耗低、价格便宜、可靠性高、抗干扰能力强和使用方便等独特的优点,所以单片机现在广泛的应用到家用电器、机电产品、儿童玩具、机器人、办公自动化产品等领域。数字电子时钟电路设计系统,以AT89C51单片机为控制核心,由按键、液晶显示屏和LED灯显示等功能模块组成。基于题目基本要求,本系统对时间显示和定时报警进行了重点设计。本系统大部分功能由软件来实现,吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高本系统成功的实现了要求的基本功能。

关键词:AT89C51;LCD1602;DS1302

Design of Adjustable Electronic Clock

NUIST,Nanjing 210044,China

Abstract:This paper introduced the design of the adjustable digital clock based on AT89C51, the specific process of how the system hardware and software achieved were detailed descrip tion through the design of adjustable digital clock. The modular design and production, whic h consisted of MCU module, clock module and the associated control module, were mainly recounted.As well as hardware design and software design use the same method,consists suspension module,time adjustable module,and that use the C language to achieve because of its sample and strong negotiability.In this design,the functions of time run and change,functions of the year,month and day display have been achieved.

Key words:AT89C51;LCD1602;DS1302

一、数码管显示预期功能

1、以格式“小时-分钟-秒”显示时间。

2、每过一秒显示内容更新。

3、可以通过按键来调整时间,包括时、分、秒的增加或减小。

4、整点时,蜂鸣器或扬声器报时。

5、用时钟芯片DS1302来管理时间。

6、显示年月日,且能调整。

7、显示星期。

二、设计方案

1、51单片机最小系统设计

单片机最小系统如下图所示:

XT AL2

18

XT AL1

19

ALE 30EA

31

PSEN 29RST

9

P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78

P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1

AT89C51

Y1

12MHz

C4

30p

C5

30p

R17

1KΩ

C2

10000000pF

RS R W E RST SCLK

IO

以ST89C51单片机为核心,选用12MHZ 的晶振,由于晶振的频率越高,单片机的运行速度就越快,但考虑到单片机的运行速度快会导致对存储器的要求就会变高,因此12MHZ 晶振为最佳选择。外接电容的值虽然没有严格的要求,但是外接电容的大小会影响振荡器的频率高低、振荡器的稳定性和起振的快速性,因此我们选用30pF 的电容作为起振电容。复位电路为按键高电平复位,当按键按下,RES 端为高电平,当高电平持续4us 的时间就可以使单片机复位。

2、时间显示设计

采用液晶显示屏LCD1602显示时间:

D 7

14

D 613D 512D 411D 310D 29D 18D 07

E 6R W 5R S 4V S S 1V D D 2V E E

3

LCD1

LM016L

R S R W E

Vss,Vdd(1,2管脚)——电源端。液晶屏的+5V 工作电压与单片机相同。Vee (3管脚)——液晶屏驱动电源。该管脚的电平决定了液晶屏的对比度,通常可用一个分压器控制Vee 管脚的电压从而调整对比度。RS (4管脚)——命令/数据选择线。RS 状态决定了数据总线DB0~DB7上的信号是命令还是显示数据。RS=0时,DB0~DB7的信号视为命令数据。RS=1时,DB0~DB7的信号则作为液晶屏的显示数据。R/W (5管脚)——读/写控制线。控制是从液晶屏读数据还是向液晶屏写数据。 R/W =0时,写数据。 R/W =1时,读数据。E(6管脚)——使能端。该管脚控制液晶屏从数据总线DB0~DB7上将数据读入液晶屏。当该管脚上的电平由1向0变化时,数据总线DB0~DB7的数据被读入液晶屏。DB0~DB7(7~14管脚)——数据总线。这8位数据总线是数据交换的通道,单片机向液晶屏送入的命令或数据都通过这8位数据总线进行。

单片机需要先向液晶屏输出一些显示设置命令,然后再输出显示数据。当单片机向液晶屏输出显示设置命令时,RS 管脚应该清0。当设置完成后,需要使RS 管脚置1以向液晶屏输入显示数据。同时,R/W 管脚也接低电平,液晶屏接收数据从DB0~DB7写入。当RS 管脚和R/W 管脚设置妥当后,执行对E 管脚清0,就会在E 管脚上形成一个由高向低的跳变,这个跳变就使得命令或显示数据从数据总线DB0~DB7进入液晶屏。 3、时间管理设计

采用时钟芯片DS1302管理时间:

RST 9SCLK 14I/O 12

X13

X25

VCC116VCC2

1

U2

DS1302

X1

CRYST AL

RST SCLK

IO

DS1302 是DALLAS 公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31 字节静态RAM 可通过简单的串行接口与单片机进行通信可提供:秒分时日日期月年的信息;每月的天数和闰年的天数可自动调整;可通过AM/PM 指示决定采用24 或12 小时格式。

三、硬件电路设计

整体电路图:

XT AL2

18

XT AL1

19

ALE 30EA

31

PSEN 29RST

9

P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78

P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1

AT89C51

D 7

14

D 613D 512D 411D 310D 29D 18D 07

E 6

R W 5R S 4V S S 1V D D 2V E E

3

LCD1

LM016L

RST 9SCLK 14I/O 12

X13

X2

5

VCC116VCC2

1

U2

DS1302

X1

CRYST AL

设置R1

100

D2

LED-BIRY

Y1

12MHz

C4

30p

C5

30p

R2

1KΩ

C2

10000000pF

增大减小

RS R W E RST SCLK

IO

RST SCLK

IO

R S R W E

连线如下:液晶显示器LCD1602的D0~D7分别与P2口相连,RS 、RW 、E 分别与P1.0、P1.1、P1.2口相连,3个时间调整按键分别与P3.0、P3.1和P3.2相连,整点报时的二极管与P3.7口相连,时钟芯片的/RST 、SCLK 、I/O 分别与P1.3、P1.4、P1.5相连。

四、软件设计

开 始

将新时间转换成DS1302内部时间序列

1、主程序流程图:

LCD1602初始化

DS1302初始化

中断服务程序

按键扫描

判断是否有键按下,并重新读取时间

判断是否整点

整点报时

结 束

2、中断服务程序流程图

五、仿真结果

总体仿真图:

XT AL2

18

XT AL1

19

ALE 30EA

31

PSEN 29RST

9

P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78

P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1

AT89C51

D 7

14

D 613D 512D 411D 310D 29D 18D 07

E 6

R W 5R S 4V S S 1V D D 2V E E

3

LCD1

LM016L

RST 9SCLK 14I/O 12

X13

X2

5

VCC116VCC2

1

U2

DS1302

X1

CRYST AL

设置R1

100

D2

LED-BIRY

Y1

12MHz

C4

30p

C5

30p

R2

1KΩ

C2

10000000pF

增大减小

RS R W E RST SCLK

IO

RST SCLK

IO

R S R W E

整点报时:

中断服务程序

设置键被按下

闪烁 正常走时

XT AL2

18

XT AL1

19

ALE 30EA

31

PSEN 29RST

9

P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78

P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1

AT89C51

D 7

14

D 613D 512D 411D 310D 29D 18D 07

E 6

R W 5R S 4V S S 1V D D 2V E E

3

LCD1

LM016L

RST 9SCLK 14I/O 12

X13

X2

5

VCC116VCC2

1

U2

DS1302

X1

CRYST AL

设置R1

100

D2

LED-BIRY

Y1

12MHz

C4

30p

C5

30p

R2

1KΩ

C2

10000000pF

增大减小

RS R W E RST SCLK

IO

RST SCLK

IO

R S R W E

仿真结果如图所示,运行后,液晶显示器显示年月日、星期和时分秒,所有显示时间均可通过按键修改,并具有整点报时功能。

六、小结

课程设计是培养学生综合运用所学知识,发现实际问题、提出实际问题、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际学习能力、动手能力的具体训练和考察过程。

在此次数字钟设计过程中, 在学习新知识的同时,把在课程中学到的理论知识运用到实际作品设计、操作中,更进一步地熟悉了单片机芯片的结构及掌握了其工作原理和具体的使用方法与相关元器件的使用方法,了解了电路的开发和制作及课程设计报告的编写。加深了对相关理论知识及专业知识的掌握度,增强自身的动手能力,锻炼及提高了理解问题、分析问题、解决问题的能力,更深刻的体会到了理论联系实际的重要性。

通过此次单片机课程设计不仅仅将我们一学期在单片机课程上的所学很好的应用到了实际设计中,更是将理论知识应用到了实践中,这才是真正的学习,不仅仅是读万卷书,更要行万里路,讲知识与实践有机的结合。也十分感谢老师为我们提供了这次单片机课程设计的机会,我们也通过此次课程设计,更清晰更实际的接触到了单片机。

参考文献

[1] 李广弟等编, 单片机基础,北京航空航天大学出版社 [2] 吴金戌等编, 8051 单片机实践与应用,清华大学出版社

[3] 王洪庆编,微型计算机控制技术,机械工业出版社

[4] 付家才编,单片机控制工程实践技术,化学工业出版社

[5] 鲍宏亚编,MCS51系列单片机应用系统设计及实用技术,中国宇航出版社

[6] 杨文龙,单片机原理及应用[M],西安电子科技大学出版社

[7] 赵文博,刘文涛.单片机语言C51程序设计[M],人民邮电出版社

源程序:

(1)主程序:

#include

#include"LCD1602.H"

#include"DS1302.h"

#include"intrins.h"

#include"keyscan.h"

sbit beep=P3^7;

uchar shan=0; //设置时间时闪烁,用于计时

uchar shan_time=15;//闪烁时间

uchar shan_max=35; //闪烁周期,亮-灭

void delay(uint z) //延时函数

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void di(uint x) //蜂鸣器发声函数

{

beep=0;

delay(x);

beep=1;

delay(x);

}

/**********************显示处理程序**************************************/

void shanshuo(uchar addr,uchar count_1,uchar time_num) //闪烁显示子程序

{

w_com(0x80+addr); //闪烁显示,格式:写入1602地址,设置的位号,显示的位号

if(count==count_1&(shan

{

w_data(' ');

w_data(' ');

}

else //显示时钟

w_time(time[time_num]/10);

w_time(time[time_num]%10);

}

}

void deal() //对时间进行显示处理

{

uchar addr=0x44;

shanshuo(addr,3,2); //时

addr+=3;

shanshuo(addr,2,1); //分

addr+=3;

shanshuo(addr,1,0); //秒

addr=0x02;

shanshuo(addr,7,6); //年

addr+=3;

shanshuo(addr,6,4); //月

addr+=3;

shanshuo(addr,5,3); //日

addr+=3;

if(count==4&(shan

{

w_com(0x80+addr);

w_string(0xff," ");

}

else w_string(11,week[time[5]]);

}

/*********************初始化程序***************************************/ void init_lcd() //1602初始化

{

w_com(0x38);

w_com(0x0c);

w_string(0x00,"20 - - "); //年月日格式

w_string(0x44,"--:--:--"); //时间格式

}

void init1302() //1302初始化

{

if(read1302(0x81)&0x80) settime(0x80,0);

}

void init_timer0() //最大定时时间65.536ms

{

TH0=0;

TL0=0;

TR0=1;

ET0=1;

EA=1;

}

/*********************主程序***************************************/

void main()

{

uchar i=0,addr=0x82;

init_lcd(); //LCD1602初始化

init1302(); //DS1302初始化

init_timer0();

while(1)

{

keyscan();

if(num1>num2) //num1>num2,说明设置时间完成,将新时间写入DS1302

{

t[0]=set_time[0]; //读取新时间,将其转换为DS1302 内部时间序列

t[1]=set_time[1];

t[2]=set_time[2];

t[5]=set_time[3];

t[3]=set_time[4];

t[4]=set_time[5];

t[6]=set_time[6];

addr=0x82; //DS1302 分地址,其他时间依次加2

for(i=1;i<7;i++) //写入时间

{

settime(addr,t[i]);

addr+=2;

}

num2++; //确保不在设置情况下不执行此写时间程序

if(num1>=100) num1=num2=0; //防止溢出

sure=1; //时间设置完成,sure置位,从DS1302读取时间}

// if(time[1]==0)

if((time[1]==0)&&(time[0]<=5)) //整点报时

{

di(1); //调用蜂鸣器发声函数

}

}

}

/***********************中断服务程序*************************************/ void timer0() interrupt 1 //定时器0处理程序

{

TH0=0;

TL0=0;

shan++;

if(shan>=shan_max) shan=0;

if(sure) //sure置位时,set复位,正常走时

{

gettime();

}

deal(); //如果设置键按下,执行闪烁程序

}

(2)LCD1602.h:

sbit RS=P1^0;

sbit RW=P1^1;

sbit E=P1^2;

#define uint unsigned int

#define uchar unsigned char

/*******************LCD1602********************************/

void delay_xus(uint x) //读写延时,12+(x-1)*5 us

{

while(x--) ;

}

void w_com(uchar com) //写命令,RS=0

{

RW=0;

RS=0;

E=1;

P2=com;

E=0;

RW=1;

delay_xus(2); //12+1*5=17us

}

void w_data(uchar dat) //写数据,RS=1

{

RW=0;

RS=1;

E=1;

P2=dat;

E=0;

RW=1;

delay_xus(2);

}

void w_onebyte(uchar addr,uchar dat) //向某一地址写数据

{

w_com(0x80+addr);

w_data(dat);

}

void w_time(uchar dat) //写1302的时间,将时间转换为十六进制

{

w_data(dat+'0');

}

void w_string(uchar addr,uchar code *p) //向某一地址写字符串

{

uchar i=0;

if(addr<=0x67) w_com(0x80+addr); //若addr>0x67则超出1602地址范围,则不进行写地址

while(*(p+i)!='\0')

{

w_data(*(p+i));

i++;

}

}

(3)DS1302.h:

sbit RST=P1^3;

sbit SCLK=P1^4;

sbit IO=P1^5;

uchar time[7]=0; //从1302获取的时间暂存单元,格式:sec,min,h,day,month,week,year uchar code *week[9]={"***","SUN","MON","TUE","WEN","THU","FRI","SAT"}; //周日-周六void w_byte(uchar dat) //向DS1302写一字节

{

uchar i=8;

while(i--)

//for(i=0;i<8;i++)

{

IO=dat&0x01;

SCLK=1;

SCLK=0;

dat>>=1;

}

}

uchar r_byte() //读一字节

{

uchar i=8,dat=0;

while(i--)

//for(i=0;i<8;i++)

{

dat>>=1;

if(IO) dat|=0x80; //There was a mistake!

SCLK=1;

SCLK=0;

}

return dat;

}

void write1302(uchar addr,uchar dat) //向某一地址写数据

{

RST=0;

SCLK=0;

RST=1;

w_byte(addr);

w_byte(dat);

SCLK=1;

RST=0;

}

uchar read1302(uchar addr) //从某一地址读数据

{

uchar dat;

RST=0;

SCLK=0;

RST=1;

w_byte(addr|0x01);

dat=r_byte();

SCLK=1;

RST=0;

dat=dat/16*10+(dat&0X0F);

return dat;

}

void settime(uchar addr,uchar dat) //设置时间,注意格式转换

{

write1302(0x8e,0x00); //禁止写保护(即允许向1302写数据),WP=0

write1302(addr,((dat/10)*16)|(dat%10)); //格式转换

}

void gettime() //从1302获取时间

{

uchar i=0;

uchar addr=0x81; //秒的读取地址,其他地址依次加2

for(i=0;i<7;i++)

{

time[i]=read1302(addr);

addr+=2;

}

}

(4)keyscan.h:

/***********************按键扫描程序*************************************/ bit set=0,add=0,sub=0,sure=1; //标志位:设置,加,减及确定

uchar num1=0,num2=0;

char set_time[7]; //sec,min,h,week,day,month,year

uchar code *t[7]; //用于将设置的时间转化为按DS1302时间顺序排列

sbit set_key=P3^0; //设置键

sbit add_key=P3^1; //加一键

sbit sub_key=P3^2; //减一键

uchar idata count=0;//count从1到7为设置时钟位(s,min,h……六位)

void delay_ms(uint x) //消抖延时

{

uint y=110;

for(;x>0;x--)

for(y=110;y>0;y--) ;

}

void keyscan()

{

if((P3&0x07)!=0x07)

{

delay_ms(90); //这里为了set键考虑,设置小点

if((P3&0x07)!=0x07) //确认有键按下

{

if(set_key==0) //设置键被按下

{

count++; //count从1到7为设置时钟位(s,min,h……六位)

set=1; //set为设置标志位,sure为确定标志位

sure=0; //set置位时不读取DS1302内部时间,sure置位时开始读取DS1302内部时间

if(count>=8)

{

count=0;

set=0;

num1++;

}

}

if(set&(count==1)) //在进入设置时间时,读取当前时间,在此时间基础上进行修改

{

set_time[0]=time[0];

set_time[1]=time[1];

set_time[2]=time[2];

set_time[3]=time[5];

set_time[4]=time[3];

set_time[5]=time[4];

set_time[6]=time[6];

}

if((!add_key)&(!sure)&sub_key) //'+'键,时间加1

{

add=1;

delay_ms(10); //补偿消抖时间,否则按一下会增加很多switch(count)

{

case 1:set_time[0]++;

if(set_time[0]>=60) set_time[0]=0;break;//sec case 2:set_time[1]++;

if(set_time[1]>=60) set_time[1]=0;break;//min case 3:set_time[2]++;

if(set_time[2]>=24) set_time[2]=0;break;//h case 4:set_time[3]++;

if(set_time[3]>=8) set_time[3]=1;break;//week case 5:set_time[4]++;

if(set_time[4]>=32) set_time[4]=1;break;//day case 6:set_time[5]++;

if(set_time[5]>=13) set_time[5]=1;break;//month case 7:set_time[6]++;

if(set_time[6]>=99) set_time[6]=0;break;//year;

}

}

if((!sub_key)&(!sure)&add_key) //'-'键,时间减1

{

sub=1;

delay_ms(10); //补偿消抖时间,否则按一下会减少很多switch(count)

{

case 1:set_time[0]--;

if(set_time[0]<60) set_time[0]=59;break;//sec case 2:set_time[1]--;

if(set_time[1]<0) set_time[1]=59;break;//min case 3:set_time[2]--;

if(set_time[2]<0) set_time[2]=23;break;//h

case 4:set_time[3]--;

if(set_time[3]<1) set_time[3]=7;break;//week case 5:set_time[4]--;

if(set_time[4]<0) set_time[4]=31;break;//day case 6:set_time[5]--;

利用CPLD设计可调时数字钟

利用C P L D设计可调时 数字钟 The Standardization Office was revised on the afternoon of December 13, 2020

数字电路课程设计 题目:利用CPLD 设计可调时数字钟 学院电子信息工程学院 专业 学号 姓名 教师 装 订 线

基于CPLD数字时钟设计 摘要 本次课程设计是用数字电路知识以及MaxplusⅡ软件进行的制作,首先理解电路原理图,然后进行了焊接,本次焊接增加自己的动手能力。然后对数字电路书又进行了复习,最后应用MaxplusⅡ软件进行了编程。 电路通过使用数字元件,来构成完成二十四小时的数字钟设计,并且将译码器和数据选择器配合使用来完成动态的显示输出。此外,外部控制开关用来控制电路,使得该电路可以完成保持、清零、快速校对时间等一系列的功能。本系统的难点在于EDA系统作图及最后系统优化的应用。尤其是小数点的显示控制,用一个或门,通过1Hz来控制第三个数码管的点显示,再通过一个与非门来控制第五个数码管的点显示,第五个数码管的点在整个脉冲阶段显示,而第三个数码管的点只有在低电平时显示,以达到结果是第五个数码显示管的点常亮,而第三个数码管的点以1Hz的频率闪烁。 制作中经常遇到各种问题,如第一次用的七段译码器显示六和九时,显示的不是很好,就重新自己做的译码器,让其显示的比较完美,而且也出现了制作的程序太大问题,最后不断的修改终于成功了。 关键词:数字电路MaxplusⅡ七段译码器

目录 设计要求.............................................. 设计原理.............................................. 电源电路........................................... 显示电路........................................... 二各模块说明........................................ 设计思路及步骤........................................ 总体框图.............................................. 各模块说明............................................ 段译码显示电路..................................... 时间计数器电路..................................... 数据选择器电路..................................... 译码器电路......................................... 比较器电路......................................... 按键消抖电路....................................... 数字钟电路总图........................................ 三课程总结............................................ 遇到的问题及其解决办法................................ 收获与体会............................................

简易电子时钟的设计

单片机课程设计报告设计题目:简易电子时钟的设计 院别: 专业班级: 学号:

姓名: 指导教师: 摘要 通过一学期单片机的学习,对其已经有了初步的了解,但是随着社会的不断发展,单片机的应用正在不断地走向深入,它特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。我们也借此课程设计的机会,对单片机有更深一步的了解与学习。 本次课程课程设计的目的是设计一个简易的电子时钟,通过一个8位共阴极数码管进行时、分、秒的显示,另外设置7个按键,一个用来调整小时,一个用来调整分钟,一个开关控制是否调整时间。 关键词:AT89C51,数码管,按键,DS1303时钟芯片

1.概述 本设计是锻炼我们的自学能力合作能力,依靠团队的力量去完成一项具体的任务系统的训练了所学知识,设计的过程必将是难忘的,这也将是大学向社会工作过度的一个重要阶段。 本阶段过后要去能够熟练的运用单片机中的计数器、定时器、中断、数码管显示等参考教材或者相关资料,采用C语言实现数字时钟功能,在数码管上实时显示,并运用Protues软件绘制电路原理图,并进行仿真验证和误差分析。 2.系统总体方案设计 2.1系统方案的确定 用6位数码管,可以显示出时、分、秒;用P2端口控制位选,由定时器进行时间的控制(秒);当总按键按下时可以进行时间调整; 2.2方案分析 2.3系统总框图 图2.1

3.系统硬件系统设计 3.1复位电路 单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程跑飞的时候,按下复位按钮内部的程序自动从头开始执行。 复位电路的工作原理: 在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。单片机复位电路如下图 图3.1 3.2时钟电路 单片机运行需要时钟支持——就像计算机的CPU一样,如果没有时钟电路来产生时钟驱动单片机,那单片机就不能执行程序。 单片机可以看成是在时钟驱动下的时序逻辑电路。 以5l单片机为例随明:51单片机为l2个时钟周期执行一条指令。也就是说单片机运行一条指令,必须要用r2个时钟周期。没有这个时钟,单片机就跑不起来了,也没有办法定时和进行和时间有关的操作。 时钟电路是微型计算机的心脏,它控制着计算机的二个节奏。CPU就是通过复杂的时序电路完成不同的指令功能的。51的时钟信号可以由两种方式产生:一种是内部方式,利用芯片内部的振荡电路,产生时钟信号:另一种为外部方式,时钟信号由外部引入。

电子钟课程设计

数字电子技术课程设计报告 设计题目:数字电子钟的设计 课程设计时间2011..24~2011..30 院系:XX纺织大学电子信息工程学院 班级:电气094 设计学生:杨海X爱祥 一、数电课程设计的目的: 数字电子技术课程设计是在学习完数字电子电路课程之后,按照课程教学的要求,对学生进行综合性训练的一个实践性教学环节。主要目的是培养学生综合运用理论知识能力,分析问题和解决问题的能力,以及根据实际要求进行独立设计的能力;了解数字电子电路的一般设计方法,初步掌握数字电子线路安装、布线、焊接、调试等基本技能;熟练掌握电子电路基本元器件的使用方法,训练、提高读图能力;掌握组装、调试方法。 二、设计题目及内容 、设计题目:数字电子时钟 2、内容和要求: ()时间以24 小时为一个周期; (2)显示时、分、秒;

(3)有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间; (4)根据要求阅读数字时钟电路原理图,阅读教材及查找相关资料,叙述工作原理; (5)画出包含+5 伏的稳压电源在内的原理电路图,根据原理图画出对应的印刷电路图,并在图中标出元器件的符号及代码; (6)安装、焊接、连线、调试电路; (7)最后提交调试好的设计作品,撰写并提交实验、调试报告,解答思考题。 三、功能及简单工作原理数字电子钟的原理方框图 如下图()所示。干电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。将标准秒信号送入“秒计数器”,“秒计数器”采用60 进制计数器,每累计60 秒发现一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60 进制计数器,每累计60 分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”“时计数器”采用24 进制计时器,可实现对一天24 小时的累计。。译码显示电路将“时”“分”“秒”计数器的输出状态由七段显示译码器译码,通过六位LED 七段显示器显示出来。校时电路是用来对“时”“分”“秒”显示数字进行校对调整的。

基于单片机的电子时钟课程设计报告

目录 一、引言········ 二、设计课题········· 三、系统总体方案········· 四、系统硬件设计······ 1.硬件电路原理图 2.元件清单 五、系统软件设计········· 1.软件流程图 2.程序清单 六、系统实物图········ 七、课程设计体会········ 八、参考文献及网站········· 九、附录·········

一.引言 单片机因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部件集成在一个芯片上。 基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。 数字钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。 本设计使用12MHZ晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用HD74LS373驱动电路,实现在8个LED数码管上显示时间,通过4个按键进行调时、复位等功能,在实现各功能时数码管进行相应显示。软件部分用C语言实现,分为显示、延迟、调时、复位等部分。通过软硬件结合达到最终目的。

单片机简易时钟课程设计

目录 1.概论 (1) 2.整体设计思路 (2) 2.1硬件各部分所能完成的功能 (3) 2.2系统工作原理 (4) 2.3时钟各功能分析及图解 (4) 2.4.1电路各功能图解分析 (4) 2.4.2电路功能使用说明 (7) 3. 软件设计思路 (8) 3.1 主程序模块 (8) 3.2 数码管动态扫描模块 (9) 3.3 当前时间计时模块 (9) 3.4 闹钟输入输出模块 (10) 3.5 当前时间调整模块 (12) 3.6复位模块 (13) 4.系统的调试和性能分析 (14) 4.1系统的调试方法 (14) 4.1.1输入按键的调试 (14) 4.1.2复位电路的调试 (14) 4.1.3显示电路的调试 (14) 4.1.4整个系统的联调 (14) 4.2心得体会 (15) 参考文献 (15) 附录 (16) 附录A 系统原理图 (16) 附录B 程序源代码 (17) 电气信息学院课程设计评分表 (28)

1.概论 单片机系统作为一种典型的嵌入式系统,其系统设计包括硬件电路设计和软件编程设计两个方面,其调试过程一般分为软件调试、硬件测试、系统调试3个过程。如果采用单片机系统的虚拟仿真软件——Proteus,则不用制作具体的电路板也能够完成以上工作。数字钟是采用数字电路实现对时,分,秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便[4]。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。 电子钟在工业控制和日常生活中是很重要的,它不仅可以用于计时、提醒又可用于对机器的控制,在自动化的过程中必然有电子钟的参与,因此电子钟的应用会越来越广泛。而且向着精确、低功耗、多功能发展。基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。从而,使数字钟的精度仅仅取决于单片机的产生机器周期电路和定时器硬件电路的精确度。另外,程序较为简洁,具有可靠性和较好的可读性。如果我们想将它应用于实时控制之中,只要对上述程序和硬件电路稍加修改,便可以得到实时控制的实用系统,从而应用到实际工作与生产中去。 数字电子钟的设计方法有多种,例如,可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟还可以利用单片机来实现电子钟等等。这些方法都各有特点,其中,利用单片机实现的电子钟具有编程灵活,便于功能扩充,精确度高等特点。

整点报时可调式数字电子时钟的设计

用EDA软件实现整点报时数字式可调电子时钟的设计 一、设计目的 了解常见中规模数字集成电路的使用方法,包括计数器、显示译码器、多谐振荡器的工作原理及使用方法。通过组装具有整点报时数字可调电子时钟,了解这类电路的使用技巧及调整方法。通过对电路板的实际布线焊接检测调试,提高电子技术硬件的基本能力。 二、系统组成 1、先用Multisim实现如下系统: 本组合电路包括时基多谐振荡器、计数器、十进制译码显示器、发光数码管等部分组成。各部分组成框图如下: 系统组成图 2、仿真通过 三、单元电路组成原理与参数选择 1、多谐振荡器:这里采用最常见的时基电路555组成的周期为1秒的振荡器。555集成电路的原理及应用可以参见教材,此不重复。通常选择适当的定时电阻和电容元件使振荡刚好为1秒钟。多谐振荡器的电路图和NE555的芯片引脚图如下:

2、十进制计数器: 本系统采用的是十进制计数器7490。本系统秒钟是用两个7490构成60进制组成。分钟也是用两个7490构成60进制组成时钟采用两个7490构成24进制计数器组成。将三个计数器级连起来就构成了电子时钟。7490的芯片图和真值表如下:(5脚接电源VCC,10脚接地其中1脚和12脚相连)。 X 0 0 X COUNT 下面介绍秒钟和分钟连接方法如下图(如果是秒钟14脚则接多谐振荡器555电路的第3脚,如果是分钟14脚则接秒钟的7408(与门)芯片的第3脚。

下面介绍时钟的接法(14脚接分钟的7408的第3脚): 3、7448实现多位数字码显示译(如果是选用共阳极七段数码管则选择7447) 7448为七段译码显示器,其功能可详细参见数字电路书。它实现的功能是把7490输出 的(QA、QB、QC、QD)实现译码驱动七段共阴极数码显示它的接法如下:

数字电子时钟设计

电子技术课程设计 数字电子时钟的设计 摘要: 设计一个周期为24小时,显示满刻度为23时59分59秒,具有校时功能和报时功能的电子钟。本系统的设计电路由时钟译码显示电路模块、脉冲逻辑电路模块、时钟脉冲模块、整电报时模块、校时模

块等部分组成。计数器采用异步双十进制计数器74LS90,发生器使用石英振荡器,分频器4060CD及双D触发器74LS74D,整电报时电路用门电路及扬声器构成。 一、设计的任务与要求 电子技术课程设计的主要任务是通过解决一,两个实际问题,巩固和加深在“模拟电子技术基础”和“数字电子技术基础”课程中所学的理论知识和实验技能,基本掌握常用电子电路的一般设计方法,提高电子电路的设计和实验能力,为以后从事生产和科研工作打下一定的基础。电子技术课程设计的主要内容包括理论设计、仿真实验、安装与调试及写出设计总结报告。衡量课程设计完成好坏的标准是:理论设计正确无误;产品工作稳定可靠,能达到所需要的性能指标。 本次课程设计的题目是“多功能数字电子钟电路设计”。要求学生运用数字电路,模拟电路等课程所学知识完成一个实际电子器件设计。 二、设计目的 1、让学生掌握组合逻辑电路、时序逻辑电路及数字逻辑电路系统 的设计、安装、测试方法; 2、进一步巩固所学的理论知识,提高运用所学知识分析和解决实 际问题的能力; 3、提高电路布局﹑布线及检查和排除故障的能力; 4、培养书写综合实验报告的能力。

三、原理方框图如下 1、图中晶体振荡电路由石英32.768KHZ及集成芯。 2、图中分频器4060BD芯片及D触发器构成分频器。 3、计数器由二——五——十73LS90芯片构成。 4、图中DCD_HEX显示器用七段数码显示器且本身带有译码器。 5、图中校时电路和报时电路用门电路构成。 四、单元电路的设计和元器件的选择 1、十进制计数电路的设计 74LS90集成芯片是二—五—十进制计数器,所以将INB与QA 相连;R0(1)、R0(2)、R9(1)、R9(2)接地(低电平);INA

电子时钟课程设计.

单片机实训课题电子时钟 班级11电气本1班学号4110211140 姓名陈后亥 指导教师叶文通 日期2013.12.30~2014.1.3

摘要 随着时代的进步,越来越多的电子厂品趋向于低成本,高性能,耐用性好的方向发展。特别是趋向于自动化控制的方向走。89c51作为控制芯片是最好不过的选择啦。它具有强大的功能,并且简单易于操作,安全性与稳定性较高,价格便宜,适合中小型电子厂品开发中的控制器。就像我们的课程设计,基于89c51单片机的电子时钟的课程设计。 这款课程设计用到的主要材料有89c51单片机,1602液晶显示屏,矩阵键盘,以及一些电容电阻元件等等。 使用89c51作为电子时钟的控制器很简单,就是由于其经济型与稳定性和易操作性。显示电路上,选择使用1602液晶显示屏上。1602不仅操作上臂数码管简单许多,而且使用1602能在很大程度上是电路图尽量简化,便于操作与错误的检修。并且1602价格也比较便宜。 基于89c51电子时钟的设计,利用了单片机内部的一个自带定时/计数器来实现定时功能,并通过内部程序,实现对时分秒,年月日这几个输出数值的自增,并且通过编写程序,实现通过键盘控制时分秒,年月日大小的调整,这是必要的功能。最后通过1602液晶显示电路将时间显示在其上。 这样的电子时钟比较精准,其主要误差来源与晶振的误差,即使是这样,他的误差也只是微妙级别,对于日常生活中的时间计数是足够的。 关键词:89c51单片机;1602液晶显示屏;矩阵键盘;keil软件

目录摘要 1单片机简介 1.1 单片机概述 1.2 单片机基本结构 21602液晶显示屏简介 1.11602显示原理 1.21602指令集合 3 电子时钟硬件设计 3.1 功能框图 3.2 单片机复位与晶振电路 3.3 1602显示电路 3.4 总体电路设计 4 电子时钟软件设计 4.1 程序流程框图 4.2 程序源代码 参考文献 致谢

单片机电子时钟的设计报告

目录 1 引言 (1) 2 设计任务与要求 (2) 2.1. 设计题目 (2) 2.2. 设计要求 (2) 3 系统的功能分析与设计方案 (3) 3.1. 系统的主要功能 (3) 3.2. 系统的设计方案 (3) 3.3. 数码管显示工作原理 (4) 3.4. 电路硬件设计 (5) 3.4.1. 设计原理框图 (5) 3.4.2. 电源部分 (5) 3.4.3. 复位电路 (6) 3.4.4. 指示灯电路 (6) 3.4.5. 按键电路 (7) 3.4.6. 时钟电路 (7) 3.4.7. 驱动电路 (8) 3.4.8. 数码管连接电路 (8) 3.4.9. 主控模块AT89S52 (9) 3.4.10. 材料清单 (10) 3.4.11. 电路原理图、PCB图及实物图 (11) 3.5. 软件设计 (13) 3.5.1. 软件设计流程 (13) 3.5.2. 完整源程序 (15) 4 系统安装与调试 (21) 4.1. 硬件电路的安装 (21) 4.2. 软件调试 (21) 5 课程设计总结 (22) 参考文献 (23) 致谢 (24)

摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面。这次课程设计通过对它的学习、应用,以AT89S52芯片为核心,辅以必要的电路,设计了一个简易的单片机电子时钟,包括硬件电路原理的实现方案设计、软件程序编辑的实现、电子时钟正常工作的流程、硬件的制作与软件的调试过程。电子时钟由5.0V直流电源供电,数码管能够比较准确显示时间,通过按键能够调整时间,从而到达学习、设计、开发软、硬件的能力。 关键词:单片机;AT89S52;电子时钟;数码管;按键

简单电子时钟设计单片机

基于单片机的简易电子时钟设计 一功能分析 1).时制式为24小时制。 2).采用LED数码管显示时、分,秒采用数字显示。 3).具有方便的时间调校功能。 4).计时稳定度高,可精确校正计时精度。 二总体方案设计论证比较 2.1 实现时钟计时的基本方法 利用MCS-51系列单片机的可编程定时/计数器、中断系统来实现时钟计数。 (1) 计数初值计算: 把定时器设为工作方式1,定时时间为50ms,则计数溢出20次即得时钟计时最小单位秒,而100次计数可用软件方法实现。 假设使用T/C0,方式1,50ms定时,fosc=12MHz。 则初值X满足(216-X)×1/12MHz×12μs =50000μs X=15536→0011110010110000→3CB0H (2) 采用中断方式进行溢出次数累计,计满20次为秒计时(1秒); (3) 从秒到分和从分到时的计时是通过累加和数值比较实现。 2.2 电子钟的时间显示 电子钟的时钟时间在六位数码管上进行显示,因此,在内部RAM中设置显示缓冲区共8个单元。 LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED1 37H 36H 35H 34H 33H 32H 31H 30H 时十位时个位分隔分十位分个位分隔秒十位秒个位

2.3 电子钟的时间调整 电子钟设置3个按键通过程序控制来完成电子钟的时间调整。 A键调整时; B键调整分; C键复位 2.4 总体方案介绍 2.4.1 计时方案 利用AT89S51单片机内部的定时/计数器进行中断时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,且能使读者在定时/计数器的使用、中断及程序设计方面得到锻炼与提高,对单片机的指令系统能有更深入的了解,从而对学好单片机技术这门课程起到一定的作用。 2.4.2 控制方案 AT89S51的P0口和P2口外接由八个LED数码管(LED8~LED1)构成的显示器,用P0口作LED的段码输出口,P2口作八个LED数码管的位控输出线,P1口外接四个按键A、B、C构成键盘电路。 AT89S51 是一种低功耗,高性能的CMOS 8位微型计算机。它带有8K Flash 可编程和擦除的只读存储器(EPROM),该器件采用ATMEL的高密度非易失性存储器技术制造,与工业上标准的80C51和80C52的指令系统及引脚兼容,片内Flash 集成在一个芯片上,可用与解决复杂的问题,且成本较低。简易电子钟的功能不复杂,采用其现有的I/O便可完成,所以本设计中采用此的设计方案。 三硬件电路设计 根据以上的电子时钟的设计要求可以分为以下的几个硬件电路模块:单片机模块、数码显示模块与按键模块,模块之间的关系图如下面得方框电路图1所示。

基于单片机的可调电子钟的设计说明

编号: 基础工程设计 题目:基于单片机设计的可调电子时钟院(系):信息与通信学院 专业:微电子科学与工程 学生姓名:卢镜 学号:1300240119 指导教师:宋保林

2016 年 1 月 6 日 摘要 本人设计的是一个以单片机STC89C52为核心部件的电子钟,结合LCD液晶显示屏。可以在液晶屏上显示时间和字符,并可任意调整时间。本来想用数码管来显示,但是想到数码管仅能显示数字,所以采用了液晶显示屏。它不仅能显示数字,还能显示字符。它的计时周期为24小时,显满刻度为“23时59分59秒”。 文中详细论述了可调电子钟设计原理、使用的各芯片的介绍,阐明了本实例所使用的设计方案、详细的电路图以及程序。本文编写的主导思想是软硬件相结合,以硬件为基础,来进行各功能模块的编写。本系统以单片机的C语言进行软件设计,并着重介绍了所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程,并且还进行了软件仿真调试和硬件调试。 关键词:单片机STC89C52 ;可调电子钟;液晶显示;仿真

目录 摘要 (1) 前言 (3) 第一章设计说明 (5) 1.1 设计目的和内容 (5) 1.2 设计方案选择 (5) 1.3 设计总体框图 (7) 第二章系统主要硬件设计 (5) 2.1 单片机主控模块 (7)

2.1.1 STC89C52芯片简介 (7) 2.1.2 封装和引脚说明 (8) 2.2 液晶显示模块 (7) 2.2.1 LCD1602模块简介 (11) 2.2.2 LCD1602的控制指令及操作流程 (12) 2.3时钟电路及按键电路 (9) 2.3.1时钟电路 (9) 2.3.2按键电路 (10) 第三章系统软件设计 (10) 3.1 系统程序流程图 (10) 3.2系统程序设计电子时钟清单 (11) 第四章系统调试 (12) 4.1软件调试 (12) 4.2源代码 (14) 4.3硬件调试 (20) 4.3.1原理图 (20) 4.3.2 PCB图 (20) 4.3.3用跳线修改电路 (21) 结语 (21) 谢辞 (22) 参考文献 (23) 附录Ⅰ (24)

电子时钟的设计

专业综合设计报告项目名称:电子钟的设计 学生姓名:xx 专业名称:测控技术与仪器 班级:xx 指导教师:xx 项目起止日期:2012年10月25日至2012年10月31日

项目1:电子钟的设计 一、任务要求 设计一个电子钟,要求如下: (1) 利用单片机最小系统设计一个电子钟(不能采用单片机开发系 统) (2) 使用按键修改时间 (3) 显示方式:** 时** 分** 秒 (4) 时间可以任意修改 二、总体设计方案 设计一个电子产品,首先了解它能实现的功能,时钟系统最基本的功能就是实现计时,在这里设计的数字电子时钟,它能实现计时和校时的功能,给电子钟加上电自动计时,设计三个按键对时间进行调整。 硬件设计很简单,主要包括:单片机、按键电路、驱动显示电路,以及LED 显示器四个部分。单片机选用AT89C51芯片,它无须外扩程序存储器,设计电路很简单。由于只用了三个按键,所以采用独立式按键使设计更简单。显示时、分、秒加两个分隔符,采用两个共阴极数码管及键盘达到时间显示和修改的功能。 简易数字时钟可实现校时和整点报时功能,该软件采用C 语言来实现,主要包括主程序、键输入程序、显示程序、定时程序和中断程序等软件模块。把原程序加入原理图,做出电子钟的仿真,以秒计数并显示时、分、秒。其中秒和分为60进制,小时为24进制计数。 四、系统组成 电子钟的电路图主要由单片机(AT89C51)、键盘电路、驱动显示电路和LED 显示器四部分组成,它主要实现时钟的显示,以及对时、分、秒进行调整,即实现调时的功能。其数字钟系统整体结构如图2-1所示。 单 片 机 显示器 键盘

图2-1 电子钟系统整体结 Isis 仿真图设计如下 : 编程如下: #include #define uint unsigned int #define uchar unsigned char uchar led[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0X40}; uchar we[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; uint a=0,miao=1,fen=1,shi=1,flag=0,s=0,sum=0; bit flag1=1,flag2=1,flag3=1; sbit k1=P1^0; sbit k2=P1^1; AT89C51 驱动 LED 显示器 位选 按 键

8-电子时钟的设计与实现

课程设计 题目电子时钟的设计与实现学院自动化学院 专业电气工程及其自动化班级 姓名 指导教师 2014 年 1 月9 日

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:自动化学院 题目:电子时钟的设计与实现 初始条件: 掌握8086汇编语言程序设计方法,设计一个电子时钟,实现分、秒、时的显示与刷新功能。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1. 定义显示界面。 2. 调用系统时间,并将调用的用二进制表示的时间数转换成ASCII码,并将时间数存入内存区。 3. 将存在系统内存区的时间数用数字式或指针式钟表的形式显示出来。 4. 获取键盘的按键值,判断键值并退出系统。 5. 撰写课程设计说明书。内容包括:摘要、目录、正文、参考文献、附录(程序清单)。正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。 时间安排: 12月26日----- 12月28日查阅资料及方案设计 12月29日----- 1月2日编程 1月3日----- 1月7日调试程序 1月8日----- 1月9日撰写课程设计报告 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要 (1) 1 设计任务及要求 (2) 1.1 设计题目 (2) 1.2 设计要求 (2) 1.3 设计过程 (2) 1.4 设计目的 (2) 2 设计方案论述 (3) 2.1 设计方案概括 (3) 2.2 设计方案具体说明 (3) 2.2 设计思路介绍 (3) 3 软件设计说明 (5) 3.1. 理论知识介绍 (5) 3.1.1 DOS中断与BIOS中断的功能及调用 (5) 3.1.2 子程序的设计 (7) 3.1.3 中断概述 (7) 3.2 设计流程 (8) 3.2.1 主流程图及说明 (9) 3.2.2.显示系统时间子流程图及说明 (9) 3.3. 程序设计 (10) 3.3.1 清屏程序 (10) 3.3.2. 光标定位程序 (10) 3.3.3 多字符显示程序 (11) 3.3.4 读取键盘状态程序 (12) 3.3.5 读取键盘值程序 (12) 3.3.6 调用系统时间显示程序 (12) 3.3.7 将二进制数转换为ASCII码程序 (13) 3.4 软硬件环境要求 (14) 4 调试结果及分析 (15) 5 收获与体会 (17) 参考文献 (18) 附录:设计源程序 (19) 本科生课程设计成绩评定表 (25)

数字电子钟设计报告

《电子线路课程设计报告》 系别:自动化 专业班级:自动化0803 学生姓名:冯刚 指导教师:朱定华 (课程设计时间:2010年05月31日——2010年06月12日) 华中科技大学武昌分校

目录 1.课程设计目的 (3) 2.课程设计题目描述和要求 (3) 3.课程设计报告内容.....................................................................3-9 3.1实验名称 (3) 3.2实验目的 (3) 3.3实验器材及主要器件 (3) 3.4数字电子钟基本原理 (4) 3.5数字电子钟单元电路设计、参数计算和器件选择..............................4-8 3.6数字电子钟电路图 (8) 3.7数字电子钟的组装与调试............................................................8-9 4.总结 (9) 参考文献 (10)

1.课程设计目的 ※掌握组合逻辑电路、时序逻辑电路及数字逻辑电路系统的设计、安装、测试方法; ※进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力;※提高电路布局﹑布线及检查和排除故障的能力; ※培养书写综合实验报告的能力。 2.课程设计题目描述和要求 (1)设计一个有“时”、“分”、“秒”(12小时59分59秒)显示,且有校时功能的电子钟; (2)用中小规模集成电路组成电子钟,并在实验箱上进行组装、调试; (3)画出框图和逻辑电路图,写出设计、实验总结报告; (4)选做:整点报时。在59分51秒、53秒、55秒、57秒输出500Hz音频信号,在59分59秒时输出1000Hz信号,音频持续1s,在1000Hz荧屏结束时刻为整点。 3.课程设计报告内容 3.1实验名称 数字电子钟 3.2实验目的 ·掌握数字电子钟的设计、组装与调试方法; ·熟悉集成电路的使用方法。 3.3实验器材及主要器件 (1)74LS48(6片)(2)74LS90(5片)(3)74LS191(1片)(4)74LS00(5片)(5)74LS04(3片)(6)74LS74(1片)(7)74LS2O(2片) (8)555集成芯片(1片) (9)共阴七段显示器(6片)(10)电阻、电容、导线等(若干)

电子时钟设计(完美实现最终版)要点

电子时钟设计(完美实现最终版)要点

————————————————————————————————作者:————————————————————————————————日期:

电子时钟实验报告 一,实验目的 1. 学习8051定时器时间计时处理、按键扫描及LED数码管显示的设计方法。 2. 设计任务及要求利用实验平台上4个LED数码管,设计带有闹铃功能的数字时钟 二,实验要求 A.基本要求: 1. 在4位数码管上显示当前时间。显示格式“时时分分” 2. 由LED闪动做秒显示。 3. 利用按键可对时间及闹玲进行设置,并可显示闹玲时间。当闹铃时间到蜂鸣器发出声响, 按停止键使可使闹玲声停止。 4.实现秒表功能(百分之一秒显示) B.扩展部分: 1.日历功能(能对年,月,日,星期进行显示,分辨平年,闰年以及各月天数,并调整) 2.音乐闹铃(铃音可选择,闹铃被停止后,闪烁显示当前时刻8秒后,或按键跳入正常时间显示状态) 3.定时功能(设定一段时间长度,定时到后,闪烁提示) 4.倒计时功能(设定一段时间长度,能实现倒计时显示,时间长减到0时,闪烁提示) 5.闹铃重响功能(闹铃被停止后,以停止时刻开始,一段时间后闹铃重响,且重响时间的间隔可调) 三,实验基本原理 利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初值为100,每中断一次中断计数初值减1,当减到0时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。 为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。

数字电子钟课程设计实验报告

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计任务书2016/2017 学年第一学期 学生姓名:张涛学号: 李子鹏学号: 课程设计题目:数字电子钟的设计 起迄日期:2017年1月4日~2017年7月10日 课程设计地点:科学楼 指导教师:姚爱琴 2017年月日 课程设计任务书

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计开题报告2016/2017 学年第一学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号:

指导教师:姚爱琴 2017 年 1 月 6 日 中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计说明书2016/2017 学年第二学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号: 指导教师:姚爱琴 2017 年月日

目录 1 引言 (6) 2 数字电子钟设计方案 (6) 2.1 数字计时器的设计思想 (6) 2.2数字电路设计及元器件参数选择 (6) 2.2.2 时、分、秒计数器 (7) 2.2.3 计数显示电路 (8) 2.2.5 整点报时电路 (10) 2.2.6 总体电路 (10) 2.3 安装与调试 (11) 2.3.1 数字电子钟PCB图 (11) 3 设计单元原理说明 (11) 3.1 555定时器原理 (12) 3.2 计数器原理 (12) 3.3 译码和数码显示电路原理 (12) 3.4 校时电路原理 (12) 4 心得与体会 (12) 1 引言 数字钟是一种用数字电子技术实现时,分,秒计时的装置,具有较高的准确性和直观性等各方面的优势,而得到广泛的应用。此次设计数字电子钟是为了了解数字钟的原理,在设计数字电子钟的过程中,用数字电子技术的理论和制作实践相结合,进一步加深数字电子技术课程知识的理解和应用,同时学会使用Multisim电子设计软件。 2数字电子钟设计方案 2.1 数字计时器的设计思想 要想构成数字钟,首先应选择一个脉冲源——能自动地产生稳定的标准时间脉冲信号。而脉冲源产生的脉冲信号地频率较高,因此,需要进行分频,使得高频脉冲信号变成适合于计时的低频脉冲信号,即“秒脉冲信号”(频率为1Hz)。经过分频器输出的秒脉冲信号到计数器中进行计数。由于计时的规律是:60秒=1分,60分=1小时,24小时=1天,就需要分别设计60进制,24进制计数器,并发出驱动信号。各计数器输出信号经译码器、驱动器到数字显示器,是“时”、“分”、“秒”得以数字显示出来。 值得注意的是:任何记时装置都有误差,因此应考虑校准时间电路。校时电路一般

基于单片机的电子时钟设计和实现

电子科技职业技术学院Shaanxi electronic science and technology vocational college 课程设计报告 题目基于单片机的电子时钟设计和实现 班级电子信息1507 姓名聪 指导教师聂弘颖 时间2017年10月30日

第一章系统设计要求1.1 基本功能 (1)能够显示时分秒 (2)能够调整时分秒 1.2 扩展功能 (1)能够任意设置定时时间 (2)定时时间到闹铃能够报警 (3)实现了秒表功能

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

图2-1 设计原理框图 经多方论证硬件我个人采用AT89C51单片机和7SED 八位共阳极数码管等来实现单片机电子时钟的功能。 详细元器件列表如表2.1所示: 表2.1 详细元器件列表 2.2各部分功能实现 (1)单片机发送的信号通过程序控制最终在数码管上显示出来。 (2)单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。

(3)为使时钟走时与标准时间一致,校时电路是必不可少的,键盘用来校正数码管上显示的时间。 (4)单片机通过控制闹铃电路来完成定时闹钟的功能。 2.3系统工作原理 设计的电路主要由四模块构成:单片机控制电路,显示电路、闹铃电路以及校正电路。 详细电路功能图如图2-2: 图2-2 详细电路功能图 本设计采用C语言程序设计,使单片机控制数码管显示时、分、秒,当秒计数计满60时就向分进位,分计数器计满60后向时计数器进位,小时计数器按“23翻0”规律计

简易电子闹钟的设计报告

编号:基础工程设计说明书 题目:LED强度可调驱动电路设计 院(系):电子工程与自动化学院 专业:光电信息科学与工程 学生姓名:李朝庭 学号: 指导教师:彭智勇 职称:高级实验师 2017年1 月1日

摘要 目前,LED 灯的亮度可调通过有两种可行方案:第一种是通过占空比电压来输出不同的电压,从而实现亮度可调;第二种通过控制数模转换器来输出不同的电流,然后经过放大器来进行发大,从而实现输出不同的电压,来实现亮度可调。对于第一种方案,优点是设计简单,且使用的电子器件类较少,造价成本低,其集成度低,电路原理不复杂,适于现代社会发展的需求。对于第二种方案,它设计图复杂,其集成度不高,且使用了数模转换器,因此和第一种设计方案相比略高。所以本设计采用了第一种方案。本设计的结果是设计制作一种路LED光强独立可调的 led 调光电路;自动调光时可使等在熄灭、微亮、较量及最亮四种状态中不断循环;实现灯光的循环调节功能(循环时间分别为为 2s、4s、6s、8s、10s、12s);关键词:LED;色温;RGB;驱动;调光 Abstract At the end of twentieth Century, the electronic technology has developed rapidly. In the promotion, the modern electronic products have penetrated almost all areas of the society. It has greatly promoted the development of social productive forces and the improvement of social information. Time is always so valuable to people, the work of the busy and complicated and easy to make people forget the current time. Forget to do, when it is not very important, this not hurt the important essentials. Simple electronic alarm clock is a used to after a certain period of time through the alarm sounds and wakes up the user a simple electronic circuit and is used to prevent nap sleep overdo the instrument from time to time to wake up the user's role. This system mainly consists of 555 timer square wave signal generator and the input control through the key input control of the two bit counter timing circuit can be input to the input of a time of the electronic clock, simulation and time interval can be within 99 seconds of continuous adjustable. Key words: timing circuit; 555 timer; multi harmonic oscillator; time clock 目录

相关文档
最新文档