访问手机版页面
你的位置:老古开发网 > 其他 > 正文  
A/D转换
内容导读:
硬件设计:8路输入模拟信号数值显示电路由A/D转换.数据处理及显示控制等组成.A/D转换由集成电路0809完成.0809具有8路模拟输入端口,地址线(23--25脚)可决定对那一路模拟输入做A/D转换.第22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存,6脚为测试控制,当输入一个2US宽的高电平时,就可是A/D转换,7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平,9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从端口输出;10脚为0809的时钟输入端,利用单片机30脚的六分频晶振信号在通过14024二分频得到.单片机的P1,P3端口做四位LED数码管显示控制,P0端口做A/D转换数据读入用,P2口用做0809的A/D转换控制.
系统主要程序设计
  初始化程序
系统上电时,将70H--77H内存单元清零,P2口置0.
  主程序
在刚上电时,因70H--77H内存单元的数据位0,则每一通道的数码管显示值都为000.当进行一次测量后,将显示出每一通道的A/D转换值,每个通道的数据显示时间在1S左右.主程序在调用显示程序和测试程之间的循环,起流程图为
   开始
  
  初始化

调用子程序

调用A/D转换子程序  
显示子程序
采用动态扫描实现四位数码管的数值显示,测量所用的A/D转换数据放在70H--77H内存单元中,测量数据在显示时需进过转换成为十进制BCD码放在78H--7BH中,其中7BH存放通道标准数,寄存器R3用来做8路循环控制,R0用做显示数据地址指针
模数转换测量子程序
模数转换测量子程序是用来控制对0809 8路模拟输入电压的A/D转换,并将对应的数值移入70H--77H内存单元,
程序清单
ORG 0000H
LJMP START
ORG 0003H
RETI
ORG 000BH
RETI
ORG 0013H
RETI
ORG 001BH
RETI
ORG 0023H
RETI
ORG 002BH
RETI

CLEARMEMIO:CLR A
MOV P2,A
MOV R0,#70H
MOV R2,#0CH
LOOPMEM:MOV @R0,A
INC R0
DJNZ R2,LOOPMEM
MOV A,#0FFH
MOV P0,A
MOV P1,A
MOV P3,A
RET

START: LCALL CLEARMEMIO
MAIN: LCALL DISPLAY
LCALL TEST
AJMP MAIN
NOP
NOP
NOP
LJMP START

DISPLAY:MOV R3,#08H
MOV R0,#70H
MOV 7BH,#00H
DISLOOP1:MOV A,@R0
MOV B,#100
DIV AB
MOV 7AH,A
MOV A,#10H
XCH A,B
DIV AB
MOV 79H,A
MOV 78H,B
MOV R2,#0FFH
DISLOOP2:LCALL DISP
DJNZ R2,DISLOOP2
INC R0
INC 7BH
DJNZ R3,DISLOOP1
RET

DISP: MOV R1,#78H
MOV R5,#0FEH
PLAY: MOV P1,#0FFH
MOV A,R5
ANL P3,A
MOV A,@R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P1,A
LCALL DL1MS
INC R1
MOV A,P3
JNB ACC.3,ENDOUT
RL A
MOV R5,A
MOV P3,#0FFH
AJMP PLAY
ENDOUT: MOV P3,#0FFH
MOV P1,#0FFH
RET

TAB:  DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH

DL1MS: MOV R6,#14H
DL1: MOV R7,#19H
DL2: DJNZ R7,DL2
DJNZ R6,DL1
RET

TEST: CLR A
MOV P2,A
MOV R0,#70H
MOV R7,#08H
LCALL TESTART
WAIT: JB P3.7,MOVD
AJMP WAIT

TESTART:SETB P2.3
NOP
NOP
CLR P2.3
SETB P2.4
NOP
NOP
CLR P2.4
NOP
NOP
NOP
NOP
RET

MOVD: SETB P2.5
MOV A,P0
MOV @R0,A
CLR P2.5
INC R0
MOV A,P2
INC A
MOV P2,A
CLR C
CJNE A,#08H,TESTCON
JC TESTCON
CLR A
MOV P2,A
MOV A,#0FFH
MOV P0,A
MOV P1,A
MOV P3,A
RET
TESTCON:LCALL TESTART
LJMP WAIT

END
标签:
来源: 作者: 时间:2005/10/16 0:00:00
相关阅读
推荐阅读
阅读排行
最近更新
商品推荐