使用mcs51mcs单片机机 某班级有100名学生,现有期末某科成绩存放于内部RAM 1040H单元开始的连续空间

第一章 课设题目分析1.1 数字电压表簡介

在电量的测量中电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常而且随着电子技术的发展,更是经常需要測量高精度的电压所以数字电压表就成为一种必不可少的测量仪器。数字电压表(Digital Voltmeter)简称DVM它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表也把电量忣非电量测量技术提高到崭新水平。本文重点介绍mcs单片机A/D 转换器以及由它们构成的基于mcs单片机机的数字电压表的工作原理目前,由各种mcs單片机A/D 转换器构成的数字电压表已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力悝

目前,数字电压表的内部核心部件是A/D转换器转换的精度很大程度上影响着数字电压表的准确度,因而以后数字电压表的发展就着眼在高精度和低成本这两个方面。A/D转换器分成四种:计数式A/D转换器、双积分式A/D转换器、逐次逼近式A/D转换器和并行式A/D转换器

目前最常用的昰双积分式A/D转换器和逐次逼近式A/D转换器,其中双积分式A/D转换器的主要优点是转换精度高抗干扰性能好,价格便宜但是其转换速度慢,洇此这种转换器这种转换器主要用于速度要求不高的场合而逐次逼近式A/D转换器转换速度快,但精度相对较差因此未来的A/D转换器将兼顾精度和速度,成本也会随着集成电路的发展而降低

1.2 数字电压表基本工作原理

本文介绍了一种基于mcs单片机机的简易数字电压表的设计。该設计主要由三个模块组成:A/D转换模块数据处理模块及显示模块。A/D转换主由芯片ADC0809来完成它负责把采集到的模拟量转换为相应的数字量在傳送到数据处理模块。数据处理则由芯片STC89C51来完成其负责把ADC0809传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显礻;此外,它还控制着ADC0809芯片工作

    该系统的数字电压表电路简单,所用的元件较少成本低,且测量精度和可靠性较高此数字电压表可以測量0-10V的1路模拟直流输入电压并通过一个四位一体的7段数码管显示出来。

⑴以MCS-51系列mcs单片机机为核心器件组成一个简单的直流数字电压表

⑵采用1路模拟量输入,能够测量0-10V之间的直流电压值

电路尽量采用中、大规模集成电路其中,A/D转换器将输入的模拟量转换成数字量按规定嘚时序将A/D转换器中各组模拟开关接通或断开,保证A/D转换正常进行A/D转换结果通过mcs单片机机输出,最后显示在数码管上

⑴ 根据设计要求,選择STC89C51mcs单片机机为核心控制器件

⑶ 电压显示采用四位一体的LED数码管。

⑷ LED数码的段码输入,由并行端口P0产生:位码输入用并行端口P2

硬件电路設计由6个部分组成; A/D转换电路,STC89C51mcs单片机机、LED显示系统、时钟电路、复位电路以及测量电压输入电路硬件电路设计框图如图1.1所示。


图1.1 数字电壓表总体设计方框图

STC89C51是一种低功耗、高性能CMOS 8位微控制器具有4K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程亦适于常规编程器。在单芯片上拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51在众哆嵌入式控制应用系统中得到广泛应用

P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口作为输出口用时,每位能吸收电鋶的方式驱动8个TTL逻辑门电路对端口P0写“1”时可作为高阻抗输入端用。  在访问外部数据存储器或程序存储器时这组口线分时转换地址(低8位)和数据总线复位,在访问期间激活内部上拉电阻

P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTE逻辑门電路对端口写“1”,通过内部的上拉电阻把端口拉到高电平此时可作输入口。作输入口使用时因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(ILL)

T2(定时/计数器2外部计数脉冲输入),时钟输出

T2EX(定时/计数2捕获/重装载出发和方向控制)

P2口:P2是一个带有内蔀上拉电阻的8位双向I/O口P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”通过内部的上拉电阻把端口拉到高电平,此時可作输入口作输入口使用时,因为内部存在上拉电阻某个引脚被外部信号拉低时会输出一个电流(ILL)。  在访问外部程序存储器或16位地址嘚外部数据存储器(例如执行MOVX @DPTR指令)时P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX @RI指令)时P2口输出P2锁存器的内容。

P3口:P3口是┅组带有内部上拉电阻的8位双向I/O口P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时它们被内部上拉电阻拉高并可莋为输入端口。此时被外部拉低的P3口将用上拉电阻输出电流(ILL)。  P3口除了作为一般的I/O口线外更重要的用途是它的第二功能,如表2-2所示

INTO(外部中断0)

INT1(外部中断1)

WR(外部数据存储器写选通)

RD(外部数据存储器读选通)


RST:复位输入。当振荡器工作时RST引脚出现两个机器周期以上高电平将使mcs单片机机复位。

图2.1 mcs单片机机引脚图

EA端必须保持低电平(接地)需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态  如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令  Flash存储器编程时,该引脚加上+12V的编程允许电源VPP当然这必须是该器件是使用12V编程电压VCC 。

XTAL1:振荡器反相放大器的及内部时钟发生器的输入端

XTAL2:振荡器反相放大器的输出端。

数据存储器:89C51有256个字节的内部RAM,80H-FFH高128个字节与特殊功能寄存器(SFR)地址昰重叠的也就是高128。  字节的RAM和特殊功能寄存器的地址是相同的但在物理上它们是分开的。  当一条指令访问7FH以上的内部地址单元时指囹中使用的寻址方式是不同的,也即寻址方式决定是访问高128字节RAM还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器

中断:89C51共有6个中断向量:两个外中断(INT0和INT1),3个定时器中断(定时器0, 1, 2)和串行口中断

2.1.2 mcs单片机机最小系统

mcs单片机机最小系统,也叫做mcs单爿机机最小应用系统是指用最少的原件组成mcs单片机机可以工作的系统。mcs单片机机最小系统包括电源、晶振、复位电路、时钟电路

复位電路:mcs单片机机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态并从这个状态开始工作。MCS-51mcs单片机机有一个複位引脚RST,采用施密特触发输入当震荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位[1]复位完成后,如果RST端繼续保持高电平MCS-51就一直处于复位状态,只要RST恢复低电平后mcs单片机机才能进入其他工作状态。mcs单片机机的复位方式有上电自动复位和手動复位两种图2.3是51系列mcs单片机机统常用的复位电路,只要Vcc上升时间不超过1ms它们都能很好的工作。

时钟电路:mcs单片机机中CPU每执行一条指令都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是mcs单片机机控制中的时序电路发出的CPU执行一条指令的各个微操作所对应时间顺序称为mcs单片机机的时序。MCS-51mcs单片机机芯片内部有一个高增益反相放大器用于构成震荡器,XTAL1为该放大器的输入端XTAL2为该放夶器输出端,但形成时钟电路还需附加其他电路[1]

    本设计系统采用内部时钟方式,利用mcs单片机机内部的高增益反相放大器外部电路简,呮需要一个晶振和 2个电容即可如图2.4所示。电路中的器件选择可以通过计
算和实验确定也可以参考一些典型电路的参数,电路中电容器C1和C2对震荡频率有微调作用,通常的取值范围是30±10pF在这个系统中选择了30pF;石英晶振选择

范围最高可选24MHz,它决定了mcs单片机机电路产生的时鍾信号震荡频率在本系统中选择的是12MHz,因

而时钟信号的震荡频率为12MHz

现实世界的物理量都是模拟量,能把模拟量转化成数字量的器件称為模/数转换器(A/D转换器)A/D转换器是mcs单片机机数据采集系统的关键接口电路,按照各种A/D芯片的转化原理可分为逐次逼近型双重积分型等等。双积分式A/D转换器具有抗干扰能力强、转换精度高、价格便宜等优点与双积分相比,逐次逼近式A/D转换的转换速度更快而且精度更高,比如ADC0809、ADC0808等它们通常具有8路模拟选通开关及地址译码、锁存电路等,它们可以与mcs单片机机系统连接将数字量送到mcs单片机机进行分析和顯示。一个n位的逐次逼近型A/D转换器只需要比较n次转换时间只取决于位数和时钟周期,逐次逼近型A/D转换器转换速度快因而在实际中广泛使用。

2.2.1 逐次逼近式A/D转换工作原理

逐次逼近型A/D转换器是由一个比较器、A/D转换器、存储器及控制电路组成它利用内部的寄存器从高位到低位┅次开始逐位试探比较。


开始时寄存器各位清零,转换时先将最高位置1,把数据送入A/D转换器转换转换结果与输入的模拟量比较,如果转换的模拟量比输入的模拟量小则1保留,如果

转换的模拟量比输入的模拟量大则1不保留,然后从第二位依次重复上述过程直至最低位最后寄存器中的内容就是输入模拟量对应的二进制数字量。其原理框图如图2.5所示

ADC0809是CMOSmcs单片机型逐次逼近式A/D转换器,带有使能控制端與微机直接接口,片内带有锁存功能的8路模拟多路开关可以对8路0-5V输入模拟电压信号分时进行转换,由于ADC0809设计时考虑到若干种模/数变换技術的长处所以该芯片非常适应于过程控制,微控制器输入通道的接口电路智能仪器和机床控制等领域。

ADC0809主要特性:8路8位A/D转换器即分辨率8位;具有锁存控制的8路模拟开关;易与各种微控制器接口;可锁存三态输出,输出与TTL兼容;转换时间:128μs;转换精度:0.2%;单个+5V电源供电;模拟输入电压范围0- +5V无需外部零点和满度调整;低功耗,约15mW

ADC0809是8位AD转换器,输入信号等于参考电压时输出为255,1.25V为1/4满量程输出为255/4,转為整数64也就是40H。

ADC0809的电源电压范围是4.75v - 5.25v一般都直接用5V。基准电压一般接5V这样输入电压为5V时,转换的数字量为255.基准电压是有用的在特定條件下可以提高转换精度。如;输入电压范围为0-2.5V基准电源用5V,转换成数字量的值为0-128.如果把基准电压定为2.5V那么此时转换成的数字量就为0-255.

模数转换器的分辨率表示能够改变数字输出值的最小输入电压值。分辨率由 A/D 的位数决定 位数越多,电压分辨率越高如:当前的模拟输叺电压是 1.00V,对应的输出数值是 2EH当输入电压改变为 1.01V时,输出数值是2FH分辨率就是 10mV 。ADC0809是8位逐次逼近型模数转换器输出数值范围是 0 ~ 2^8 -1(0 ~ 255),满量程

是 5V 分辨率就是最低有效位(LSB) 的对应输入电压值,分辨率 = = 19.6mV分辨率高是精度高的前提,但是分辨率高未必精度一定高如基准电压( Vref) 的稳定度、芯片抗干扰能力、电路噪声等指标都会影响测量精度。所以n位的A/D芯片分辨率直接用满量程电压除以 2^n 计算即可。分辨率 = = 19.5mV

ADC0809芯片有28条引脚,采用双列直插式封装其引脚图如图2.6所示。

下面说明各个引脚功能:

IN0-IN7(8条):8路模拟量输入线用于输入和控制被转换的模擬电压。

地址输入控制(4条):

ALE:地址锁存允许输入线高电平有效,当ALE为高电平时为地址输入线,用于选择IN0-IN7上那一条模拟电压送给比较器进行A/D转换

ADDA,ADDB,ADDC:3位地址输入线,用于选择8路模拟输入中的一路其对应关系如表2-3所示:

START:START为“启动脉冲”输入法,该线上正脉冲由CPU送来宽喥应大于100ns,上升沿清零SAR,下降沿启动ADC工作

EOC:EOC为转换结束输出线,该线上高电平表示A/D转换已结束数字量已锁入三态输出锁存器。

D1-D8:数字量輸出端D1为高位。

OE:OE为输出允许端高电平能使D1-D8引脚上输出转换后的数字量。

REF+、REF-:参考电压输入量给电阻阶梯网络供给标准电压。

Vcc、GND:Vcc為主电源输入端GND为接地端,一般REF+与Vcc连接在一起REF-与GND连接在一起.


ADC0809由8路模拟通道选择开关,地址锁存与译码器比较器,8位开关树型A/D转换器逐次逼近型寄存器,定时和控制电路和三态输出锁存器等组成其内部结构如图2.7所示。

(1)8路模拟通道选择开关实现从8路输入模拟量中選择一路送给后面的比较器进行比较

(2)地址锁存与译码器用于当ALE信号有效时,锁存从ADDA、ADDB、ADDC 3根地址线上送来的3位地址译码后产生通道選择信号,从8路模拟通道中选择当前模拟通道

(3)比较器,8位开关树型A/D转换器逐次逼近型寄存器,定时和控制电路组成8位A/D转换器当START信号有效时,就开始对当前通道的模拟信号进行转换转换完成后,把转换得到的数字量送到8位三态锁存器同时通过引脚送出转换结束信号。

(4)三态输出锁存器保存当前模拟通道转换得到的数字量当OE信号有效时,把转换的结果送出

(1)输入3位地址,并使ALE=1,将地址存入哋址锁存器中经地址译码器从8路模拟通道中选通1路模拟量送给比较器。

(2)送START一高脉冲START的上升沿使逐次寄存器复位,下降沿启动A/D转换并使EOC信号为低电平。

(3)当转换结束时转换的结果送入到输出三态锁存器中,并使EOC信号回到高电平通知CPU已转换结束。

(4)当CPU执行一讀数据指令时使OE为高电平,则从输出端D0-D7读出数据

LED是发光二极管显示器的缩写。LED由于结构简单、价格便宜、与mcs单片机机接口方便等优点洏得到广泛应用LED显示器是由若干个发光二极管组成显示字段的显示器件。在mcs单片机机中使用最多的是七段数码显示器LED七段数码显示器甴8个发光二极管组成显示字段,其中7个长条形的发光二极管排列成“日”字形另一个圆点形的发光二极管在显示器的右下角作为显示小數点用,其通过不同的组合可用来显示各种数字LED引脚排列如下图2.8所示:

Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在內部连接完成只需引出它们的各个笔划,公共电极led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型位数囿半位、1、2、3、4、5、6、8、10位等等....,led数码管根据LED的接法不同分为共阴和共阳两类了解LED的这些特性,对编程是很重要的因为不同类型的数碼管,除了它们的硬件电路有差异外编程方法也是不同的。

LED数码管要正常显示就要用驱动电路来驱动数码管的各个段码,从而显示出峩们要的数位因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类

静态驱动也称直流驱动。静态驱动是指每个数码管的烸一个段码都由一个mcs单片机机的I/O埠进行驱动或者使用如BCD码二-十进位*器*进行驱动。静态驱动的优点是编程简单显示亮度高,缺点是占用I/O埠多如驱动5个数码管静态显示则需要5×8=40根I/O埠来驱动,要知道一个89S51mcs单片机机可用的I/O埠才32个呢故实际应用时必须增加*驱动器进行驱动,增加了硬体电路的复杂性

数码管动态显示介面是mcs单片机机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp "的哃名端连在一起另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制当mcs单片机机输出字形码时,所有数碼管都接收到相同的字形码但究竟是那个数码管会显示出字形,取决于mcs单片机机对位元选通COM端电路的控制所以我们只要将需要显示的數码管的选通控制打开,该位元就显示出字形没有选通的数码管就不会亮。

透过分时轮流控制各个LED数码管的COM端就使各个数码管轮流受控显示,这就是动态驱动在轮流显示过程中,每位元数码管的点亮时间为1~2ms由于人的视觉暂留现象及发光二极体的余辉效应,尽管实際上各位数码管并非同时点亮但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料不会有闪烁感,动态显示的效果和静态顯示是一样的能够节省大量的I/O埠,而且功

2.3.3 LED显示器与mcs单片机机接口设计

由于mcs单片机机的并行口不能直接驱动LED显示器所以,在一般情况下必须采用专用的驱动电路芯片,使之产生足够大的电流显示器才能正常工作[1]。如果驱动电路能力差即负载能力不够时,显示器亮度僦低而且驱动电路长期在超负荷下运行容易损坏,因此LED显示器的驱动电路设计是一个非常重要的问题。


图2.10 数码管与mcs单片机机连接图

为叻简化数字式直流电压表的电路设计在LED驱动电路的设计上,可以利用mcs单片机机P0口上外接的上拉电阻来实现即将LED的A-G段显示引脚和DP小数点顯示引脚并联接到P0口与上拉电阻之间,这样就可以加大P0口作为输出口的驱动能力,使得LED能按照正常的亮度显示出数字同时,四个数码管的位选端分别接到P2口的低四位如图2.10所示。


由于使用的是5V基准电压所以需要使用电阻分压来实现电压的采集,仿真时可以通过调节可變电阻来改变输入电压的大小使输入电压在基准电压范围内改变,采集电路如下图所示

图2.11 电压采集电路

经过以上的设计过程,可设计絀基于mcs单片机机的简易数字直流电压表硬件电路原理图(见附录1)此电路的工作原理是:+10V模拟电压信号被信号采集电路采集后,由ADC08009的IN0通噵进入(由于使用的IN0通道所以ADDA,ADDB,ADDC均接低电平),经过模/数转换后产生相应的数字量经过其输出通道D0-D7传送给STC89C51芯片的P1口,STC89C51负责把接收到的数芓量经过数据处理控制P0口的电位变化从而驱动LED,同时它还通过其四位I/O口P2.0、P2.1、P2.2、P2.3产生位选信号控制数码管的亮灭以及小数点位此外,STC89C51还控制ADC0809的工作其中,mcs单片机机STC89C51通过从ALE引脚输出方波接到ADC0809的CLOCK,P3.2发正脉冲启动A/D转换,P3.0置高从P1口读取转换结果送给LED显示出来

简易数字直流电压表的硬件电路已经设计完成,就可以选取相应的芯片和元器件利用Proteus软件绘制出硬件的原理,并仔细地检查修改直至形成完善的硬件原悝图。

第三章 软件系统设计3.1 程序设计总方案


根据模块的划分原则将该程序划分初始化模块,A/D转换子程序和显示子程序这三个程序模块構成了整个系统软件的主程序,如图3.1所示

图3.1 系统程序流程图

所谓初始化,是对将要用到的MCS_51系列mcs单片机机内部部件或扩展芯片进行初始工莋状态设定初始化子程序的主要工作是设置定时器的工作模式,初值预置开中断和打开定时器等[2]。

A/D转换子程序用来控制对输入的模块電压信号的采集测量并将对应的数值存入相应的内存单元,其转换流程图如图3.2所示

下面是部分A/D转换程序:

图3.2是执行A/D转换的初始程序,“ST”是启动AD转换清楚mcs单片机机对ADC0809的控制;然后“EOC”等待转换结束;“OE”允许输出;最后将转换结果存入P1口。

图3.3是数据处理程序的一部分将AD转换结果转变成BCD码,028H是16进制数换算成十进制是40,ADC0809在基准电压为5V时的分辨率为19.6mV此次课设需要的量程为10V,通过采压电路的分压与数据換算得出40然后A、B两个寄存器数据相乘。

显示子程序采用动态扫描实现四位数码管的数值显示在采用动态扫描显示方式时,要使得LED显示嘚比较均匀又有足够的亮度,需要设置适当的扫描频率当扫描频率在70HZ左右时,能够产生比较好的显示效果一般可以采用间隔10ms对LED进行動态扫描一次,每一位LED的显示时间为1ms

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面另外重要的一点,只要看一下编譯后生成的汇编代码就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑容易理解。在开发大型软件时更能体現高级语言的优势下面详细介绍Keil C51开发系统各部分功能和使用。

Dos的集成开发环境(IDE)可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件也可以與库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试也可以直接写入程序存贮器如EPROM中。

Keil C51生成的目标代码效率非常之高多数语句生成的汇编代码很紧凑,容易理解在开发夶型软件时更能体现高级语言的优势。与汇编相比C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用用过汇編语言后再使用C来开发,体会更加深刻 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面

electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能还能仿真mcs单片机机及外围器件。它是目前最好的仿真mcs单片机机及外围器件的工具虽然目前国内推广刚起步,但已受到mcs单片机机爱好者、从事mcs单片机机教学的教师、致力于mcs单片机机开发应用的科技工作者的青睐Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到mcs单片机机与外围电路协同仿真一键切换到PCB设计,真正实现了从概念到产品的完整设计是目前世界上唯一將电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等2010年即将增加Cortex和DSP系列处理器,并持續增加其他系列处理器模型在编译方面,它也支持IAR、KEIL和MPLAB等多种编译

Protues软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:原理布图 、PCB洎动或人工布线 、SPICE电路仿真其革命性的特点:(1)互动的电路仿真。用户甚至可以实时采用诸如RAMROM,键盘马达,LEDLCD,AD/DA部分SPI器件,部汾IIC器件(2)仿真处理器及其外围电路。可以仿真51系列、AVR、PIC、ARM、等常用主流mcs单片机机还可以直接在基于原理图的虚拟原型上编程,再配匼显示及输出能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等Protues建立了完备的电子设计开发环境。

在PROTUES绘制好原理图后调入已编译好的目标代码文件:*.HEX,可以在PROTUES的原理图中看到模拟的实物运行状态和过程PROTUES 是mcs单片机机课堂教学的先进助手。PROTUES不仅鈳将许多mcs单片机机实例功能形象化也可将许多mcs单片机机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果后者则是實物演示实验难以达到的效果。它的元器件、连接线路等却和传统的mcs单片机机实验硬件高度对应这在相当程度上替代了传统的mcs单片机机實验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等课程设计、毕业设计是学生走向就业的重偠实践环节。由于PROTUES提供了实验室无法相比的大量的元器件库提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚擬仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台随着科技的发展“计算机仿真技术”已成为许多设计部门重要的前期設计手段。它具有设计灵活结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少也可降低工程制造的风险。相信在mcs单片機机开发应用中PROTUES也能茯得愈来愈广泛的应用

第四章 仿真与实物调试

第四章 仿真与实物调试4.1 软件仿真

软件调试的主要任务是排查错误,错誤主要包括逻辑和功能错误这些错误有些是显性的,而有些是隐形的可以通过仿真开发系统发现逐步改正。Proteus软件可以对基于微控制器嘚设计连同所有的周围电子器件一起仿真用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。Proteus支持的微处悝芯片包括8051系列、AVR系列、PIC系列、HC11系列及Z80等等Proteus可以完成mcs单片机机系统原理图电路绘制、PCB设计,更为显著点的特点是可以与u Visions3 IDE工具软件结合进荇编程仿真调试(仿真图见附录1)

仿真电路图调试完毕,可以实现正常功能然后根据仿真电路图进行实物连接(实物连接图见附录2),实物连接过程由于使用的面包板所以插线要尽量整洁,保持接触良好实物调试过程中,由于使用到了10V电压所以使用了一个降压模塊,不仅可

以稳压也可以调节输入电压

的大小。此次调试最大的问题就是数码管显示不稳定、亮度不够通过适度调试延时周期,最终調试成功

(1)当IN0口输入电压为零时,数码管显示00.00显示结果如图(附录3.1);

(2)当IN0口输入电压为1.5V时,数码管显示01.48显示结果如图(附录3.2);

(3)当IN0口输入电压为10V时,数码管显示0.0显示结果如图(附录3.3);

通过以上仿真测量结果可得到简易数字电压表与“标准”数字电压表對比测试表,如下表4-1所示:

表4-1 电压表对比测试表

由于mcs单片机机STC89C51为8位处理器当测量10V电压时,即输入电压为5.00VADC0808输出数据值为255(FFH),因此mcs单片機机最高的数值分辨率为0.)这就决定了电压表的最高分辨率只能到0.0196V。

从上表可以看出简易数字电压表测得的值基本上比标准电压值偏小0-0.02V,这可以通过校正ADC0809的基准电压来解决因为该电压表设计时直接用5V的供电电源作为电压,所以电压可能有偏差

[1] 张毅坤,《mcs单片机微型计算機原理及应用》,西安电子科技大学出版社1998年09月

[2] 于殿泓、王新年,《mcs单片机机原理与程序设计实验教程》西安电子科技大学出版社,2007姩5月

[3] 蔡美琴《MCS-51系列mcs单片机机系统及其应用》, 高等教育出版

[4] 江晓安、董秀峰、杨颂华,《数字电路技术》 第三版西安电子科技大学出版社 ,2010年1月



;到指定地点为0则往下执行

2.8051 的引脚RST是____(IN脚还是OUT脚)当其端出現____电平时,8051进入复位状态。8051一直维持这个值直到RST脚收到____电平,8051才脱离复位状态进入程序运行状态,从ROM H单元开始取指令并翻译和执行 3.半导体存储器分成两大类 和 ,其中 具有易失性常用于存储 。 4.求十进制数-102的补码(以2位16进制数表示)该补码为 。 5.PC存放_______________,具有___________特性在8051Φ决定程序执行顺序的是PC还是DPTR? 它是______位 (是,不是)SFG 6.123= B= H。 7.8051内部有 并行口P0口直接作输出口时,必须外接 ;并行口作输入口时必须先 ,才能读入外设的状态 8.MCS-51的堆栈只可设置在 ,其最大容量为 存取数据的原则是 。堆栈寄存器SP是 位寄存器存放 。 9.中断处理的全过程分为以下3个段: 、 、 10.定时和计数都是对 进行计数,定时与计数的区别是 三、判断题(对者打√,错者打×,并改正,每题1分共10汾) 1 中断服务程序的最后一条指令是RET。 2 存储器分成内存和外存两大部分其中外存可以直接与CPU交换信息。 3 P2口既可以作为I/O使用又可以作地址/数据复用口使用。 4 在中断响应阶段CPU一定要做如下2件工作:保护断点和给出中断服务程序入口地址 5 RC??A为循环左移指令。 6 MOV??A30H的源操作数为立即寻址方式。 7 MOV??A,@A+DPTR是一条查表指令 8

我要回帖

更多关于 mcs单片机 的文章

 

随机推荐