单片机 电子秒表.docx
- 文档编号:16215667
- 上传时间:2023-07-11
- 格式:DOCX
- 页数:12
- 大小:108.37KB
单片机 电子秒表.docx
《单片机 电子秒表.docx》由会员分享,可在线阅读,更多相关《单片机 电子秒表.docx(12页珍藏版)》请在冰点文库上搜索。
单片机电子秒表
摘要
单片计算机即单片微型计算机。
单片机是一种控制芯片,一个微型的计算机,而加上晶振,存储器,地址锁存器,逻辑门,七段译码器(显示器),按钮(类似键盘),扩展芯片,接口等那是单片机系统。
本设计主要设计了一个基于AT89s51单片机的数字秒表。
并在数码管上显示相应的计数时间。
应用Proteus的ISIS软件实现单片机数字秒表系统的设计与仿真。
该方法仿真效果真实、准确,节省了硬件资源。
关键字:
单片机子时钟电子秒表
目录
一引言2
二总体设计3
2.1总设计原理框图3
2.2各部分功能实现3
三详细设计4
3.1硬件设计4
3.1.1AT89s52单片机介绍4
3.1.2 LED显示模块6
3.1.3硬件原理图7
3.2软件设计7
3.2.1 主程序设计8
四实验结果及分析11
4.1 整机调试11
4.2硬件仿真结果图11
五心得体会12
参考文献13
一引言
本设计是设计一个单片机控制的多功能秒表系统。
近年来随着科技的飞速发展,单片机的应用正在不断的走向深入,同时带动着传统控制检测日新月异更新。
在实时检测和自动控制单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体的硬件结构,以及针对具体的应用对象的软件结合加以完善。
秒表的出现,解决了传统的由于人为的因数造成的误差和不公品性。
设计一个单片机控制的秒表系统。
利用单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管,将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。
二总体设计
本设计的多功能秒表系统采用AT89C52单片机为中心器件,利用其定时器/计数器定时和技术的原理,结合显示电路、电源电路、LED数码管一级键盘来设计计时器。
将软、硬件有机的结合起来,使得系统能够实现三位LED显示,显示时间为000-999每秒自动加1。
其中软件系统采用C语言编写程序,包括显示程序,加计数程序,中断程序,延时程序等,并在WAVE中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。
2.1总设计原理框图
2.2各部分功能实现
(1)单片机发送的信号通过程序控制最终在数码管上显示出来。
(2)单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。
三详细设计
3.1硬件设计
3.1.1AT89s52单片机介绍
AT89s52单片机有8K字节在线可编程Flash存储器,1000次可擦写周期32个可编程I/O口线,三个16位定时器/计数器,八个中断源,掉电后可换醒。
AT8s52单片机内部主要包括累加器ACC(有时也简称为A)、程序状态字PSW、地址指示器DPTR、只读存储器ROM、随机存取存储器RAM、寄存器、并行I/O接口P0~P3、定时器/计数器、串行I/O接口以及定时控制逻辑电路等。
这些部件通过内部总线联接起来,构成一个完整的微型计算机。
其管脚图如图所示:
AT89s52单片机管脚结构图
VCC:
电源。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
3.1.2 LED显示模块
四位8段LED资料:
LED译码列表:
“0”
3FH
“8”
7FH
“1”
06H
“9”
6FH
“2”
5BH
“A”
77H
“3”
4FH
“b”
7CH
“4”
66H
“C”
39H
“5”
6DH
“d”
5EH
“6”
7DH
“E”
79H
“7”
07H
“F”
71H
LED分段选和位选,段选接在51单片机的P0口,由P0输出要显示的时间数值,位选由p1口输出,由于四个数码管共用段选,所以位选要分时扫描显示,人眼看上去就像是四个同时选通一样。
从而达到显示的目的
3.1.3硬件原理图
3.2软件设计
数码显示模块
定时模块
系统主程序
根据需要,可将系统软件按照功能划分为主程序模块、数码显示模块,各模块的功能关系如图所示。
编写系统软件时,可首先编写各模块的底层驱动程序,而后是系统联机调试,编写上层主程序。
3.2.1 主程序设计
数字秒表系统流程图如下所示:
主程序主要负责各个模块的初始化工作,其关键代码如下:
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitP20=P2^0;
sbitP21=P2^1;
sbitP22=P2^2;
unsigned
charcodedis[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x40};
uintdisnum;
ucharcount;
voiddelay();
voiddisplay(uchar,uchar,uchar);
voidmain()
{
TMOD=0x01;
TR0=1;
ET0=1;
EA=1;
TH0=0X10;
TL0=0X00;
P2=0xff;
while
(1)
{
if(count==15)
{
count=0;
disnum++;
if(disnum==1000)
{disnum=0;
}
}
display(disnum/100,disnum%100/10,disnum%10);
}
}
voiddisplay(ucharbai,ucharshi,ucharge)
{
P20=0;
P1=dis[ge];
delay();
delay();
//P20=1;
delay();
delay();
P20=0;
P21=0;
P1=dis[shi];
delay();
delay();
P21=1;
delay();
delay();
P21=0;
P22=0;
P1=dis[bai];
delay();
delay();
P22=1;
delay();
delay();
P22=0;
;
}
voidt0(void)interrupt1using0
{
TH0=0X10;
TL0=0X00;
count++;
}
voiddelay(void)
{
intk;
for(k=0;k<500;k++);
}
四实验结果及分析
4.1 整机调试
本系统的测试采用Proteus软件,系统在Proteus软件中仿真时使用的元件如表所示。
测试表明,系统运行正常,能准确进行秒表计数,达到了设计的要求。
序号
元件名
属性
序号
元件名
属性
1
AT89s52
单片机
2
7SEG-MPX$-CA
四位数码管
元件名称及属性
4.2硬件仿真结果图
分析:
proteus仿真的结果,与软件进行调试的结果一样,符合设计的要求,能够实现电子秒表的计数,达到了预期的要求。
五心得体会
参考文献
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 电子秒表 电子 秒表
![提示](https://static.bingdoc.com/images/bang_tan.gif)