此篇文章中涉及的新指令如下:
注:前面有两篇文章有一条指令重复,即:MOVX @DPTR,A
所以本文指令从55开始。
数量 助记符 说明 字节数 执行时间 指令代码
55,AJMP addr11 绝对转移 2 2 A10A9A800001,addr(7-0)
56,LJMP addr16 长转移 3 2 02H,addr(15-8),addr(7-0)
57,CPL bit 直接寻址位取反 2 1 B2H,bit
58,ACALL addr11 绝对调用子程序 2 2 A10A9A810001,addr(7-0)
59,RET 子程序返回 1 2 22H
60,RETI 中断返回 1 2 32H
61,JB bit,rel 直接寻址位为1,则转移 3 2 20H,rel
62,NOP 空操作 1 1 00H
题13
下图图1或图2是ADC0809(或ADC0808)与单片机连接图,(单片机晶振12Mhz)试回答:
(1)EOC 的作用
(2)74LS373在此处的作用
(3) 74LS74在此处的作用
(4)ADC0809端口地址范围
(5)编程实现间隔1ms对ADC0809一组端口进行数据采集(说明:对AD转换器八路模拟端口依次分别采集一次数据为一组),并将采集的数据依次存放在内部RAM地址为70H开始的区域。
图1
或
图2
解析:
此类题型考察知识比较综合和全面,但考试常考且将此种题型常常放在试卷的最后作为运用题考察。
解题过程:分析连接图->计算ADC0809端口地址->编写程序或程序阅读回答问题。
分析:
74LS373是三态输出的八D锁存器,共有54S373和74LS373两种线路。373 的输出端 Q0~Q7 可直接与总线相连。当锁存允许端LE为高电平时,Q 随数据D而变。当LE为低电平时,D 被锁存在已建立的数据电平。当LE端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改 400mV。
真值表如下:
74LS74这个集成块是一个双D触发器,其功能比较的多,可用作寄存器,移位寄存器,振荡器,单稳态,分频计数器等功能。
答案:
(1)EOC 的作用:EOC 为A/D转换结束信号,用来引起中断或查询,以便读取 A/D 的转换结果。
(2)74LS373在此处的作用:地址锁存
(3)74LS74在此处的作用:时钟分频
(4)ADC0809端口地址范围:7FF8H-7FFFH(答案不唯一)
(5)见程序源码
程序源码:(程序中设置P2.0用于测试)
ORG 0000H
AJMP START
ORG 000BH
LJMP T0ADDR
ORG 0026H
START:
MOV SP,#66H
MOV TMOD,#01H
MOV TH0,#0E0H
MOV TL0,#17H
SETB ET0
SETB EA
SETB P2.0
SETB TR0
SJMP $
ORG 003AH
T0ADDR:
CLR TR0
CPL P2.0
MOV TH0,#0E0H
MOV TL0,#17H
ACALL ADC0809
SETB TR0
RETI
ORG 0042H
ADC0809:
MOV DPTR,#7FF8H
MOV R0,#70H
MOV R7,#08H
CLR A
LOOP:
MOVX @DPTR,A
MOV R6,#10
DELAY:
NOP
NOP
NOP
DJNZ R6,DELAY
SETB P3.2
JB P3.2,$
MOVX A,@DPTR
MOV @R0,A
INC DPTR
INC R0
DJNZ R7,LOOP
RET
END
补充:
此类题可能不是编写程序,而是阅读程序回答问题,例如:如下图