AT89C51单片机设计60s倒计时.docx

上传人:b****7 文档编号:16289795 上传时间:2023-07-12 格式:DOCX 页数:12 大小:555.96KB
下载 相关 举报
AT89C51单片机设计60s倒计时.docx_第1页
第1页 / 共12页
AT89C51单片机设计60s倒计时.docx_第2页
第2页 / 共12页
AT89C51单片机设计60s倒计时.docx_第3页
第3页 / 共12页
AT89C51单片机设计60s倒计时.docx_第4页
第4页 / 共12页
AT89C51单片机设计60s倒计时.docx_第5页
第5页 / 共12页
AT89C51单片机设计60s倒计时.docx_第6页
第6页 / 共12页
AT89C51单片机设计60s倒计时.docx_第7页
第7页 / 共12页
AT89C51单片机设计60s倒计时.docx_第8页
第8页 / 共12页
AT89C51单片机设计60s倒计时.docx_第9页
第9页 / 共12页
AT89C51单片机设计60s倒计时.docx_第10页
第10页 / 共12页
AT89C51单片机设计60s倒计时.docx_第11页
第11页 / 共12页
AT89C51单片机设计60s倒计时.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

AT89C51单片机设计60s倒计时.docx

《AT89C51单片机设计60s倒计时.docx》由会员分享,可在线阅读,更多相关《AT89C51单片机设计60s倒计时.docx(12页珍藏版)》请在冰点文库上搜索。

AT89C51单片机设计60s倒计时.docx

AT89C51单片机设计60s倒计时

目录

一、课程设计的目的、要求和设计目标„„„„„„„„„„„1

1、目的„„„„„„„„„„„„„„„„„„„„„„1

2、要求„„„„„„„„„„„„„„„„„„„„„„1

3、目标„„„„„„„„„„„„„„„„„„„„„„1二、硬件要求„„„„„„„„„„„„„„„„„„„„„„„2

1、AT89C51的芯片„„„„„„„„„„„„„„„„„„2

2、LED数码管显示器概述„„„„„„„„„„„„„„„„3

3、其他元器件介绍及参数选择„„„„„„„„„„„„„„6三、软件设计„„„„„„„„„„„„„„„„„„„„„„„7

1、程序流程图„„„„„„„„„„„„„„„„„„„„7

2、程序导图„„„„„„„„„„„„„„„„„„„„„7

3、定时/计数器初值计算„„„„„„„„„„„„„„„„7

4、软件程序„„„„„„„„„„„„„„„„„„„„8

5、软件仿真设计„„„„„„„„„„„„„„„„„„„9四、软件调试„„„„„„„„„„„„„„„„„„„„„„10

1、<.HEX>文件的生成„„„„„„„„„„„„„„„„„10

2、PROTEUS„„„„„„„„„„„„„„„„„„„„10五、心得体会„„„„„„„„„„„„„„„„„„„„„„11

一、课程设计的目的、要求和设计目标

1、目的

单片机课程即将结束,课程的最后一项是单片机的课程设计。

通过课程设计,我们要将在一个学期中所学的东西进行整理、归纳,要把学到的知识转化成实际的运用,进一步的了解单片机的实质。

通过动手设计,深入学习,体验单片机在日常生活中的运用,提升专业知识。

课程设计的总体包括:

对单片机的了解、运用,设计思路的解析,报告文字的处理等。

通过一系列的实际操作,完善对课程的学习,提升自我的学习能力和动手能力。

2、要求

(1用单片机AT89C51的定时器实现60s倒计时。

本例中用两位数码管静态显示倒计时秒值。

(2用PROTEUS设计,仿真基于AT89c51单片机的60s倒计时实验。

(3通过KeiluVision2软件,生成.HEX格式程序并植入AT59C51单片机并调试、运行。

3、目标

通过自主完成课程设计内容,整理学期中所学到的知识,了解单片机的程序过程和一系列的基础操作,将理论和实践相结合,完善课业。

二、硬件要求

1、AT89C51的芯片

芯片概述

AT89C51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

其工作电压在4.5-5V。

一般我们选用+5V电压。

主要特性

1.与MCS-51兼容

2.4K字节可编程闪烁存储器

3.寿命:

1000写/擦循环

4.数据保留时间:

10年

5.全静态工作:

0Hz-24MHz

6.三级程序存储器锁定

7.128×8位内部RAM

8.32可编程I/O线

9.两个16位定时器/计数器10.5个中断源

11.可编程串行通道

12.低功耗的闲置和掉电模式13.片内振荡器和时钟电路

管脚说明

(1电源及时钟引脚

Vcc:

电源接入引脚

AT89C51单片机图

Vss:

接地引脚

XTAL1:

晶振震荡器接入的一个引脚(采用外部振荡器时,此引脚接地;XTAL2:

晶体振荡器的另一个引脚(采用外部振荡器时,此引脚作为外部振荡器信号的输入端。

(2控制线引脚

RST/Vpd:

复位信号输入引脚/备用电源输入引脚;

ALE:

地址锁存允许信号输出引脚/编程脉冲输入引脚:

EA:

内外存储器选择引脚/片外EPROM编程电压输入引脚;

PSEN:

外部程序存储器选通信号输出引脚。

(3并行I/O引脚

P0.0-P0.7:

一般I/O口引脚或数据/低位地址总线复用引脚;

P1.0-P1.7:

一般I/O口引脚;

P2.0-P2.7:

一般I/O口引脚或高位地址总线引脚;

P3.0-P3.7:

一般I/O口引脚或第二功能引脚

2、LED数码管显示器概述

本设计中采用的是7SEG–COM–ANODE型号数码管,它是一种半导体发光器件,其基本单元是发光二极管。

实物如图3所示:

数码管的分类

数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元。

按能显示多少个“8”可分为1位、2位、4位等数码管。

按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM

的数码

管。

共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

当某一字段的阴极为高电平时,相应字段就不亮。

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM的数码管。

共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。

当某一字段的阳极为低电平时,相应字段就不亮。

LED数码管有两种连接方法如下:

共阳极接法。

把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。

共阴极接法。

把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极

接地。

每个发光二极管的阳极通过电阻与输入端相连。

LED数码显示器的显示段码。

为了显示字符,要为LED显示器段码(或称字形代码,组成一个8字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED显示器的显示段码为1个字节。

各段码位的对应关系如下表所示.十六进制数及空白字符与P的显示段

LED数码管的驱动方式

数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。

1、静态显示驱动:

静态驱动也称直流驱动。

静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。

静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。

2、动态显示驱动:

数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳

定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

LED数码管参数

8字高度:

8字上沿与下沿的距离,比外型高度小,通常用英寸来表示,范围一般为0.25-20英寸。

长-宽-高:

长——数码管正放时,水平方向的长度;宽——数码管正放时,垂直方向上的长度;高——数码管的厚度。

时钟点:

四位数码管中,第二位8与第三位8字中间的二个点。

一般用于显示时钟中的秒。

LED数码管应用

数码管是一类显示屏,通过对其不同的管脚输入相对的电流会使其发亮,从而显示出、数字。

能够显示、时间、日期、温度等所有可用数字表示的参数。

由于它的价格便宜,使用简单,在电器,特别是家电领域应用极为广泛,例如:

空调、热水器、冰箱等。

LED数码管使用的电流与电压

电流:

静态时,推荐使用10-15mA;动态时,16/1动态扫描时,平均电流为4-5mA,峰值电流50-60mA。

电压:

查引脚排布图,看一下每段的芯片数量是多少?

当红色时,使用1.9V乘以每段的芯片串联的个数;当绿色时,使用2.1V乘以每段的芯片串联的个数。

3、其他元器件介绍及参数选择

在课程设计中,还用到了一下元件:

晶振,电容,电解电容,开关等。

其参数为:

晶振频率为12MHZ,连接的两个电容为30pF;

电阻排为470*8,能够实现8个470欧电阻的等效替换;

电解电容为10u;

开关功能是在仿真过程中,按下开关便能实现60秒复位。

三、软件设计

1、程序流程图

2、程序导图

3、定时/计数器初值计算

(1本电路应用TIMER0MODE16位计数器的计时中断法。

(21秒等于1000000微秒,而每一计时脉冲是1微秒,因此需输入100000个计时脉冲,方可达到1秒的时间。

本设计中,设定中断每次溢出时间50ms。

(3由上式得知,循环20次即可达到1秒定时,即:

N=t/Tcy=0.05s/0.000001=5000

X=65536-5000=15536=3CB0H

(4由上式得知5000个脉冲,首先需设定TL0=3CH,TH0=0B0H,第1次只要输入5000个脉冲输入就会溢出;第2次至第20次,则需每1000000个计时脉冲,定时1秒。

(5上电时,显示60,开始倒数计时按下开关实现复位。

4、软件程序

ORG0000H

AJMPMAIN

ORG0030H

MAIN:

MOVR2,#60;计数初值

LOOP1:

MOVA,R2

MOVB,#10

DIVAB

MOVDPTR,#TABLE

MOVCA,@A+DPTR;查表

MOVP1,A;十位显示

MOVA,B

MOVCA,@A+DPTR

MOVP2,A;个位显示

MOVR7,#20

LOOP0:

MOVTMOD,#01H;置T0工作于方式0

MOVTH0,#3CH;装入计数初值

MOVTL0,#0B0H

SETBTR0;启动定时器T0

JNBTF0,$;TF0=0,等待

CLRTF0;清TF0

DJNZR7,LOOP0;循环20次

DECR2;减一

CJNER2,#0FFH,LOOP1;倒计时

AJMPMAIN;复位回到60秒初始TABLE:

DB0C0H,0F9H,0A4H,0B0H

DB99H,92H,82H,0F8H

DB80H,90H,88H,83H

DB0C6H,0A1H,86H,8EH

END

5、软件仿真设计

AT89C51单片机设计:

60S倒计时仿真电路图

四、软件调试1、<.HEX>文件的生成通过软件KeilC51仿真器生成.HEX文件,过程为:

1.启动Keilc512.新建一个工程:

Project菜单选择Newproject,选择好我们要保存的文件夹后,键入Frist保存。

接着弹出CPU类型选择框,我们选择最常用的AT89C51,按确定。

3.在工程中加入文件:

新建一个文件,文件菜单File选择New;我们再选择:

文件菜单File选择SaveAs(另存为)弹出对话框后,在文件名框中键入<60s单片机.a51>保存。

再把文件加入到工程中去:

点击Target1前面的+号,右键单击SourceGroup1选择AddFilestoGroup,SourceGroup1,选择添加Add。

编译运行,检查程序是否有错误。

4、生成.HEX文件选择Optionsfortarget,选择OUTPUT子菜单,在CreateHEXFi前打钩,DeBug子菜单中,Settings选择ProteusVSMSimulator,USE前打钩,再次运行文件,成功后在目录下会生成HEX文件。

2、PROTEUS1、利用PROTEUS软件制图。

2、双击AT89C51单片机,倒入<.HEX>文件。

3、运行。

Proters启动图标10

五、心得体会通过这次单片机的课程设计,我又一次的将课本的知识加以巩固。

这是个很好的机会,让我将课本的理论知识和实践相结合,通过亲自的制作,使我在学习中寻找乐趣,提升了我对课程更深一沉的了解和兴趣。

我认为,生活中的很多电气都离不开单片机的工作,因此,只要认真学习,加强知识体系,就能了解我们身边的东西,提高生活的质量。

这次课程设计让我感到了乐趣,我会在课余时间,自己动手制作其他有关单片机的课题项目,不仅是为了将单片机学的更好更精通,同时能加强我对专业的了解,提高作为电气自动化学生的专业基础而准备。

11

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

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2