通常为了使A/D输出信号经过D/A还原后能更好地反映输入模拟信号的变化,根据采样定理,采样频率一般要高于或至少等于输入信号中最高频率分量的2倍,就可以使被采样的信号能够代表原始的输入信号。在输入信号频率不是太高的实际应用中,一般取采样频率为最高频率的4~8倍。
14. 若ADC输入模拟电压信号的最高频率位20KHz,取样频率的下限是多少?完成一次A/D转换时间的上限是多少?答:取样频率的下限为20kHZ×2=40 kHZ 完成一次转换的最长时间是1ms 40kHZ?0.02515. 双积分式ADC电路中的计数器是十进制的,最大计数容量N=(1000)10,时钟脉冲频率为5KHz,完成一次转换最长需要多少时间?
答:由于双积分式A/D的工作模式是固定时间正向积分、固定斜率反向积分。正向积分与反向积分的切换是由正向积分开始时计数器从0计数到计满后产生的溢出信号控制,较高的反极性的基准电压进
VV入积分器反向积分(因为反向斜率值大于正向斜率值REF>I,一般反向积分时间要小于正向积分
RCRC时间),计数器再次从0开始计数,直至反向积分至0时停止计数,此时的计数值就是对应的输入量的变换数字量。因此完成一次转换的最长时间不大于2倍正向积分时间(即计数器从0到计满时间的2倍)。
1在该题为5kHms。 Z?1000?2?40016. 设被测温度的变化范围为300℃~1000℃,如要求测量误差不超过±1℃,应选用分辨率为多少位的A/D转换器?
答:取最大的温度变化范围1000O,最小的温度分辨为1O,这样只要不少于1000等份就可以。因此可
11?Com??1000?0.98? 选10位A/D转换器,若它的满量程是1000O,最小的温度分辨为?1010232?1五、按要求编写指令或程序段(本大题共3小题,每小题4分,共12分) 1.用两种方法将存储器1000H的内容(1EH)扩大到原来的8倍。 答:第一种方法:MOV BX,1000H MOV AL,[BX] MOV CL,08H
MUL CL
MOV [BX],AL
第二种方法:MOV BX,1000H MOV AL,[BX] MOV CL,03H
ROL AL,CL MOV [BX],AL
2.写出用一条指令就可使AL寄存器清零的指令;还写出用一条指令就可使AL寄存器为全1的指令(尽可能多地正确地写)。
答:用一条指令就可使AL寄存器清零的指令;用一条指令就可使AL寄存器为全1的指令 (1)MOV AX,0000H (1) MOV AL,0FFH (2)AND AX,0000H (2) OR AL,0FFH (3)XOR AX,AX
3.将存储器1000H到10FFH的连续单元中都放着一字节无符号数,将其中的最大无符号数放到偏移地址为1000H的单元中。 答: MOV BX,1000H MOV CL,0FFH MOV AL,[BX]
26
ABC:INC BX
CMP AL,[BX] JNC BCD
MOV AL,[BX] BCD:DEC CL JNZ ABC
MOV BX,1000H MOV [BX],AL JMP $
4.设计一个分支程序
1 X>0
Y = 0 X=0 -1 X<0
?程序为:
MOV AL ,X CMP AL,0 JGE BIG MOV Y,-1 JMP EXIT BIG:JE EQUL
MOV Y,1 JMP EXIT EQUL:MOV Y,0
JMP $
5.编写程序段, 比较两个5字节的字符串OLDS和NEWS, 如果OLDS字符串与NEWS不同, 则执行NEW_LESS, 否则顺序执行程序。 LEA SI, OLDS LEA DI, NEWS MOV CX, 5 CLD
REPZ CMPSB JNZ NEW_LESS
6.变量N1和N2均为2字节的非压缩BCD数码,请写出计算N1与N2之差的指令序列。 MOV AX, 0 MOV AL, N1+1 SUB AL, N2+1 AAS
MOV DL, AL MOV AL, N1 SBB AL, N2 AAS
MOV DH, AL
7.试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。 abc: mov ah,1
27
int 21h sub al,20h mov dl,al mov ah,2 int 21h jmp abc sto: ret
8.把AX寄存器清零。 ①MOV AX,0 ②XOR AX,AX ③AND AX,0 ④SUB AX,AX
9.把AL中的数x乘10
因为10=8+2=23+21,所以可用移位实现乘10操作。程序如下:
MOV CL,3
SAL AL,1 ; 2x MOV AH,AL
SAL AL,1 ; 4x SAL AL,1 ; 8x
ADD AL,AH ; 8x+2x = 10x 10.按下述要求写出指令序列:
(7) DATAX和DATAY中的两个字数据相加, 和存放在DATAY和DATAY+2中。 (8) DATAX和DATAY中的两个双字数据相加, 和存放在DATAY开始的字单元中。 (9) DATAX和DATAY两个字数据相乘(用MUL)。 (10) DATAX和DATAY两个双字数据相乘(用MUL)。 (11) DATAX除以23(用DIV)。
(12) DATAX双字除以字DATAY(用DIV)。
DATAX和DATAY中的两个字数据相加, 和存放在DATAY和DATAY+2中。 (1) MOV AX, DATAX
ADD AX, DATAY MOV BX, DATAX+2 ADD BX, DATAY+2 MOV DATAY, AX MOV DATAY+2, BX
DATAX和DATAY中的两个双字数据相加, 和存放在DATAY开始的字单元中。 (2) MOV AX, DATAX ADD DATAY, AX
MOV BL,AH MOV AX, DATAX+2
MOV AH, 0 ADC DATAY+2, AX
MOV DATAY, AX ;存放商 DATAX和DATAY两个字数据相乘(用MUL)。
MOV AL,BL (3) MOV AX, DATAX
MOV DATAY+2, AX ;存放余数 MUL DATAY
DATAX双字除以字DATAY(用DIV)。 MOV DATAY,AX
(6) MOV AX, DATAX MOV DATAY+2,DX
MOV DX, DATAX+2 DATAX和DATAY两个双字数据相乘(用MUL)。
DIV DATAY 28
MOV DATAY, AX MOV DATAY+2, DX
(4)
MOV AX,WORD PTR DATAX MOV BX,WORD PTR DATAY MUL BX MOV RESULT,AX MOV RESULT+2,DX
MOV AX,WORD PTR DATAX MOV AX,WORD PTR DATAY+2 MUL BX ADD RESULT+2,AX ADC RESULT+4,DX MOV AX,WORD PTR DATAX+2
MOV BX,WORD PTR DATAY MUL BX ADD RESULT+2,AX ADC RESULT+4,DX MOV AX,WORD PTR DATAX+2 MOV BX,WORD PTR DATAY+2 MUL BX ADD RESULT+4,AX ADC RESULT+6,DX DATAX除以23(用DIV)。 (5) MOV AX, DATAX
MOV BL, 23 DIV BL
29