logo资料库

基于A/D转换的设计与仿真.doc

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
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
分享到:
收藏