华中科技大学 微机原理与接口技术--历年考研真题复习资料

更新时间:2024-05-18 21:50:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

华中科技大学 微机原理与接口技术

一、知识点

1.进制转换;KB、MB、GB、TB;原码、反码、补码; 2.8051 知识点

(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)非屏蔽中断。(3)软件中断)???) (定时器中断、串口中断和外部中断?)

上电复位时,同级中断源的优先级别从高至低为 外部中断源0 、 定时器0 、 外部中断1 、 定时器1 和 串行口 ,若IP=00010100B,则优先级别最高者为 外部中断1 、最低者为 定时器1 。

(4)机器在加电或按钮复位后,总是到 初始状态 处执行程序。

(5)机器周期是固定不变的,由 6 个时钟周期T 组成,分为 6 个状态周期(12个振荡周期)。采用6MHz的晶体振荡器,则每个机器周期为2us。 (6)8051的 111条指令按照指令字节数和机器周期数可分为6类,分别对应6种基本时序。这六类指令是:单字节单周期指令、单字节双周期指令、单字节四周期指令、双字节单周期指令、双字节双周期指令和三字节双周期指令。

8051在物理结构上只有四存储空间,它们分别是 片内程序存储器 、 片外程序存储器 、 片内数据存储器 、 片外数据存储器 ;但在逻辑结构上只有三个存储空间,它们分别是 片内外统一编址的0000H~FFFFH 64KB程序存储器 、 片内256B的数据存储器 和 片外64KB的数据存储器 。在访问这三个不同的逻辑空间时,应采用(不同的)指令。 (7)指令系统工使用7种寻址方式,它们是:立即寻址;直接寻址;寄存器寻址;寄存器间接寻址;变址寻址;相对寻址;位寻址。

(8)满量程为10V的8位DAC芯片的分辨率为:10/(28-1)=39mv;

一个同样量程的16位DAC的分辨率高达:10/(216-1)=153uv

D/A转换器能分辨的最小输出模拟增量,取决于输入数字量的二进制位数。一个n位的DAC所能分辨的最小电压增量定义为满量程值的2-n倍。例如:满量程为10V的8位DAC芯片的分辨率为10V×2-8=39mV;一个同样量程的16位DAC的分辨率高达10V×2-16=153μV 。

(9)当P1口作为输入口时,必须先向对应的锁存器写入1(高电平)。 (10)在满足串行口接收中断标志位RI〔SCON.0〕=0的条件下,置允许接收位REN(SCON.4)=1就会启动接收一帧数据进入输入移位寄存器,并装载到接收SBUF中,同时使RI=l。当发读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由加法器和其他逻辑电路等组成,它的功能是:完成各种算术运算和逻辑运算。 (15)MCS-51单片机的堆栈,是在片内RAM中开辟的一个专用区,通常指定内部的数据存储器地址(07H-7FH)中的一部分连续存储区作为堆栈。

(16)数据指针DPTR是一个(16)位的地址寄存器,作为间接寄存器使用。 (17)ALE端可以驱动(8)个TTL负载。

(18)MCS-51单片机中,特殊功能寄存器IE为(中断允许控制寄存器),通过向IE写入(中断控制字),控制CPU对(中断源)的开放和屏蔽。 (19)异步串行通信通常一字符或者字节为单位组成字符帧传送,字符帧有发送端一帧一帧地传送,接收端通过传输线一帧一帧地接收,字符帧由四部分组成,分别为(起始位、数据位、奇偶校验位、停止位)。

(20)在满足串行口接收中断标准位(RI(SCON.0)=0)的条件下,置允许接收位(REN(SCON.4)=1)就会启动接收一帧数据进入输入移位寄存器,并装载到接收缓冲器(SBUF)中,同时使(RI=1)。当发出读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)位操作指令对内部RAM中的位寻址区(20H~2FH)和某些可位寻址的(特殊功能寄存器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,定时器/计数器)三部分构成。 二、简答题

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位的软件定时器。

应用范围:应用于自动控制系统、测试系统、智能仪器、外设控制器、家用电器等。

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 - 芯片电源,接+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功能:片内有EPROM的芯片,在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和RAM),输入/输出 (I/O)接口和系统总线组成的。基本组成有三部分,即中央处理器CPU (通常包括运算器和控制器)+存储器+输入/输出 (I/O) 接口。若将组成计算机的基本部件集成在一块芯片上,则俗称为单片微型计算机机。 单片微处理机就是把(CPU、存储器和I/O接口电路)等部件都集成在电路芯片上,并具备一套功能完善的指令系统。

AB 时钟 DB CPU R O M R A M 定时器/ 计数器 中 断 系 统 I/O 口 CB复位

80C51内部结构主要包括中央处理器CPU (算术逻辑部件 ALU、控制器等) 、只读存储器 ROM、 随机存取存储器RAM、定时器/计数器、并行 I/O口 P0~P3、串行口、中断系统以及定时控制逻辑电路等。

6.简述8051单片机定时器/计数器的工作方式和功能:

8051单片机内部有2个可编程的16位定时器/计数器T0、T1;T0由TH0和TL0构成,T1由TH1和TL1构成。

定时器T0有四种工作方式:方式0、方式1、方式2和方式3 定时器T1有三种工作方式:方式0、方式1、方式2

M1M0 00 01 10 11 工作方式 方式0 方式1 方式2 方式3 功能 13位定时器计数器 16位定时器计数器 8位计数器,初值自动装入 两个8位计数器,仅适用T0 7.简述8251的主要组成部分。

整个8251A分为五个组成部分,接收器、发送器、调制控制、读/写控制以及I/O缓冲器。其中I/O缓冲器使8251A与系统数据总线连接起来;接收器的功能是接收在RxD脚上的串行数据并按规定把它转换为并行数据,存放在数据总线缓冲器中;发送器负责在不同的通信方式下按照不同的步骤发送数据;读写控制对CPU输出的控制信号进行译码以实现不同的读写功能,并实现对MODEM的控制。 7.简述取指令阶段的具体操作过程。

开始执行程序前,首先应把要执行的程序的第一条指令的地址送给CPU中的程序计数器PC取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。PC送地址经过地址总线。指令,DR~IR~ID。都是通过DB数据总线。再发出相应的控制命令,经控制总线。

(1)将PC的内容00H送到AR; (2)PC+1,00H变成01H; (3)AR~AB; (4)CPU发出读指令; (5)00H~DB; (6)DB~DR;

(7)DR~IR~ID,经过译码,CPU识别指令。

执行指令根据实际情况也是通过数据总线或地址总线或控制总线。

8.简述8098的硬件组成并给出简单的硬件结构框图

MCS-96系列单片机的内部结构框图见图,它主要由寄存器算术逻辑单元RALU、232B寄存器阵列以及一些外围子系统构成。外围子系统主要包括以下部分:高速输入/输出口(HIS/HSO)、带有采样/保持电路的A/D转换器、脉宽调制输出器(PWM)、定时器、监视定时器、中断控制、I/O口(串行口和5个并行口)及时钟脉冲发生器等功能部件。

9.简述8251基本性能。

(1)可用于同步和异步传送;

(2)在同步方式下,可以根据方式控制字设定传送 5~8 字符,也可以用外部或字符同步,自动插入同步字符。 (3)在异步方式下,可以根据方式控制字设定传送 5~8 字符,时钟频率为传输波特率的 1 、 16 或 64 倍 ,能自动为每个数据增加 1 个、 1.5 个或 2 个停止位。

(4)数据传输速率:同步方式下,波特率为 0~64K ,异步方式下,波特率为 0 ~ 19.2K 。 (5)全双工、双缓冲器的发送器和接收器。

(6)误差检测:具有奇偶、溢出和帧错误检测电路。 10.简单设计手动上电复位电路。

电平复位时通过RST端经电阻与电源VCC接通而实现的,按键手动电平复位电路如下图

25.设A=40H,R1=23H,(40)=05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值? XCH A,R1;(A)=23H,(R1)=40H XCHD A,@R1;(A)=25H,(40H)=03H

26.指出下列程序段的每条指令的源操作数是什么寻址方式,并写出每步运算的结果。(相关单元的内容)设程序存储器(1050H)=5AH. 1)MOV A,#0FH 2)MOV 30H,#0F0H 3)MOV R2,A 4)MOV R1,#30H 5)MOV A,@R1 6)MOV DPTR,#1000H 7)MOV A,#50H 8)MOVC A,@ A+ DPTR 9)JMP @A+DPTR 10)CLR C 11)MOV 20H,C ;立即寻址方式,A=0FH ;立即寻址,(30H)=0F0H ; 寄存器寻址方式,R2=A ;立即寻址,执行后R1=30H ;寄存器间接寻址,A=(30H) ;立即寻址,DPTR=1000H ;立即寻址,A=50H ;寄存器间接寻址,A=(1050H)=5AH ;寄存器间接寻址,PC=A+DPTR ;位寻址,C=0 ; 寄存器寻址方式,(20H)=C 三、计算编程题

1.已知内部RAM的BLOCK单元开始有一无符号数据块,块长在LEN单元,请编出数据块中各数累加和并存入SUM单元的框图和程序。

(1)先判断后处理 (2)先处理后判断

[例4-3] 从BLOCK单元开始存放一组无符号数,一般称为一个数据块。数据块长度放在LEN单元,编写一个求和程序,将和存入SUM单元,假设和不超过8位二进制数。

在置初值时,将数据块长度置入一个工作寄存器,将数据块首地址送入另一个工作寄存器,一般称它为数据块地址指针。每做一次加法之后,修改地址指针,以便取出下一个数来相加,并且使计数器减1。到计数器减到0时,求和结束,把和存入SUM即可。 参考程序:各单元的地址是任意的。

ORG 1000H LEN DATA 20H SUM DATA 21H BLOCK DATA 22H CLR A ;清累加器 MOV LEN R2 , ;数据块长度送R2 MOV # BLOCK R1 , ;数据块首址送Rl

ADD @R1 LOOP: A , ;循环做加法

INC R1 ;修改地址指针 DJNZ LOOP R2 , ;修改计数器并判断 MOV A SUM , ;存和 SJMP $ END

2.试编制程序求2个无符号数据块中的最大值,数据块的首地址分别为60H和70H,每个数据块的第一个字节都存放数据块的长度,结果存入5FH单元。

[例4-6] 内部RAM20H单元开始存放8个无符号8位二进制数,找出其中的最大数。极值查找操作的主要内容是进行数值大小的比较。假定在比较过程中,以A存放大数,与之逐个比较的另一个数放在2AH单元中。比较结束后,把查找到的最大数送2BH单元中。程序流程如图所示。

参考程序如下: MOV # 20H R0 , ;数据区首地址 MOV # 08H R7 , ;数据区长度 MOV @R0 A , ;读第一个数 DEC R7

INC R0 LOOP:

MOV @R0 2AH , ;读下一个数 CJNE A ,2AH , CHK ;数值比较

JNC LOOP1 CHK: ;A值大转移

MOV @R0 A , ;大数送A

LOOP LOOP1: DJNZ R7 , ;继续

MOV A 2BH , ;极值送2BH单元

AJMP HERE HERE: ;停止

3.将内部的数据存储器某一单元中的一个字节的16进制数转换成2位ASCII码,结果存在内部数据存储器的两个连续单元中。(注,30H~30H为0~9,41H~46H为A~F)

[例4-5] 在内部RAM的hex单元中存有2位十六进制数,试将其转换为ASCII码,并存放于asc和asc+1两个单元中。

主程序(MAIN): MOV # 3FH SP ,

PUSH hex MAIN: ;十六进制数进栈

ACALL HASC ;调用转换子程序

;第一位转换结果送asc单

POP asc

MOV hex A , ;再取原十六进制数 SWAP A ;高低半字节交换 PUSH ACC ;交换后的十六进制数进栈 ACALL HASC

;第二位转换结果送asc+l

POP asc+l

单元

子程序(HASC):

DEC SP HASC: ;跨过断点保护内容

DEC SP POP ACC ;弹出转换数据 ANL # 0FH A , ;屏蔽高位 ADD # 7 A , ;修改变址寄存器内容 MOVC @A+PC A , ;查表 PUSH ACC ;查表结果进栈

INC SP ;修改堆栈指针回到断点保

护内容

INC SP RET SP ASCTAB: DB “0,1,2,3,4,5,6,7” ;ASCII码表 DB “8,9,A,B,C,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: 0000H~1FFFH 8KB;2#6264 :2000H~3FFFH 8KB;3#6264:4000H~5FFFH 8KB

P2.72764(1)000000P2.6000011P2.5001100P2.4…. P0地址范围0000H---1FFFH2000H---3FFFH4000H---5FFFH0 …. 01 …. 10 …. 01 …. 10 …. 01 …. 12764(2)6264

5.用8255芯片扩展单片机的I/O口,8255的A口用作输入,A口的每一位接一个开关。用B口作为输出,输出的每一位接一个发光二极管。现要求某个开关接1时,相应位上的发光二极管就亮(输出低电平0)。试编写相应的程序。设8255的A口地址为70H,B口地址为71H,C口地址为72H,控制口地址为73H。

8255与8031的连接按常规进行(根据给定的地址)。根据题意,只需采用无条件传送方式。初始化时,规定8255 A口为输入方式,B口为输出方式,故工作方式控制字为10010000,即90H。读入A口数据后,取反并从B口输出,即可完成所需功能,程序如下:

MOV R0,#73H ;控制字寄存器地址 MOV A,#90H ;控制字 MOVX @R0,A ;输出控制字 MOV R0,#70H ;A口地址 MOVX A,@R0 ;从A口读入 CPL A INC R0 ;B口地址 MOVX @R0,A ;从B口输出 SJMP $ END

如图有6个LED采用共阴极连接,79H-7EH分别存放6位显示器数据(0-5),8255的A口接LED显示器位控,8255的B口接LED显示器端控。为了存放显示的数字或字符,通常在内部RAM中设置显示缓冲区,其单元个数与LED显示器位数相同。假定本例中6个显示器的缓冲单元是79H~7EH。

假定位控口地址0103H,段控口地址010lH。以R0存放当前位控值,DL为延时子程序。程序清单:

MOV # 79H DIR: R0 , ;建立显示缓冲区首址

MOV # 0lH R3 , ;从右数第一位显示器开

MOV R3 A , ;位控码初值

MOV # 0103H LDO: DPTR , ;位控口地址

MOVX A @DPTR , ;输出位控码 MOV # 010lH DPTR, ;得段控口地址 MOV @R0 A , ;取出显示数据

ADD # 0DH DIR0: A ,

MOVC @A+PC A , ;查表取字形代码

MOVX A DIR1: @DPTR , ;输出段控码

ACALL DL ;延时,维持点亮 INC R0 ;转向下一缓冲单元 MOV R3 A , JB LDl ACC.5 , ;判是否到最高位,到则

返回

RL A ;不到,向显示器高位移

MOV A R3 , ;位控码送R3保存 AJMP LD0 ;继续扫描

RET LD1:

DB C0H DSEG: ;字形代码表

DB F9H DB A4H

6 如图8031和8253的一种连接方式CS与P2.7相连,8031选用12MHz晶振,ALE,WR和RD通过图中的逻辑组合后输出频率为2MHz的脉冲信号,作为8253计数器2时钟输入信号,把计数器2设置成方式3工作状态,编写输出40kHz方波的初始化程序。(教材P193) 解:计数初值为2MHz/40kHz=50,则实现8253的OUT2输出40kHz方波信号的程序如下:

MOV DPTR,#7FFFH ;指向控制寄存器 MOV A,#0B6H ;设置计数器2输出方波 MOVX @DPTR,A ;控制字送入控制寄存器 MOV DPTR,#7FFEH ;指向计数器 MOV A,#32H ;50分频计数器值为0032H MOVX @DPTR,A 先写入低8位值 CLR A 高8位地址为00H MOVX @DPTR,A 后写入高8位值

7.用8253设计定时程序,设输入频率为2MHz,要求能产生3分、6分和12分的定时,定时到产生中断,8253的连接示意图如下,试编写相应程序段。

例如要求的定时时间分别为5μs 、l0μs和20μs并设计一个1s延时子程序DELAY,则不同定时的调用情况表示如下:

MOV # 05H R0 , ;5s延时

DELAY LOOP1: LCALL

DJNZ LOOP1 R0 , ? MOV # 0AH R0 , ;10s延时

DELAY LOOP2: LCALL

DJNZ LOOP2 R0 , ? MOV # 14H R0 , ;20s延时

DELAY LOOP3: LCALL

DJNZ LOOP3 R0 , ?

8.一个数据采集系统,其中A/D转换为8位,要求采样5次,其数据放在3000H为首地址的内存单元中,试设计一个排序程序,将采样值按从小到大顺序排列。 FILTER: MOV A,3000H ;新的采样数据在3000H中

MOV @R0,A ;以R0间址将新数据排入队尾,

同时冲掉原队首数据

INC R0 ;修改队尾指针 MOV A,R0

ANL A,#4FH ;对指针作循环处理 MOV R0,A

MOV Rl,#40H ;设置数据地址指针 MOV R2,#00H ;清累加和寄存器 MOV R3,#00H

9.在以DATA为首地址的存储区中,有一长度为100字节的无序数据表,设要查找的关键字在KEY单元,试编写程序,要求找到关键字,则它所在的内存单元地址存在R2、R3中,若未找到,则将R2、R3置零,根据上述要求编制框图和程序。出于待查找的是无序表格,所以只能按单元逐个搜索,根据题意可画出程序流程图,如图所示。 ORG 8000H

START: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 21H

10.用DAC0832设计一个锯齿波电压发生器,在一些控制应用中,需要有一个线性增长的电压(锯齿波)来控制检测过程、移动记录笔或移动电子束等。对此可通过在DAC0832的输出端接运算放大器,由运算放大器产生锯齿波来实现(可用其它的芯片来实现)。设计电路如图。试绘制设计电路并编制相应程序。用DAC0832产生锯齿波电路。

图中的DAC0832工作于单缓冲方式,其中输入寄存器受控,而DAC寄存器直通。假定输入寄存器地址为7FFFH,产生锯齿波的程序清单如下: MOV A,#00H ;取下限值 MOV DPTR,#7FFFH ;指向0832口地址 MM: MOVX @DPTR,A ;输出 INC A ;延时 NOP NOP NOP SJMP MM ;反复

9.现有2K*8位存储器芯片,需扩展8K*8位存储器结构采用译码法进行扩展,扩展8KB的存储结构需要2KB的存储器芯片4块,2K存储器所用的地址为A0~A10共11根地址线。试画出电路图,并标出地址范围。

80C51 存储器 AA 与0~7相连 AA1相连 与8~ 0DD 与0~7相连 译码输出与存储器的片选信号连接 1的片选信号相连 与存储器 2的片选信号相连 与存储器 3的片选信号相连 与存储器 4的片选信号相连 与存储器 P0口经锁存器锁存形成AA0~7 P2.、P2.、P2. 012 P0口 P2. P2. 43 0 0 0 1 1 0 1 1

P2.3、P2.4作为二-四译码器的译码地址,译码输出作为扩展4个存储器芯片的片选信

号,P2.5、P2.6、P2.7悬空。扩展连线图如图所示。

74LS139Y0Y1Y2Y3CP2.2P2.1P2.0P0口锁存输出A10A9A8A10A9A8P2.4P2.3BA1GCEEA10A9A8CEA10A9A8CEA7|A0A7A7|A7|1|A02A03A04

这样得到四个芯片的地址分配如表所示。 译码方式地址分配表

P2.7芯片100000000P2.600000000P2.500000000P2.400001111P2.300110011P2.2…. P00 …. 01 …. 10 …. 01 …. 10 …. 01 …. 10 …. 01 …. 1地址范围0000H---07FFH0800H---0FFFH1000H---17FFH1800H—1FFFH芯片2芯片3芯片4

9.用8253监视一个生产流水线示意图,每通过50个工件扬声器响5秒,频率为2000HZ,根据分析编制监视程序。

例:用8253监视一个生产流水线,每通过100个工件。蜂鸣器响6s。频率为1000HZ。 ① 硬件连接:工件从光源与光敏电阻之间通过时,在晶体管的发射极上会产生一个脉冲,此脉冲作为8253计数通道0的计数脉冲,当通道0计数满100后,由OUT0输出负脉冲,经反相后作为8259A的一个中断请求信号,在中断服务程序中,启动8253计数通道1工作,由OUT1连续输出1000HZ的方波,持续6s后停止输出。 ② 控制字设置:通道0计数器工作于方式2,采用BCD计数,因计数初值为100,采用RL1RL0=10(读/写计数器的高8位),则方式控制字为00100101B。通道1计数器工作于方式3,CLK1接2MHZ时钟,要求产生1000HZ的方波,则计数初值应为2000000÷1000=2000,采用RL1RL0=10(只读/写高8位),BCD计数,则方式控制字为01100111B。 ③ 程序编制:假设8253通道0的地址为40H,通道1的地址为42H,控制口地址为46H。8255A的A口地址为80H,工作于方式0输出。 则主程序为:

;通道0初始化 MOV AL,25H

;计数初值高8位,低8位自动清零 OUT 46H,AL

MOV AL,01H

OUT 40H,AL

;开中断 STI

;等待中断 HLT LOP:

JMP LOP

中断服务程序为:

;通道1的GATE1置1,启动计数 MOV AL,01H

OUT 80H,AL

;通道1初始化 MOV AL,67H

OUT 46H,AL

;计数初值高8位,低8位自动清零 MOV AL,20H

OUT 42H,AL

;延时6s CALL DL 6s

;通道1的GATE1置0,停止计数 MOV AL,00H

OUT 80H,AL

;向8259A发中断结束命令 IRET

本文来源:https://www.bwwdw.com/article/rt17.html

Top