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

上传人:b****8 文档编号:29324476 上传时间:2023-07-22 格式:DOCX 页数:11 大小:112.44KB
下载 相关 举报
基于AT89S52单片机的数字倒计时器设计.docx_第1页
第1页 / 共11页
基于AT89S52单片机的数字倒计时器设计.docx_第2页
第2页 / 共11页
基于AT89S52单片机的数字倒计时器设计.docx_第3页
第3页 / 共11页
基于AT89S52单片机的数字倒计时器设计.docx_第4页
第4页 / 共11页
基于AT89S52单片机的数字倒计时器设计.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

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

《基于AT89S52单片机的数字倒计时器设计.docx》由会员分享,可在线阅读,更多相关《基于AT89S52单片机的数字倒计时器设计.docx(11页珍藏版)》请在冰豆网上搜索。

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

基于AT89S52单片机的数字倒计时器设计

单片机课程设计

题目基于AT89S52单片机LED数字倒计时器设计

系部

专业物理学

班级

学生姓名

学号

指导教师

3.4.3单片机最小系统………………………………………………6

3.5LED倒计时器原理图7

5调试过程................................................116结束语11

1设计任务与要求

近年来随着计算机在社会领域的渗透,单片机的应用正在不断深入人们的生活,同时带动传统控制检测日新月异。

在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面的知识是不够的,还应根据具体硬件结构,针对具体应用特点与软件结合。

本项目讨论了LED数字倒计时器的设计与制作,此方案线路简单,成本低,应用前景广阔。

本次设计的任务与要求是,使基于AT89S52单片机的LED数字倒计时器主要具有如下功能:

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

(2)倒计时过程中能设置多个闹钟,当倒计时值倒计到设定值时会发出约2s的报警声音。

(3)通过按键可以对倒计时设定初值。

倒计时初始值范围在24:

00:

00~00:

00:

60之间,用户可根据需要对其进行设置,设置成功后复位初始值为成功设定值。

2设计方案

LED数字倒计时器以AT89S52单片机为核心,系统包括六位数码管显示电路,按键电路,电源电路,复位电路,晶振电路以及蜂鸣器电路几部分,LED数字倒计时器设计框图如下:

图1LED数字倒计时器设计框图

3硬件电路设计与主要元器件分析

3.16位LED数码管显示

本项目设计采用了6位数码管显示电路,在设计6位LED显示时,为了简化电路,降低成本,采用动态显示方式,6个LED显示器共用一个8位的I/O,6位LED数码管的位选线分别由相应的P2.0~p2.5控制,而将相应的段选线并联在一起,由一个8位的I/O口控制,即p0口。

译码显示电路将“时”、“分”、“秒”显示数字进行校对调整。

3.2LED倒计时器元件清单

表1LED数字倒计时器元件清单

元件名称

型号

数量/个

用途

单片机

AT89S52

1

控制核心

晶振

12MHz

1

晶振电路

电容

30pF

2

晶振电路

电解电容

22μF/10V

1

复位电路

电阻

10kΩ

1

复位电路

按键

5

按键电路

数码管

共阳

6

显示器

集成块

74LS245

3

驱动

三极管

2N5088

1

蜂鸣器

喇叭

8Ω/0.5W

1

蜂鸣器

电阻

1kΩ

2

蜂鸣器

电阻

100Ω

1

蜂鸣器

电阻

2.7kΩ

4

上拉电阻

电阻

330Ω

8

上拉电阻

电源

+5V/0.5A

1

提供+5V

集成块

74LS07

1

驱动

3.3主要元器件分析

3.3.1单片机AT89S52

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

3.3.2集成块74LS245

74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。

74LS245还具有双向三态功能,既可以输出,也可以输入数据。

当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)  *DIR=“1”,信号由A向B传输;(发送)当/CE为高电平时,A、B均为高阻态。

由于P2口始终输出地址的高8位,接口时74LS245的三态控制端/1G和/2G接地,P2口与驱动器输入线对应相连。

P0口与74LS245输入端相连,/E端接地,保证数据现畅通。

3.4基本硬件电路分析

3.4.1复位电路

复位是单片机的初始化操作,只需给AT89S52的复位引脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就可得单片机复位,复位时,PC初始化为0000H,使单片机从OUT单元开始执行程序。

除了进入系统的正常初始化之外由于程序运行出错或操作错误而使系统处于死锁状态,为摆脱死锁状态,也需按复位键使得RST脚为高电平,使单片机重新启动。

图2复位电路原理图

3.4.2按键电路

按键电路的按键功能说明:

(1)K1用于设置时间和闹钟的小时。

(2)K2用于设置小时以及设置闹钟的开关。

(3)K3用于设置分钟和闹钟的分钟。

(4)K4用于设置完成退出。

.3.4.3单片机最小系统模块电路

单片机选用Atmel公司的单片机芯片STC89C52RC,它完全可以满足本设计中采集控制和数据处理的需要。

它小巧灵活、成本低、可靠性好、适应温度范围宽,易于扩展等优点,在工业自动化、智能仪器仪表、家用电器等方面得到了广泛应用。

图3.1.1单片机最小系统模块电路

3.5LED倒计时器原理图

L

图3LED数字倒计时器原理图

4软件设计

4.1程序流程图

图4LED数字倒计时器程序流程图

4.2程序清单

程序清单如下:

#include"reg52.h"

#defineucharchar

#defineuintunsignedint

sbitwei=P1^0;

sbitduan=P1^1;

sbitkey=P1^2;

sbitled_1=P1^3;

ucharmiao=0,fen=5;

ucharcodeled[]={0x3F,0x6,0x5B,0x4F,0x66,0x6D,0x7D,0x7,0x7F,0x6F};

ucharcodetable_wei[]={0x00,0x7f,0xbf,0xdf,0xef,0xf7};

voiddelay(uintms)

{

uinti=0,j=0;

for(i=ms;i>0;i--)

for(j=120;j>0;j--);

}

voiddsplay(ucharw,uchard)

{

P0=table_wei[w];

wei=1;

wei=0;

P0=led[d];

duan=1;

duan=0;

delay

(1);

}

voidTimer_Init()

{

TMOD=0X01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

ET0=1;

EA=1;

}

voidkeyscan()

{

if(key==0)

{

delay(3);

if(key==0)

{

while(!

key);

TR0=1;

miao=0;fen=5;led_1=1;

}

}

}

voidmain()

{

Timer_Init();

while

(1)

{

keyscan();

if(miao==-1)

{

if(fen!

=0)

fen--;

miao=59;

}

if((fen==2)&&(miao==0))

{

led_1=0;

delay(100);

led_1=1;

}

if((fen==0)&&(miao==0))

{

TR0=0;

led_1=0;

miao=0;

}

dsplay(1,miao%10);

dsplay(2,miao/10);

dsplay(4,fen%10);

dsplay(5,fen/10);

}

}

voidtimer()interrupt1

{

staticuchari=0;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

i++;

if(i==20)

{

i=0;

miao--;

}

}

5调试过程

应用系统设计完成之后,要进行硬件调试和软件调试。

软件调试可以利用开发及仿真系统进行。

1.硬件调试

硬件的调试主要是把电路各种参数调整到符合设计要求。

具体如下:

(1)先排除硬件电路故障,包括设计性错误和工艺性故障。

一般原则是先静态后动态。

(2)利用万用表或逻辑测试仪器,检查电路中的各个器件以及引脚是否连接正确,是否有短路故障。

(3)先要将单片机AT89S52芯片取下,对电路板进行通电检查,通过观察看是否有异常,然后用万用表测试各电源电压,若这些都没有问题,则接上仿真机进行联机调试观察各接口线路是否正常。

2.软件调试

软件调试是利用仿真工具进行在仿真调试,除发现和解决程序错误以外,也可以发现硬件故障。

6结束语

单片机的应用正在不断深入人们的生活,同时带动传统控制检测日新月异。

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

通过本次设计,使我们认识并了解了基本的设计开发过程,在这过程中,我的身边的同学们给了我很大的启示和帮助,而且我觉得对以前不了解的单片机只是有了一个更感更深的了解。

我相信我所学的东西在以后的工作学习中会起很大的作用。

在本次设计中得到了指导老师邹老师的大力支持,在此表示感谢!

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

当前位置:首页 > 高等教育 > 管理学

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

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