60秒倒计时实训报告Word文件下载.docx
- 文档编号:18888896
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:16
- 大小:409.98KB
60秒倒计时实训报告Word文件下载.docx
《60秒倒计时实训报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《60秒倒计时实训报告Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
AT89C52器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准80C51和80C52指令集及引脚布局,AT89C52的片内Flash允许程序存储器通过传统编程器反复编程。
由于芯片内集成了通用8位中央处理器和Flash存储单元,功能强大的微处理器ATMELAT89C52可为许多嵌入式控制应用统提供高度灵活、高性价比的解决方案。
AT89C52具有如下特点:
8kBytesFlash存储器、256bytes的RAM、32个I/O口、3个16位定时/计数器,6个中断优先级2层中断嵌套中断、1个全双工串行通信口、片内时钟振荡器。
此外,AT89C52
设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
AT89C52在空闲模式下,CPU暂停工作,而RAM、定时/计数器、串行口和外中断系统可继续工作,掉电模式冻结振荡器并保存RAM的数据,停止芯片其它功能直至硬件复位。
AT89C52具有PDIP、TQFP、PQFP和PLCC四种封装形式,以适应不同产品的需求。
●主要特性
·
兼容MCS-51指令系统
·
8k可反复擦写(>
1000次)FlashROM
全静态操作:
0-24MHz
三级程序存储器锁
256×
8位内部RAM
32个双向I/O口
3个16位定时/计数器
8个中断源
可编程串行通道
低功耗空闲和省电模式
AT89C52单片机引脚说明
AT89C52引脚图
AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
本设计中采用的是7SEG–MPX4–CA型号数码管(7seg-mpx4-ca是4位共阳极7段式数码显示管),它是一种半导体发光器件,其基本单元是发光二极管。
实物如图3所示:
●数码管的分类
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);
按能显示多少个“8”可分为1位、2位、4位等等数码管;
按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
LED数码管有两种连接方法如下:
共阳极接法。
把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。
共阴极接法。
把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。
每个发光二极管的阳极通过电阻与输入端相连。
LED数码显示器的显示段码。
为了显示字符,要为LED显示器段码(或称字形代码),组成一个8字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED显示器的显示段码为1个字节。
各段码位的对应关系如下表所示.十六进制数及空白字符与P的显示段码
段码位
D7
D6
D5
D4
D2
D1
D0
显示段
pd
g
f
e
d
b
a
字型
共阳极段码
共阴极段码
0
C0H
3FH
9
90H
1
F9H
06H
A
88H
2
A4H
5BM
B
83H
3
B0H
4FH
C
C6H
4
99H
66H
D
A1H
5
92H
6DH
E
86H
6
82H
7DH
F
84H
7
F8H
07H
空白
FFH
8
80H
7FH
P
8CH
●数码管的驱动方式
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
①静态显示驱动:
静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×
8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:
),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
②动态显示驱动:
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"
a,b,c,d,e,f,g,dp"
的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
●数码管参数
8字高度:
8字上沿与下沿的距离。
比外型高度小。
通常用英寸来表示。
范围一般为0.25-20英寸。
长*宽*高:
长——数码管正放时,水平方向的长度;
宽——数码管正放时,垂直方向上的长度;
高——数码管的厚度。
时钟点:
四位数码管中,第二位8与第三位8字中间的二个点。
一般用于显示时钟中的秒。
●数码管应用
数码管是一类显示屏通过对其不同的管脚输入相对的电流会使其发亮从而显示出数字
能够显示时间日期温度等所有可用数字表示的参数
由于它的价格便宜使用简单在电器特别是家电领域应用极为广泛空调热水器冰箱等等
绝大多数热水器用的都是数码管其他家电也用液晶屏与荧光屏
●数码管使用的电流与电压
电流:
静态时,推荐使用10-15mA;
动态时,16/1动态扫描时,平均电流为4-5mA,峰值电流50-60mA。
电压:
查引脚排布图,看一下每段的芯片数量是多少?
当红色时,使用1.9V乘以每段的芯片串联的个数;
当绿色时,使用2.1V乘以每段的芯片串联的个数。
●怎样测量数码管引脚,分共阴和共阳?
找公共共阴和公共共阳:
首先,我们找个电源(3到5伏)和1个1K(几百欧的也行)的电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的,找到一个就够了,然后GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴的了。
相反用VCC不动,GND逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阳的。
也可以直接用数字万用表,红表笔是电源的正极,黑表笔是电源的负极。
2.3其他元器件介绍及参数选择
本设计中还用到其他一些元器件,例如:
晶振,电容,电阻排,电解电容,开关等等。
晶振采用频率为12MHZ,连接的两个电容为30pF;
电阻排为470*8,能够实现8个470欧电阻的等效替换;
电解电容为10u;
开关功能是在仿真过程中,按下开关便能实现60秒复位。
第四章实验步骤
通过AT89C52型号单片机,主机与从机均采用低功耗、高性能的8位CMOS微控制芯片89S52
CPU部分
图4-1单片机最小系统图
单片机AT89S52、6M晶振、30pF和10µ
电容、2K和10K电阻、按键等组成。
●定时/计数器初值计算
本电路应用TIMER0MODE16位计数器的计时中断法。
1秒等于1000000微秒,而每一计时脉冲是1微秒,因此需输入1000个计时脉冲,方可达到1毫秒的时间。
本设计中,设定中断每次溢出时间5ms。
由上式得知
X=65536-64536=1000=FC18H
循环大约17次:
64536*17=1097112更加接近
上电时,显示60.00,开始倒数计时按下开关实现复位。
●软件程序
#include<
reg51.h>
unsignedchari,sec,min,hour,msec,tab,p;
sbitP3_2=P3^2;
sbitP3_3=P3^3;
sbitP3_4=P3^4;
voiddelay(unsignedchari);
voiddelay(unsignedchari)
{unsignedcharj,k;
for(k=0;
k<
i;
k++)
for(j=0;
j<
255;
j++);
}
voidmain()
{
unsignedcharled[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsignedchartab[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};
//有小数点的0123456789
sec=60;
min=0;
TMOD=0x01;
TH0=0xfc;
TL0=0x18;
//设定的初始值
TR0=1;
EA=1;
ET0=1;
while
(1)
{
if(P3_2==0)
{
TR0=1;
}
if(P3_3==0)
{TR0=0;
if(P3_4==0)
{
if(sec<
60)
{
P0=led[sec/10];
P2=0x07;
delay(200);
P0=led[sec%10];
P2=0x0b;
delay(200);
p++;
else
{sec=60;
}//按下P3——4加加到60就不能再加
if(P3_3==0)
if(sec>
>
0)
sec=p;
p--;
}
}
else
{sec=0;
}//按下P3_3减减到0就不能再减
if(P3_4==0)
{
TR0=0;
//清零从零开始再设置时间值
if(p<
else
{p=60;
}//按到60就不能再按了
P1=0x00;
P0=led[sec/10];
P2=0x07;
delay
(2);
P0=led[sec%10];
P2=0x0b;
P0=led[min/10];
P2=0x0d;
P0=led[min%10];
P2=0x0e;
voidt0_int()interrupt1
i++;
if(i==17)
delay(5);
i=0;
min--;
if(min==0)
min=99;
sec--;
sec=0;
P1=0x00;
delay(200);
P1=0xff;
●系统调试工具keilc51
调试的主要方法:
1.启动Keilc51
2.新建一个工程。
Project菜单——〉Newproject,选择好我们要保存的文件夹后,键入Frist保存。
接着弹出CPU类型选择框,我们选择最常用的AT89C51,按确定。
3.在工程中加入文件。
新建一个文件,文件菜单File——〉New,我们再选择:
文件菜单File——〉SaveAs?
(另存为)弹出对话框后,我们文件名框中键入First.c(注意文件后缀名是.c)保存。
C文件建好啦。
现在我们把文件加入到工程中去。
点击Target1前面的+号,右键单击SourceGroup1——〉选择AddFilestoGroup,SourceGroup1,选择添加Add。
编译运行,检查程序是否有错误。
●PROTEUS软件
Proteus是一款EDA软件,该软件具有模拟电路仿真,数字电路仿真,单片机以及外围电路组成的系统的仿真,RS-232动态仿真,I2C调试器,SPI调试器,键盘和LCD系统的仿真,以及各种虚拟仪器,如示波器,逻辑分析仪,信号发生器等。
该软件目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、ARM以及各种外围芯片。
该软件还支持大量的存储器和外围芯片,所以,该软件是一款集单片机和SPICE分析于一身的仿真软件。
调试方法:
首先用Keil软件将C编译成HEX文件,打开Keil软件,新建一个文档,输入C程序,保存成C格式文件,然后新建工程,连接单片机为AT89C51,选择Optionsfortarget,选择OUTPUT子菜单,在CreateHEXFi前打钩,DeBug子菜单中,Settings选择ProteusVSMSimulator,USE前打钩,再次运行文件,成功后在目录下会生成HEX文件,打开Proteus软件,或直接点击DSN文件,双击单片机模板,点击文件夹式样的图标选择对应的HEX驱动文件,然后点击开始,进行调试。
设计总结
本文所介绍的秒倒计器,电路简单、成本低,制作容易。
此系统也可广泛应用于群众体育、娱乐活动和广播电视台的一些秒计时,具有很高的实用价值。
在我们整个设计过程中,老师给了我们很大的帮助和细心的指导。
在一个星期的本次设计过程中,当我们遇到了困难和问题时,当我们需要他的时候,老师总是第一时间出现在我们面前,他让我们学会了以前在课堂上没有的东西。
另外,我还要特别感谢我所有的搭档,是他们给了我巨大的勇气和战胜困难的信心,在设计中我们合作的很愉快,当我们遇到困难时我们一起去探讨和研究,一起去战胜它,大家也一起分享排除问题和困难后的喜悦。
同时大家也发扬我们慷慨激扬精神:
特别能吃苦,特别能攻关,特别能战斗,特别能奉献。
在此我们表示真诚的感谢!
起初还以为特别难,后来慢慢也就做下来了,虽然做的不是特别好。
通过半个学期的学习发现《单片机原理、应用与PROTEUS仿真》的确是一门很有用的课程,对今后的学习工作有很大的帮助,因为单片机目前在社会中有在和极其广泛的用途,各个地方都离不开它的。
更多的东西还靠我们自己去课下学习。
还有一点要注意就是团体之间的互相合作那也是至关重要。
经过这次设计,使我们觉得不论从理论知识还是从实际操纵中都学到了不少知识,我们想归纳起来,主要有以下四个方面:
1、经过这次设计,它让我们接触更多平时没有接触过的科学仪器设备、元器件以及获得相关的仪器调试经验,同时我们也发现自己在这方面很多不足之处。
体会到理论知识对实践有很大的指导作用,让我们知道,只有在正确的理论指引下,才能设计出合乎实际需要的硬件电路。
2、学会了高效率的查阅资料、运用工具书、利用网络查找资料。
我们发现,在我们所使用的书籍上有一些知识在实际应用中其实并不是十分理想,各种参数都需要自己去调整。
偶而还会遇到错误的资料现象,这就要求我们应更加注重实践环节。
3、在设计中,我们应当注意重点与细节的关系。
4、失败不可怕,只要不趴下,昂首向前走,希望总会有。
5、同组同学相互包容,彼此合作,取长补短,才能铸就最后的成功。
可以这样说设计是对大学所学知识的一次运用和检阅,同时对自学能力提出很高的要求,所以平时的学习离开思考,就是严重的错误,我们学习不应该有偏科现象,各方面的知识都应该要接触,这样做才能为本次设计打下基础。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 60 倒计时 报告