当前位置:文档之家› 电子系毕业论文

电子系毕业论文

电子系毕业论文
电子系毕业论文

盐城纺织职业技术学院毕业设计

基于单片机的99马表设计

黄晓芳

班级:电子512

专业:应用电子技术

所在系:机电工程系

学号:053052111

指导老师:罗文华

完成时间2008年4月10日至2008年6月18日

目录

摘要: (3)

引言: (4)

第一章单片机的发展与应用 (5)

1.1、单片机的发展 (5)

1.1.1、单片机的概念 (5)

1.2、MCS-51单片机的简介 (5)

第二章基于单片机AT89C51的99马表硬件系统 (9)

2.1、基于单片机AT89C51的99马表原理 (9)

2.1.1、主要功能: (9)

2.1.2、系统板上硬件连线 (10)

2.2、AT89S51的介绍 (10)

2.2.1、主要特性 (11)

2.2.2、管脚说明 (11)

2.2.3、振荡器特性 (13)

2.2.4、芯片擦除 (13)

2.3、基于AT89S51的99马表外围电路设计 (14)

2.3.1、复位电路 (14)

2.3.2、时钟电路 (16)

2.3.3、数码管 (16)

2.3.4、键盘电路 (19)

第三章基于AT89S51的99马表软件系统 (21)

3.1、基于单片机AT89S51的99马表汇编程序 (21)

3.1.1、基于单片机AT89S51的99马表流程图 (21)

3.1.2、基于单片机AT89S51的99马表汇编程序 (22)

3.2、K EIL U V ISION2集成开发环境介绍 (26)

3.2.1、keil的使用步骤 (26)

3.4仿真软件P ROTEUS (28)

3.4.1、基于Proteus软件的系统硬件仿真设计 (28)

3.4.2、基于Proteus软件的系统硬件仿真运行 (29)

3.5、硬件系统的设计 (29)

3.5.1、Protel DXP概述 (29)

3.5.2、原理图设计系统的特点 (29)

3.5.3、印制电路板(PCB)的设计系统的特点 (31)

第四章小结与展望 (32)

4.1、小结 (32)

4.2、全文展望 (32)

致谢 (33)

参考文献 (34)

摘要:

近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。系统实用性强、操作简单、扩展性强。本文介绍了基于单片机AT89S51的99马表的设计,重点讨论了AT89S51单片机周围硬件电路的原理和软件的编程以及仿真软件对电路功能的实现。

关键词:单片机 99马表设计实现

ABSTRACT:

In recent years along with science 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 the monolithic integrated circuit AT89S51 99 stop watch designs, Discussed around with emphasis at89S51 monolithic integrated circuit hardware circuit's principle and software's programming as well as the simulation software to electric circuit function realization.

Keywords: Only flat machine 99 stopwatches Design Realize

引言:

在单片机技术日趋成熟的今天,其灵活的硬件电路的设计和软件的设计,让单片机得到了广泛的应用,几乎是从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。单片机小的系统结构几乎是所有具有可编程硬件的一个缩影,可谓是“麻雀虽小,肝胆俱全”,

单片机的学习和研究是对微机系统学习和研究的简捷途径。本文中设计的基于AT89S51单片的99马表具有体积小,结构简单,易于操作等特性,还具有强大的扩展功能。它能够精确计时,并具有开始计时,计时停止,清零等功能,在运动会上,汽车上等一些需要计时的地方处处可见它的生影。特别是利用单片机做的马表,因其显示精准,误差小,价格较低而广受欢迎。

第一章单片机的发展与应用

1.1、单片机的发展

1.1.1、单片机的概念

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

随着单片机在技术上、体系结构上的不断发展,国际上逐渐采用“微控制器(MCU,Micro Controller Unit)”来代替“单片微型计算机”这一名称,但在国内,由于习惯,我们仍沿用“单片机”这一名称。

1.2、MCS-51单片机的简介

51系列单片机是由美国Intel公司生产的以80C51为核心发展起来的各类单片机型号系列的总称。这类单片机都使用80C51的CPU内核及指令系统,且MCS-51系列中的8051成为许多半导体厂家。电气公司竞相选用的对象并以其为基核,推出了许多兼容性的CHMOS单片机,且这些单片机都具有极好的兼容性,并有很强的生命力,统称80C51系列

MCS-51系列单片机产品有8051,8031,8751,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)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:

图1

1)中央处理器(CPU):

中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

2)数据存储器(RAM):

8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。

3)程序存储器(ROM):

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的中断标志:

位号 7 6 5 4 3 2 1 0

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对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。IE的状态可通过程序由软件设定。某位设定为1,相应的中断源允许;某位设定为0,相应的中断源屏蔽。CPU复为时,IE各位清0,禁止所有中断。

IE寄存器:

位号 7 6 5 4 3 2 1 0

EX0:外部INT0中断允许位。

ET0:定时/计数器T0中断允许位。

EX1:外部INT1中断允许位。

ET1:定时/计数器T0中断允许位。

ES:串行口中断允许位。

EA:CPU中断允许(总允许)位。

第二章基于单片机AT89C51的99马表

硬件系统

2.1、基于单片机AT89C51的99马表原理

2.1.1、主要功能:

1)开始时,显示“00”,第1次按下SP1后就开始计时。

2)第2次按SP1后,计时停止。

3)第3次按SP1后,计时归零。

图2-1 基于单片机AT89C51的99马表原理图

2.1.2、系统板上硬件连线

1)把“单片机系统”区域中的P1.0/AD0-P1.7/AD7端口分别用导连接到LED 数码显示器U2的a-h端口上;要求:P1.0/AD0对应着a,P1.1/AD1对

应着b,……,P1.7/AD7对应着h。

2)把“单片机系统”区域中的P2.0/A8-P2.7/A15端口分别用导连接到LED 数码显示器U1的a-h端口上;要求:P2.0/A8对应着a,P2.1/A9对应

着b,……,P2.7/A15对应着h。

3)把“单片机系统“区域中的P3.5/T1用导线连接到”独立式键盘“区域中的SP1端口上;

2.2、AT89S51的介绍

AT89S51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。如图2-2

图2-2 AT89S51引脚图

2.2.1、主要特性

1)与MCS-51 兼容

2)4K字节可编程闪烁存储器

3)寿命:1000写/擦循环

4)数据保留时间:10年

5)全静态工作:0Hz-24Hz

6)三级程序存储器锁定

7)128*8位内部RAM

8)32可编程I/O线

9)两个16位定时器/计数器

10)5个中断源

11)可编程串行通道

12)低功耗的闲置和掉电模式

13)片内振荡器和时钟电路

2.2.2、管脚说明

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口管脚备选功能

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端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的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)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

2.2.3、振荡器特性

XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

2.2.4、芯片擦除

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持

ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89S51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

2.3、基于AT89S51的99马表外围电路设计

2.3.1、复位电路

系统复位是任何微机系统的第一步,它能使整个控制芯片回到默认的硬件初始状态下。复位对单片机来说,就是回到初始状态,程序计数器赋值0000H,为程序运行做好贮备工作。

1)复位的实现:

当在单片机的RST引脚上加上高电平并保持两个机器周期(24个始终震荡周期),就可以完成复位操作。为了达到这个要求,可以使用很多方法,这里提供一种方法参考,其电路图如2-3所示。

+5V

图2-3 复位电路

这种复位电路的工作原理是:通电时,电容两段相当于是短路,于是RST 引脚上为高电平,然后电源通过电阻对电容充电,RST端电压慢慢下降,经过一

段时间,达到低电平,单片机开始正常工作。

根据实际操作的经验,图1-2中复位电路的电容、电阻参考值分别为C=10uF,R1=1KΩ,R2=10KΩ。

2)单片机复位后的状态

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

表2-4 21个特殊功能寄存器复位后的状态

①PSW=00H:表明选积存器0组为工作寄存组。

②SP=07H:表明堆栈指针指向片内RAM 07H字节单元。

③P0—P3=FFH:表明已向各端口线写入1,此时,各端口既可用于输入用可

用于输出。

④IP=XXX00000B:表明各个中断源处于低优先级

⑤IE=0XX00000B:表明各个中断均被关断。

⑥RST引脚的第二功能是作为备用电源的输入端,当主电源发生故障、电压

值降低到规定的低电平时,+5V电源自动接入RST端,作为备用电源为系统供电,保证复位后能继续正常运行。

2.3.2、时钟电路

AT89C51片内设有一个由反向放大器所构成的振荡电路,XTAL1和 XTAL2分别为振荡电路的输入和输出端,时钟可以由内部方式产生或外部方式产生。内部方式时钟电路如图2-5所示。在XTAL1和 XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶振可以在1.2MHz到12MHz之间选择,电容值在5-30PF之间选择,电容的大小可起频率微调作用。

电容1

电容

图2-5内部方式时钟电路

外部方式的时钟很少用,若要用时,只要将XTAL1接地,XTAL2接外部振荡器就行。对外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于12MHz的方波信号。

时钟发生器把振荡频率两分频,产生一个两相时钟信号P1和P2供单片机使用。P1在每一个状态S的前半部分有效,P2在每个状态的后半部分有效。

2.3.3、数码管

在数字需要用数字器件将数字、文字和符号直观地显示出来。能够用来直观显示数字、文字和符号的器件称为显示器。数字管器件的种类很多,按显示方式

的不同,可分为字形重迭式、分段式样、点阵式;按发光材料不同可分为荧光管显示器、半导体发光二极管显示器(LED)和液晶显示器(LCD)等。本设计运用的是LED数码管。

LED数码显示器是一种由LED发光二极管组合显示字符的显示器件。它使用了8个LED发光二极管,其中7个用于显示字符,1个用于显示小数点。LED数码显示器有两种连接方法:

1)共阴极接法(如图2.2)。

把发光二极管的阳极连在一起构成公共阴极,使用时公共阴极接地,每个发光二极管的阳极通过电阻与输入端相连。当阳极端输入低电平时,发光二极管就导通点亮,而输入高电平时则不点亮。

图2.2 共阴极接线图

2)共阳极接法(图2.3)。

把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接地。每个发光二极管的阴极通过电阻与输入端相连。当阴极端输入高电平时,发光二极管就导通点亮,而输入低电平时则不点亮。

图2.3共阳极线路图

LED显示器的特点是清晰悦目﹑工作电压低(1.5~3V) ﹑体积小﹑寿面长﹑响应速度快﹑颜色丰富(有红﹑绿﹑黄) ﹑工作可靠.

表2-8 LCD数码管显示字形与字段码关系

2.3.4、键盘电路

1)键盘的结构与原理

触点式按键开关,起主要功能是把机械上的通断转换为电气上的逻辑关系(1和0)。常见的种类有:独立式按键和矩阵式键盘。

开始时,显示“00”,第1次按下SP1后就开始计时。第3次按SP1后,计时归零。第2次按SP1后,计时停止。(图2-9 键盘控制电路)

图2-9 键盘控制电路

2)按键电路的抖动问题

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

相关主题
文本预览
相关文档 最新文档