[毕业设计精品]基于单片机AT89S51的99马表的设计.doc

上传人:文库蛋蛋多 文档编号:3932800 上传时间:2023-03-28 格式:DOC 页数:34 大小:639KB
返回 下载 相关 举报
[毕业设计精品]基于单片机AT89S51的99马表的设计.doc_第1页
第1页 / 共34页
[毕业设计精品]基于单片机AT89S51的99马表的设计.doc_第2页
第2页 / 共34页
[毕业设计精品]基于单片机AT89S51的99马表的设计.doc_第3页
第3页 / 共34页
[毕业设计精品]基于单片机AT89S51的99马表的设计.doc_第4页
第4页 / 共34页
[毕业设计精品]基于单片机AT89S51的99马表的设计.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《[毕业设计精品]基于单片机AT89S51的99马表的设计.doc》由会员分享,可在线阅读,更多相关《[毕业设计精品]基于单片机AT89S51的99马表的设计.doc(34页珍藏版)》请在三一办公上搜索。

1、毕业设计基于单片机的99马表设计班级: 电子512 专业: 应用电子技术 所在系: 机电工程系 学号: 指导老师: 完成时间2008年4月10日至2008年6月18日目录摘要:2引言:3第一章 单片机的发展与应用41.1、单片机的发展41.1.1、单片机的概念41.2、MCS-51单片机的简介4第二章 基于单片机AT89C51的99马表硬件系统82.1、基于单片机AT89C51的99马表原理82.11、主要功能:82.1.2、系统板上硬件连线92.2、AT89S51的介绍92.2.1、主要特性102.2.2、管脚说明102.2.3、振荡器特性122.2.4、芯片擦除122.3、基于AT89S5

2、1的99马表外围电路设计132.3.1、 复位电路132.3.2、时钟电路152.3.3、数码管152.3.4、键盘电路18第三章 基于AT89S51的99马表软件系统203.1、基于单片机AT89S51的99马表汇编程序203.1.1、基于单片机AT89S51的99马表流程图203.1.2、基于单片机AT89S51的99马表汇编程序213.2、Keil uVision2集成开发环境介绍253.21、keil的使用步骤253.4仿真软件Proteus273.4.1、基于Proteus软件的系统硬件仿真设计273.4.2、基于Proteus软件的系统硬件仿真运行283.5、硬件系统的设计283.

3、5.1、Protel DXP概述283.5.2、原理图设计系统的特点283.5.3、印制电路板(PCB)的设计系统的特点30第四章 小结与展望314.1、小结314.2、全文展望31致 谢32参考文献33摘要:近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。系统实用性强、操作简单、扩展性强。本文介绍了基于单片机AT89S51的99马表的设计,重点讨论了AT89S51单片机周围硬件电路的原理和软件的编程以及仿真软件对电路功能的实现。关键词:单片机 99马表 设计 实现 ABSTRACT:In recent years along with scienc

4、e and technology develop fast, the application of single flat machine is moving towards thorough continuously, at the same time drive traditional control detection day the benefit of new moon update. The system usability is strong, simplicity of operator, extended. This article introduced based on t

5、he monolithic integrated circuit AT89S51 99 stop watch designs, Discussed around with emphasis at89S51 monolithic integrated circuit hardware circuits principle and softwares programming as well as the simulation software to electric circuit function realization. Keywords: Only flat machine 99 stopw

6、atches Design Realize引言:在单片机技术日趋成熟的今天,其灵活的硬件电路的设计和软件的设计,让单片机得到了广泛的应用,几乎是从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。单片机小的系统结构几乎是所有具有可编程硬件的一个缩影,可谓是“麻雀虽小,肝胆俱全”,单片机的学习和研究是对微机系统学习和研究的简捷途径。本文中设计的基于AT89S51单片的99马表具有体积小,结构简单,易于操作等特性,还具有强大的扩展功能。它能够精确计时,并具有开始计时,计时停止,清零等功能,在运动会上,汽车上等一些需要计时的地方处处可见它的生影。特别是利用单片机做的马表,因其显示精准,误差

7、小,价格较低而广受欢迎。第一章 单片机的发展与应用1.1、单片机的发展1.1.1、单片机的概念 自1946年第一台数字式电子计算机ENIAC在美国宾夕法尼亚大学诞生以来,计算机的发展已经历了四代,微型计算机属于第四代计算机。对微型计算机而言,如果将CPU、存储器、I/O接口以及定时器/记数器集成在一块芯片上,就成为单片微型计算机(SUM,single Chip Microcomputer),简称单片机。它具有体积小、功耗低、可靠性高、抗干扰能力强、价格低等优点,被广泛应用于检测和控制领域。此外,单片机在家用电器、电子玩具、语言设备、机器人等各个领域的应用也迅速发展。随着单片机在技术上、体系结构

8、上的不断发展,国际上逐渐采用“微控制器(MCU,Micro Controller Unit)”来代替“单片微型计算机”这一名称,但在国内,由于习惯,我们仍沿用“单片机”这一名称。1.2、MCS-51单片机的简介51系列单片机是由美国Intel公司生产的以80C51为核心发展起来的各类单片机型号系列的总称。这类单片机都使用80C51的CPU内核及指令系统,且MCS-51系列中的8051成为许多半导体厂家。电气公司竞相选用的对象并以其为基核,推出了许多兼容性的CHMOS单片机,且这些单片机都具有极好的兼容性,并有很强的生命力,统称80C51系列MCS-51系列单片机产品有8051,8031,875

9、1,80C51,80C31等型号(前三种为CMOS芯片,后两种为CHMOS芯片)。它们的结构基本相同,其主要差别反映在存储器的配置上。8051内部设有4K字节的掩模ROM程序存储器,8031片内没有程序存储器,而8751是将8051片内的ROM换成EPROM。由ATMEL公司生产的89C51将EPROM改成了4K的闪速存储器,他们的结构大同小异。MCS-51单片机内部结构8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。下图是MCS-51系列单片机的内部结构示意图2。8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口

10、、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:图11)中央处理器(CPU):中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。2)数据存储器(RAM):8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。3)程序存储器(RO

11、M):8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。4)定时/计数器(ROM):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。5)并行输入输出(I/O)口:8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。6)全双工串行口:8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。7)中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。TCON的中断标

12、志: 位号 7 6 5 4 3 2 1 0TF1TR1TF0TR0IE1IT1IE0TT0字节地址: 88H IT0:外部中断INT0触发方式控制位。IE0:外部中断INT0中断请求标志位。IE0=1时,表示INTO向CPU请求中断。IT1:外部中断INT1触发方式控制位。IE1:外部中断INT1中断请求标志位。IE0=1时,表示INT1向CPU请求中断。TF0:定时/计数器T0益出中断请求标志位。在T0启动后就开始由出值加1记数,直至最高位产生益出由硬件置位TF0,向CPU响应中断。CPU响应中断时,TF0由硬件自动清0。TF1:定时/计数器T1益出中断请求标志位。中断允许控制:CPU对中断

13、系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。IE的状态可通过程序由软件设定。某位设定为1,相应的中断源允许;某位设定为0,相应的中断源屏蔽。CPU复为时,IE各位清0,禁止所有中断。IE寄存器:位号 7 6 5 4 3 2 1 0EAESET1EX1ET0EX0字节地址: A8HEX0:外部INT0中断允许位。ET0:定时/计数器T0中断允许位。EX1:外部INT1中断允许位。ET1:定时/计数器T0中断允许位。ES:串行口中断允许位。EA:CPU中断允许(总允许)位。第二章 基于单片机AT89C51的99马表硬件系统2.1、基于单片机AT89C51的99马表原理2.1

14、1、主要功能: 1)开始时,显示“00”,第1次按下SP1后就开始计时。2)第2次按SP1后,计时停止。 3)第3次按SP1后,计时归零。 图2-1 基于单片机AT89C51的99马表原理图2.1.2、系统板上硬件连线 1)把“单片机系统”区域中的P1.0/AD0P1.7/AD7端口分别用导连接到LED数码显示器U2的ah端口上;要求:P1.0/AD0对应着a,P1.1/AD1对应着b,P1.7/AD7对应着h。2)把“单片机系统”区域中的P2.0/A8P2.7/A15端口分别用导连接到LED数码显示器U1的ah端口上;要求:P2.0/A8对应着a,P2.1/A9对应着b,P2.7/A15对应

15、着h。 3) 把“单片机系统“区域中的P3.5/T1用导线连接到”独立式键盘“区域中的SP1端口上; 2.2、AT89S51的介绍AT89S51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。如

16、图2-2图2-2 AT89S51引脚图2.2.1、主要特性1) 与MCS-51 兼容 2) 4K字节可编程闪烁存储器 3) 寿命:1000写/擦循环4) 数据保留时间:10年5) 全静态工作:0Hz-24Hz6) 三级程序存储器锁定7) 128*8位内部RAM8) 32可编程I/O线9) 两个16位定时器/计数器10) 5个中断源 11) 可编程串行通道12) 低功耗的闲置和掉电模式13)片内振荡器和时钟电路 2.2.2、管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部

17、程序数据存储器,它可以被定义为数据/地址的第八位。在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口的管脚被

18、外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:p3口管脚 备选功

19、能1)P3.0 RXD(串行输入口)2)P3.1 TXD(串行输出口)3)P3.2 /INT0(外部中断0)4)P3.3 /INT1(外部中断1)5)P3.4 T0(记时器0外部输入)6)P3.5 T1(记时器1外部输入)7)P3.6 /WR(外部数据存储器写选通)8)P3.7 /RD(外部数据存储器读选通)9)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周

20、期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程

21、序存储器。注意加密方式1时,EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2.2.3、振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。2.2.4、芯片擦除整个PEROM阵列和三个锁

22、定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89S51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。2.3、基于AT89S51的99马表外围电路设计2.3.1、 复位电路系统复位是任何微机系统的第一步,它能使整个控制芯片回到默认的硬件初始状态下。复位对单片机来

23、说,就是回到初始状态,程序计数器赋值0000H,为程序运行做好贮备工作。1)复位的实现:当在单片机的RST引脚上加上高电平并保持两个机器周期(24个始终震荡周期),就可以完成复位操作。为了达到这个要求,可以使用很多方法,这里提供一种方法参考,其电路图如2-3所示。 MCS-51RES +5V 1K 10F按键 地 图2-3 复位电路这种复位电路的工作原理是:通电时,电容两段相当于是短路,于是RST引脚上为高电平,然后电源通过电阻对电容充电,RST端电压慢慢下降,经过一段时间,达到低电平,单片机开始正常工作。根据实际操作的经验,图1-2中复位电路的电容、电阻参考值分别为C=10uF,R1=1K,

24、R2=10K。2)单片机复位后的状态单片机的复位操作使单片机进入初始化状态。51单片机在系统复位时,将其内部的一些重要寄存设置为特定的值,其中包括使程序计数器PC为0000H,程序从0000H地址单元开始执行;21个特殊功能寄存器复位后的状态为确定值;P0、P1、P2、P3口输出高电平;运行中的复位操作不改变内部RAM的数据,重新上电时片内RAM则为随机值,如表2-4所示。表2-4 21个特殊功能寄存器复位后的状态特殊功能寄存器初始状态特殊功能寄存器初始状态A00HTMOD00HB00HTCON00HPSW00HTH000HSP07HTL000HDPL00HTH100HDPH00HTL100H

25、P0P3FFHSBUF 不定IP00000BSCON00HIE000000BPCON0B PSW=00H:表明选积存器0组为工作寄存组。 SP=07H:表明堆栈指针指向片内RAM 07H字节单元。 P0P3=FFH:表明已向各端口线写入1,此时,各端口既可用于输入用可用于输出。 IP=XXX00000B:表明各个中断源处于低优先级 IE=0XX00000B:表明各个中断均被关断。 RST引脚的第二功能是作为备用电源的输入端,当主电源发生故障、电压值降低到规定的低电平时,+5V电源自动接入RST端,作为备用电源为系统供电,保证复位后能继续正常运行。2.3.2、时钟电路AT89C51片内设有一个由

26、反向放大器所构成的振荡电路,XTAL1和 XTAL2分别为振荡电路的输入和输出端,时钟可以由内部方式产生或外部方式产生。内部方式时钟电路如图2-5所示。在XTAL1和 XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶振可以在1.2MHz到12MHz之间选择,电容值在5-30PF之间选择,电容的大小可起频率微调作用。XTAL1XTAL2 电容1 晶振电容2图2-5内部方式时钟电路外部方式的时钟很少用,若要用时,只要将XTAL1接地,XTAL2接外部振荡器就行。对外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于12MHz的方波

27、信号。时钟发生器把振荡频率两分频,产生一个两相时钟信号P1和P2供单片机使用。P1在每一个状态S的前半部分有效,P2在每个状态的后半部分有效。2.3.3、数码管在数字需要用数字器件将数字、文字和符号直观地显示出来。能够用来直观显示数字、文字和符号的器件称为显示器。数字管器件的种类很多,按显示方式的不同,可分为字形重迭式、分段式样、点阵式;按发光材料不同可分为荧光管显示器、半导体发光二极管显示器(LED)和液晶显示器(LCD)等。本设计运用的是LED数码管。LED数码显示器是一种由LED发光二极管组合显示字符的显示器件。它使用了8个LED发光二极管,其中7个用于显示字符,1个用于显示小数点。LE

28、D数码显示器有两种连接方法:1) 共阴极接法(如图2.2)。把发光二极管的阳极连在一起构成公共阴极,使用时公共阴极接地,每个发光二极管的阳极通过电阻与输入端相连。当阳极端输入低电平时,发光二极管就导通点亮,而输入高电平时则不点亮。 图2.2 共阴极接线图2) 共阳极接法(图2.3)。 把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接地。每个发光二极管的阴极通过电阻与输入端相连。当阴极端输入高电平时,发光二极管就导通点亮,而输入低电平时则不点亮。 图2.3共阳极线路图LED显示器的特点是清晰悦目工作电压低(1.53V) 体积小寿面长响应速度快颜色丰富(有红绿黄) 工作可靠.表2-8 LC

29、D数码管显示字形与字段码关系显示字形共阳极字段码共阴极字段码显示字形共阳极字段码共阴极字段码0C0H3FH990H6FH1待添加的隐藏文字内容3F9H06Ha88H77H2A4H5BHb83H7CH3B0H4FHcC6H39H499H66HdA1H5EH592H6DHe86H79H682H7DHf8EH71H7F8H07Hg(熄灯)FFH00H880H7FH2.3.4、键盘电路1)键盘的结构与原理触点式按键开关,起主要功能是把机械上的通断转换为电气上的逻辑关系(1和0)。常见的种类有:独立式按键和矩阵式键盘。 开始时,显示“00”,第1次按下SP1后就开始计时。第3次按SP1后,计时归零。 第

30、2次按SP1后,计时停止。(图2-9 键盘控制电路) 图2-9 键盘控制电路2)按键电路的抖动问题由于按键是机械触点,当机械触点断开、闭合时,会有抖动,这种抖动对于人来说是感觉不到的,但对于计算机来说,则是完全可以感觉到的,因为计算机处理的速度是在微秒级,而机械抖动的时间至少是毫秒级,对计算机而言,这已是个“漫长”的时间了。为使CPU能正确地读出按键的状态,对每一次按键只作一次响应,就必须考虑如何去除抖动。常用的去除抖动方法有两种:硬件方法和软件方法。单片机中常用软件法,软件法其实很简单,就是在单片机获得端口为低的信息后,不是立即认定开关已被按下,而是延时10ms或更长一些时间后再次检测该口,

31、如果认为低电平,说明开关的确按下了,这实际上是避开了按键按下的抖动时间。以上是消除键斗动的原则。在本片电路中消除键的抖动是调用一个5ms的延时程序。第三章 基于AT89S51的99马表软件系统3.1、基于单片机AT89S51的99马表汇编程序3.1.1、基于单片机AT89S51的99马表流程图1)主程序框图T0中断服务程序框图 图4.17.2 3.1.2、基于单片机AT89S51的99马表汇编程序TCNTA EQU 30H ;初始化TCNTB EQU 31H SEC EQU 32H KEYCNT EQU 33H SP1 BIT P3.5 ORG 00H ;主程序从00起 LJMP START

32、ORG 0BH ;定时器0中断 0BH起 LJMP INT_T0 START: MOV KEYCNT,#00H ;按键统计为0 MOV SEC,#00H ;秒内容(32H)为0 MOV A,SEC ;显示秒内容 MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,A+DPTR MOV P1,A ;显示十位 MOV A,B MOV DPTR,#TABLE MOVC A,A+DPTR MOV P2,A ;显示个位 MOV TMOD,#02H ;选择8位定时工作方式;工作方式2就具有自动重装载功能,即自动加载计数初值,所以也有的文献称之为自动重加载工作方式。在这种工作方式

33、中,16位计数器分为两部分,即以TL0为计数器,以TH0作为预置寄存器,初始化时把计数初值分别加载至TL0和TH0中,当计数溢出时,不再象方式0和方式1那样需要“人工干预”,由软件重新赋值,而是由预置寄存器TH以硬件方法自动给计数器TL0重新加载。 SETB ET0 SETB EA WT: JB SP1,WT ;直接寻址位为1转移(按键按下时SP1为0) LCALL DELY10MS JB SP1,WT ;接着SP1变为1 INC KEYCNT MOV A,KEYCNT CJNE A,#01H,KN1 ;立即数与A比较,不等转移 SETB TR0 ;TR0置1,启动定时器T0 , 允许定时/计

34、数器计数 MOV TH0,#06H ;用于自动恢复定时初值 MOV TL0,#06H ;置T0定时初值250us ( 2的8次方减250,再转为16进制) MOV TCNTA,#00H MOV TCNTB,#00H LJMP DKN KN1: CJNE A,#02H,KN2 CLR TR0 LJMP DKN KN2: CJNE A,#03H,DKN ;清零 MOV SEC,#00H MOV A,SEC MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,A+DPTR MOV P1,A MOV A,B MOV DPTR,#TABLE ; MOVC A,A+DPTR M

35、OV P2,A MOV KEYCNT,#00H DKN: JNB SP1,$ ;直接寻址为0转移,否则循环 LJMP WT DELY10MS: MOV R6,#20 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 ;(248*2+2)*20=9960 10MS延时 RET ;子程序返回INT_T0: INC TCNTA MOV A,TCNTA CJNE A,#100,NEXT ;不等转移 MOV TCNTA,#00H INC TCNTB MOV A,TCNTB CJNE A,#40,NEXT ;不等转移 MOV TCNTB,#00H INC SEC MOV A,SEC

36、 CJNE A,#100,DONE MOV SEC,#00H DONE: MOV A,SEC MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,A+DPTR MOV P1,A MOV A,B MOV DPTR,#TABLE MOVC A,A+DPTR MOV P2,A NEXT: RETI TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END 3.2、Keil uVision2集成开发环境介绍Keil uVision2集成开发环境是基于80c51内核的软件开发平台,支持工程建立,程序的编译与链接,软件仿真,硬件

37、仿真,目标代码的生成等功能。Keil uVision2编译器在产生代码的准确性和效率达到了较高的水平。 Keil uVision2的安装与其他软件类似。Keil集成开发环境的工具栏,菜单等的使用,可参考集成开发环境的帮助文件。 与大多数集成开发环境类似,keil集成开发环境也使用工程的方法来管理文件,在一个工程文件中源程序(c51程序、汇编程序)头文件等都可以进行统一管理。3.21、keil的使用步骤1)双击桌面keil.u.vision2快捷图标.进入keil集成开发环境.在主菜单中选择ProjectNew project.建立一个新工程pltest.uv2,并根据提示进行工程的保存等操作。

38、2)工程保存后,keilc51.u.vision2.将立即弹出对话器件选择框。不同型号的51单片机内部资源不同,keilc51.u.vision2可以根据所选定的芯片进行SFP预定义,在软、硬件仿真时提供观察窗口等,这里假定选用了Atmel公司的AT89C51单片机。3)新建.c或.asm 文件并保存代码。这里假设编写的汇编程序和c51程序命名为P1test.asm和P1test.c。P1test.asm和P1test.c文件也可用其他编辑软件事先写好,再进行在工程中添加源文件,将P1test.asm添加到工程中,这样即可完成一个完整工程的建立工程。添加完P1test.asm后的窗口。至此,工

39、程文件已经做好了进行编译链接的准备。4)单击编译工程快捷图标或选择下拉菜单中的编译链接选项,即可在Build窗口中看到编译链接结果。5)Keilc51.u.vision2集成开发环境为用户提供了仿真调试功能,对应工程选项对话框中Debug选项卡的USE Simulator选项,集成开发环境还为制造商提供了Keil Monitor-51 Driver接口,制造商可以利用该接口设计硬件仿真接口。此外仅使用开发环境的软件仿真调试功能,选中调试菜单的开始调试选项进行软件仿真,进入调试状态后软件仿真的调试及观察窗口。5)U.vision2中给出了全速运行、单步运行等多种运行方式。以及观察各种变量的窗口,

40、用户可以根据需要使用。6)编译仿真过程中可以调试软件的语法错误,在软件仿真时可以观察到P1口的变化是否符合要求等。要使程序真正能点亮发光二极管,还应与硬件相结合,给出了硬件的接线图,可将仿真器与硬件相连。点亮发光二极管,还可将可执行文件写入芯片直接测试程序执行。写入芯片的文件一般为.HEX文件,要得到.HEX文件,可在工程选项对话框中选择OUTPUT选项卡,选中Great HEX File项即可。下图3-1是Keil软件开发AT89C5199马表的汇编程序介面:图3-1Keil软件开发基于AT89S51的99马表的汇编程序介面3.4仿真软件ProteusProteus软件的特点:全部满足我们提

41、出的单片机软件的标准,并在同类产品中具有明显的优势。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、12C调试器、SP1调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列!PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。支持大量的存储器和外围芯片。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,是其他任何一款软件不能相比的。3.4.1、基于Proteus软件的系统硬件仿真设计图3-2Pr

42、otenus软件的系统硬件原理图3.4.2、基于Proteus软件的系统硬件仿真运行 图3-3Proteus环境下运行效果3.5、硬件系统的设计3.5.1、Protel DXP概述 Protel DXP是Altium公司于2002年推出的板极电路设计系统,主要运行于WindowsXP操作系统。在套软件把原理图设计、电路仿真、PCB绘制编辑、拓扑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全线的设计解决方案,使设计者可以轻松进行设计。3.5.2、原理图设计系统的特点原理图是电子产品设计的第一步,Protel DXP的原理图编辑器为设计者提供高速、智能的原理图编辑手段。图3-6所示为基于AT89S5199马表的原理图。 图3-6所示为基于AT89S5199马表的原理图原理图设计系统的特点具有以几点:(1)方便灵活的编辑功能(2)多通道设计(3)在线元器件库编辑器的库文件管理(4)分层次组织的设计环境(5)与PCB

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号