当前位置:文档之家› 微机控制技术习题解答112 (1)

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

第一章第二章三、练习题28. 设12位D/A转换器DAC1210与8031接口电路连接,如图示:(1).说明电路控制原理(2).设数据存放在DABUFF为首地址的连续两个存储单元,试编写一完成D/A转换的程序。

答:DAC1210是12位的D/A转换器,单片机的数据线接DAC1210的高八位DI4—DI11,数据线的P0.4到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 R0MOV DPTR,#1400HMOVX @DPTR,A ;送高8位数据MOV A,@R0 取低4位数据(高4位是有效数据,低4位为0)MOV DPTR,#1C00H;MOVX @DPTR,A 送低4位数据MOV DPTR,#2400HMOVX @DPTR,A 打开第二级缓冲,将数据送到DA转换电路。

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

1.数据线:单片机(AT89C51)的P0.0-P0.7连接DAC0832的D0-D72.地址线:单片机的A8(P2.0) 接CS 片选信号,地址是0FEFFH.3.控制线:单片机写信号接WR1. 单缓冲控制形式.2:输出NN个方波的程序。

START: MOV DPTR,#0FEFFHMOV A,#0MOV R2,#NNST1:MOVX @DPTR,AMOV A#0FFHLCALL DELAY1MSMOVX @DPTR,AMOV A#0HLCALL DELAY19MSDJNZ R2,ST1END31. A/D转换器的结束信号EOC有什么作用?根据该信号在I/O控制中的连接方式,A/D转换有几种控制方式?它们各在接口电路和程序设计上有什么特点?答:EOC信号反映A/D转换是否结束,可以用作读转换结果的状态信号,也可以作为中断请求信号。

有三种控制方式:(1)。

中断方式读数据。

(2)查询方式读数据。

(3)延时读数据。

33. 某A/D转换电路如图示(1)。

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

(2)。

该电路采用什么控制方式?画出该种转换的程序流程。

(3)。

用8051单片机汇编语言写出完成上述转换的程序。

答:(1) A/D转换的启动地址是7A00H 读转换是否结束的地址7A00HA/D转换读数据的地址是7B00H.8255端口A地址是7800H 8255端口B地址是7900H8255端口C地址是7A00H, 8255控制口地址是7B00H8255的PB口设定为输入,读取A/D转换值,PC4---PC7为输出,作为A/D转换的启动信号(启动脉冲)。

PC0---PC3为输入,可以读取EOC,查询是否转换结束,PC3=1转换结束,PC3=0,正在转换。

答:(2)该电路采用查询方式读数据。

;PC4---PC7 输出(方式0)MOV DPTR,#7B00HMOVX @DPTR,A ;初始化NOPMOV R0,#BUFF1MOV R2,8STA: MOV DPTR,#7A00H ; 送启动脉冲MOV A,#0F0HMOVX @DPTR,ANOPMOV A,00HMOVX @DPTR,ASTA0:MOV DPTR,#7A00HMOVX A,@DPTRANL A,#08H ;PC3==0?JZ STA1JMP STA0STA1: MOV DPTR,#7900HMOVX A,@DPTRMOV @R0,AINC R0DJNZ R2,STARETEND;第三章27.试用8255A的C口设计一个4*4=16的阵列,其中0—9为数字键,A---F为功能键,采用查询方式,设计一个接口电路,并编写键扫描程序。

32107654B A98F E D CORG 0200HKEYPRO: ACALL DISUP ;调用显示子程序ACALL KEXAM ;检查是否有键按下JZ KEYPRO ;若无键按下,转KEYPROACALL D10MS ;有键按下,去抖。

ACALL KEXAM ;再判是否有键按下JZ KEYPRO ;若无键按下,转KEYPROKEY1:MOV R2,#0FEH ;输出使X0行为低电平MOV R3,#0 ;列值和行值寄存器清零MOV R4,#0KEY2:MOV DPTR,#8200H ;指向8255 C口MOV A,R2 ;扫描第一行MOVX @DPTR,AMOV DPTR,#8000H ;指向8255 A口MOVX A,@DPTR ;读入列值CPL AANL A,#0FH ;JNZ KEY3 ;有键按下,求列值。

INC R4 ;无键按下,行寄存器加1MOV A,R2RL A ;左移一位,扫描下一行MOV R2,AJB ACC.4,KEY2 ;四行扫描完?AJMP KEYPROKEY3:CPL A ;恢复列值模型KEY4: INC R3 ;求列值RRC AJC KEY4KEY5:ACALL D10MSACALL KEXAMJNZ KEY5 ;若有键按下,转KEY5,等待键释放MOV A,R4 ;计算键值CLR CRLC ARLC AADD A,R3MOV BUFF,A ;存键值AJMP KEYADR ;转查找功能键入口地址子程序D10MS: MOV R5,#14HDL: MOV R6,#10FFHDL0: DJNZ R6,DL0DJNZ R5,DLRETBUFF EQU 30HKEXAM: MOV DPTR,#8200HMOV A,#0MOVX @DPTR,AMOV DPTR,#8000HMOVX A,@DPTRCPL AANL A,#0FHRET30.设电路如图:是回答下列问题。

(1)说明图中数码管应选哪一种类型的数码管。

答:选共阳极。

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

静态显示。

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

(4)MOV R0,#60HMOV R1,#DATABUF1MOV A,@R1MOVX @R0,AINC R1MOV R0,#63HMOV A,@R1MOVX @R0,A第四章三,18题程序如下:MOV DPTR,#8300H;8255口A输入,PC4—PC7 输入MOV A,#10011000B ;8255口B输出,PC0---PC3输出MOVX @DPTR,AMOV R0,#MAXMOV R1,#MINMOV R2,#8MOV R3,#0STT0:MOV DPTR,#8200HMOV A,R3ORL A,#08HMOVX @DPTR,ANOPNOPNOPMOV DPTR,#8200HMOV A,R3MOVX @DPTR,AACALL DELAY0.2MSMOV DPTR,#8000HMOVX A,@DPTRMOV B,ACLR CSUBB A,@R0JNC ATM0 ;大于MAX值,转上限报警。

CLR CMOV A,BSUBB A,@R1JC ATM1 ;小于MIN值,转下限报警。

ACALL DISUP0 ;正常值显示。

ATM3:INC R3INC R0INC R1DJNZ R2,STT0ATM0:ACALL DISUP2 ;上限报警模式SJMP ATM3ATM1:ACALL DISUP3 ;下限报警模式SJMP ATM3END三.19. P114 表4.420.某电机控制系统如图。

(1)说明图中光电隔离器4N25的作用。

PC0为1时,4N25输出端高电平,IRF640导通,电机运行。

PC0为0时,4N25输出端低电平,IRF640不导通,电机停转。

(4)8255的端口地址符号地址AD8255A/AD8255B/AD8255C/AD8255DORG 200HMOV DPTR,#AD8255DMOV A,#10001000B ;PC0—PC3输出,PC4—PC7输入(方式0)MOVX @DPTR,ATTT2:MOV DPTR,#AD8255CMOVX A,@DPTRJB ACC.7,TTT1MOV A,#0TTT3:MOVX @DPTR,ASJMP TTT2TTT1:MOV A,#1SJMP TTT3如有侵权请联系告知删除,感谢你们的配合!。

相关主题