ADC转换实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A/D0809转换实验
程序:
LED_0 EQU 30H ;存放三个数码管的段码
LED_1 EQU 31H
LED_2 EQU 32H
ADC EQU 35H ;存放转换后的数据ST BIT P3.2
OE BIT P3.0
EOC BIT P3.1
ORG 00H
START: MOV LED_0,#00H
MOV LED_1,#00H
MOV LED_2,#00H
MOV DPTR,#TABLE ;送段码表首地址
SETB P3.4
SETB P3.5
CLR P3.6 ;选择ADC0808的通道3
WAIT: CLR ST
SETB ST
CLR ST ;启动转换
JNB EOC,$ ;等待转换结束
SETB OE ;允许输出
MOV ADC,P1 ;暂存转换结果
CLR OE ;关闭输出
MOV A,ADC ;将AD转换结果转换成BCD码
MOV B,#100
DIV AB
MOV LED_2,A
MOV A,B
MOV B,#10
DIV AB
MOV LED_1,A
MOV LED_0,B
LCALL DISP ;显示AD转换结果
SJMP WAIT
DISP: MOV A,LED_0 ;数码显示子程序MOVC A,@A+DPTR
CLR P2.3
MOV P0,A
LCALL DELAY
SETB P2.3
MOV A,LED_1
MOVC A,@A+DPTR
CLR P2.2
MOV P0,A
LCALL DELAY
SETB P2.2
MOV A,LED_2
MOVC A,@A+DPTR
CLR P2.1
MOV P0,A
LCALL DELAY
SETB P2.1
RET
DELAY: MOV R6,#10 ;延时5毫秒
D1: MOV R7,#250
DJNZ R7,$
DJNZ R6,D1
RET
TABLE: D B 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
END
思考:采用教材上P197图和程序实现并验证结果.
JK触发器74ls112,D触发器74ls74
分频器:
MOV R0,#30H ;设立数据存储区指针
MOV R2,#08H ;设置8路采样计数值
SETB IT0 ;设置外部中断0为边沿触发方式
SETB EA ;CPU开放中断
SETB EX0 ;允许外部中断0中断
MOV DPTR,#FEF8H ;送入口地址并指向IN0 LOOP:MOVX @DPTR,A ;启动A/D转换,A的值无意义HERE:SJMP HERE ;等待中断
中断服务程序:
MOVX A,@DPTR ;读取转换后的数字量
MOV @R0,A ;存入片内RAM单元
INC DPTR ;指向下一模拟通道
INC R0 ;指向下一个数据存储单元
DJNZ R2,INT0 ;8路未转换完,则继续
CLR EA ;已转换完,则关中断
CLR EX0 ;禁止外部中断0中断
RETI ;中断返回
INT0:MOVX @DPTR,A ;再次启动A/D转换
RETI ;中断返回。

相关文档
最新文档