《华中科技大学-微机原理与接口技术--历年考研真题复习资料(共19页).doc》由会员分享,可在线阅读,更多相关《华中科技大学-微机原理与接口技术--历年考研真题复习资料(共19页).doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上华中科技大学 微机原理与接口技术一、知识点1进制转换;KB、MB、GB、TB;原码、反码、补码;28051 知识点(1)8051内部CPU也是由运算器、控制器和寄存器(或存储器)三个部分电路组成?(2)8051有4KB ROM存储器,地址范围 0000H-OFFFH。无论8031还是8051,都可以外接外部ROM,但片内和片外之和不能超过 64KB。(3)8051的5个中断源有内部和外部之分,外部中断源有2个,INT0和INT1,内部中断源有3个,T0、T1和串行口中断。中断按照功能通常分为:(1)实现中断响应和中断返回、(2)实现优先权排队(3)实现中断嵌套。(1)
2、屏蔽中断(2)非屏蔽中断。(3)软件中断)?)(定时器中断、串口中断和外部中断?)上电复位时,同级中断源的优先级别从高至低为 外部中断源0 、 定时器0 、 外部中断1、 定时器1 和 串行口 ,若IP=B,则优先级别最高者为 外部中断1 、最低者为 定时器1 。(4)机器在加电或按钮复位后,总是到 初始状态 处执行程序。(5)机器周期是固定不变的,由 6 个时钟周期T 组成,分为 6 个状态周期(12个振荡周期)。采用6MHz的晶体振荡器,则每个机器周期为2us。(6)8051的 111条指令按照指令字节数和机器周期数可分为6类,分别对应6种基本时序。这六类指令是:单字节单周期指令、单字节双
3、周期指令、单字节四周期指令、双字节单周期指令、双字节双周期指令和三字节双周期指令。8051在物理结构上只有四存储空间,它们分别是 片内程序存储器 、 片外程序存储器 、 片内数据存储器 、 片外数据存储器 ;但在逻辑结构上只有三个存储空间,它们分别是 片内外统一编址的0000HFFFFH 64KB程序存储器 、 片内256B的数据存储器 和 片外64KB的数据存储器。在访问这三个不同的逻辑空间时,应采用(不同的)指令。(7)指令系统工使用7种寻址方式,它们是:立即寻址;直接寻址;寄存器寻址;寄存器间接寻址;变址寻址;相对寻址;位寻址。(8)满量程为10V的8位DAC芯片的分辨率为:10/(28
4、-1)=39mv;一个同样量程的16位DAC的分辨率高达:10/(216-1)=153uvD/A转换器能分辨的最小输出模拟增量,取决于输入数字量的二进制位数。一个n位的DAC所能分辨的最小电压增量定义为满量程值的2-n倍。例如:满量程为10V的8位DAC芯片的分辨率为10V2-8=39mV;一个同样量程的16位DAC的分辨率高达10V2-16=153V 。(9)当P1口作为输入口时,必须先向对应的锁存器写入1(高电平)。(10)在满足串行口接收中断标志位RISCON00的条件下,置允许接收位REN(SCON4)1就会启动接收一帧数据进入输入移位寄存器,并装载到接收SBUF中,同时使RIl。当发
5、读SBUF命令时(执行MOV A,SBUF指令),即是由接收缓冲器(SBUF)取出信息通过8051内部总线送CPU。(11)当EA引脚接高电平时,CPU只访问 片内 EPROM/ROM(12)在高128字节RAM区,80H-FFH地址为特殊功能寄存器SFR区,SFR是用于对片内各功能模块进行管理、控制、 监视的控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。(13)MCS-51为用户提供了四个专用寄存器,来控制单片机的中断系统,这四个专用寄存器分别是(定时器控制寄存器(TCON)、串行口控制寄存器(SCON)、中断允许控制寄存器(IE)、中断优先级控制寄存器(IP)。(14)ALU由加法
6、器和其他逻辑电路等组成,它的功能是:完成各种算术运算和逻辑运算。(15)MCS-51单片机的堆栈,是在片内RAM中开辟的一个专用区,通常指定内部的数据存储器地址(07H-7FH)中的一部分连续存储区作为堆栈。(16)数据指针DPTR是一个(16)位的地址寄存器,作为间接寄存器使用。(17)ALE端可以驱动(8)个TTL负载。(18)MCS-51单片机中,特殊功能寄存器IE为(中断允许控制寄存器),通过向IE写入(中断控制字),控制CPU对(中断源)的开放和屏蔽。(19)异步串行通信通常一字符或者字节为单位组成字符帧传送,字符帧有发送端一帧一帧地传送,接收端通过传输线一帧一帧地接收,字符帧由四部
7、分组成,分别为(起始位、数据位、奇偶校验位、停止位)。(20)在满足串行口接收中断标准位(RI(SCON.0)0)的条件下,置允许接收位(REN(SCON.4)1)就会启动接收一帧数据进入输入移位寄存器,并装载到接收缓冲器(SBUF)中,同时使(RI1)。当发出读SBUF命令(MOV A,SBUF)时,即是从接收缓冲器SBUF中取出数据,并通过8051内部 总线送入CPU。(21)微型计算机的基本组成由微处理器、存储器、I/O接口电路和系统总线构成。(22)P0口为8位双向I/O端口能带(8)个TTL门电路,P1、P2、P3为(8位准双向I/O端口),负载能力为(4)个TTL门电路。(23)位
8、操作指令对内部RAM中的位寻址区(20H2FH)和某些可位寻址的(特殊功能寄存器SFR)进行位操作。(24)MCS-51的指令分为(数据传送类指令、算术运算类指令、逻辑运算类指令、程序控制类指令、位(布尔)操作类指令)5类。(25)该信号高电平有效,在输入端保持(2个)机器周期高电平后,就可以完成复位操作。(26)8098单片机的CPU寄存器都是 16 位的,而外部数据总线却是 8 位,8098 单片机又称 准 16位机。(27)8155 有两个8位并行I/O和一个6位并行I/O,256个字节的静态随机存取存储器RAM,一个14位的定时器/计数器以及控制逻辑电路。8155由(I/O,RAM,定
9、时器/计数器)三部分构成。二、简答题1.MCS-96系列单片机的性能: (1)16位CPU,具有高速处理能力,没有累加器,采用寄存器寄存器结构,具有232字节的寄存器阵列; (2)具有高效的指令系统,大大提高了编程效率; (3) 4/8通道的10位A/D转换器;(4)脉宽调制PWM输出装置; (5)全双工的串行口,并有专门的波特率发生器; (6)高速的I/O系统; (7)5个8位的I/O端口; (8)可编程的8个优先级中断源; (9)16位监视定时器; (10)可动态配置的总线; (11)ROM/EPROM的内容可加密; (12)2个16位的定时器/计数器,4个16位的软件定时器。应用范围:应
10、用于自动控制系统、测试系统、智能仪器、外设控制器、家用电器等。 2.MCS-51单片机的内部结构其基本特性如下: (1)8位CPU,含片内振荡器;(2)4KB的程序存储器ROM;(3)128B的数据存储器RAM;(4)64KB的外部程序存储器寻址能力;(5)64KB的外部数据存储器寻址能力;(6)32根输入输出(I/O)线;(7)2个16位定时/计数器;(8)1个全双工异步串行口;(9)21个特殊功能寄存器;(10)5个中断源,2个优先级;(11)具有位寻址功能。3. 8051单片机的引脚及相关功能;40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。1)电源: (1)VCC
11、 - 芯片电源,接+5V;(2)VSS - 接地端;2)时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 3)控制线:控制线共有4根: ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 PSEN:外ROM读选通信号。 RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。 Vpp功能:片内有EP
12、ROM的芯片,在EPROM编程期间,施加编程电源Vpp。4)I/O线:80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)4. 简述单片机的典型应用(1)在智能仪器仪表中的应用;(2)在机电一体化产品中的应用(2)在过程控制中的应用;(4)在计算机网络及通信中的应用;(5)在家用电器中的应用;(6)单片机在医用设备领域中的应用;单片机在汽车设备,工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。5简述单片微型计算机的基本组成。以微处理器为核心,加上由大规模集成电路制作的存储器(ROM和RA
13、M),输入/输出 (I/O)接口和系统总线组成的。基本组成有三部分,即中央处理器CPU (通常包括运算器和控制器)+存储器+输入/输出 (I/O) 接口。若将组成计算机的基本部件集成在一块芯片上,则俗称为单片微型计算机机。 单片微处理机就是把(CPU、存储器和I/O接口电路)等部件都集成在电路芯片上,并具备一套功能完善的指令系统。80C51内部结构主要包括中央处理器CPU (算术逻辑部件 ALU、控制器等) 、只读存储器 ROM、 随机存取存储器RAM、定时器/计数器、并行 I/O口 P0P3、串行口、中断系统以及定时控制逻辑电路等。 6简述8051单片机定时器/计数器的工作方式和功能:805
14、1单片机内部有2个可编程的16位定时器/计数器T0、T1;T0由TH0和TL0构成,T1由TH1和TL1构成。定时器T0有四种工作方式:方式0、方式1、方式2和方式3定时器T1有三种工作方式:方式0、方式1、方式2M1M0工作方式功能00方式013位定时器计数器01方式116位定时器计数器10方式28位计数器,初值自动装入11方式3两个8位计数器,仅适用T07简述8251的主要组成部分。整个8251A分为五个组成部分,接收器、发送器、调制控制、读/写控制以及I/O缓冲器。其中I/O缓冲器使8251A与系统数据总线连接起来;接收器的功能是接收在RxD脚上的串行数据并按规定把它转换为并行数据,存放
15、在数据总线缓冲器中;发送器负责在不同的通信方式下按照不同的步骤发送数据;读写控制对CPU输出的控制信号进行译码以实现不同的读写功能,并实现对MODEM的控制。7.简述取指令阶段的具体操作过程。开始执行程序前,首先应把要执行的程序的第一条指令的地址送给CPU中的程序计数器PC取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。PC送地址经过地址总线。指令,DRIRID。都是通过DB数据总线。再发出相应的控制命令,经控制总线。(1)将PC的内容00H送到AR;(2)PC+1,00H变成01H;(3)ARAB;(4)CPU发出读指令;(5)00HDB;(6)DBDR;(
16、7)DRIRID,经过译码,CPU识别指令。执行指令根据实际情况也是通过数据总线或地址总线或控制总线。8.简述8098的硬件组成并给出简单的硬件结构框图MCS-96系列单片机的内部结构框图见图,它主要由寄存器算术逻辑单元RALU、232B寄存器阵列以及一些外围子系统构成。外围子系统主要包括以下部分:高速输入/输出口(HIS/HSO)、带有采样/保持电路的A/D转换器、脉宽调制输出器(PWM)、定时器、监视定时器、中断控制、I/O口(串行口和5个并行口)及时钟脉冲发生器等功能部件。9.简述8251基本性能。(1)可用于同步和异步传送;(2)在同步方式下,可以根据方式控制字设定传送 58 字符,也
17、可以用外部或字符同步,自动插入同步字符。 (3)在异步方式下,可以根据方式控制字设定传送 58 字符,时钟频率为传输波特率的 1 、 16 或 64 倍 ,能自动为每个数据增加 1 个、 1.5 个或 2 个停止位。(4)数据传输速率:同步方式下,波特率为 064K ,异步方式下,波特率为 0 19.2K 。(5)全双工、双缓冲器的发送器和接收器。 (6)误差检测:具有奇偶、溢出和帧错误检测电路。10.简单设计手动上电复位电路。电平复位时通过RST端经电阻与电源VCC接通而实现的,按键手动电平复位电路如下图 11.简述MCS-51复位、中断入口地址。复位操作:复位是单片机的初始化操作,其主要功
18、能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。中断响应就是对中断源提出的中断请求的接受,是在中断查询之后进行的。当查询到有效的中断请求时,紧接着就进行中断响应。0003H002AH共40个单元被均匀地分为5段,每段8个单元,分别作为5个中断源的中断地址区。具体划分为: 8031/ 8051的中断服务程序入口中断源中断服务程序入口外部中断0:中断地址区0003H定时中断0T0中断地址区000BH外部中断1:中断地址区0013H定时中断1T1中断地址区001BH串行中断串行中断地址区0023H12.简述8098的存储器及其使用方法。MCS- 96的存储器是采用程序存储器和数据
19、存储器合二为一的普林斯顿结构,直接寻址范围为64KB;存储器控制器是用于管理RALU与内部、外部存储器(除00H0FFH单元)之间的通信。1FFEH2011H留给P3、P4和中断矢量,其余的可以由用户任意配置成EPROM或者ROM。由于8098单片机的引脚AD7AD0是复用的,故应先利用地址锁存允许信号ALE,将先出现的信号作为A7A0锁存起来,然后当ALE为低电平时,AD7AD0作为数据线从EPROM取出所选中单元的内容读入CPU。13.简述单片机系统的开发过程单片机应用系统的开发过程应包括4部分工作内容,即总体设计、硬件设计、软件设计、系统仿真调试和脱机运行调试。(1)总体设计:明确设计任
20、务和技术指标;建立被控对象的数学模型;总体方案的设计。(2)硬件设计:在总体方案的指导下,对构成单片机系统的所有功能部分进行详细具体的电路设计。首先要设计出各部分硬件电路原理图,然后在面包板上搭出电路进行具体实验(一些简单、成熟的方案可不用单独实验)。 在硬件设计和调试过程中,当按总体方案的设想满足不了要求时,可更改设计方案并进行实验,直到满足技术指标要求为止。 (3)软件设计:程序的结构设计;程序流程图;程序的编制;程序的检查与修改。(4)系统的仿真调试与脱机运行调试:系统调试包括硬件调试和软件调试,而且两者是密不可分的。我们设计好的硬件电路和软件程序,只有经过联合调试,才能验证其正确性;软
21、硬件的配合情况以及是否达到设计任务的要求,也只有经过调试,才能发现问题并加以解决、完善,最终开发成实用产品。14.简述运算器电路及其功能。运算器电路包括算术逻辑运算部件ALU、累加器ACC、B寄存器、暂存寄存器TMP1和TMP2、程序状态字PSW、BCD码运算调整电路。为了提高数据处理和位操作能力,片内设有一些专用寄存器,而且还增强了位处理逻辑电路功能,在进行位操作时,进位位CY作为位操作累加器,这个位操作系统构成一台布尔处理机。运算逻辑部件,可以执行定点或浮点的算术运算操作、移位操作以及逻辑操作,也可执行地址的运算和转换。15.简述中断优先级的控制原则。(1)低优先级中断请求不能打断高优先级
22、请求;高优先级中断请求可以打断低先级中断请求。(2)如果一个中断请求已被响应,则同级的其它中断响应将被禁止。(3)如果同级的多个中断请求同时出现,则近CPU查询次序确定哪个中断请求被响应。16.单片机串行通信的4种工作方式方式0方式0为同步移位寄存器输入/输出方式。该方式并不用于两个AT89S51单片机之间的异步串行通信,而是用于串行口外接移位寄存器,扩展并行I/O口。8位数据为一帧,无起始位和停止位,先发送或接收最低位。波特率固定,为fosc/12。方式1为双机串行通信方式, 当SM0、SM1=01时,串行口设为方式1的双机串行通信。TXD脚和RXD脚分别用于发送和接收数据。方式1一帧数据为
23、10位,1个起始位(0),8个数据位,1个停止位(1),先发送或接收最低位。方式2和方式3,为9位异步通信接口。每帧数据为11位,1位起始位0,8位数据位(先低位),1位可程控为1或0的第9位数据和1位停止位。SM0、SM1=11时,方式3。为波特率可变的9位异步通信方式,除了波特率外,方式3和方式2相同。17简述8155的内部逻辑结构8155的内部逻辑结构如图所示。由图可以看出,8155由三部分组成,即:存储单元为256字节的静态RAM;3个可编程的I/O,其中2个口(A口和B口)为8位口,1个口(C口)为6位口;1个14位的定时器/计数器。由以上可知8155有A口、B口、C口和定时器/计数
24、器低8位以及定时器/计数器高8位五个端口,另外8155内部还有一个命令/状态寄存器,所以8155内部共有6各端口。对它们只需要使用即可实现编址18.简述MCS-51系列单片机按照功能划分的类型。(1)基本型;(2)增大内部存储器容量的基本型;(3)低功耗基本型;(4)高级语言型;(5)可编程计数器阵列型;(6)A/D型;(7)DMA型;(8)多并行接口型 。19.简述程序状态字寄存器PSW八个标志位的定义。PSW各位的定义如下:位 序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CACF0RS1RS0OV-P 进位标志C(PSW.7); 半进位标志AC(
25、PSW.6); 软件标志位F0(PSW.5); 工件寄存器组指针RS1、RS0(PSW.4、PSW.3); 溢出标志位OV(PSW.2); 奇偶标志P(PSW.0)。程序状态字是一个8位寄存器,它包括(当前指令执行结果的各种状态和存放控制信息)等程序的状态信息。20.简述中断允许控制寄存器的地址和控制位的作用。特殊功能寄存器IE为中断允许寄存器,通过向IE写入中断控制字,控制CPU对中断源的开放或屏蔽。中断允许寄存器IE的地址为0A8H,8051系统复位后,IE中各位均被清0,即禁止所有中断。其功能如下: IE.7IE.6IE.5IE.4IE.3IE.2IE.1IE.0IEEA/ESET1EX
26、1ET0EX0位地址AFAEADACABAAA9A8功能CPU中断允许总控制位串行中断允许控制位定时器/计数器T1中断允许控制位外部中断INT1允许控制位定时器/计数器T0中断允许控制位外部中断INT0允许控制位状态0 禁止1 允许0 禁止1 允许0 禁止1 允许 0 禁止1 允许 0 禁止1 允许 0 禁止1 允许 21.简述P3口的特殊功能。P3口除作为通用I/O口外,还有第二种功能。P3口的第二种功能定义如下:引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0请求输入端)P3.3(外部中断1请求输入端)P3.4T0(定时器/计数器0请求脉冲输入端)P
27、3.5T1(定时器/计数器1请求脉冲输入端)P3.6(片外数据存储器写选通信号输出端)P3.7(片外数据存储器读选通信号输出端)22.简述MCS-51系列单片机的内部主要包含的器件。CPU、存储器、可编程I/O、定时器/计数器、串行口等5个基本部分组成,各部分通过内部总线相连,如下图所示。23堆栈指针原指向32H,内部RAM地址单元30H到32H的内容分别为20H、23H和01H,(R0)=20H,(A)=3FH,(20H)=80H,执行如下指令,表明数据指针DPTR,堆栈指针SP、(A)和(20H)的内容:POP DPHPOP DPLPOP SPXCH A, R024设堆栈指针SP中的内容为
28、60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H= 24H ,62H= 10H ,30H= 00H,31H= 0FFH,DPTR= 2410H 及SP= 60H 。 PUSH 30H;(SP)=61H,(61H)=24HPUSH 31H;(SP)=62H,(62H)=10HPOP DPL;(DPL)=10H,(SP)=61HPOP DPH;(DPH)=24H,(SP)=60HMOV 30H,#00H;(30H)=00HMOV 31H,#0FFH;(31H)=FFH25设A=40H,R1=23H,(40)=05H。执行下列两条指令后,累加器A和R1以及内
29、部RAM中40H单元的内容各为何值?XCH A,R1;(A)=23H,(R1)=40HXCHD A,R1;(A)=25H,(40H)=03H26.指出下列程序段的每条指令的源操作数是什么寻址方式,并写出每步运算的结果。(相关单元的内容)设程序存储器(1050H)=5AH1)MOV A,#0FH ;立即寻址方式,A=0FH2)MOV30H,#0F0H ;立即寻址,(30H)=0F0H3)MOV R2,A ; 寄存器寻址方式,R2=A4)MOV R1,#30H ;立即寻址,执行后R1=30H5)MOV A,R1 ;寄存器间接寻址,A=(30H)6)MOVDPTR,#1000H ;立即寻址,DPTR
30、=1000H7)MOV A,#50H ;立即寻址,A=50H8)MOVC A, A+ DPTR ;寄存器间接寻址,A=(1050H)=5AH9)JMPA+DPTR ;寄存器间接寻址,PC=A+DPTR10)CLR C ;位寻址,C=011)MOV 20H,C ; 寄存器寻址方式,(20H)=C三、计算编程题1.已知内部RAM的BLOCK单元开始有一无符号数据块,块长在LEN单元,请编出数据块中各数累加和并存入SUM单元的框图和程序。(1)先判断后处理 (2)先处理后判断例4-3 从BLOCK单元开始存放一组无符号数,一般称为一个数据块。数据块长度放在LEN单元,编写一个求和程序,将和存入SUM
31、单元,假设和不超过8位二进制数。在置初值时,将数据块长度置入一个工作寄存器,将数据块首地址送入另一个工作寄存器,一般称它为数据块地址指针。每做一次加法之后,修改地址指针,以便取出下一个数来相加,并且使计数器减1。到计数器减到0时,求和结束,把和存入SUM即可。参考程序:各单元的地址是任意的。ORG 1000HLENDATA20HSUMDATA21HBLOCKDATA22HCLRA;清累加器MOVR2 ,LEN;数据块长度送R2MOVR1 ,# BLOCK;数据块首址送RlLOOP:ADDA ,R1;循环做加法INCR1;修改地址指针DJNZR2 ,LOOP;修改计数器并判断MOVSUM ,A;
32、存和SJMP $END2.试编制程序求2个无符号数据块中的最大值,数据块的首地址分别为60H和70H,每个数据块的第一个字节都存放数据块的长度,结果存入5FH单元。例4-6 内部RAM20H单元开始存放8个无符号8位二进制数,找出其中的最大数。极值查找操作的主要内容是进行数值大小的比较。假定在比较过程中,以A存放大数,与之逐个比较的另一个数放在2AH单元中。比较结束后,把查找到的最大数送2BH单元中。程序流程如图所示。参考程序如下:MOVR0 ,# 20H;数据区首地址MOVR7 ,# 08H;数据区长度MOVA ,R0;读第一个数DECR7LOOP:INCR0MOV2AH ,R0;读下一个数
33、CJNEA ,2AH ,CHK;数值比较CHK:JNCLOOP1;A值大转移MOVA ,R0;大数送ALOOP1:DJNZR7 ,LOOP;继续MOV2BH ,A;极值送2BH单元HERE:AJMPHERE;停止3.将内部的数据存储器某一单元中的一个字节的16进制数转换成2位ASCII码,结果存在内部数据存储器的两个连续单元中。(注,30H30H为09,41H46H为AF) 例4-5 在内部RAM的hex单元中存有2位十六进制数,试将其转换为ASCII码,并存放于asc和asc+1两个单元中。主程序(MAIN): MOVSP ,# 3FHMAIN:PUSHhex;十六进制数进栈ACALLHAS
34、C;调用转换子程序POPasc;第一位转换结果送asc单元MOVA ,hex;再取原十六进制数SWAPA;高低半字节交换PUSHACC ;交换后的十六进制数进栈ACALLHASCPOPasc+l ;第二位转换结果送asc+l单元子程序(HASC):HASC:DECSP;跨过断点保护内容DECSPPOPACC;弹出转换数据ANLA ,# 0FH;屏蔽高位ADDA ,# 7;修改变址寄存器内容MOVCA ,A+PC;查表PUSHACC;查表结果进栈INCSP;修改堆栈指针回到断点保护内容INCSPRETSPASCTAB:DB“0,1,2,3,4,5,6,7”;ASCII码表DB“8,9,A,B,C
35、,D,E,F”4.8031对外部ROM和RAM的连接如下图,8031的地址采用全译码方式,片选选P2.7用于控制二-四译码器工作,片选线P2.6和P2.5参加译码,且无悬空的片选线,因此存储器所有的地址都是唯一的,地址无重叠,地址译码器Y0 Y1 Y2的输出端分别和1 2 3 存储器相连,请表明存储芯片1 2 3 的基本地址范围。1#2764: 0000H1FFFH 8KB;2#6264:2000H3FFFH 8KB;3#6264:4000H5FFFH 8KB5用8255芯片扩展单片机的I/O口,8255的A口用作输入,A口的每一位接一个开关。用B口作为输出,输出的每一位接一个发光二极管。现要
36、求某个开关接1时,相应位上的发光二极管就亮(输出低电平0)。试编写相应的程序。设8255的A口地址为70H,B口地址为71H,C口地址为72H,控制口地址为73H。8255与8031的连接按常规进行(根据给定的地址)。根据题意,只需采用无条件传送方式。初始化时,规定8255 A口为输入方式,B口为输出方式,故工作方式控制字为,即90H。读入A口数据后,取反并从B口输出,即可完成所需功能,程序如下:MOVR0,#73H;控制字寄存器地址MOVA,#90H;控制字MOVXR0,A;输出控制字MOVR0,#70H;A口地址MOVXA,R0;从A口读入CPLAINCR0;B口地址MOVXR0,A;从B
37、口输出SJMP$END如图有6个LED采用共阴极连接,79H-7EH分别存放6位显示器数据(0-5),8255的A口接LED显示器位控,8255的B口接LED显示器端控。为了存放显示的数字或字符,通常在内部RAM中设置显示缓冲区,其单元个数与LED显示器位数相同。假定本例中6个显示器的缓冲单元是79H7EH。假定位控口地址0103H,段控口地址010lH。以R0存放当前位控值,DL为延时子程序。程序清单:DIR:MOVR0 ,# 79H;建立显示缓冲区首址MOVR3 ,# 0lH;从右数第一位显示器开始MOVA , R3;位控码初值LDO:MOVDPTR ,# 0103H;位控口地址MOVXD
38、PTR ,A;输出位控码MOVDPTR,# 010lH;得段控口地址MOVA ,R0;取出显示数据DIR0:ADDA ,# 0DHMOVCA ,A+PC;查表取字形代码DIR1:MOVXDPTR ,A;输出段控码ACALLDL;延时,维持点亮INCR0;转向下一缓冲单元MOVA , R3JBACC.5 ,LDl;判是否到最高位,到则返回RLA;不到,向显示器高位移位MOVR3 ,A;位控码送R3保存AJMPLD0;继续扫描LD1:RETDSEG:DBC0H;字形代码表DBF9HDBA4H6 如图8031和8253的一种连接方式CS与P2.7相连,8031选用12MHz晶振,ALE,WR和RD通
39、过图中的逻辑组合后输出频率为2MHz的脉冲信号,作为8253计数器2时钟输入信号,把计数器2设置成方式3工作状态,编写输出40kHz方波的初始化程序。(教材P193)解:计数初值为2MHz/40kHz=50,则实现8253的OUT2输出40kHz方波信号的程序如下:MOVDPTR,#7FFFH;指向控制寄存器MOVA,#0B6H;设置计数器2输出方波MOVXDPTR,A;控制字送入控制寄存器MOVDPTR,#7FFEH;指向计数器MOVA,#32H;50分频计数器值为0032HMOVXDPTR,A先写入低8位值CLRA高8位地址为00HMOVXDPTR,A后写入高8位值7.用8253设计定时程
40、序,设输入频率为2MHz,要求能产生3分、6分和12分的定时,定时到产生中断,8253的连接示意图如下,试编写相应程序段。例如要求的定时时间分别为5s 、l0s和20s并设计一个1s延时子程序DELAY,则不同定时的调用情况表示如下:MOVR0 ,# 05H;5s延时LOOP1:LCALLDELAYDJNZR0 ,LOOP1MOVR0 ,# 0AH;10s延时LOOP2:LCALLDELAYDJNZR0 ,LOOP2MOVR0 ,# 14H;20s延时LOOP3:LCALLDELAYDJNZR0 ,LOOP38.一个数据采集系统,其中A/D转换为8位,要求采样5次,其数据放在3000H为首地址
41、的内存单元中,试设计一个排序程序,将采样值按从小到大顺序排列。FILTER: MOV A,3000H ;新的采样数据在3000H中 MOV R0,A ;以R0间址将新数据排入队尾,同时冲掉原队首数据INC R0 ;修改队尾指针MOV A,R0ANL A,#4FH ;对指针作循环处理MOV R0,AMOV Rl,#40H ;设置数据地址指针MOV R2,#00H ;清累加和寄存器MOV R3,#00H9.在以DATA为首地址的存储区中,有一长度为100字节的无序数据表,设要查找的关键字在KEY单元,试编写程序,要求找到关键字,则它所在的内存单元地址存在R2、R3中,若未找到,则将R2、R3置零,
42、根据上述要求编制框图和程序。出于待查找的是无序表格,所以只能按单元逐个搜索,根据题意可画出程序流程图,如图所示。ORG8000HSTART:MOV CHE,KEY DONE:RET MOV R4,#100 A1: POP A MOV A,#0 INC A MOV DPTR,#TABLE LOOP:PUSH A DJNZ R4 , LOOP MOVC A,A+DPTR MOV R2 , #0 CJNE A, CHE, A1 MOV R3 , #0 MOV R2, DPH AJMP DONE MOV R3, DPL TABLE:DB xx CHE EQU 20H KEY EQU 21H10.用DAC0832设计一个锯齿波电压发生器,在一些控制应用中,需要有一个线性增长的电压(锯齿波)来控制检测过程、移动记录笔或移动电子束等。对此可通过在DAC0832的输出端接运算放大器,由运算放大器产生锯齿波来实现(可用其它的芯片来实现)。设计电路如图。试绘制设计电路并编制相应程序。用DAC0832产生锯齿波电路。图中的DAC0832工作于单缓冲方式,其中输入寄存器受控,而DAC寄存器直通。假定输入寄存器地址为7FFFH,产生锯齿波的程序