NOP NOP CLR P1.0
MOVX A,@DPTR MOV @R0,A
ACALL DEL_100us INC R0
DJNZ R2,LOOP1 MOV R0,#70H MOV R2,#4 SJMP LOOP
DEL_1ms:MOV R7,#5 ;1 DEL2:MOV R6,#100 ;1 DEL1:DJNZ R6,DEL1 ;2 DJNZ R7,DEL2 ;2 RET DEL_100us: MOV R5,#5 ;1 DEL21:MOV R4,#10 ;1 DEL11:DJNZ R4,DEL11 ;2 DJNZ R5,DEL21 ;2 RET END 9-3 DAC 0832与8031单片机连接时有哪些控制信号?其作用是什么?P201 答:CS,WR1,WR2,XFER。CS,WR1两个引脚,使数据线上的数据送入输入寄存器;当CPU发出控制信号WR2,XFER时,把输入寄存器中的数据送给DAC寄存器,并随即由D/A转换器进行转换,变成模拟信号输出。 9-4 已知DAC 0832的地址为7FFFH,输出电压为0-5V,编写产生矩形波的转换程序,其波形占空比为1:4,高电平电压为2.5V,低电平电压为1.25V。 答:ORG 0000H LJMP MAIN ORG 0100H MAIN:MOV SP,#60H MOV DPTR,#7FFFH MOV R2,#3 LOOP:MOV A,#7FH
MOVX @DPTR,A ;2 ACALL DEL MOV A,#40H MOVX @DPTR,A DELL: ACALL DEL
DJNZ R2,DELL MOV R2,#3 SJMP LOOP
DEL:MOV R7,#10 ;若主频为12MHz,则波形周期为400us DEL2:MOV R6,#20 DEL1:DJNZ R6,DEL1
DJNZ R7,DEL2 RET END
9-5已知ADC 0809的地址为7FF8H-7FFFH。编写每隔100ms轮流采集一次8个通道数据的程序,共取样10次,其取样值存入片外RAM从3000H开始的存储单元中(设fosc=6MHz) 答:P1.0连接0809的START端,
ORG 0000H LJMP MAIN ORG 0003H LJMP ZD0 ORG 0100H MAIN:MOV SP,#60H MOV R7,#7FH MOV R6,#0F8H ;放0809 0路地址 MOV R4,#00H MOV R5,#30H ;将采集的数据放到片外RAM 3000H开始的地址 MOV R2,#8 ;记录8路 MOV R3,#10 ;记录10次 MOV 20H,#10;记录延时 LOOP: ACALL DEL_100ms DJNZ 20H,LOOP MOV 20H,#10 LOOP1: MOV DPH,R7 MOV DPL,R6 SETB P1.0 NOP NOP NOP CLR P1.0 MOVX A,@DPTR;转换0路 MOV R7,DPH MOV R6,DPL MOV DPH,R5 MOV DPL,R4
MOVX @DPTR,A INC R6 INC R4
DJNZ R2,LOOP1 MOV R2,#8 MOV R7,#7FH MOV R6,#0F8H MOV R4,#00H
MOV R5,#30H DJNZ R3,LOOP
DEL_10ms:MOV 21H,#50 ;1 DEL2:MOV 22H,#50 ;1 DEL1:DJNZ 22H,DEL1 ;2
DJNZ 21H,DEL2 ;2 RET END
9-6 根据图9.30MC14433的选通脉冲时序图回答什么是字位动态扫描BCD码输出方式及如何读取转换结果?
第十章
10-1 消除键盘抖动的软件方法是什么? 答:软件延时10ms 10-3 设计5*5的矩阵键盘并叙述其工作原理。 10-4 设计一个两位BCD码拨盘输入电路,通过P0口输入,编写数据读入的程序。 10-5 10-6应用74LS164集成电路,设计3位LED数码管的静态显示电路,编写显示程序段 解:利用CPU的串口接164的时钟和数据端,即Rx接数据口,Tx接时钟端 ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV SP,#60H LOOP:MOV R0,#30H MOV R2,#3 LOOP1:MOV A,@R0 MOV SBUF,A NOP NOP NOP INC R0 DJNZ R2,LOOP1 SJMP LOOP END 第九章 模拟量输入输出接口技术 第十章 10-6