收藏 分销(赏)

AD转换和DA转换实验.doc

上传人:仙人****88 文档编号:11340040 上传时间:2025-07-18 格式:DOC 页数:12 大小:170KB 下载积分:10 金币
下载 相关 举报
AD转换和DA转换实验.doc_第1页
第1页 / 共12页
AD转换和DA转换实验.doc_第2页
第2页 / 共12页


点击查看更多>>
资源描述
汇编程序 01:AD转换器 此为0.01精度 ORG 0000H LJMP MAIN ORG 0013H LJMP LOOP MAIN:MOV SP,#30H SETB IT1 SETB EA SETB EX1 MOV DPTR,#0FEF8H MOVX @DPTR,A HERE:LCALL DISPLAY AJMP HERE LOOP:MOV DPTR,#0FEF8H MOVX A,@DPTR MOVX @DPTR,A LCALL DSP ;对接收的数据进行处理 LCALL DSP1 LCALL DISPLAY ;显示转换的数据 LJMP LOOP DSP: MOV B,#100 MUL AB MOV R7,B MOV R6,A MOV R5,#00H MOV R4,#33H MOV R3,#00H MOV R2,#00H LCALL DIV2BY MOV R5,#00H MOV R4,#64H MOV R3,#00H MOV R2,#00H LCALL DIV2BY MOV 73H,R6 ;百位电压值 MOV A,R3 MOV R7,A MOV A,R2 MOV R6,A MOV R5,#00H MOV R4,#0AH MOV R3,#00H MOV R2,#00H LCALL DIV2BY MOV 72H,R6 ;十位电压值 MOV A,R3 MOV R7,A MOV A,R2 MOV R6,A MOV R5,#00H MOV R4,#01H MOV R3,#00H MOV R2,#00H LCALL DIV2BY MOV 71H,R6 ;个位电压值 RET DIV2BY: MOV 20H,#16 ;双字节除法 DIV2B:CLR C ;商存在R7R6,余数存R3R2 MOV A,R6 RLC A MOV R6,A MOV A,R7 RLC A MOV R7,A MOV A,R2 RLC A MOV R2,A MOV A,R3 RLC A MOV R3,A CLR C MOV A,R2 SUBB A,R4 MOV R0,A MOV A,R3 SUBB A,R5 JC NEXT CLR C MOV R3,A MOV A,R0 MOV R2,A MOV A,R6 ADD A,#01H MOV R6,A MOV A,R7 ADDC A,#00H MOV R7,A NEXT:DJNZ 20H,DIV2B RET DSP1:MOV R0,#71H MOV A,@R0 CLR C CJNE A,#10,EXIT1 ;个位加1等于10?等于10,是则个位清零 CLR A MOV @R0,A INC R0 ;指向十位 MOV A,@R0 INC A ;十位加1 MOV @R0,A CJNE A,#10,EXIT1 CLR A MOV @R0,A INC R0 MOV A,@R0 INC A MOV @R0,A CJNE A,#10,EXIT1 CLR A MOV @R0,A INC R0 MOV A,@R0 INC A MOV @R0,A CJNE A,#10,EXIT1 CLR A MOV @R0,A EXIT1:RET DISPLAY:MOV R1,#74H ;指向数据显示缓冲区 MOV R5,#0FEH ;显示位选择 PLAY:MOV A,R5 MOV P2,A MOV A,@R1 MOV DPTR,#TAB MOVC A,@A+DPTR CJNE R1,#73H,POW XRL A,#80H;输出点. POW: MOV P1,A LCALL DL1MS DEC R1 MOV A,R5 JNB ACC.3,ENDOUT RL A MOV R5,A AJMP PLAY ENDOUT:RET TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DL1MS:MOV R6,#20 DL1:MOV R7,#50 DL2:DJNZ R7,DL2 DJNZ R6,DL1 RET END DA转换实验 ORG 0000H LJMP MAIN MAIN: MOV SP,#30H MOV 74H,#00H KEY:ACALL KS;键盘扫描程序段 JNZ LK1;有键闭合 LCALL DELAY AJMP KEY ;没有键闭合 LK1:LCALL DELAY;驱动显示程序防抖 LCALL DELAY ACALL KS;确认有键闭合? JNZ LK2 ;真有键闭合 LCALL DELAY;没有键闭合是误按 回去! AJMP KEY LK2:MOV 74H,A LCALL DELAY JNZ SK AJMP KEY;不是!不与理睬 KS:MOV A,P1;键盘扫描子程序 CPL A ANL A,#0FFH RET SK: ACALL KS JNZ SK LCALL DELAY LCALL DELAY ACALL KS JNZ SK MOV A,74H JB ACC.0,MAIN1 JB ACC.1,MAIN2 JB ACC.2,MAIN3 JB ACC.3,MAIN4 JB ACC.4,MAIN5 LCALL DELAY AJMP KEY MAIN1:MOV DPTR,#7000H;方波 MOV R0,#00H ABCD: MOV A,R0 MOVX @DPTR,A INC R1 MOV R7,P1 CJNE R7,#0FFH,KEY XYZ: CJNE R1,#10,ABCD CPL A MOV R0,A AJMP ABCD MAIN2:MOV DPTR,#7000H;锯齿波 MOV R0,#00H ABCD2:MOV A,R0 MOVX @DPTR,A INC R0 MOV R7,P1 CJNE R7,#0FFH,KEY LJMP ABCD2 MAIN3:MOV DPTR,#7000H ;三角波 MOV R0,#00H ABCD3:MOV A,R0 MOVX @DPTR,A INC R0 CJNE R0,#0FFH,ABCD3 MOV R7,P1 CJNE R7,#0FFH,CNM ABCF3:DEC R0 MOV A,R0 MOVX @DPTR,A CJNE R0,#00H,ABCF3 MOV R7,P1 CJNE R7,#0FFH,CNM AJMP ABCD3 MAIN4:MOV DPTR,#7000H ;正弦波 MOV R0,#00H AAA:MOV A,R0 INC R0 MOV DPTR,#CCC MOVC A,@A+DPTR MOV DPTR,#5000H MOVX @DPTR,A CJNE R0,#100,AAA MOV R7,P1 CJNE R7,#0FFH,CNM LJMP BBB BBB:MOV A,R0 DEC R0 MOV DPTR,#CCC MOVC A,@A+DPTR MOV DPTR,#5000H MOVX @DPTR,A CJNE R0,#00,BBB MOV R7,P1 CJNE R7,#0FFH,CNM LJMP AAA CNM:LJMP KEY MAIN5:MOV DPTR,#7000H;梯形波 MOV R0,#00H ABCD4:MOV A,R0 MOVX @DPTR,A INC R0 CJNE R0,#064H,ABCD4 MOV R1,#0FFH AAA1: NOP DJNZ R1,AAA1 ABCF4:DEC R0 MOV A,R0 MOVX @DPTR,A CJNE R0,#00H,ABCF4 MOV R1,#0FFH AAA2: NOP DJNZ R1,AAA2 MOV R7,P1 CJNE R7,#0FFH,CNM JMP ABCD4 DELAY:MOV R6,#0AH LOOP7:MOV R4,#64H LOOP8:NOP NOP NOP DJNZ R4,LOOP8 DJNZ R6,LOOP7 RET CCC:DB 00H,00H,01H,02H,04H,06H,09H,0CH,10H,14H DB 18H,1DH,23H,28H,2EH,35H,3BH,42H,49H,51H DB 58H,60H,68H,70H,77H,80H,88H,8FH,97H,9FH DB 0A7H,0AEH,0B6H,0BDH,0C4H,0CAH,0D1H,0D7H,0DCH,0E2H DB 0E7H,0EBH,0EFH,0F3H,0F6H,0F9H,0FBH,0FDH,0FEH,0FFH DB 0FFH,0FFH,0FEH,0FDH,0FBH,0F9H,0F6H,0F3H,0EFH,0EBH DB 0E7H,0E2H,0DCH,0D7H,0D1H,0CAH,0C4H,0BDH,0B6H,0AEH DB 0A7H,9FH,97H,8FH,88H,80H,77H,70H,68H,60H DB 58H,51H,49H,42H,3BH,35H,2EH,28H,23H,1DH DB 18H,14H,10H,0CH,09H,06H,04H,02H,01H,00H END AD转换器 此为0.001精度 ORG 0000H LJMP MAIN ORG 0013H LJMP LOOP MAIN:MOV SP,#30H SETB IT1 SETB EA SETB EX1 MOV DPTR,#0FEF8H MOVX @DPTR,A HERE:LCALL DISPLAY AJMP HERE LOOP:MOV DPTR,#0FEF8H MOVX A,@DPTR MOVX @DPTR,A LCALL DSP ;对接收的数据进行处理 LCALL DSP1 LCALL DISPLAY ;显示转换的数据 LJMP LOOP DSP: MOV B,#196 MUL AB MOV R7,B MOV R6,A MOV R3,#00H MOV R2,#00H MOV R5,#27H MOV R4,#10H LCALL DIV2BY MOV 73H,R6 ;千位电压值 MOV A,R3 MOV R7,A MOV A,R2 MOV R6,A MOV R5,#03H MOV R4,#0E8H MOV R3,#00H MOV R2,#00H LCALL DIV2BY MOV 72H,R6 ;百位电压值 MOV A,R3 MOV R7,A MOV A,R2 MOV R6,A MOV R5,#00H MOV R4,#64H MOV R3,#00H MOV R2,#00H LCALL DIV2BY MOV 71H,R6 ;十位电压值 MOV A,R3 MOV R7,A MOV A,R2 MOV R6,A MOV R5,#00H MOV R4,#0AH MOV R3,#00H MOV R2,#00H LCALL DIV2BY MOV 70H,R6 ;个位电压值 RET DIV2BY: MOV 20H,#16 ;双字节除法 DIV2B:CLR C ;商存在R7R6,余数存R3R2 MOV A,R6 RLC A MOV R6,A MOV A,R7 RLC A MOV R7,A MOV A,R2 RLC A MOV R2,A MOV A,R3 RLC A MOV R3,A CLR C MOV A,R2 SUBB A,R4 MOV R0,A MOV A,R3 SUBB A,R5 JC NEXT CLR C MOV R3,A MOV A,R0 MOV R2,A MOV A,R6 ADD A,#01H MOV R6,A MOV A,R7 ADDC A,#00H MOV R7,A NEXT:DJNZ 20H,DIV2B RET DSP1:MOV R0,#70H MOV A,@R0 CLR C SUBB A,#05H JC EXIT1 ;为1则小于5,退出 INC R0 ;指向十位 MOV A,@R0 INC A ;十位加1 MOV @R0,A CJNE A,#10,EXIT1 ;十位加1等于10?等于10,是则十位清零 CLR A MOV @R0,A INC R0 ;指向百位 MOV A,@R0 INC A ;百位加1 MOV @R0,A CJNE A,#10,EXIT1 CLR A MOV @R0,A INC R0 ;指向千位 MOV A,@R0 INC A ;千位加1 MOV @R0,A CJNE A,#10,EXIT1 CLR A MOV @R0,A EXIT1:RET DISPLAY:MOV R1,#73H ;指向数据显示缓冲区 MOV R5,#0FEH ;显示位选择 PLAY:MOV A,R5 MOV P2,A MOV A,@R1 MOV DPTR,#TAB MOVC A,@A+DPTR CJNE R1,#73H,POW XRL A,#80H;输出点. POW: MOV P1,A LCALL DL1MS DEC R1 MOV A,R5 JNB ACC.3,ENDOUT RL A MOV R5,A AJMP PLAY ENDOUT:RET TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DL1MS:MOV R6,#20 DL1:MOV R7,#50 DL2:DJNZ R7,DL2 DJNZ R6,DL1 RET END
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服