微机控制技术习题解答112(1)

微机控制技术习题解答112(1)
微机控制技术习题解答112(1)

第一章 第二章 三、练习题

28.设12位D/A 转换器 DAC1210与8031接口电路连接,如图示:

I 爾 I ■ r E ? A *4 r% / 4 t- r- -Mt MUI r-\ ■尸 q r * 更 1 ?feC r t r'ir-1 TSL

(1) .说明电路控制原理

(2) ?设数据存放在DABUFF 为首地址的连续两个存储单元,试编写一完成 D/A 转换的程序。

答:DAC1210是12位的D/A 转换器,单片机的数据线接

DAC1210的高八位DI4—DI11,数据线的P0.4至U

P0.7接DAC1210的数据线的低 4位DI0---DI3.DAC1210连线接成双缓冲形式。 地址码写高8位数据时译码器 Y2有效,则B1/B2=1,写高8位数据,地址是1400H

写低4位数据时译码器 Y3有效,则B1/B2=0,写低4位数据,地址是1C00H 将12位数据同时送到12位DA 转换电路,译码器 Y4有效,地址是2400H

解答(2)

MOV R0,#DABUFF ;DABUFF 是 存的首地址

MOV A,R0 ;首地址存放高 8位数据

INC R0

MOV

DPTR,#1400H

MOVX DPTR,A ;送高8位数据

MOV A,R0 取低4位数据(高4位是有效数据,低 4位为0) MOV DPTR,#1C00H MOVX DPTR,A 送低4位数据

MOV DPTR,#2400H MOVX DPTR,A

打开第二级缓冲,将数据送到

DA 转换电路。

P0.7

POQ

wR

8031

P27

P26

F2.5 P24

Pill

Pl r

rZ £

Dh D 仃 Dt 2 Dh D[q 师

Inin?

AG ND

HXrri

DACIJIO

+5V

14

74LS138

B|靳

CS

LXiND

XFER

c

29.试用DAC0832芯片设计一个能够输出频率为 50HZ 的脉冲波电路及程序。

1. 数据线:单片机(AT89C51的 P0.0-P0.7 连接 DAC0832 的 D0-D7

2. 地址线:单片机的A8(P2.0)接CS 片选信号,地址是OFEFFH.

3. 控制线:单片机写信号接WR1.单缓冲控制形式.

2 :输出NN 个方波的程序。 START:

MOV DPTR,#OFEFFH MOV A,#0

MOV

R2,#NN

Pll

P32 PL3 PH PL5 PL6 Pl? Tl TO

T 31

EA/V?

Xi

AT33S5!

P27 P26 P25 P 刑 REiET 24

PSEM F22 P23

38 6

37

36

35 16

>4

):

).4

32

13 21 1

?£>1Q V K Dll ILE DI2 Vwf Dt3

DI4

DI6 [outl

(3

M2 WR1

WR2

AGHD

£>GHD

DACC332

1HTC 1MT1

'1A74!

■J5V

%

20 (

8

rs -

ll

2

3

3

10

26 25

T :CD

RXD

JI

31. A/D 转换器的结束信号 EOC 有什么作用?根据该信号在 I/O 控制中的连接方式,A/D 转换有几种控制 方式?它们各在接口电路和程序设计上有什么特点?

答:EOC 信号反映A/D 转换是否结束,可以用作读转换结果的状态信号,也可以作为中断请求信号。

有三种控制方式:(1)。中断方式读数据。(2)查询方式读数据。(3)延时读数据。

(1) 。写出A/D 转换器的地址。

(2) 。该电路采用什么控制方式?画出该种转换的程序流程。 (3) 。用8051单片机汇编语言写出完成上述转换的程序。

答:(1) A/D 转换的启动地址是 7A00H 读转换是否结束的地址 7A00H

A/D 转换读数据的地址是 7B00H.

8255端口 A 地址是7800H 8255端口 B 地址是7900H 8255端口 C 地址是7A00H,

8255控制口地址是 7B00H

8255的PB 口设定为输入,读取 A/D 转换值,

PC4---PC7为输出,作为A/D 转换的启动信号(启动脉冲)。

PC0---PC3为输入,可以读取 EOC 查询是否转换结束, PC3=1转换结束,PC3=Q 正在转换。 答:(2)该电路采用查询方式读数据。

ST1:

MOVX

DPTR,A MOV A#0FFH LCALL DELAY1MS MOVX DPTR,A MOV A#0H

LCALL DELAY19MS DJNZ R2,ST1

END

33.某A/D 转换电路如图示

2.31 A/D 转换电路国

MOV A,#10000011B ;8255PB 输入,PCQ- PC3输入过程幵始

;PC4---PC7 输岀(方式0)

MOV DPTR,#7B00H

MOVX DPTR,A ;初始化

NOP

MOV R0, #BUFF1

MOV R2, 8

STA: MOV DPTR,#7A00H ; 送启动脉冲

MOV A,#0F0H

MOVX DPTR,A

NOP

MOV A,00H

MOVX DPTR,A

STAQ MOV

MOVX

ANL

JZ

JMP STA1: MOV

MOVX

MOV DPTR,#7A00H

A,DPTR

A,#08H ;PC3==0? STA1

STA0

DPTR,#7900H

A,DPTR

R0, A

INC R0

DJNZ R2, STA RET

END

第三章

27.试用8255A的C 口设计一个4*4=16的阵列,其中0—9为数字键,A---F为功能键,采用查询方式,设计一个接口电路,并编写键扫描程序。

HI Si I

3 2 1 0

7 6 5 4

B A 9 8

F E D C

图3.J用R255A接口的4X*键盘矩阵

ORG 0200H

KEYPRO :ACALL DISUP ;调用显示子程序

ACALL KEXAM ;检查是否有键按下

JZ KEYPRO ;若无键按下,转KEYPRO

ACALL D10MS ;有键按下,去抖。

ACALL KEXAM ;再判是否有键按下

JZ KEYPRO ;若无键按下,转KEYPRO

KEY1: MOV R2, #0FEH ;输出使X0行为低电平

MOV R3, #0 ;列值和行值奇存器清零

MOV R4,#0

KEY2 MOV DPTR,#8200H ;指向8255 C 口

MOV A,R2 ;扫描第一行

MOVX DPTR,A

MOV DPTR,#8000H ;指向8255 A 口

MOVX A,DPTR ;读入列值

CPL A

ANL A,#0FH ;

JNZ KEY3 ;有键按下,求列值。

INC R4 ;无键按下,行寄存器加1

MOV A,R2

RL A ;左移一位, 扫描下一行

MOV R2,A

JB ACC.4,KEY2 ;四行扫描完?

AJMP KEYPRO

KEY3:CPL A ; 恢复列值模型

KEY4: INC R3 ;求列值

RRC A

JC KEY4

KEY5:ACALL D10MS

ACALL KEXAM

JNZ KEY5 ;若有键按下,转KEY5等待键释放

MOV A,R4 ;计算键值

CLR C

RLC A

RLC A

ADD A,R3

MOV BUFF,A ;存键值

AJMP KEYADR

;转查找功能键入口地址子程序

D10MS: MOV R5,#14H DL: MOV R6,#10FFH DL0: DJNZ R6,DL0

DJNZ R5,DL

RET

BUFF EQU 30H

KEXAM : MOV DPTR,#8200H MOV A,#0

MOVX DPTR,A

MOV DPTR,#8000H MOVX A,DPTR

CPL A

ANL A,#0FH

RET

30. 设电路如图:是回答下列问题。

(1)说明图中数码管应选哪一种类型的数码管答:选共阳极。

(2)属于哪一种显示方法。

静态显示。

(3)

4位BCD码输入转换成数码管显示和驱动(集电极开路输出)(4)

MOV RO, #60H

MOV R1, #DATABUF1

MOV A,R1

MOVX RO, A

INC R1

MOV RO, #63H

MOV A,R1

MOVX RO, A

第四章三,18题

程序如下:

MOV DPTR,#8300H;8255口A输入,PC—PC7 输入

MOV A,#10011000B ;8255 口B 输出,PC0---PC3 输出

MOVX DPTR,A

相关主题
相关文档
最新文档