您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页微机原理与接口技术习题集

微机原理与接口技术习题集

来源:化拓教育网


微机原理与接口技术习题集1(共57

页)

--本页仅作为文档封面,使用时请直接删除即可-- --内页可以根据需求调整合适字体及大小--

963. 在8253中通过对其中一个____的编程设定和控制工作方式,其端口地

址是当 A1A0=_____是的地址。 【参】P169 例2 控制口,11B。

9. 若要在8253A的计数工程中读取计数值,应该____。 A. 直接用IN指令读出CE的内容

B. 先对8253A写入一个锁存命令,将当前的CE内容锁存入OL中,然后再用IN指令将OL的内容取到CP中,再发出命令让OL的内容开始与CE同步 C. 先对8253A写入一个锁存命令,将当前的CE内容锁存入OL中,然后再用IN指令将OL的内容取到CPU中,此后OL的内容自动开始与CE同步 【参】P169 例3 C。

965. 在某微机系统中,8253的3个计数器的端口地址分别为3F0H、3F2H和

3F4H,控制自寄存器的端口地址为3F6H,要求8253的通道0工作于方式3,采用BCD计数,输入脉冲频率为2MHz,输出方波频率为2KHz,使编写初始化程序片断。 分析:

(1) 计算计数初值

计数初值=输入脉冲频率输出方波频率=2MHz2KHz=1000

(2) 确定方式控制字

方式控制字:{{{方式 30 0 1 1 0 1 1 10B=37H选择通道 016位读写十进制

【参】P169 例4 初始化程序片断 MOV AL, MOV DX, OUT DX, MOV AL, MOV DX, OUT DX,

AL, MOV

OUT DX,

37H 3F6H AL 00 3F0H AL 10H AL

;送方式控制字到控制口

;送计数初值低字节到通道0

;送计数初值高字节到通道0

2

966. 设定时器/计数器8253的CLK1端输入时钟信号的频率为,要求在OUT

端产生频率为1Hz的方波,则8253的计数器1#应工作于方式____,且送入计数器1#的计数初值为_____。

3

【参】P170例5 3,2500。

967. 可编程计数/定时器8253的工作方式共有_____,共有______个I/O地

址。 A.3种、4

B.4种、5

C.6种、3

D.6种、4

【参】P170例1 D。

968. 当Intel8253可编程定时/计数器工作在方式0,在初始化编程时,一旦写

入控制字后,_____。 A.输出信号端OUT变为高电平 C.输出信号保持原来的点位值 【参】P170例2 B。

969. 定时/计数器8253无论工作在哪种方式下,在初始化编程时,写入控制

字后,输出端OUT便______。 A.变为高电平

C.变为相应的高电平或低电平 【参】P170例3 C。

970. 8253.芯片内包含有_____个的计数通道,它有______种工作方式,

若输入时钟CLK1=1MHz,计数初值为500,BCD码计数方式,OUT1输出为方波,则初始化时该通道的控制字应为_____。

B.变为低电平

D.保持原状态不变,直至计数结束 B.输出信号端OUT变为低电平 D.立即开始计数

3

【参】P171例4 3,6,77H。

971. 若8253PIT的通道计数频率为1MHz,每个通道的最大定时时间为

____。 A.

B.

C.

D.

【参】P171 例5 D.

972. 已知图如下。要求

(1) 使用地址总线的A9到A0,利用74LS138(可适当添加逻辑电路)

给8253编一个I/O地址,使当CPU输出I/O地址为200H~203H时,分别选中8253的0#、1#、2#计数器及控制字寄存器,并使8253能正常工作。是在图中画出所有的相关连线。

(2) 设8253的0#计数器作为十进制计数器用,其输入计数脉冲频率为

100kHz,要求0#计数器输出频率为1kHz的方波,试写出设置8253工作方式及计数初值的有关指令。(控制字格式如图所示)。

4

74LS138E3Y0E2 Y1E1 Y2 Y3 Y4C Y5B Y6A Y78253CSD7~D0IORIOWRDWRA1A08253控制字格式VcGATE0CLK0OUT0+5V100kHz 1kHzA0 A11 1D7SC1D6SC0D5RL10001101100011011000001×10×11100101图8.4D4RL0D3M2D2M1D1M0D0BCDSC1 SC0=计数器0#控制字计数器1#控制字计数器2#控制字非法当前计数值所存读/写低8位数据读/写高8位数据读/写16位数据,先低8位后高8位8253工作在方式08253工作在方式18253工作在方式28253工作在方式38253工作在方式48253工作在方式5例6图RL1 RL0=M2M1M0=

BCD=1:8253工作在十进制计数器方式;BCD=0:8253工作在二进制计数器方式。

【参】P172 例6

(1) 连线图如图所示

4

74LS138A8A7A6A5A9E3Y0E2 Y1E1 Y2 Y3 Y4C Y5B Y6A Y7数据总线IORIOWA1A0图8.58253CSD7~D0RDWRA1A0VcGATE0CLK0OUT0+5VA4A3A2100kHz 1kHz例6连线图

(1) 初始化程序

MOV MOV OUT MOV MOV OUT MOV OUT

973. 已知加在8253上的外部计数器时钟频率为1MHz,试说明若再不增加硬

件芯片的情况下,使8253产生周期为1s的对称方波应如何实现? 【参】P174 题1

由外部计数器时钟频率为1MHz,得时钟周期为1/1MHz=1μs;单通道最大定时时间为216*1μs<1s,所以,要采用计数通道串联的形式。

设通道0、通道1都工作在房时3,通道0的输出作为通道1的输入,如图所示。

AL,37H DX,203H DX,AL AL,00 DX,200H DX,AL AL,1 DX,AL

;送方式控制字到控制口

;送计数初值到通道0

5

8253GATE0GATE1CLK0OUT0CLK1OUT1图8.6+5V1MHz方波1kHz方波1Hz方波连线图

1MHz=1000 1kHz1kHz通道1的计数初值=输入脉冲频率/输出方波频率==1000

1Hz通道0的计数初值=输入脉冲频率/输出方波频率=

974. 8253端口地址为40H~43H,CH0作为计数器,技术试种频率1MHz.下

列程序段执行后,输出脉冲的宽度是______。

MOV

AL,36H

6

OUT MOV OUT MOV OUT

【参】P174 题2 10ms。

43H,AL AX,20000 40H,AL AL,AH 40H,AL

975. 已知电路原理图如图所示。编写初始化程序,使在OUT0端输出图示波

形(控制字格式同前述题6)。

8253200H~203H至DBIORIOWCSD7~D0RDWRA1A0GND图8.7VccGATE0A1A0CLK0OUT0+5V1MHz 1μs8253连线图

【参】P175 题3

从输出波形上看,该波形的周期是1ms,负脉冲宽度是1μs。显然,这是8253工作在方式2下的输出波形。

(1) 计算计数初值

时钟周期=1/CLK0=1/1MHz=1μs 计数初值=输出脉冲周期/时钟周期= (2) 确定方式控制字

1ms =1000 1s6

方式控制字:0 0 1 1 0 1 0 1B=35H{选择通道0

(3) 初始化程序片断:

MOV AL,35H MOV DX,203H

{{16十位方式进读2制写 7

OUT MOV MOV OUT MOV OUT

DX,AL ;送方式控制字到控制口 AL,1000H DX,200H DX,AL AL,AH

DX,AL ;送计数初值到通道0

976. 有如图所示的接口间画图,要是发光二极管点亮2秒,熄灭2秒,但该

过程共进行20秒即终止,编写出程序。(伪指令可省略)

DB7~DB0A1A0A3A4A5M/IOA6A7译码器ABCY3G2AA0G2BG1 CLK0GATE0OUT0CLK1A1GATE1A0OUT1CLK2GATE2CSOUT28253D7~D0Q DQ1MHz+5V图8.8某接口简化图

【参】P176 题4

(1) 8253口地址 通道0:98H 通道1:9AH 通道2:9CH 控制口:9EH (2) 计数初值和控制字 通道0:方式2

输入频率=1MHz/2=500kHz,设输出频率=100Hz, 所以,计数初值n0=500kHz/100zHz=5000

7

控制字 00110101B=35H

通道2:方式0

输入频率=100Hz,则时钟周期=1/100Hz=,而定时时间20s 所以,计数初值n2=20s/=2000 控制字B=B1H 通道1:方式3

输入频率=100Hz,则时钟周期=1/100Hz=,而输出周期=2+2=4s所以,计数初值n1=4s/=400

8

控制字 01110111B=77H

(3) 参考程序

MOV OUT MOV OUT MOV OUT

MOV OUT MOV OUT MOV OUT

MOV OUT MOV OUT MOV OUT

AL,35H 9EH,AL AL,00H 98H,AL AL,50H 98H,AL

AL,77H 9EH,AL AL,0H 9AH,AL AL,4H 9AH,AL

AL,0B1H 9EH,AL AL,0H 9CH,AL AL,20H 9CH,AL

;通道0初始化

;通道0控制字

;通道0计数初值 ;通道1初始化

;通道1控制字

;通道1计数初值 ;通道2初始化

;通道2控制字

;通道2计数初值

977. 已知8253连接示意图如图所示,阅读程序后回答OUT2段输出的波形和

频率。

8

400H~406HCS8253GATE0GATE2CLK0OUT0CLK2OUT2+5V750kHz方波图8.9CODE

START:

HERE: CODE

8253连接示意图

CS:CODE 100H

DX,406H AL,37H DX,AL DX,400H AL,00H DX,AL AL,75H DX,AL DX,406H AL,0B7H DX,AL DX,404H AL,00H DX,AL AL,10H DX,AL HERE

START

SEGMENT ASSUME ORG MOV MOV OUT MOV MOV OUT MOV OUT MOV MOV OUT MOV MOV OUT MOV OUT JMP ENDS END

【参】P177 简答题1 方波,频率。

978. 已知8253的通道0工作在方式2,通道1工作在方式3。OUT1与CLK0

相连,CLK1引脚上输入2MHz的时钟信号。GATE1和GATE2接在高电

9

平,OUT0 通过一反向器输出周期为150µs、高电平宽度为5µs的周期信号。试计算通道0和通道1的计数初值n0和n1。 【参】P178 简答题2 N0=30,n1=10。

979. 在8253控制字节中,若RL1RL0 =11,表示_____,此时若向计数器0的

CR预置初值时,须有____条输出指令。

10

【参】P178 填空题1

先读/写计数器低字节、后读/写计数器高字节,2。

980. 8253可编程定时/计数器有____种工作方式,若系统要求输出一个连续的

方波信号,则8253的某一个定时/计数器应工作在_____。 【参】P178 填空题2 6,方式3。

981. 某系统中,Intel8253所使用的计数脉冲频率为,若给8253的计数器预

置的初值N=500,则当计数器计到数值为“0”时,定时时间T=_____。 【参】P179 填空题3 1ms。

982. 在8086系统中,8253的通道0工作于方式3(方波发生器),所用的时

钟脉冲频率为2MHz,要求输出频率为5kHz的连续方波,其时间常数N0=_____;通道1工作于方式1,要求产生宽度为500µs的单脉冲,应取时间常数N1=_____。 【参】P179 填空题4 400,1000.

983. 8253无论工作在哪种工作方式,在初始化编程时,当写入控制字后,输

出端OUT就_____。 A. B. C. D.

为高电平 为低电平

据设定的工作方式,变为相应的高电平或低电平 持原状态不变,直至计数结束

10

【参】P179 选择题1 C.

984. 8253 PIT有3个16位计数器通道,每个通道有_____种工作方式。

A. 5

B. 3

C. 4

D. 6

【参】P179 选择题2 D.

985. 8253计数/定时器中有3个的16位计数器,可分别按加或减计数方

式工作。

【参】P179 判断题1 错误

986. 8253PIT工作方式2和方式3的相同之处是都能产生周期性信号输出。 【参】P179 判断题2 正确

987. 如果8253(或8254)一PIT通道0的时钟输入频率为100kHz,那么这个

通道的最大定时时间可以达到1s。

11

【参】P179 判断题3 错误

988. Intel8253可变程定时/计数器工作在方式0计数过程中,当GATE=0

时,不影响当前的计数过程。 【参】P179 判断题4 错误

9. 设8253的通道0~2和控制端口的地址分别为300H~303H,定义通道0

工作在方式3,CLK0=2MHz。试编写初始化程序,并画出硬件连线图。要求通道0输出2000Hz的方波,通道1用通道0的输出作计数脉冲,输出频率为400Hz的序列负脉冲。 【参】P179 简答题1

通道0工作在方式3,计数初值1000,控制字00110110B=36H 通道1 工作在方式2,计数初值5,控制字01010100B=54H 初始化程序: ;通道0 MOV MOV OUT MOV MOV OUT MOV OUT ;通道1 MOV MOV OUT MOV

DX,303H AL,36H DX,AL AX,1000 DX,300H DX,AL AL,AH DX,AL DX,303H AL,54H DX,AL AL,5

11

;送通道0控制字

;送通道0计数初值

;送通道1控制字

MOV DX,301H OUT DX,AL

硬件连线如图不所示

8253+5VGATE0GATE1CLK02MHz方波OUT0CLK12000Hz方波OUT14000Hz负脉冲序列图B.48253连线图;送通道1计数初值

12

990. 在某微机中,8253t通道1工作于方式2,用它长生间隔为15µs的负脉

冲信号用于对动态RAM刷新的定时信号,技术脉冲输入为2MHz,试计算出应写入的计数值是多少?并编写初始化程序。(设8253的计数通道0、1、2的地址分别为40H、41H、42H,空置端口地址为43H)

【参】P179 简答题2 计数值是30。

通道1:计数初值30,控制字01010101B=55H 初始化程序: MOV MOV OUT MOV MOV OUT

991. 用8253芯片的通道0生产间隔为10ms的定时信号,技术脉冲的输入频

率为2MHz,试说明所采用的工作方式是什么计算出应写入的计数初值是多少写出初始化程序。(端口地址假设为:40H~43H) 【参】P179 简答题3

所采用的工作方式是方式2。计数初值是20000。 通道0:计数初值20000,控制字00110100B=34H 初始化程序: MOV OUT MOV OUT

AL,34H 43H,AL AX,20000 40H,AL

;送控制字 12

DX,43H AL,55H DX,AL AX,30H DX,41H DX,AL

;送控制字

;送计数初值

MOV OUT

AL,AH 40H,AL

;送计数初值

992. 已知原理图如图所示(8253的控制字格式同前述例6)。设有2MHz方

波信号源,若利用8253的0#和1#计数器进行串联分频,实在1#计数器的输出端输出分频后的波形。要求: (1) 画出电路中缺少的连线

13

8253200H~203H至DBIORIOWCSGATE0D7~D0GATE1RDWRCLK0A1OUT0A0CLK1OUT1+5VA1A02MHz图8.108253连线图

(2) 已知有关初始化程序如下,问:8253的0#和1#计数器个输出什么波

形,频率各是多少?

8253初始化程序

MOV MOV OUT MOV OUT MOV MOV OUT INC MOV OUT

【参】P180 简答题4

(1) 补画的连线如图所示。

DX,203H AL,25H DX,AL AL,56H DX,AL DX,200H AL,1 DX,AL DX

AL,H DX,AL

13

8253200H~203H至DBIORIOWCSGATE0D7~D0GATE1RDWRCLK0A1OUT0A0CLK1OUT1+5V2MHzA1A0图B.58253连线图

(2) 通道0:负脉冲序列,20kHz;通道1:方波,200Hz。

14

993. 8255A中,A组有____种工作方式,它们是____;B组有____种工作方

式,它们是____。当A组工作于方式2时,B组可以工作于____。 【参】P184 例1

3,方始0、方式1和方式2,2,方式1和方式2。

994. 8255应用在8088CPU系统中,假定其端口地址为60H、61H、62H、

63H;如果将CPU换成8086,此时PA端口仍然为60H,则其端口C的地址为____。 【参】P185 例2 H。

995. 8255A的方式选择字和位置复位字都写到什么端口用什么方式区分它们 【参】P185 例3

8255A的方式选择字和位置复位字都写到控制端口,靠字的D7位进行区分。

996. 若8255A的端口B工作在方式1,并为数出口,置位PC2的作用为

____。

【参】P185 例4 允许端口B输出中断。

997. 设8255Ade A口、B口、C口和控制口的端口地址分别是60H、62H、

H和66H.要求A口工作在方式0输入,B口工作在方式0输出,C口的高4位输入,C口的低4位输出,使编写8255A的初始化程序。 【参】P185 例5

14

8255A的初始化程序:

MOV OUT

998. 当8255A端口PA、PB分别工作在方式2、方式1时,其PC端口引脚

为____。 A. 2位

I/O

B. 2个4位

I/O

C. 全部作应答联络

线

D. 1个8位

I/O

AL,98H 66H,AL

【参】P186 例1 C.

999. 当8255A的A口工作在方式1,B口工作在方式1时,C口仍然可按基

本的输入/输出方式工作的端口线有_____。 A. 0条

B. 2条

C. 3条

D. 5条

【参】P186 例2 B.

1000. 对8255Ade C口执行按位置位/复位操作时,写入得端口地址是_____。

A. 端口A

B. 端口B

C. 端口C

D. 控制端口

【参】P186 例3 D.

15

1001. 8255A的引脚、、信号电平分别为____时,可完成“数据总线→8255A数

据寄存器”的操作。 A. 1、1、0

B. 0、1、0

C. 0、0、1

D. 1、0、1

【参】P186 例4 B.

1002. 要将8255Ade 3个8位I/O端口全部设定潍坊市0的输入,其摄制的方

式控制字为____。 A. 98H

B. 9BH

C. 9AH

D. 99H

【参】P187 例5 B.

1003. 设8255工作在方式0下,从A口读入数据,将其高4位清0,低4位保

持不变,然后送B口输出。试编写8255初始化程序。(设8255A口地址为60H,B口地址为61H,控制端口地址为63H) 【参】P187 例6

参考程序:

MOV OUT …… IN AND OUT ……

1004. 已知原理图如图所示。

AL,99H 63H,AL

;8255A初始化

;8255A工作中

;从A口读入数据

;高4位清0,低4位保持不变 ;送B口输出

AL,60H AL,0FH 61H,AL

15

(1) 要求对所给电路编写有关程序段,使当开关接至为至1到7时,数

码管显示相应的数字1到7,当开关接至为至8时,退出程序。(注意:不必写出所有程序,控制字格式如图25所示。) (2) 试说明本电路是如何实现接口的基本功能的。

16

A1A0200H~203H数据总线IORIOWA1A0CSVcPA6…PA0g…a同相段驱动电路…af g be d c12PB08255APB1PB2D7~D0PB3PB4RDPB5WRPB6GNDPB7453开关6788255A 控制字符A0 A1D71 1 1D6D5D4D3D2D1D0A组控制D6 D5=00011×0101010101A组工作在方式0A组工作在方式1A组工作在方式2A口为输出A口为输入C口高4位为输出C口高4位为输入B组工作在方式0B组工作在方式1B口为输出B口为输入C口低4位为输出C口低4位为输入8255A连接图及控制字B组控制D4=D4=D3=D3=D3=图9.416

【参】P188 例7

(1) 有关程序段

TABLE

DATA

AGAIN:

DATA SEGMENT DB 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H …… ENDS ;代码段 …… MOV AX,DATA MOV DS,AX MOV AL,8BH MOV DX,203H OUT DX,AL …… MOV DX,201H IN AL,DX TEST AL,80H

;1~7的共阴极显示码

;数据段段寄存器DS赋值

;写入方式控制字

;从B口读入开关状态

;当开关接至为至8时,退出

JZ EXIT

程序

;以下判断开关接至1~7端点中的哪一个端点

MOV CX,7 MOV BX,0

;从最低位开始逐位检查 NEXT: SHR AL,1

JNC BRIGHT INC BX LOOP NEXT JMP AGAIN EXIT: MOV AH,4CH INT 21H

;换码 BRIGHT: MOV AL,TABLE[BX]

MOV DX,200H

;送A口显示 OUT DX,AL

JMP AGAIN

……

(2) 8255A工作在方式0时,输入的数据不锁存,输出的数据锁存。在

对PB口进行读操作时,8255A内部的读/写控制逻辑和B组控制逻辑能使开关状态经8255A的数据引脚,送到系统的数据总线上,实现了输入数据的缓冲作用。在对PA口进行写操作时,8255A内部

17

的读/写控制逻辑和A组控制逻辑能使系统数据总线传来的数据锁存在8255A,并立即反映在PA口线上,实现了输出数据的锁存功能。

18

由软件译码的某多路复用4位LED显示器接口电路,如图45所示。入中4个7段LED复用一个8255A的端口A和一个驱动(反相)器。为使LED显示器的各位能显示不同的数字,各个显示器不同时发亮,每个LED显示器的公共阴极由8255A端口B的一条输出线控制,只有阴极为低电平时,该LED显示器才能发亮。在接口电路中数据和数位控制均有规律的不断更新(即扫描或刷新)。对每个LED显示器来说只按顺序固定显示某一定的短暂数据(例如1ms),当刷新速度够大时,由于视觉暂留现象,感觉4个LED显示器同时发亮且无闪烁感。

若待显示字符为分离的BCD代码(在数据段DISBUF为首的存贮单元),其相应的显示代码表已存贮在数据段中DISCODE为首的存贮单元,是分析该接口电路了,回答问题,完成该接口电路的刷新显示程序的编程(若每个LED显示器的固定显示时间为1ms,并由编制好的DIMS软件延时1ms字程序实现)

(1) 该接口电路中8255A的地址是什么其中各端口的地址又是什么〉由那

些引脚选择确定

(2) 分析该接口电路中A端口、B端口应工作在什么方式下?试完成对

8255A的初始化编程。

(3) 如何将要县粮食的字符代码(如分离的BCD数)转换为显示代码 用软

件译码的原理方法是什么请简述说明。

(4) 根据图所示接口原理,是定义一个过程,编程实现将DISBUTF缓冲区

的4个字符代码(分离BCD数)显示于图示LED显示器上(即刷新显示程序)。

18

PC总线总线接口逻辑与地址译码afedg200H地址译码CS8255AA1A0gPA6……PA0ag反相驱动…aagLED4……a…gLED4…PB7…PB0…bc字符01234567 gfedcbaLED显示码40H79H24H30H19H12H02H78H00H18H图9.5某LED显示接口电路

已知数据段中存贮变量DISCODE与DISBUF如下: DATA DISCODE

DISBUF

DATA

8255A的方式控制字: D7 标志位=1 D6 D5 A组方式 D4 A口I/O方式 D3 上半C口I/O方式 D2 B组方式 D1 B口I/O方式 D0 下半C口I/O方式 SEGMENT DB DB DB …… ENDS

40H,79H,24H,30H,19H,12H 02H,78H,00H,18H 4 DUP()

19

【参】P190 题1

20

(1) 8255A的地址是200H~203H,PA口的地址是200H,PB口的地址是201

H,PC口的地址是202H,控制口的地址是203H。由芯片上A1和A0引脚选择确定。

(2) 该接口电路中A端口、B端口应工作在方式0下,都作为输出口。方式

控制字为: 1 0 0 0 I/O 0 1 I/O ……………………………………方式控制字标志 MOV MOV OUT

MOV LEA XLAT

初始化程序

A口方式0 当任意值取0时,方式控制字是82H,写到控制口203H。

AL,82H DX,203H DX,AL

(3) 软件查表的方法。

AL,5

BX,DISCODE

;假设要显示的字符为5

;AL的内容为要显示的字符的显示代码

(4) 程序提供的是共阳极显示代码,PA口作为段码输出口,输出的信号反

向驱动后送给数码管,给定的数码管是共阴极数码管,而输出的信号反向后为共阴极显示代码。PB口作为位码输出口,输出的信号反向后送给数码管,所以PBi=1所对应的数码管亮。PA口地址是200H,PB口地址是201H。

1005. 已知电路如图所示(8255控制格式同前述44题)。途中的数码管为共

阴极型,共阴极端接GND,数码管的a,b,……,g段依次接8255的

20

A口输出 PC7~PC4任意值 B口方式0 B口输出 PC3~PC0任意值 PB0,PB1,……,PB6。要求对该电路进行编程,使数码管初始状态显示0。每按下一次S0键后,数码管显示的数字减1,减至0后,再按S0件,则数码管显示9;每按下一次S1键后,数码管显示的数字加1,加至9后,在按S1键,则数码管显示0。若同时按下S0和S1键,则退出程序。

21

8255AVcIORIOW200H~203H至DBA1A0RDWRCSD7~D0A1A0GNDPB7…PB0gPA0PA1S0S1…a同相段驱动电路…af g be d c图9.68255连接图

【参】P193 例2

(1) 口地址

从图上可看出,PA口的口地址是200H,PB口的口地址是201H,PC口的口地址是202H,控制口的口地址是203H。 (2) 方式控制字

从图上可看出,PA口工作在方式0,输入口;PB口工作在方式0,输出口。所以方式控制字各位为:如任意值取1,则控制字是99H。故参考程序如下(不考虑按键的抖动)。

DATA TABLE

DATA

CODE

START:

;数据段 SEGMENT DB DB ENDS ;代码段 SEGMENT ASSUME MOV MOV MOV MOV OUT

40H,79H,24H,30H,19H,12H,02H

78H,00H,18H ;共阴极LED的0~9显示代码

CS:CODE,DS:DATA AX,DATA DS,AX AL,99H ;8255初始化 DX,203H DX,AL

21

AGAIN: LEA MOV MOV OUT MOV MOV BX,TABLE DX,201H AL,[BX] DX,AL DL,0H DX,200H

;BX指向存放显示代码的起始单元 ;数码管初始状态显示0 ;送PB口

;CL为初始显示值

22

AL,DX ;读入开关状态 IN

;屏蔽高6位,保留低2位 AND AL,3

CMP AL,0

;2个键都按下,则退出程序运行 JE EXIT

CMP AL,3

;2个键都没按下,显示数字不变,转去测试输入口 JE AGAIN

SHR AL,1 JNC S0DOWN ;S0 按下,转S0DOWN ;以下是S1按下的处理 S1DOWN: IN AL,DX

;测试S1键是否释放 TEST AL,2

JZ S1DOWN INC CL CMP CL,10 JC DISPLY MOV DL,0 JMP DISPLY ;以下是S0按下的处理 S0DOWN: IN AL,DX REST AL,01H ;测试S0键是否释放 JZ S0DOWN DEC CL CMP CAL,0FFH JC DISPLY MOV CL,9 DISPLY: MOV AL,CL

;换码 XLAT

MOV DX,201H OUT DX,AL ;送PB口显示 MOV DX, 200H JMP AGAIN EXIT: MOV AH,4CH INT 21H CODE ENDS END START 1006. 硬件电路如图所示,要求在8个7段显示器上依次不断重复显示,在显

示过程中,要求发光二极管L一直亮。 显示数字 7段代码(H) 0 3F 1 06 2 5B 3 4F 4 66 5 6D 6 7D 7 07 8 7F 9 6F 22

8255AA2A1A1A0RDWRCSG1 G2AG2BCBAY3译码器图9.7某硬件电路图B口A口W/R8046CPUA15A7M/IOA6A5A4A3A0 g段f驱…动b器a0#1#………7#…CSCSMCS位驱动器D0+5VD1…D7a显示数字与7段代码对应表fegbcd

【参】P195 例3

(1) 8255A地址:A口是91H、B口是93H、C口是95H、控制口是97H。 (2) A口工作在方式0用作输出接口,B口工作在方式0用作输出接口,所

以方式控制字是90H,写到控制口97H。

(3) 显示使用的是共阴极LED显示器,提供的是共阴极显示代码;为了使发

光二极管L一直亮,只要使PA7输出恒为“0”即可。

参考程序如下: DATA DISPB

SEGMENT

1,9,8,6,0,5,2,4 DB

3FH,06H,5BH,4FH,66H,6DH,7DH,07H,TAB DB

7FH,6FH

DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA

DS,AX MOV

AL,90H MOV

97H,AL OUT

BX,TAB LEA

AGAIN: MOV AL,[SI] INC SI XLAT

91H,AL OUT

23

;8255A初始化

;控制哪一位亮

;BX指向7段码表首

;SI指向要显示数字的首部

;换码,D7=0 ;送段码

ROL MOV OUT

DL,1 AL,DL 93H,AL

;送位码(控制在哪个数码管上显示)

24

CODE

CALL CMP JNZ JLMP MOV INT ENDS END

DISPLY DL,80H NEXT AGAIN AH,4CH 21H

START

;DISPLY为延时1ms的延时程序,假定已存在

1007. 在某一8088微机控制系统中,扩展有中断控制器8259A、定时/计数器

8253和并行接口8255A各一片。利用8253的定时器0和1 串接完成1小时定时,每次定时到,从OUT1输出一个负脉冲,通过8269A的IR2向CPU请求中断,在中断服务程序中启动一次打印报表程序,打印200个存于内存缓冲区BUFFER处的字符。(8259A工作于边沿触发,中断类型码基值为28H,中断自动结束方式)

图所示是CPU通过8255A与打印机的连接图(其余部分略),8255A的PA口工作于方式1输入,PB口工作于方式1输入,PB口工作于方式0输出,PC口上半部分为输入,下半部分为输出。打印报表时,当检测到打印机BUSY为“0”,则CPU通过PB口向打印机送新数据,同时送出一个负脉冲STB。

8255A的命令字格式为: 1 D6 D5 A口方式 D4 D3 A口输上半C入/输出 口输入/输出 D2 B口方式 D1 D0 B口输下半C入/输出 口输入/输出 (1=输入,0=输出)

要求:

(1) 请给出8255A的各端口地址,并给出8255A的初始化程序片断。

24

(2) 编制程序完成中断矢量的设置,并给出打印报表的中断服务子程序。

74LS138CBAE1E2E3Q474LS138A4A3A2CBAE1E2E3Q3A1A0RDWR8255ACSA1A0RDWRPBPc7Pc0打印机D7~D0BUSYSTBA7A6A5A8A9IO/M图9.88255A与打印机的连接图

【参】P196 简答题1

(1) 8255A的各端口地址:PA口地址是8CH,PB口地址是8DH,PC口地址

是8EH,控制口地址是8FH。方式控制字是0B8H,8255A的初始化程序片断如下:

25

MOV OUT MOV OUT AL,0B8H 8FH,AL

AL,00000001B 8FH,AL

;将PC0置为“1”

(2) IR2的中断类型号是2AH,完成中断矢量的设置程序如下: INTSEV

INTSEV

SEGMENT ORG DD ENDS

AT

2AH*4 PRINTF

0

打印报表的中断服务子程序如下: PRINTF

NEXT:

RINTF

PROC …… MOV MOV IN TEST JNZ MOV INC OUT MOV OUT NOP NOP NOP INC OUT LOOP

IRET ENDP

;保护现场

BX,OFFSET BUFFER CX,200 AL,8EH AL,80H ;检测打印机BUSY NEXT AL,[BX] BX 8DH,AL ;输出一个打印字符 AL,

;向PC0输出负脉冲

00000000B 8FH,AL ;STB拉低

;STB保持一定的宽度

AL 8FH,AL ;STB拉高 NEXT

;恢复现场

1008. 在8255A端口A工作于方式2时,端口B可以工作在_____或_____。 【参】P197 填空题1 方式0,方式1

25

1009. 8255A内部有______个输入输出端口,3个端口中只有端口_____没有输

入锁存器。

【参】P197 填空题2

4个输入输出端口, 即A口、B口、C口和控制口; C口

26

1010. 8255A把______和_______分别称为A组和B组,可组成两个的并

行接口。

【参】P197 填空题3 A口和C口上半部(PC7~PC4) B口和C口下半部(PC3~PC0)

1011. 当数据从8255的端口C往数据总线上读出时,8255的几个控制信号

CS、A1、A0、RD、WR分别是______、_____、_____、_____、_____。

【参】P197 填空题4 0;1;0;0;1。

1012. 8255A的操作由CS、RD、WR、A1、A0信号组合确定,当CPU向

8255A送控制字时,信号组合应当是: A. B. C. D.

CS

0 0 0 0

A1 0 1 0 1 A0 1 1 1 1

RD WR

0 0 1 1 1 1 0 0

【参】P198 选择题1 D.

1013. 如果8255A的端口A工作在双方向方式,这时还有_____根I/O线可作

其它用。 A. 11

B. 12

C. 10

D. 13

【参】P198 选择题2 A.(PB口8根+PC口3根)

26

1014. 在Intel8255A中可以进行按位置位/复位的端口是______。

A. 端口A

B. 端口B

C. 端口C

D. 端口D

【参】P198 选择题3 C.

1015. 当8255A的PC4~PC7全部为输出线时,表明8255A的A端口工作方式

是______。 A. 方式0

B. 方式1

C. 方式2

D. 任何方式

【参】P198 选择题4 A.

1016. Intel8255可编程并行接口PB端口工作在方式1时,其中断请求信号是

通过PC3发出的。

27

【参】P198 判断题1 错误

1017. 8255A工作于方式1或方式2时,其状态字通读端口C获得。 【参】P198 判断题2 正确

1018. 8255A工作于方式2时,A口、B口均作为双向数据传送端口,C口各

位作为他们的应答控制线。 【参】P198 判断题3 错误

1019. 8255A并行接口芯片的端口A工作在双向方式,断口B工作在选通输入

方式,这时端口C依然可以工作在位控方式。 【参】P198 判断题4 错误

1020. 一直原理图如图所示(8255A控制字格式同前述44题)。途中的自下而

上4个开关依次为S0、S1、S2、S3,试对该原理图进行编程,使其满足下表要求,并使同时检测到开关状态中有奇数个打开时,则退出程序。 S3 闭 闭 闭 闭 闭 闭 开关状态 S2 S1 闭 闭 闭 闭 闭 开 闭 开 开 闭 开 闭 S0 闭 开 闭 开 闭 开 27

微机 屏幕显示 0 1 2 3 4 5 闭 闭 闭 闭 闭 闭 闭 闭 开 开 开 开 闭 闭 闭 闭 开 开 开 开 开 开 闭 闭 开 开 闭 闭 开 开 闭 开 闭 开 闭 开 闭 开 闭 开 6 7 8 9 A B C D E F 28

8255AVcIORIOW200H~203H至DBA1A0RDWRCSD7~D0A1A0GND图9.9PA0PA1PA2PA3+5V+5VS08255连接图

【参】P198 简答题1 控制口地址:203H,控制字:90H PA口地址:200H

微机屏幕显示使用系统功能调用(2#)。 参考程序如下: CODE

START:

SEGMENT ASSUME MOV MOV OUT MOV

CS:CODE DX,203H AL,90H DX,AL DX,200H AL,DX

;8255初始化

;读入开关状态,开关打开为高电平

AL,0FH ;屏蔽高4位,同时产生标志 AND

;奇数个“1”转走 JPO EXIT

;以下完成将AL里的数字变换成ASCII码

AL,0AH CMP

JC DIGIT

AL,7 ADD

DIGIT: ADD AL,30H

DL,AL MOV AH,2 MOV

;系统功能调用 INT 21H

JMP AGAIN EXIT: AH,4CH MOV AGAIN: IN

28

CODE INT ENDS END 21H

START

29

1021. 设系统计外扩一片8255以及相应的实验电路,如图所示。要求:先预置

开关K3~K1为一组状态,然后按下自复按钮K产生一个负脉冲信号,输入到PC4(STBA)上。用发光二极管LEDi亮来显示K3~K1的状态。重复以上操作,直到主机键盘有任意键按下时结束演示。 要求:

K3K2K1=000时,LED1亮 K3K2K1=001时,LED2亮 K3K2K1=010时,LED3亮 K3K2K1=011时,LED4亮 K3K2K1=100时,LED5亮 K3K2K1=101时,LED6亮 K3K2K1=110时,LED7亮 K3K2K1=111时,LED8亮

K3~K1闭合为0,断开为1。

口地址译码8255+5VPB7PB6CSLED8LED7…A1A0A1A0…PB0PA2PA1PA0PC4 LED0 K3K2K1单脉冲发生器自复位按键KINTE与PC5IBFAPC3INTRA图9.10某8255连接图

(1) 该接口电路中8255的地址是什么其中各端口的地址又是什么 (2) 分析该接口电路中A端口、B端口应工作在什么方式下?

29

(3) 试完成对8255的初始化编程。 (4) 是完成程序主体实现题中要求。 DATA MESG SEGMENT DB

'8255 READY',0DH,0AH,‘$’ TAB DB B DB B DB B

DB

B

30

DATA CODE

DB DB DB DB ENDS

SEGMENT ASSUME B B B

01111111B CS:CODE,DS:DATA START: MOV MOV CALL MOV MOV

INT SCAN: MOV INT JNZ

…… RETURN: MOV

INT I8255: …… ……

…… CODE ENDS END 8255方式控制字:

AX,DATA DS,AX I8255

AH,9 DX,OFFSET MESG

21H

AH,1 16H RETURN AH,4CH 21H START 30

;8255初始化 ;给出操作提示

置方式标志1:有效D7D6D5D4D3D2D1D0B组端口C(下半部)1:输入 0:输出端口B1:输入 0:输出方式选择1:方式1 0:方式0 A组端口C(上半部)1:输入 0:输出端口A1:输入 0:输出方式选择00:方式001:方式11×:方式2C口按位操作控制字:D7D6D5D4D3D2D1D0位:置位/复位1:置位 2:复位位选择:01234567010101010011001100001111位:置位/复位标志0:有效无关

【参】P199 简答题2

(1) 8255的地址是218H~21BH,A端口的地址是218H,B端口的地址是219

H,C端口的地址是21AH,控制端口的地址是21BH。

(2) A端口应工作在方式1,作为输入口,允许输入中断;B端口应工作在

方式0,作为输出口。

(3) 方式控制字为B0H,初始化程序如下: MOV DX,21BH MOV AL,B0H OUT DX,AL

(4) 实现题中,完成程序主体如下: MOV DX,218H

AL,DX ;读入开关状态 IN

31

AND AL,7 LEA ;只保留低3位

32

XLAT MOV OUT JMP

BX,TAB

DX,219H DX,AL SCAN

;换码 ;送B口显示

1022. 设有一被测量温度的变化范围为0~100℃。要求测量误差不超过℃,则

应选用的A/D转换器的分辨率至少应该为____位。 【参】P206 例1 10.

1023. 设有一被测量温度的变化范围为20℃~1200℃。要求测量的误差不超过±

1℃,则应选用的A/D转换器的分辨率至少应该为____。 A. 4位

B. 8位

C. 10位

D. 12位

【参】P207 例2 D.

1024. 用1片8位D/A 转换器(端口地址为port)、1片运放组成一个三角波

发生器,波形幅度为(0~5V),试画出与CPU的电路连接图,并编程。 【参】P207 例3

与CPU的电路连接图,如图所示。

PortWR(CPU)DACDI0VREF…RFBDI7Iout1Iout2CSWRAGNDVREF-A+VOUT图10.6DAC与CPU的连接示意图参考程序如下:

32

NEXT1: MOV MOV INC OUT CALL DX,PORT AL,0 AL DX,AL DELAY

;送到DAC

;设DELAY是延时子程序,已存在 CMP

JNE NEXT2: DEC OUT

CALL

AL,0FFH NEXT1 AL DX,AL DELAY

33

CMAP JNE JMP AL,00 NEXT2 NEXT1

1025. 画出图带不可控三态门的10位A/D转换器和8位CPU的接口电路图,

并说明其工作原理(用文字说明)。

D9D8D7……D0STRARTA/DEOCIN模拟输入CPU图10.7例4图

【参】P208 例4

选用2片8位单向三态缓冲器74LS244。当时能端@和@得到低电平时,三态缓冲器的三态缓冲单元处于导通状态,数据从输入端原样传到输出端;当时能端@和@得到高电平时,三态缓冲器的三态缓冲单元处于高阻状态,输入端的数据传不到输出端。具体连线如图所示。

工作原理:当@有效时,说明A/D转换结束,CPU从PORT1端口读取低8位,从PORT2端口读取高2位。

CPU载队PORT1执行IN指令时,产生的@(为0)和端口地址PORT1让使能端@和@得到低电平,内部三态门打开,A/D转换结果低8位数据通过74LS244送到系统数据总线,在从数据总线上送到CPU。CPU在对PORT2执行IN指令时,产生的@(为0)和端口地址PORT2让使能端@得到低电平,内部三态门打开,A/D转换结果高2位数据通过74LS244送到系统数据总线D1D0,在从数据总线上送到CPU。

33

PORT3(I/O口地址)WRD9D8D7……D01G 2G2441A1 1Y11A1 1Y22441G 2GRD(CPU)PORT2(I/O口地址)CPUD1D0STRARTA/DEOCIN模拟输入D3~D0D7~D4RDPORT1(I/O口地址)图10.8ADC与CPU连接线路图

1026. 一支部分A/D转换器原理图如图所示。适当添加逻辑电路,满足如下要

求:

(1) 使当CPU对200H~207H所对应的I/O地址进行写时,能启动

ADC0809的通道0~通道7进行A/D 转换。

34

(2) 使当CPU对200H~207H所对应的I/O地址进行读时,能读入A/D

转换后得到的数字量。

(3) 编写汇编语言程序实现启动ADC0809的0通道进行A/D转换,并

读入转换后得到的数字量(考虑A/D转换的延时时间)。

74LS138VccA9A8E3Y0E2 Y1E1 Y2 Y3 Y4C Y5B Y6A Y7ADC0809OEEOCD7IN0…D0STARTALECBA+5VA7A6A5A4A3至DBA2A1A0IORIOW图10.9例5图

【参】P209 例5 连接图如图所示。

ADC0809OEEOCD7IN0…D0STARTALECBA+5VA9A8A7A6A5A4A374LS138VccE3Y0E2 Y1E1 Y2 Y3 Y4C Y5B Y6A Y7图10.10IOR至DBIOWA2A1A0ADC0809与CPU的连接电路图

参考程序如下: 采用延时等待法

MOV

DX,200H

;DX指向ADC通道0

34

;锁存并启动A/D转换

;DELAY实延时子程序,延时时间≧A/D转换的

CALL DELAY

延时时间

IN AL,DX ;读入转换结果 采用检查法

将ADC0832的转换结果指示引脚EOC通过一个三态缓冲器接入系统数据总线D7,三态缓冲的控制见图,使用I/O地址208H~20FH。

OUT

DX,AL

35

DX,200

;DX指向ADC通道0

H

OUT DX,AL ; 锁存并启动A/D转换

DX,208

;DX指向状态口 MOV

H

WAIT1: IN AL,DX ;读入EOC状态 TEST AL,80H ;测试D7 JNZ WAIT1 ;转换还没开始 WAIT2: IN AL,DX ;读入EOC状态 TEST AL,80H JZ WAIT2 ;转换还没结束

DX,200

MOV

H

IN AL,DX ;读入转换结果 采用中断

将ADC0832的转换结束指示引脚EOC输出信号作为中断请求信号,送终端控制器(如8259A ),占用一个终端类型号n.在中断服务程序力读取转换结果。

中断向量填入略。 主程序: …… STI

DX,200;DX指向ADC通道0

MOV

H

OUT DX,AL ;锁存并启动A/D转换 ……

中断服务程序: ……

DX,200

MOV

H

IN AL,DX ;读入转换结果 …… IRET

MOV

1027. 当ADC0809模拟量输入电压范围为0~5V时,若引脚REF(+)接

+5V,REF(-)接地,那么其最小分辨率为____。 A.

B.

C.

【参】P211 例1 B.

35

1028. DAC0832是一种分辨率为____(选择从A~D),输入具有____(选择从

E~H)功能的D/A转换器

A. 4位

E. 两级锁存 F. 一级锁存

G. 无所存

H. 其他

B. 8位

C. 12位

D. 10位

【参】P211 例2

36

B、E.

1029. 有如图所示的接口简化图,在0908德IN3上接了一个V(t)电压,要

求连接对该电压采样并转换100个点,同时要求,没转换好一个数据,在保存到内存之后再送给D/A转换器0832,写出实现该要求的程序。(为指令可省略)

D0D1D7W/R译码器G1 G2AG2BCBAY0Y2Y4Y6图10.11 某接口简化图D20809ADDAADDBADDCEOCOESTARTALEDB9083211WR112WR2CSILXFEREIN3A6A5A4A3A7M/IOA2A1A0VOUT+5V

【参】P211 例3 AGAIN:

WAIT1:

WAIT2:

MOV MOV MOV OUT IN TEST JNZ IN TEST JZ IN MOV INC OUT LOOP

CX,100 DI,BUF AL,3 84H,AL AL,80H AL,80H WAIT1 AL,80H AL,80H WAIT2 AL,82H [DI],AL DI

86H,AL AGAIN

;采样100个点

;假定BUF是在数据段里定义的100个字节空间的首址

;IN3的通道号

;发通道索存信号,同时启动A/D转换 ;读取状态 ;查询状态

;D7=1,转换还没开始 ;在读取状态

;D7=0,转换未结束,转去读取状态 ;读取转换结果

;保存转换结果到内存

;再送给0832

36

1030. 图给出的是一个不完整的由8088CPU、8255、8253和A/D构成的数据

采集系统。要求用8253通道0提供8kHz的采样频率给A/D。ADC每次转换结束用READY信号通知8255。8255端口A工作于方式1,用中断形式将数据采集DATBUF中,DATBUF长度为BUFLEN,中断类型号为0BH。一次连续采集的时间由按钮开关K控制(不考虑K的抖动问题)。假设8255起始地址为60H,8253起始地址为40H。请补画出有关的引脚、连线,写出初始化和中断处理子程序。(不考虑CPU连线、I/O译码和中断控制器作用)

37

8255D7~D0READYCONV中断请求8255K模拟量输入图10.12例4图

【参】P212 例4

8255D7~D0PC4PC3中断请求8255OUT0GATE0CLK0图10.131MHz补充引脚、连线后的数据采集示意图

KREADYCONV模拟量输入;置中断向量 DATA SEGMENT AT 0 ORG 0BH*4 DD INTSEV DATA ENDS ;数据段 DATA1 SEGMENT DATBUF DB 100 DUP() BUFLEN EQU $-DATBUF DATA1 ENDS ;代码段 CODE SEGMENT ASSUME CS:CODE,DS:DATA1 MOV AX,DATA1

37

START: MOV ;8253初始化 MOV OUT MOV OUT MOV OUT ;8253初始化 MOV OUT MOV OUT

……

MOV STI JMP ;中断服务子程序 INTSEV: …… IN CMP JC

……

……

IRET SAV: MOV INC

……

IRET CODE ENDS END

DS,AX AL,35H 43H,AL AL,25H 40H,AL AL,1 40H,AL AL,0B0H 63H,AL AL,9 63H,AL BX,0 $

;送控制字

;送时间常数

;送工作方式字

;置端口A中断允许

;保护现场

AL,60H

BX,BUFLEN ;预留的存储空间是否满意 SAV

;预留的存储空间满处理

;恢复现场

DATBUF[BX],AL BX

恢复现场;

START

1031. 已知原理图如图(a)所示。

(1) 编写一完整代码段程序,使在V0端输出1000个图(b)所示波形。波

形中上升与下降斜率及达到最大值的延迟时间自定,但要求一个周期内正、负波形对称。

(2) 如果要在V0端口产生一周期正弦波形,试说明编程实现的方法(不用

具体编程)。

38

200H~203HIOW数据总线DAC0832CSVccWR1VREFD7ILE…RFBD0Iout1WR2Iout2XFERAGNDBGND+5V20kΩ20kΩ-+10kΩVOUT-+V0+2V(a)原理图……时间-2V(b)波形图图10.14例5图

【参】P216 例5

(1) 参考程序如下:

CODE SEGMENT ASSUME CS:CODE START: MOV CX,1000

DX,200 MOV

NEXT: AL,K80H MOV UP: DX,AL OUT INC AL

AL,0B3H+1 CMP

JNZ UP CALL DELAY ;延时时间根据高电平延时的要求而定

AL,80H MOV

DOWEN: OUT DX,AL DEC AL

AL,4DH-1 CMP

JNZ DOWN CALL DALAY

;重复1000次

;D/A转换

;超过上限了吗

;调用延时子程序DELAY

;D/A转换

;低于下限了吗

39

CODE LOOP MOV IN ENDS END NEXT AH,4CH 21H

START ;转下一个周期

(1) 利用D/A转换器输出的模拟量与输入的数字量成比例的关系。设待输出

正弦波周期为T,在每个正弦波里要均匀输出n个函数值。

第一步 先计算出相应的正弦函数值,并将其函数值有次序地保存到内存

2里(正弦函数数值表)。计算公式如下:sinstep step=1,2,…,n

n第二步 在需要周期性正弦波形输出时,由程序将它们依次取出,经相应处理后(如将其最高位取反变成偏移码送DAC等),并在程序中保证相邻两次写到DAC,操作间隔为T/n,并重复这个过程。即能产生周期性正弦波形。

要改变正弦波形的周期,只要改变相邻两次给端口写数字量的时间间隔即可实现。

1032. 已知原理图如图所示,以及相应程序如下: MOV

MOV OUT

DX,200H AL,0FFH DX,AL

DAC0832VREFILE至BD2000HIOWD7…D0CSWR1WR2XFERRfIout1Iout2-+R1+5VCfR2V0-+图10.15DAC0832连线图 40

要求:

(1) 当VREF端输入正弦信号时,忽略R2的影响,画出与VREF对照的V0端

输出波形。

(2) 讨论R2和Cf对V0端输出波形的副值及相位的影响。 【参】P218 例6

本例主要考查DAC0832得转换原理,以及D/A转换与运算放大器应用的综合能力。设VREF=Vmsinωt。

(1) 第一级运算放大器完成电流型模拟量输出转变成电压型模拟量输出,输

出范围0~-VREF。当前输入的数字量固定为0FFH,所以

41

第一级输出电压V1VREF输入的数字量256VREF255VREFVmsint 256忽略R2的影响,第二级运算放大器和电容构成积分环节,所以

dV0V1CfR1dtdV0V11VmsintdtR1CfR1CfV0VmVmcostsin(t-90)R1CfR1Cf

画出对VREF对照的V0端输出波形如图所示。

VVREF0ωtV0图10.16输出波形图

(2) 图时有关第二级运放原理图,其中由前一级输出知:

ViVmsintVdV0 Vi(0Cf)R1R2dtCfR2R1-+图10.17V0第二级运放原理图

求解该一阶微分方程,可得出V0与R2和Cf的关系。

41

下面,采用电工理论介绍的符号法。

42

UUijRC10jCfU0U02fR1R2R2U0R2R1-jR2Cf1Ui2Ui2R1jR2Cf1R11+(R2Cf)

有前已推出ViVmsint V0端输出波形的幅值R2Vm 2R11+(R2Cf)相位arctg(-R2Cf)

讨论:①当R2→∞,即没有R2(R2支路断开)时,有:

V0的幅值VmR1Cf

V0的相位arctg(-)90故,此时又比例-积分环节变为积分环节。 ②当Cf=0,即没有Cf(Cf支路断开)时,有:

V0的幅值R2VmR1

V0的相位=arctg(0)0故,此时由比例-积分环节变为比例环节。

所以,R2 变化会影响V0端输出波形的幅值,也会影响V0端输出波形的相位。

Cf变化会影响V0端输出波形的幅值,也会影响V0 R2端输出波形的相位。

1033. 简答题,如图所示。

42

200H~203HA0IOW至DB图10.18DAC0832VccCSXFERVREFWR1ILERFBWR2Iout1Iout2D7AGND…BGNDD0+5V-+V0DAC0832连线图

(1) 编写程序,使在V0端输出三角波。

(2) 画出V0端波形,说明如何改变三角波的周期和幅值。 【参】P221 题1

(1) 参考程序 AL,0

43

DAWN:

UP: MOV MOV OUT INC CMP JNZ OUT DEC CMP JNZ JMP

DX,200H DX,AL AL

AL,0FFH DOWN DX,AL AL AL,0 UP DAWN

(2) V0端波形见图。改变三角波的周期只要改变相邻两次给端口写数字量

的时间间隔即可;改变三角波的幅值只要改变两条比较指令CMP中的数字即可。

V01T0-5图10.19V0端的波形图2T

1034. 设有某BDC码输出型A/D转换器的有关引脚如图(a)所示,端为模拟量

输入端,为数字量输出端。Vx当输入的模拟量为0~时,D3D2D1D0转换后得到的数字量为~,每位数字量以BCD码的形式从高位到低依次沿D3D2D1D0输出。例如,当输出模拟量为时,转换后得到的数字量为,然后依次从D3D2D1D0线循环输出0001,0011,1001。DS4至DS1指出D3D2D1D0输出的是哪位数字量。其时序图如图(b)所示。

43

IORIOWA9A8A7A6A5A4A3A2A1A074LS138E3E2 E1CB AY0ADCEOCVxDS4DS3DS2DS1D3D2D1D01.999V至DB…(a)DS4DS3DS2DS1D3~D00001001101011001(b)图10.20某BCD码输出型ADC连接图0001001101011001

注:不用考虑A/D转换器的启动问题。

(1) 图(a)中位于DB与ADC之间的电路应是什么电路?

(2) 连接电路中缺少的连线,使当8086CPU对200H~203H地址进行读时,

能将DS4~DS1和D3~D0上的数据沿DB1~DB0读入AL寄存器中。画出电路及连线。

(3) 编写程序,将A/D转换后得到的数字量BCD码以非压缩型BCD码的

形式,从高位到低位存到数据段中。

【参】P222 题2

(1) 位于DB与ADC之间的电路应为缓冲电路,可由三态缓冲器承担。 (2) 连线图如图所示。

44

74LS138IOWA9A8A7A6A5A4A3A2A1A0IORE3E2 E1CB AY0ADCEOCVxDS4DS3DS2DS1D3D2D1D01.999V至DB…图10.21连线后的ADC连接图

(3) 参考程序如下:

……

MOV DI,OFFSET BUF ;设BDU是存放转换结果区域的首址

;转换结果4位BCD码,要读4次 MOV CX,4

MOV AH,80H MOV DX,200H NEXT: IN AL,DX ;读数据 ;判断是哪一位的BCD码 TEST AL,AH JZ NEXT

;高4位是哪一位的BCD码的标志,应去掉后保存

;屏蔽高4位 AND AL,0FH

MOV [DI],AL INC DI SHR AH,1 LOOP NEXT

…… 注:高位数存放在地址低的单元。

1035. 在PC/XT微机系统中用8253、ADC0809和74LS138 等芯片构成一数据

采集器,使CPU能通过查询方式采集到0809的8个输入通道的数据。要求用PC机中的8253计数器0提供10kHz的转换始终频率给A/D,计数器0的CLK0段输入信号频率为1019318MHz,8253起始地址为40H。I/O端口扩展可用地址空间为300H~33FH,输入数据缓冲区首地址为DBUFF。

45

请在图 的基础上画出有关的引脚连线(可添加必要的门电路和三态驱动器),并编写8253初始化程序段和数据采集程序段。

46

IORIOWD0~7A0~9系统总线ABCG2AG2BG1Y0Y1OESTARTALED0~7ABCCLKEOCADC0809IN0~7OUT082538253控制寄存器格式:D7D6D5D474LS138D3D2D1D00—二进制码,1—BCD码模式选择编码:000—方式0,…,101—方式5读/写指示:00—锁存当前计数值,01—只读/写低字节10—只读/写高字节,11—先读/写低字节,再读/写高字节选择计数通道:00—通道0,01—通道1,10—通道2,11—无意义图10.22ADC0809应用原始图

【参】P224 题3

使8253的通道0工作在方式3,OUT0输出的方波脉冲作为ADC0809 的外接时钟信号,A/D转换所用时间的配合才噢年根查询方式。

依题意ADC0809 的CLK引脚要求输入10kHz时钟信号,即OUT0输出的方波脉冲品率为10kHz,而CLK0输入信号频率为。 8253通道0的控制字为00110111B=37H

(1) 画出有关的引脚和连线图如图所示。

46

IORY0IOWD0~7A0~9系统总线A3A4A5A6A7D7A074LS138A1AA2Y0BCG2AG2BY1IORG1ADC0809OESTARTALED0~7ABCCLKEOCIN0~7A8A9OUT08253图10.23ADC0809应用连线图

8路模拟量占用的I/O地址为300H~307H(只写)

为0809的OE分配的I/O地址为300H~307H(只读) 为状态查询分配的I/O地址为308H~30FH(只读)

(1) 一直8253起始地址为40H,则通道0 的地址是40H,控制口地址为

43H。

MOV OUT MOV OUT MOV OUT

AL,37H 43H,AL AL,20H 40H,AL AL,1 40H,AL

;送控制字

;送时间常数

(2) 数据采集程序段 DATAC

NEXT:

WAIT1:

PROC LEA MOV MOV OUT PUSH MOV IN

FAR BX,DBUFF CX,8 ;8路采样

DX,300H ;DX指向ADC通道0 DX,AL ;锁存并启动A/D转换

;保存通道号 DX

DX,308H ;DX指向状态口 AL,DX ;读入EOC状态

47

WAIT2:

DATAC TEST JNZ IN TEST JZ POP IN MOV INC INC LOOP RET ENDP AL,80H WAIT1 AL,DX AL,80H WAIT2 DX

AL,DX [BX],AL BX DX NEXT

;转换还没开始

;转换还没结束

;读入转换结果

1036. 利用DAC0832产生锯齿波,是画出硬件连线图,并编写有关程序。 【参】P226 简答题 参考程序如下:

NEXT1:

MOV MOV INC OUT CALL JMP

DX,200H AL,0FFH AL

DX,AL DELAY NEXT1

;送到DAC

;设DELAY是延时子程序,已存在

1037. 某一8位D/A转换器的端口地址为220H,意志延时20ms的子程序为

DELAY-20ms,参考电压为+5V,输出信号(电压值)送示波器,试编程产生如下波形:

(1) 下限为0V,上限为+5V的三角波。 (2) 下限为,上限为+4V的梯形波。 【参】P226简答题

48

200HIOW(CPU)数据总线DAC0832CSVccWR1D7ILE…RFBD0Iout1WR2Iout2XFERDGND+5V-+图B.6DAC0832连线图

参考程序如下:

NEXT1:

MOV MOV INC OUT CALL JMP

DX,200H AL,0FFH AL

DX,AL DELAY NEXT1

;送到DAC

;设DELAY是延时子程序,已存在

(1) 答案参考74题 (2) 答案参考72题

1038. ADC0809 与CPU相连接时,其模拟输入通道的地址由CPU提供,为了

保证它对输入信号的可靠转换,需要在ADC0809与CPU之间加上地址所存器。

【参】P226 判断题

错误,ADC0809芯片具有对转换通道地址进行所存的功能。

49

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务