电子设计与实践II汇编_第1页
电子设计与实践II汇编_第2页
电子设计与实践II汇编_第3页
电子设计与实践II汇编_第4页
电子设计与实践II汇编_第5页
已阅读5页,还剩115页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1电子设计与实践IIMCU原理及其应用系统设计电气工程系赵志衡2课程主要内容单片机应用系统的构成单片机应用系统单元电路及其子程序设计单片机应用系统设计3一、应用系统构成单片机应用系统设计MCS51硬件结构汇编程序的编写功率接口MCS51指令系统仿真调试抗干扰设计MCS51定时计数器MCS51串行通讯MCS51中断系统MCS51存储器扩展MCS51I/O扩展MCS51键盘显示扩展MCS-51A/D、D/A扩展4二、Mcs-51单元设计1.MCS-51的基本情况2.MCS-51的硬件结构3.MCS-51的指令系统4.定时/计数器应用及其子程序设计5.串行通讯应用及其子程序设计6.中断系统应用及其子程序设计7.外扩存储器(程序存储器、数据存储器)8.外扩I/O(8255、8155及TTL芯片)9.键盘与显示应用及其子程序设计10.外扩A/D、D/A应用及其子程序设计51.MCS-51芯片的基本情况属于三总线结构芯片管脚分别属于数据总线地址总线控制总线此外,还有时钟、电源、地等管脚6需要理解的控制管脚

ALERSTPSENEAWRRD7EA:接高电平时单片机访问内部程序存储器,当PC值超过(0FFFH)时,将自动转向执行外部程序存储器。EA

接低电平时直接访问外部程序存储器。PSEN:接外部程序存储器的读选通端RD:接外部数据存储器的读选通端WR:接外部数据存储器的写选通端82.硬件结构

每2个时钟振荡周期作为1个状态周期,每个状态周期分为2个时相P1、P2,每6个状态周期作为1个机器周期。

12个振荡周期为1个机器周期

ALE的频率约为外部晶振频率的1/6RST管脚施加持续时间大于2个机器周期(24个振荡周期)的高电平,将引起MCS-51的复位910特殊功能寄存器(SFR)特殊功能寄存器反映了MCS51的状态,实际上是MCS51的状态字及控制字寄存器。51单片机通过写SFR来控制相应功能部件(定时器、串口、中断等)的工作方式,同时SFR也综合的、实际的反映了整个单片机内部的工作状态.11RAM及SFR的分布51系列:

RAM共128字节,分布于地址00H-7FH空间

SFR离散分布于地址80H-FFH的空间,采用直接寻址方式访问52系列:

RAM共256字节,分布于地址00H-FFH空间,

00H-7FH空间可采用直接寻址&间接寻址

80H-FFH空间只能采用间接寻址方式访问

SFR离散分布于地址80H-FFH的空间,只能采用直接寻址方式12位地址空间

211个(128个+83个)寻址位。位地址范围为:00H~FFH。内部RAM的可寻址位128个(字节地址20H~2FH)。特殊功能寄存器SFR为83个可寻址位。13内部的可寻址位及位地址14SFR中的位地址分布15工作寄存器区的选择18~1FH3组1110~17H2组1008~0FH1组0100~07H0组00R0~R7地址寄存器组RS1RS0复位后,默认第0组处于工作状态16存储器结构的特点地址重叠性程序存储器与数据存储器操作指令不同位地址空间共有两个区域片外数据存储器与I/O口统一编址173.指令系统注意指令的书写规范

[标号]:操作码助记符[第1操作数],[第2操作数];[注释]Loop1:mova,#0ffh;累计器A赋值为ff

标号:表示该指令所在的符号地址,一般由字母和数字组成,第一位为字母,其余位为字母、数字任选。操作码助记符、第1操作数和第2操作数:指令的核心部分。对于某些指令可能不存在完整的两个操作数。注释:是由用户加入的文本,对汇编程序不起任何作用,只是方便阅读。*第1操作数又称目的操作数,第2操作数又称源操作数**51不区分大小写***注意立即数的书写要求18指令系统寻址方式:

1.寄存器寻址:mova,#20h2.直接寻址:mova,20h3.寄存器间接寻址:mova,@r04.立即寻址:mova,#0ffh5.基址寄存器加变址寄存器间接寻址

movca,@a+dptr19常用的部分伪指令ORGENDEQUDB20伪指令简介

ORG起点指令

ORGaddr16org0000hORG指令用于指明程序代码或数据块在存储器中的起始地址。addr16代表一个16位地址,即程序或数据块的首地址。EQU等值指令标号EQU表达式

aaaequ30h

EQU指令用于为程序中的任意标号赋值。程序中的常量通常可以用标号代替,便于修改。

主程序前要先用equ指令为常量标号赋值。21伪指令简介

DB定义字节指令

[标号]:

DB数据列表

DB指令用于定义字节型数据或数据串,并将数据作为常数填入指定的存储器单元中。

END结束汇编指令

[标号]:

ENDEND指令置于程序结尾处,作为源程序结束的标志。224.定时/计数器及其子程序两个16位定时/计数器存放初值的SFRT0:TH0、TL0T1:TH1、TL1其它相关的SFR:

TMOD(工作方式控制寄存器)

TCON(控制寄存器)定时功能时,每个机器周期定时器加1

计数功能时,在外部相应输入脚(T0和T1)有下降沿时,计数器加1。

23

定时/计数器的工作方式24定时/计数器应用要点几种工作方式的区别定时器的启动、定时时间到的判断初值的计算25定时/计数器的输入信号

工作于定时器方式:对内部时钟信号计数,内部时钟信号的频率为时钟振荡频率的1/12,即每个机器周期计数值加1。例:采用12MHz频率的晶体时,每1µs计数值将加1。

由于定时的精度决定于输入脉冲的周期,因此当需要高分辨率的定时时,应尽量选用频率较高的晶体(MCS51最高为12MHz)。26定时/计数器的输入信号工作于计数器方式:当定时/计数器用作计数器时,计数脉冲来自外部输入引脚T0或T1。当输入信号产生由1至0的跳变(即下跳沿)时,计数器的值增1。需要注意:每个机器周期的S5P2期间,对外部输入进行采样。如在第一个周期中采得的值为1,而在下一个周期中采得的值为0,则计数器加1。由于确认一次下跳变至少要用两个机器周期,即24个振荡周期,因此外部输入的计数脉冲的最高频率为振荡器频率的1/24,同时输入信号的高、低电平保持一个机器周期以上。例如:选用6MHz频率的晶体,允许输入的脉冲频率为250kHz;如果选用12MHz频率的晶体,则可输入500kHz的外部脉冲。27定时/计数器的输入信号理想的计数器输入信号:脉冲信号的高、低电平至少要各保持一个机器周期以上,确保电平在变化之前能被采样一次。28定时器/计数器的编程初始化1根据要求给方式寄存器TMOD送一个方式控制字,以设定定时器的工作方式;2根据需要给TH和TL选送初值,以确定需要的定时时间或计数的初值;3根据需要给中断允许寄存器IE送中断控制字,以开放相应的中断和设定中断优先级;

也可用查询方式来响应定时器。4给TCON送命令字以启动或禁止定时/计数器的运行。29定时器/计数器的编程初值的计算计数器初值:

设计数模值为M,所需的计数值为C,计数初值设定为TC,则:TC=M-C(M=213,216,28)定时器初值:

定时器的模值为M,需要的定时时间为T,定时器的初值TC为:

TC=M-T/t机器周期

30编程方式采用查询方式:程序一直检测TF0(TF1),若TF0=1(TF1=1),说明定时时间到或计满数,需要软件清除溢出标志位TFx。采用中断方式:程序初始化时,设置定时器溢出中断允许后,内部硬件自动检测到TF0=1(TF1=1)时,自动响应中断,进入中断服务程序。由硬件自动清除TFx。31例1:

T0计数、T1定时工作于方式2

从P3.4T0输入低频脉冲,要求该脉冲每发生一次跳变时由P1.0输出一个500us的负脉冲,与此同时由P1.1输出一个宽为1ms的正脉冲(6MHz晶振)。先设T0为计数方式,工作于方式2,初值设为FFH,即加1即刻产生溢出。当外部输入一个下跳沿时,T0计数器加1,并产生溢出,TF0=1;引起CPU的T0中断。中断服务程序内,对定时器T1设定初值,T1也工作于方式2。32含中断的定时/计数器响应程序ORG0HSJMPBEGINORG000BHAJMPTT1ORG0030HBEGIN:MOVTMOD,#26H MOVTH0,#0FFH MOVTL0,#0FFHCLRP1.1SetbET0;允许T0中断SetbEA;CPU开中断

SETBP1.0SETBTR0SJMP$工作于方式2的定时/计数器33中断服务程序

ORG300HTT1:MOVTH1,#06HMOVTL1,#06HSETBP1.1CLRP1.0SETBTR1DEL2:JBCTF1,RP1

SJMPDEL2RP1:SETBP1.0DEL3:JBCTF1,RP2SJMPDEL3RP2:CLRP1.1CLRTR1RETI345.串行通讯全双工串行通讯口有关的SFRSBUF、SCON、PCON几种工作方式的区别串行通讯波特率的设定双机通讯的实现35串行口的工作方式SCON中:SM0、SM1工作方式选择位36方式1、方式3

串行口方式3为9位数据全双工异步通信方式,比串行口方式1增加了第9位数据位。TXD为发送数据端,RXD为接收数据端。一帧信息有11位,包括9位数据位,1个起始位“0”和1个停止位“1”。发送数据的第9位在TB8中,接收数据的第9位存入RB8中。第9位数据位也称为可编程位,常用做奇偶校检位或多机通信中的地址/数据识别位。方式3的波特率与方式1的相同,计算式为:(2SMOD/32)×T1溢出率。

37方式3的时序38波特率波特率的定义:串行口每秒钟发送或者接收数据的位数。串行口方式1和方式3用定时器T1作为波特率发生器,其波特率有多种选择,与T1的溢出率有关。

波特率=(2SMOD/32)×T1溢出率

39定时器T1产生波特率的计算T1溢出率:T1溢出时间的倒数。T1用于波特率发生器时一般工作于方式2,即常数自动重装入方式。

TH1=TL1为T1的时间常数

40波特率计算的几点注意事项:1)波特率的相对误差不大于2.5%2)注意SMOD位对波特率的影响例如:通讯波特率设为2400,晶振频率为6MHz,计算T1的计时常数。当SMOD=0时,计时常数约为249,相对误差7%。当SMOD=1时,计时常数约为243,相对误差0.16%。41T1产生的常用波特率通讯时,尽量选用11.0592M的晶振42串行口的编程举例设定波特率设定串行口的工作方式设计中断服务程序或查询程序

注意对TI、RI的处理(硬件置位、软件清零)43MCS-51双机串行通讯的实现如何进行物理连线?波特率的选择?工作方式的选择?如何编程实现?44双机串行通讯的实现-1正确进行物理接线45双机串行通讯的实现-2设定一致的波特率设定一致的串行口工作方式分别设计中断服务程序或查询程序

注意对TI、RI的处理(硬件置位、软件清零)46方式3发送50H~5FH的内容待发送的16个字节存放在片内RAM中地址为50H~5FH串行口波特率为2400波特率发生器T1工作于方式2,且SMOD=0晶振为11.0592MHz计算得到TL1的初值为F4H。串行口工作于方式3第9位发送奇偶校验位47程序状态寄存器:PSWPSW.1是保留位,未用。Cy(PSW.7)进位标志位,在执行算术和逻辑指令时,可以被硬件或软件置位或清除,在位处理器中,它是位累加器。Ac(PSW.6)辅助进位标志位。F0(PSW.5)标志位,它是由用户使用的一个状态标志位。RS1、RS0(PSW.4、PSW.3):寄存器区选择控制位OV(PSW.2):溢出标志位。P(PSW.0)奇偶标志位。每个指令周期都由硬件来置位或清除,以表示累加器A中值为1的位数的奇偶数。48例2:

方式3发送50H~5FH中内容-1

ORG 0000H ;复位入口

AJMP MAIN ORG 0023H ;串行口中断入口

AJMP L1 ORG 0100H ;主程序入口MAIN:MOV SCON,#0C0H ;串行口初始化,;用方式3发送,TI=0 MOV PCON,#00H ;SMOD=0MOV TMOD,#20H ;T1方式2定时

MOV TL1,#0F4H ;写入T1时间常数

MOV TH1,#0F4H SETB TR1 ;启动T1 SETB EA SETB ES ;允许串行口中断

MOV R0,#50H ;设数据指针

MOV R7,#10H ;数据长度LOOP:MOV A,@R0 ;取一个字符

MOV C,P ;加奇偶校验

MOV TB8,C MOV SBUF,A ;发送一个字符HERE:SJMP HERE ;CPU原地循环,等待发送结束49例2:

方式3发送50H~5FH中内容-2L1:

CLR TI ;中断服务程序,;发送结束标志位清0DJNZ R7,NEXT ;发送完全部字符?CLR ES ;已发送完,关闭串行口中断

SJMP TENDNEXT:

INC R0 ;未发送完,修改指针

MOV A,@R0;取下一个字符

MOV C,P ;加奇偶校验

MOV TB8,C MOV SBUF,A ;再次发送一个字符TEND:

RETI ;中断返回主程序506.中断系统有关的SFRIE、IP、TCON中断源、中断允许控制、中断优先级外中断触发方式的设定(电平触发、边沿触发)中断的响应及返回典型应用51中断系统中断的概念在执行程序的过程中,由于某种原因,必须尽快终止当前的程序执行,而去执行相应的处理程序,待处理结束后,再回来继续执行被终止的程序。这个过程叫中断。5253中断优先级如同时发生多件事件,按照需响应事件的重要性选择事件处理,称之为中断优先级。中断系统的功能:中断优先权排队实现中断嵌套自动响应中断实现中断返回548051的中断系统5个中断源,具有二个中断优先级,可实现二级中断服务程序的嵌套。每个中断源均可软件编程为允许或禁止向CPU请求中断、高优先级或低优先级中断。中断源为:INT0、C/T0、INT1、C/T1、串行口5556注意:不同中断源中断入口地址不同

中断源入口地址外部中断0定时器/计数器T0外部中断1定时器/计数器T1串行口中断0003H000BH0013H001BH0023H0000H0003H

RETI外部中断0响应过程57

中断系统的编程开放相应的中断源;(IE)设定中断优先级;(IP)若为外部中断,设定外部中断的触发方式(TCON)在相应的中断入口处写入中断程序中断子程序的最后一条指令为RETI588051单片机的P1口控制8个LED灯,要求8个灯加1移位点亮,当INT0引脚有下跳沿时,灯全灭后全亮,然后灯继续加1移位点亮。例4:外部中断0的应用59

ORG0000HAJMPSTORG0003HAJMPEXT0ORG0030HST:MOVSP,#70HMOVTCON,#01HMOVIP,#01HMOVIE,#81HRES:

MOVA,#0FFHLoop:MOVP1,ADECALCALLDelayLCALLDelayJNZLoopSJMPRES Delay:movr6,#0ffhmovr7,#0ffhDelay1:Djnzr6,Delay1Djnzr7,Delay1RET主程序

中断优先级控制IP(B8H)———PSPT1PX1PT0PX0

中断使能控制IE(A8H)EA——ESET1EX1ET0EX0TCONTF1TR1TF0TR0IE1IT1IE0IT060中断服务程序EXT0:PUSHAPUSHPSWsetbrs1;使用第2组工作寄存器

MOVA,#00 MOVP1,ALCALLDelayLCALLDelayCPLAMOVP1,ALCALLDelayLCALLDelayPOPPSWPOPARETI

617.MCS-51存储器扩展分配地址的方法:线选法、译码法外扩程序存储器、数据存储器的实现熟悉2764、6264、74LS373/573、74LS138/139等芯片的功能62MCS-51单片机外部存储器结构:哈佛结构。MCS-51RAM和ROM的最大扩展空间各为64KB。系统扩展首先要构造系统总线。按功能把系统总线分为三组:

1.地址总线(AdressBus,简写AB)

2.数据总线(DataBus,简写DB)3.控制总线(ControlBus,简写CB)

63构造系统总线64

1.以P0口作为数据总线(8位)。

2.以P0口经8位锁存器锁存后的信号作为地址总线的低8位。

3.以P2口作为地址总线高8位。

4.控制信号线。 *ALE——

低8位地址锁存信号。 *PSEN*——

扩展程序存储器读选通信号。 *EA*——

内外程序存储器选择信号。 *RD*和WR*——

扩展RAM和I/O口的读选通、写选通信号。65存储器扩展方法扩展存储器即分配地址空间给每个芯片,注意要避免地址和数据的冲突芯片的片选端口为避免数据的冲突提供了方便,通过MCS51的地址线产生片选信号是避免地址冲突的有效途径。片选控制线选法适用于系统芯片数目较少利用高端地址线(未用到的地址线)直接作为外扩芯片的片选线,线路简单地址空间有重叠,即同一存储空间可能对应多个地址译码选通法适用于多片存储器扩展高端地址线经译码器译码后作为存储器片选线,线路需增加译码器芯片地址空间连续,存储芯片空间对应地址唯一66强调:MCS51外扩存储器应注意的问题程序存储器与数据存储器空间独立,各拥有64k寻址空间数据存储器扩展与I/O口扩展占用数据64k空间,统一编址数据总线与低8位地址总线复用,必须使用地址锁存器实现低8位地址总线和数据总线的分离。67硬件电路原理图2764地址:IC1(0000h~1fffh)IC2(2000h~3fffh)6264地址:IC3(5000h~5fffh)IC4(6000h~7fffh)688.I/O口扩展8255、8155的使用(基本输入输出)简单I/O口扩展:通过74LS377扩展输出口、74LS244扩展输入口69

8255A扩展实例8255A与8031接口电路708255A的接口应用举例1.硬件接口电路8031扩展1片8255A的电路图。74LS373是地址锁存器,P0.1、P0.0经74LS373与8255A的地址线A1、A0连接;P0.7经74LS373与片选端相连,其他地址线悬空。2.端口地址确定8255A各端口寄存器的地址为:A口:

FF7CHB口:

FF7DHC口:

FF7EH控制寄存器:

FF7FH713.软件编程要求8255A工作在方式0,且A口作为输入,B口、

C口作为输出,程序如下:MOV A,#90H ;A口方式0输入,B口、;C口输出的控制字送AMOV DPTR,#0FF7FH;控制寄存器地址→DPTRMOVX@DPTR,A ;方式控制字→控制寄存器MOV DPTR,#0FF7CH;A口地址→DPTRMOVXA,@DPTR ;从A口读数据MOVDPTR,#0FF7DH;B口地址→DPTRMOV A,#55H;要输出的数据55H→AMOVX@DPTR,A;将55H送B口输出MOVDPTR,#0FF7EH;C口地址→DPTRMOVA,#60H ;60H→AMOVX@DPTR,A ;将60H送C口输出729.键盘接口的设计键盘的分类

编码式:由专门的硬件(8279等)识别按下的键码。非编码式:依靠软件实现键码的识别。非编码键盘的结构独立式键盘矩阵式键盘软件实现按键识别的方法扫描法键盘使用中的注意事项键盘的抖动73

键盘接口的工作原理独立式键盘接口和矩阵式键盘接口。1.独立式键盘接口

各键相互独立,每个按键各接一根输入线,通过检测输入线的电平状态可很容易判断那个键被按下。此种接口适于键数较少或操作速度较高的场合。

74独立式键盘的检测方式75键盘的抖动问题键盘的抖动抖动时间一般为5~10ms。为了保证CPU对键的闭合作一次,而且是仅作一次处理,必须消除抖动可采用软、硬件方法消除抖动。**软件消抖原理1)判断是否有键按下;2)若有键按下,调用延时程序(延时时间大于10ms);3)再次判断是否有键按下,并读入相应的键值.键盘工作时输出的电压波形76

独立式键盘编程1)每个按键占用一根口线2)电路配置灵活,软件结构简单。3)适用于按键较少的场合。

特点:可直接判断哪个键按下;----------------------------------------------------------------------------------------------------------; 独立式键盘的处理程序(实际应用时要加延时消除抖动);----------------------------------------------------------------------------------------------------------LOOP: MOV A,P1 ;读P1口电平状态

ANL A,#0FH ;取P1口低4位

CJNE A,#0FH,KEY ;判断是否有键按下

SJMP LOOP ;如没有键按下,重新扫描KEY: CJNE A,#0EH,NEXT1 ;判断是否为一号键按下

ACALL KEY1 ;调用一号键处理子程序

SJMP LOOPNEXT1: CJNE A,#0DH,NEXT2;判断是否为2号键按下

ACALL KEY2 …778255A扩展I/O口的独立式按键接口电路PA0PA1PA2PA3PA4PA5PA6PA7*8255A工作于基本输入输出方式*PA口地址7FF0H78

矩阵式(行列式)键盘接口

用于按键数目较多的场合,由行线和列线组成,按键位于行、列的交叉点上,如下图。**在需要按键数目较多的场合,矩阵式键盘与独立式键盘相比,要节省较多的I/O口线。79矩阵式键盘的工作过程键没有按下时行线和列线是分开的,键按下将相应的行线列线短接。连接行线的管脚作为输入口,没有键按下时,被外电路拉高为“1”连接列线的管脚作为输出口,需要扫描键盘时,逐次输出低电平,若此时有键按下,则与其交叉的行线回读值为“0”,否则为“1”。根据当前的扫描列线和回读电平为“0”的行线可确定按下的键值。80矩阵式键盘键码的判别对于一个规则编码的矩阵式键盘,可以通过对键盘的列线依次进行扫描(输出低电平),然后回读行线,如果哪一行的电平为低,说明该行、该列的键被按下。该键的键码为:键码=该行首键码+该列号0行1行2行3行

0列1列2列3列81矩阵式按键的识别方法(扫描法)82键盘程序设计设计要求判别键盘上有无键闭合去除键盘的机械抖动判别闭合键的键号使处理器对键的一次闭合仅作一次处理程序流程键盘处理子程序流程83848586键盘的扫描方式程序控制扫描方式当单片机空闲时,才调用键盘扫描程序定时扫描方式每隔一定时间对键盘扫描一次,通常采用单片机内定时器确定键盘扫描时间间隔中断扫描方式利用按键操作产生的中断来扫描键盘,优点是及时响应键盘操作,节省CPU时间8710.A/D、D/A扩展MCS-51外扩ADC0809MCS-51外扩DAC083288ADC0809编程要点选通模拟量输入通道发出启动信号用延时、查询或中断方法等待转换结束初学阶段建议采用延时的方法读取转换结果89ADC0809与8031接口电路设计*启动AD接口设计*转换时钟的提供,51单片机晶振6MHz*转换完成判断*模拟通道的选择90ADC0809接口电路编程要求:

设计程序实现对8路模拟信号的采样,并把数据存储在RAM区30H~37H中。

;---------------------------------------------------------------------------; ADC0809的0~7模拟通道对应地址7FF8H~7FFFH;--------------------------------------------------------------------------- ORG 0000HMAIN: MOV R1,#30H ;置数据存储区首地址

MOV DPTR,#7FF8H ;指向ADC0809的0通道

MOV R7,#08H ;置通道数LOOP: MOVX @DPTR,A ;启动转换

ACALL DELAY_130us ;等待130us MOVX A,@DPTR ;读取转换结果

MOV @R1,A ;保存转换结果

INC DPTR ;指向下一个转换通道

INC R1 ;指向下一个存储空间

DJNZ R7,LOOP ;判断8个通道采样是否完成?

…91DAC0832与8031单缓冲接口硬件设计0832地址8000HDAC0832单缓冲方式应用原理图92

锯齿波的产生

ORG2000HSTART:MOVDPTR,#8000H;DAC地址8000H→R0MOVA,#00H ;数字量→ALOOP:MOVX@DPTR,A ;数字量→D/A转换器

INCA ;数字量逐次加1SJMPLOOP累加器A的值从0开始输出(模拟量为0V),逐次加1,到FFH时(模拟量为5V),再加1则A又变为0(模拟量又为0V),程序循环后得到锯齿波。93三、MCS-51单片机应用系统的设计设计一个单片机测控系统,一般可分为四个步骤:(1)需求分析,方案论证和总体设计阶段需求分析:被测控参数的形式(电量、非电量、模拟量、数字量等)、被测控参数的范围、性能指标、系统功能、工作环境、显示、报警、打印要求等。方案论证:根据要求,设计出符合现场条件的软硬件方案,力求系统简单、经济、可靠,这是进行方案论证与总体设计一贯坚持的原则。94(2)器件选择,电路设计制作,数据处理,软件的编制阶段。(3)系统调试与性能测定。(4)文件编制95(1)单片机系统的扩展部分设计包括存储器扩展和I/O接口扩展。存储器的扩展指EPROM、EEPROM和RAM的扩展,I/O接口扩展是指8255、8155以及其它I/O功能器件的扩展。(2)各功能模块的设计如信号测量功能模块、控制功能模块、人机对话功能模块、通讯功能模块等,根据系统功能要求配置相应的A/D、D/A、键盘、显示器、打印机等外围设备。a.尽可能采用功能强的芯片。b.单片机可优先考虑选用片内带有闪烁存储器的产品。例如ATMEL公司的89C51/89C52。可使扩展程序存储器的工作省去,从而减少芯片的数目,缩小体积。c.EPROM空间和RAM空间。目前EPROM容量越来越大,一般尽量选用容量大的EPROM。d.I/O端口,要留有余量。e.A/D和D/A通道,要留有余量。(3)工艺设计机箱、面板、配线等1.应用系统的硬件设计962.应用系统的软件设计(1)根据软件功能要求,将系统软件分成若干个相对独立的部分。(2)各功能程序实行模块化、子程序化。既便于调试、链接,又便于移植、修改、维护。(3)编应用软件前,应绘制出程序流程图。这不仅是程序设计的一个重要组成部分,而且是决定成败的关键部分。(4)要合理分配系统资源,包括ROM、RAM、定时器/计数器、中断源等。

**其中最关键的是片内RAM分配,对8031来讲,片内RAM指00H~7FH单元,这128个字节的功能不完全相同,分配时应充分发挥其特长,做到物尽其用。973.MCS-51单片机系统举例

介绍几个单片机应用系统,供设计时参考。

8031的最小系统8031无片内程序存储器,因此,其最小应用系统必须在片外扩展EPROM,必须有复位及时钟电路。下图为8031外扩程序存储器的最小应用系统。该系统仅完成数字量的输入和输出控制。988031最小系统9989C51的最小系统1004.以单片机为核心的数据采集系统(一)数据采集系统的组成数据采集系统一般由信号调理电路、多路切换电路、采样保持电路、A/D、CPU、RAM、EPROM组成。101数据采集系统各部分说明(1)信号调理电路传感器与A/D之间的桥梁,是测控系统中重要组成部分。主要功能:(a)目前标准化工业仪表通常采用0~10mA,4~20mA信号,为了和A/D的输入形式相适应,经I/V转换器变换成电压信号。(b)某些测量信号可能是非电量,这些非电压量信号必须变为电压信号,还有些信号即使是电压信号,也必须经过放大、滤波,这些处理包括信号形式的变换、量程调整、零点补偿、线性化等。(c)某些恶劣条件下,共模电压干扰很强,必须根据现场环境,考虑共模干扰的抑制,甚至采用隔离措施,包括地线隔离、路间隔离等等。102

综上所述,非电量的转换、信号形式的变换、放大、滤波、共模抑制及隔离等等,都是信号调理的主要功能。

信号调理电路包括电桥、放大、滤波、隔离等电路。根据不同的调理对象,采用不同的电路。

信号放大电路通常由运放承担,运放的选择主要考虑精度要求(失调及失调温漂),速度要求(带宽、上升率),幅度要求(工作电压范围及增益)及共模抑制要求。

滤波和限幅电路通常采用二极管、稳压管、电容等器件。用二极管和稳压管的限幅方法会产生一定的非线性且灵敏度下降,这可以通过后级增益调整和非线性校正补偿。103(2)多路切换电路:通常检测的物理量有多个,不可能每一个通道都设有放大、滤波、补偿等电路,可采用多路切换降低成本。(3)采样保持电路(S/H):将快速变化的模拟信号进行保持,以供A/D转换。(4)模-数转换(ADC)(5)基本单片机系统设计(二)数据采集系统设计中的地址空间分配与总线驱动有时要扩多片存储器芯片,要解决两个问题:(a)如何把两个64K存储器空间分配给各个芯片;(b)如何解决对多片芯片的驱动问题。104(1)地址空间的分配下图是一个全地址译码的系统实例。105器件地址线(A15-A0)片内地址单元数地址编码6264000×××××××××××××8K0000H-1FFFH8255(1)00111111111111××43FFCH-3FFFH8155RAM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论