版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEword文档可自由复制编辑工程设计介绍用8051单片机实现的99秒马表计时系统,系统充分利用了8051各种内部资源,使得整个系统的软硬件设计相对简化,易于实现。关键字:8051单片机马表Abstract:Inthisarticle,akindof99sstopwatchsystemonbasisofthe8051Mictoconrtollerisintroduced.Thehardwaredesignandsoftwaredesignofthesystemaresimplifiedbymakinggooduseoftheinternalresourcesofthe8051Microcontroller.Itcaneasilyberealizedandhasbroadappliedfields.Keywords:8051Microcontrollerstopwatch实现功能系统从0开始计时,到99后再循环,触动一次开关为开始计时信号,触动第二次后暂停计时,触动第三次后清零。二.设计概要该系统以8051单片机为主芯片,通过两个LED数码管显示计时输出的时间,通过开中断实现按键的读取。此外设有加电和手动复位功能,以便出现系统错误时进行复位。器件介绍1.8051单片机8051单片机内部结构
8051是MCS-51系列单片机的典型产品,
8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在分别加以说明:·中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。·数据存储器(RAM)
8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。 图1·程序存储器(ROM):8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。·定时/计数器(ROM):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。·并行输入输出(I/O)口:8051共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。·全双工串行口:8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。·中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。·时钟电路:8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。下图是MCS-51系列单片机的内部结构示意图2。图28051的引脚说明:MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在对这些引脚的功能加以说明:如图3:Pin9:RESET/Vpd复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PCP0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态。8051单片机8051的复位方式可以是自动复位,也可以是手动复位,见下图3。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。 图3·Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程其间,将用于输入编程脉冲。·Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。·Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,EA端必须接地。在编程时,EA/Vpp脚还需加上21V的编程电压。2.七段共阴LED数码管七段共阴数码管由七个发光二极管(LED)和一个小数位灯组成,LED由特殊的半导体材料砷化镓、磷砷化镓等组成。分段式显示器(LED数码管)由7条线段围成8字型,每一段包含一个发光二极管,外加正电压时二极管导通,通过不同的配合显示出所要的数字。LED数码管有共阳、共阴之分,如图所示位共阴数码管,其所有二极管的阴极共用一端,使用时,公共阴极接地,7个阳极a~g由对应的端口驱动,下表为分别显示0~9时对应的输入:共阴LED数码管输入显示abcdefg11111100011000011101101211110013011001141011011510111116111000071111111811110119四.硬件电路总电路如下:总电路图1.复位电路复位电路图电路图如上所示,采用上电或开关复位,原理是通过电容的充放电实现,当系统出现异常时,可以通过开关复位使其正常。2.时钟电路时钟电路图如上图所示,该电路采用12MHz晶振,用C2、C3增强抗干扰能力,选10pF~50pF之间的电容即可。由于该系统用的是12MHz的晶振,所以振荡周期为1/12μS,一个振荡脉冲为一个拍节,振荡脉冲经过二分频后就是单片机的时钟信号,即一个时钟信号包括两个振荡脉冲,每两个振荡周期就组成状态周期,状态周期是完成一种微机操作的周期。机器周期包括6个状态周期,是指完成一种基本操作的周期,所以机器周期为1μS。3.数码管接口电路数码管接口电路如上图所示:把“单片机系统”区域中的P0.0-P0.7端口用8芯排线连接到数码管1的a-dp端口上,要求:P0.0对应着a,P0.1对应着b,……,P0.7对应着dp;“单片机系统”区域中的P2.0-P2.7端口用8芯排线连接到数码管2的a-h端口上,要求同上,共阴级接地。4.中断输入电路中断输入电路如上图所示,系统采用从T0口读取中断形式,直接用开关与地相连,当开关闭合时,端口输入为低电位。五.软件系统主程序框图T0中断服务程序框图汇编源程序主程序
TCNTAEQU30H初始化数据
TCNTBEQU31H
SECEQU32H
KEYCNTEQU33H
SP1BITP3.5中断输入位
ORG00H
LJMPSTART为复位做准备
ORG0BH
LJMPINT_T0
START:MOVKEYCNT,#00H
MOVSEC,#00H
MOVA,SEC
MOVB,#10被除数赋值
DIVAB除10后便于十进制输出
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A输出十位
MOVA,B
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP2,A输出个位
MOVTMOD,#02H设T0计数器为方式2工作方式
SETBET0允许t0中断
SETBEA开中断允许总控位
WT:JBSP1,WT
LCALLDELY10MS延时,防止干扰信号
JBSP1,WT延时后再次测输入信号
INCKEYCNT
MOVA,KEYCNT
CJNEA,#01H,KN1是否触发开始计时
SETBTR0启动定时器T0
MOVTH0,#06H送初值
MOVTL0,#06H送重装初值
MOVTCNTA,#00H
MOVTCNTB,#00H
LJMPDKN
KN1:CJNEA,#02H,KN2是否触发暂停
CLRTR0关闭定时器T0
LJMPDKN
KN2:CJNEA,#03H,DKN是否触发清零
清零程序段MOVSEC,#00H
MOVA,SEC
MOVB,#10
DIVAB
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A
MOVA,B
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP2,A
MOVKEYCNT,#00H
DKN:JNBSP1,$
LJMPWT延时程序段
DELY10MS:
MOVR6,#20
D1:MOVR7,#248
DJNZR7,$
DJNZR6,D1
RET中断服务程序
INT_T0:
INCTCNTA
MOVA,TCNTA
CJNEA,#100,NEXT判断时间间隔是否达到0.1s
MOVTCNTA,#00H
INCTCNTB
MOVA,TCNTB
CJNEA,#4,NEXT
MOVTCNTB,#00H
INCSEC
MOVA,SEC
CJNEA,#100,DONE判断计时是否达到100
MOVSEC,#00H
DONE:MOVA,SEC输出显示
MOVB,#10
DIVAB
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A
MOVA,B
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP2,A
NEXT:RETI中断返回输出数字查表
TABLE:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
程序说明
1)主程序中T0初始化程序段如下:
SETBTR0启动定时器T0
MOVTH0,#06H送初值
MOVTL0,#06H送重装初值
其中初试值为6,且系统所用的的时12MHz的晶体振荡,所以计算得计数脉冲为:(256-6)×12/12=250μS,所以后面要用400(400×250=100000μS=0.1S)作为计数循环,以实现0.1秒的间隔。
2)DELY10MS的作用与算法
DELY10MS程序的加入主要是为了防
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 整本书阅读《乡土中国》课件 2024-2025学年统编版高中语文必修上册
- 《我与地坛 》课件 2024-2025学年统编版高中语文必修上册
- 2025届山西省昔阳县中学高三下学期第六次检测英语试卷含解析
- 2025届黑龙江省肇东一中高三3月份第一次模拟考试英语试卷含解析
- 湖北省黄冈市蔡河中学2025届高考仿真卷英语试卷含解析
- 2025届安徽省宣城市八校高三二诊模拟考试英语试卷含解析
- 福州屏东中学2025届高考数学五模试卷含解析
- 2025届营口市重点中学高三最后一卷语文试卷含解析
- 2025届湖北省武汉市达标名校高考临考冲刺英语试卷含解析
- 浙江省宁波市十校2025届高三下学期联合考试语文试题含解析
- 双选会策划书
- 新能源汽车电气系统检修(第2版)高职 全套教学课件
- 高考小说阅读分类导练:诗化小说(知识导读+强化训练+答案解析)
- 牛顿第一定律完整版课件
- 区域经济学试题及答案
- 五年级上册英语一课一练-Unit 6 In a nature park课时(4) 人教PEP(word版含答案)
- 内地律师事务所委托香港律师事务所的委托代理协议
- 2024年中国中信集团招聘笔试参考题库含答案解析
- 贷款服务保密协议
- 2024年会计总结及工作计划
- 周周清方案全套
评论
0/150
提交评论