资讯详情

基于AT89C51单片机的LED数字倒计时器设计.docx

单片机原理及其应用课程设计

课 题: 基于AT89C51单片机的LED设计数字倒计时器

专 业: 电气工程及其自动化

班 级: 2013 级 4班

学 号:

姓 名:

设计日期: 2015年6月6日至2015年6月19日

成 绩:

AT89C51单片机LED数字倒计时器设计报告

一、设计目的

掌握51单片机最小系统的设计;

2.掌握按键电路设计,LED使用数字管;

3、掌握C51编程方法。

4.培养我们的团结合作能力。

5.锻炼我们的实践能力。

二、设计要求

基于AT89C51单片机的LED具体要求如下:

(1)LED数字管显示倒计时间。

(2)倒计时过程中可设置多个闹钟,倒计时值倒计到设定值时可发出2个闹钟s报警声。(K1设置小时,K2设置分钟,K3设置秒钟,K4完成退出)

(3)倒计时可以通过按钮设置。倒计时初始值范围为24:00:00~在00:00:60之间,用户可据需要设置,设置成功后复位初始值为成功设定值。

三、具体实现设计

1、设计原理

(1)LED主要由数字倒计时器组成AT89C51单片机、晶振电路、复位电路、按键电路、数字管电路、蜂鸣电路(如图1所示).1)。

数码管电路

晶振电路

AT89C51

复位电路

蜂鸣电路

按键电路

图1.1 LED数字倒计时器系统设计框图

(2)手绘草图

2、系统设计

(1)晶振电路分析

a.晶振电路原理:

晶体振动是通过电激励产生固定频率的机械振动,振动产生电流反馈给电路,电路接收反馈 放大信号后,再次使用放大的电信号来激发晶体振动的机械振动,晶体振动将振动产生的电流反馈给电路。当电路中的激励电信号与晶振标称频率相同时, 道路可输出信号强、频率稳定的正弦波。整形电路再将正弦波变成方波送到数字电路中供其使用。

b.晶振电路的特点:

晶振是石英振荡器的缩写,英文名称Crystal,晶体振动分为有源晶体振动和无源晶体振动,其作用是在电路中产生振荡电流,发出时钟信号。它是时钟电路中最重要的部件,其作用是方向IC其他部件提供基准频率,就像一个尺子,工作频率不稳定会导致相关设备工作频率不稳定,自然容易出现问题。由于制造工艺的不断改进,晶体振动的频率偏差、温度稳定性、老化率、密封性等重要技术指标都很好,不易出现故障,但在选择时仍可注意晶体振动的质量。

图1.二晶振电路原理图

(2)分析复位电路

a.复位电路原理

复位信号在系统电源稳定后提供复位信号。为了可靠起见,在电源稳定后,需要一定的延迟才能取消复位信号,以防止电源开关或电源插头分合过程中的抖动影响复位。RC复位电路可以实现上述基本功能,但不能解决电源毛刺和电源缓慢下降(电池电压不足)的问题,并进行调整 RC 常数变化延迟会使驱动能力变差。左侧电路为高电平复位,右侧为低电平, 复位按钮为手动复位开关,可避免高频谐波对电路的干扰。

b.复位电路的作用:

复位电路是保证微机系统电路稳定可靠工作的重要组成部分。复位电路的第一个功能是上电复位。一般微机电路正常工作需要供电5V±5%,即4.75~5.25V。由于微机电路是一个时序数字电路,它需要一个稳定的时钟信号,所以只有当电源上电时VCC超过4.75V低于5.25V当晶体振荡器稳定工作时,复位信号被删除,微机电路开始正常工作。

图1.3 复位电路原理图

(3)按键电路分析

a.按键电路原理:

按键B1/B2/B3/B4断开时,P1.0/P1.1/P1.2/P1.3.高电平输入;按键

B1/B2/B3/B4闭合后,P1.0/P1.1/P1.2/P1.输入为低电平。每次按下按钮,都会有低电平,单片机会计数低电平,从而调整定时间。由于按钮是机械触点,当机械触点断开或关闭时,会有抖动,这完全可以感应到计算机,因为计算机处理速度为微秒,机械抖动时间至少为毫秒。你只按了一次按钮,但计算机已经执行了多次中断的过程。如果执行次数只是奇数次,结果正如你所料,如果执行次数是偶数次,那就错了,所以你必须使用延迟程序来消除按钮的抖动。

b.按键电路的作用:

每次复位后,三两位数字管全部显示为0,与P1.0相接的按钮B1.每次按下一次,就会产生低电平,单片机会计数一次,从而调整倒计时的小时,B2.调整分钟,B调整秒,用这三个按钮分别控制数显示倒计时的小时、分钟和秒。与这三个按钮不同,按钮B3的作用是开始倒计时。通过编程控制这些按钮的功能。

图1.按键电路原理图

(4)数字管电路分析

a.数字管电路的组成:

1>六位数码管:分别显示小时、分钟和秒。

2>具有八个电阻带电源的电阻排放:与三个数字显示的数字管并联,电源为数字管提供电压,电阻的作用是保护数字管不被烧坏。

3>将PO八位与数字管和排阻连载的导线将P两口的六位分别与六位数码管的六位选引脚相连。

b.数字管电路原理:

7段数字管一般由8根发光二极管组成,其中7根细长的发光二极管组成,另一根圆形发光二极管显示小数点。当发光二极管导通时,相应的点或笔画发光。通过控制相应的二极管导通,可以显示各种字符。虽然显示的字符形状有些扭曲,可以显示的数字数量有限,但控制简单方便。发光二极管的阳极称为共阳极数码管,阴极称为共阴极数码管。

(5)蜂鸣电路分析

a.蜂鸣电路的组成:

电阻为1000欧姆,电阻为100欧姆,蜂鸣器,三极管,接地,导线。

b.蜂鸣电路原理:

使用蜂鸣电路I/O 定时翻转电平产生驱动波形驱动蜂鸣器。可用于程序TIMER0 来定时,将TIMER0 预分频设置为/1,选择TIMER0 始终是系统时钟(主振荡器时钟/4),按钮可以使用TIMER0 调整载入/计数寄存器中的设置时间TIMER0 倒计时设置为中断设置I/O 口驱动的蜂鸣器鸣叫时,只需进入TIMER0 中断的时候对 I/O 口的电平翻转一次,直到蜂鸣器不需要鸣叫。I/O 口的电平设置为低电平。不鸣叫时将I/O 口的输出电平设置为低电平,以防止漏电。

图1.5蜂鸣电路原理图

3、系统实现

(1)LED数字倒计时器的程序流程图

(2)LEDC语言程序编码数字倒计时器

#includesbit kh=P1^0;

sbit km=P1^1;

sbit ks=P1^2;

sbit st=P1^3;

sbit b=P3^7;

unsigned char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,

0x83,0xc6,0xa1,0x86,0x8e};

unsigned char i=0,hour=0,minute=0,second=0;

void delayms(unsigned int x)

{ unsigned char a=160;

while(x--) { while(a--); a=160; } }

main() { TH0=(65536-50000)/256;

TL0=(65536-50000)%6;

TMOD=1;

TR0=0;

ET0=1;

EA=1;

while(1) {

P0=table[hour/10];

P2=0x20;

delayms(1);

P2=0xff;

P0=table[hour];

P2=0x10;

delayms(1);

P2=0xff;

P0=table[minute/10];

P2=0x08;

delayms(1);

P2=0xff;

P0=table[minute];

P2=0x04;

delayms(1);

P2=0xff;

P0=table[second/10];

P2=0x02;

delayms(1);

P2=0xff;

P0=table[second];

P2=0x01;

delayms(1);

P2=0xff;

if(!kh)

{ delayms(200);

hour ;

if(hour>23)

hour=23; }

else if(!km)

{ delayms(200);

minute ;

if(minute>59)

minute=59; }

p>else if(!ks)

{ delayms(200);

second++;

if(second>59)

second=59; }

if(!st)

{ delayms(200);

TR0=1; }

if(TR0==1&&hour==0&&minute==0&&second<3)

b=!b; delayms(1); } }

void t0() interrupt 1 { TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

i++;

if(i>=20)

{ i=0; second--;

if(second>59)

{ second=59;

minute--;

if(minute>59)

{ minute=59;

hour--;

if(hour>23)

{hour=0; minute=0; second=0; TR0=0; } } } } }

(4)LED数字倒计时器仿真图

(5)焊接好的实物图

四、总结

关于这次课程设计,我们花费了比较多的心思,既是对课程理论内容的一次复习和巩固,还让我们丰富了更多与该专业相关的其他知识,比如软件应用等。在这次实验中遇到的具体的问题:在proteus中设计好原理图,并运行后发现,数字倒计时器的复位功能无效,经过与组员之间的反复讨论和检验,终于发现问题的症结所在:复位电路的线路连接错误,其中两条线路交叉,中间少一个节点。

除了对此次设计的准备工作之外,我们还学到了很多平时难得的东西,首先是团队协作,在这次设计当中,难免和同学产生观点和意见的分歧,以及分工明细、时间安排等不合理,通过这次设计,我们体会到了团结合作的重要性及力量之强大,还有让我们处理事情更加有条理,思路更加清晰明了了,发现、提出、分析、解决问题和实践能力的提高都将受益于我在以后的学习、工作和生活中。

从这课程设计中,我学会了怎样用你c语言编程来控制单片机,这是以前没学到的东西,此外,还要查阅许多的资料来填补知识的空缺,比如说软件的使用等。最后老师的提问让我们对单片机有了更为深入、更加清晰的了解。

五、附录

元件清单;

元件名称

型号

数量

单片机最小开发板

STC89C52

1

电阻

10K

1

按键

5

数码管2位一体

共阳

3

集成块

74LS245

3

三极管

9015

1

蜂鸣器

1

电阻

1K

2

电阻

100Ω

1

电阻

2.7K

4

电阻

330Ω

8

集成块

74LS07

1

AC/DC(5V/1A)电源

1

单排插针 40

2

双排插针 40

2

9X15cm万用板(3连孔)

1

杜邦线

15

六、参考文献

9787115256652·张毅刚·单片机原理及接口技术(C51编程)·人民邮电出版社·2011.08

9787811242362·李朝青·单片机原理及串行外设接口技术·北京航空航天大学出版社·2008.04

ISBN978-7-121-14990-0·李群芳,肖看,张士军·单片微型计算机与接口技术·电子工业出版社·2012.01

展开阅读全文

标签: ic中能集成三极管吗led连接器dckhx电阻器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台