收藏 分销(赏)

桂电智能仪器实验代码(lab8000平台汇编).doc

上传人:w****g 文档编号:9622671 上传时间:2025-04-01 格式:DOC 页数:42 大小:76.50KB 下载积分:12 金币
下载 相关 举报
桂电智能仪器实验代码(lab8000平台汇编).doc_第1页
第1页 / 共42页
桂电智能仪器实验代码(lab8000平台汇编).doc_第2页
第2页 / 共42页


点击查看更多>>
资源描述
实验1 ORG 0000H AJMP MAIN ORG 0200H BUFF EQU 60H MAIN:MOV R3,#00H  MOV R4,#00H    ACALL DISPLAY ACALL KEXAM     JZ MAIN     ACALL D10ms ACALL KEXAM   JZ MAIN  MOV R2,#0DFH   MOV DPTR,#8004H MOV A,#00H    MOVX @DPTR,A KEY1:MOV DPTR,#8002H   MOV A,R2    MOVX @DPTR,A     MOV DPTR,#8001H   MOVX A,@DPTR    CPL A ANL A,#0FH   JNZ KEY2  MOV A,R3    ADD A,#04H    MOV R3,A   MOV A,R2 RR A   MOV R2,A    JB ACC.0,KEY1   AJMP MAIN KEY2:CPL A KEY3:RRC A   JNC KEY4     INC R4     AJMP KEY3 KEY4:ACALL DISPLAY   ACALL D10ms   ACALL KEXAM  JNZ KEY4 MOV A,R3  ADD A,R4   MOV BUFF,A KEND:AJMP MAIN KEXAM:MOV DPTR,#8002H   MOV A,#00H     MOVX @DPTR,A MOV DPTR,#8001H     MOVX A,@DPTR      CPL A      ANL A,#0FH     RET DISPLAY:MOV DPTR,#TAB     MOV A,60H    MOVC A,@A+DPTR     MOV DPTR,#8004H MOVX @DPTR,A MOV DPTR,#8002H   MOV A,#10H       MOVX @DPTR,A   RET D10ms:MOV R5,#30H DL:MOV R6,#0FFH DL0:DJNZ R6,DL0 DJNZ R5,DL    RET TAB:DB 3FH 06H 66H 07H   DB 71H 5BH 6DH 7FH    DB 79H 4FH 7DH 6FH DB 5EH 39H 7CH 77H 实验2 ORG   0000H     AJMP MAIN    ORG   0100H MAIN: ACALL KEXAM    ;检查按键     JZ MAIN        ;无继续   ACALL D10ms   ;延时去抖       ACALL KEXAM  JZ MAIN START: MOV DPTR,#8002H  ;键值分析及选通道 MOV A,#0DFH     MOVX @DPTR,A    MOV DPTR,#8001H   MOVX A,@DPTR     CPL A    ANL A,#07H     CJNE A,#01H,KEY1    ;INT0    AJMP INT0 KEY1: CJNE A,#02H,KEY2;INT1 AJMP INT1 KEY2:  CJNE A,#04H,MAIN AJMP AUTO INT0:   ACALL DISPLAY1    MOV A,#0FH          ;0-5V   MOV  DPTR,#9000H     MOV  R0,#40H   MOVX @DPTR,A      ACALL D10ms MOVX A,@DPTR     MOV @R0,A   ACALL  CAI       ACALL  DISPLAY ACALL  KEXAM     JZ  INT0     AJMP START INT1: ACALL DISPLAY2 MOV A,#0FH      ;固定值     MOV    DPTR,#9001H MOV   R0,#40H   MOVX @DPTR,A   ACALL D10ms   MOVX A,@DPTR    MOV   @R0,A   ACALL CAI       ACALL DISPLAY    ACALL  KEXAM    JZ INT1     AJMP START AUTO:   MOV 50H,#000    LOP0:ACALL D10ms DJNZ 50H,LOP0    AJMP INT00 AUTO1:   MOV 51H,#000    LOP1:ACALL D10ms    DJNZ 51H,LOP1     AJMP INT11        INT00:   ACALL DISPLAY1     MOV A,#0FH       ;0-5V         MOV  DPTR,#9000H   MOV  R0,#40H    MOVX @DPTR,A     ACALL D10ms      MOVX A,@DPTR       MOV   @R0,A      ACALL CAI    ACALL  DISPLAY     ACALL D10ms   MOV 53H,#30    PPP: ACALL DISPLAY1      ACALL DISPLAY     ACALL DISPLAY1    ACALL DISPLAY     ACALL DISPLAY1     ACALL DISPLAY DJNZ 53H,PPP       ACALL  KEXAM    JZ    AUTO1   AJMP   START INT11:        ACALL DISPLAY2       MOV  A,#0FH  ;固定值       MOV DPTR,#9001H    MOV R0,#40H MOVX @DPTR,A   ACALL  D10ms       MOVX A,@DPTR     MOV @R0,A   ACALL CAI      ACALL DISPLAY   ACALL D10ms   MOV 54H,#30   OOO: ACALL DISPLAY2    ACALL DISPLAY   ACALL DISPLAY2      ACALL DISPLAY        ACALL DISPLAY2     ACALL DISPLAY     DJNZ 54H,OOO       ACALL KEXAM       JZ   AUTO     AJMP   START KEXAM:  MOV DPTR,#8004H     ;按键判断     MOV A,#00H     MOVX @DPTR,A      MOV DPTR,#8002H MOV A,#00H      MOVX @DPTR,A       MOV DPTR,#8001H MOVX A,@DPTR CPL A       ANL A,#0FH        RET CAI:  MOV A,@R0       ;数据解决    MOV B,#51      DIV AB    MOV 40H,A     MOV A,B   CLR F0    SUBB A,#1AH   MOV F0,C    MOV A,#10 MUL AB  MOV B,#51 DIV AB   JB F0,LOOP2 ADD A,#5 LOOP2:MOV 41H,A  MOV A,B   MOV A,B CLR F0  SUBB A,#1AH  MOV F0,C     MOV A,#10   MUL AB     MOV B,#51   DIV AB      JB F0,LOOP3   ADD A,#5 LOOP3:MOV 42H,A     RET DISPLAY:MOV DPTR,#TAB         ;列表显示 个位整数 40H    MOV A,40H       MOVC A,@A+DPTR   MOV DPTR,#8004H    MOVX @DPTR,A       MOV DPTR,#8002H   MOV A,#10H      MOVX @DPTR,A      ACALL D10ms   MOV A,#80H            ;小数点   MOV DPTR,#8004H       MOVX @DPTR,A     MOV DPTR,#8002H        MOV A,#10H   MOVX @DPTR,A    ACALL D10ms     MOV DPTR,#TAB        ;余数   41H 42H       MOV A,41H       MOVC A,@A+DPTR      MOV DPTR,#8004H   MOVX @DPTR,A      MOV DPTR,#8002H    MOV A,#08H   MOVX @DPTR,A     ACALL D10ms   MOV DPTR,#TAB   MOV A,42H      MOVC A,@A+DPTR       MOV DPTR,#8004H    MOVX @DPTR,A        MOV DPTR,#8002H MOV A,#04H       MOVX @DPTR,A       ACALL D10ms     RET DISPLAY1: MOV   A,#3FH    MOV  DPTR,#8004H       MOVX   @DPTR,A MOV     DPTR,#8002H   MOV A,#20H       MOVX @DPTR,A   LCALL D10ms    RET DISPLAY2: MOV     A,#06H      MOV   DPTR,#8004H    MOVX    @DPTR,A   MOV DPTR,#8002H     MOV   A,#20H     MOVX   @DPTR,A   LCALL D10ms    RET D10ms:  MOV R5,#03H      ;延时10 DL:   MOV R6,#0FFH DL0: DJNZ R6,DL0         DJNZ R5,DL    RET TAB:  DB 3FH,06H,5BH,4FH   DB 66H,6DH,7DH,07H   DB 7FH,6FH,77H,7CH    DB 39H,5EH,79H,71H 实验4 ORG   0000H AJMP KEYPR ORG  0200H KEYPR:MOV R3,#00H ;列寄存器   MOV R4,#00H  ;行寄存器   ACALL KEXAM    JZ  KEND   ACALL D10ms   ACALL KEXAM     JZ KEND    MOV R2,#0DFH     ;扫描初值 KEY1:MOV DPTR,#8004H   MOV A,#00H   MOVX @DPTR,A     MOV DPTR,#8002H   ;送列码地址   MOV A,R2 MOVX @DPTR,A      ;扫描第一列   MOV DPTR,#8001H ;送行码地址   MOVX A,@DPTR    CPL A      ANL A,#0FH   JNZ KEY2        ;有键按下,求行值   MOV A,R3   ;无键按下,列加4 ADD A,#04H   MOV R3,A MOV A,R2       ;求下一列扫描值   RR A     MOV R2,A JB ACC.0,KEY1       ;判断与否已全扫描 AJMP KEND KEY2:CPL A             ;恢复行模型 KEY3:RRC A    JNC KEY4  INC R4     AJMP KEY3 KEY4:ACALL D10ms  ACALL KEXAM JNZ KEY4 MOV A,R3   ADD A,R4 MOV 60H,A ;键值存入60H L0:CJNE A,#00H,L1 MOV DPTR,#DLTAB   MOV A,30H CJNE A,#05,ADDF1   MOV 30H,#00H LJMP ADDF2 ADDF1:INC 30H ADDF2:MOVC A,@A+DPTR    MOV 31H,A DLTAB:DB 01H,20H,50H,80H,0A0H L1:CJNE A,#0FH,L2     ;锯齿波   LS0: ACALL DISPLAY   MOV DPTR,#9000H MOV A,#00H LS1:MOVX @DPTR,A     INC A    ACALL DELAY   CJNE A,#0FFH,LS1  ACALL DELAY   ACALL DISPLAY   ACALL KEXAM    JZ LS0    AJMP KEND KEND:ACALL DISPLAY   LJMP KEYPR L2:CJNE A,#0EH,L3   ;三角波 LS2: ACALL DISPLAY    MOV DPTR,#9000H MOV A,#00H      MOV R0,#200 LS3:  ACALL DELAY   MOVX @DPTR,A     INC A     CJNE A,#0FFH,LS3   LS4: ACALL DELAY  DEC A      MOVX @DPTR,A     CJNE A,#00H,LS4     DJNZ R0,LS3   ACALL DISPLAY   ACALL KEXAM     JZ LS2   AJMP KEND L3:CJNE A,#0DH,L4     ;正弦波   LS5:    ACALL DISPLAY   MOV A,#00   MOV R0,A LS6: MOV DPTR,#TZSB MOV A,R0 MOVC A,@A+DPTR     MOV DPTR,#9000H MOVX @DPTR,A  ACALL DELAY INC R0   CJNE R0,#32,LS6     ACALL DISPLAY   ACALL KEXAM     JZ LS5 AJMP KEND L4:CJNE A,#0CH,KEND         ;方波   ACALL DISPLAY MOV R0,#200 LS7: ACALL DISPLAY   MOV A,#00   MOV DPTR,#9000H     MOVX @DPTR,A   ACALL DELAY     MOV A,#255     MOVX @DPTR,A   ACALL DELAY DJNZ R0,LS7  ACALL D10ms    ACALL DISPLAY ACALL KEXAM   JZ LS7    AJMP KEND DISPLAY:MOV DPTR,#TAB      ;显示子程序       MOV A,60H    MOVC A,@A+DPTR   MOV DPTR,#8004H  MOVX @DPTR,A MOV DPTR,#8002H   MOV A,#01H    MOVX @DPTR,A   RET D10ms:MOV R5,#03H            ;延时10毫秒 DL:  MOV R6,#0FFH DL0: DJNZ R6,DL0    DJNZ R5,DL     RET DELAY:MOV R6,31H  DL1:DJNZ R6,DL1    RET KEXAM:MOV DPTR,#8002H     ;检查与否有键按下子程序  MOV A,#00H    MOVX @DPTR,A MOV DPTR,#8001H MOVX A,@DPTR     CPL A     ANL A,#0FH   RET TAB:DB 3FH,06H,66H,07H,71H,5BH,6DH,7FH,79H,4FH,7DH,6FH,5EH,39H,7CH,77H TZSB: DB 80H , 98H, 0B0H, 0C6H, 0DAH, 0EAH, 0F5H, 0FDH   DB 0FFH, 0FDH, 0F5H , 0EAH, 0DAH, 0C6H, 0B0H, 98H     DB 80H ,  68H,  50H ,  3AH, 26H,  16H, 0BH, 03H   DB 01H,  03H, 0BH,  16H, 26H,  3AH, 50H, 68H 实验5 ORG 0000H AJMP  MAIN ORG 0200H MAIN:MOV DPTR,#8001H      MOV A,#00H MOVX @DPTR,A MOV DPTR,#8002H    MOV A,#00H    MOVX @DPTR,A  MOV R3,#00H   MOV R4,#00H      ACALL DISPLAY ACALL KEXAM   JZ MAIN   ACALL DL10ms   ACALL KEXAM JZ MAIN   MOV R2,#0DFH MOV DPTR,#8004H MOV A,#00H  MOVX @DPTR,A KEY1:MOV DPTR,#8002H MOV A,R2   MOVX @DPTR,A     MOV DPTR,#8001H    MOVX A,@DPTR   CPL A    ANL A,#0FH JNZ KEY2   MOV A,R3  ADD A,#04H     MOV R3,A MOV A,R2    RR A     MOV R2,A JB ACC.0,KEY1   AJMP MAIN KEY2:CPL A KEY3:RRC A   JNC KEY4   INC R4   AJMP KEY3 KEY4:ACALL DISPLAY  ACALL DL10ms     ACALL KEXAM    JNZ KEY4  MOV A,R3   ADD A,R4   MOV 30H,A KEY8:CJNE A,#00H,KEY5   ZIJIAN:MOV 41H,#0   LCALL DISPLAY1     ACALL DL10ms      ACALL KEXAM     ACALL DL10ms  ACALL KEXAM  JZ ZIJIAN     AJMP MAIN    KEY5: CJNE A,#01H,KEY1 JK: LCALL MSFC         LCALL DISPLAY1     ACALL DL10ms   AJMP JK MSFC: MOV TMOD,#15H  MOV R1,#0AH    MOV TL0,#00H    MOV TH0,#00H    MOV TL1,#0B0H       MOV TH1,#3CH SETB P3.4               JB P3.4,$     SETB TR0      SETB TR1 WAIT:JBC TF1,NEXT SJMP WAIT NEXT:MOV TL1,#0B0H   MOV TH1,#3CH    DJNZ R1,WAIT   CLR TR1   CLR TR0   MOV 41H,TH0 MOV 40H,TL0   RET BBCD:MOV R2,40H  ;二----十进制转换    MOV R3,41H     MOV R0,#64H       ;64H 高位数据存储单元  MOV R7,#04H  MOV DPTR,#PWTAB   MOV R6,#00H BBC1:MOV A,R6 MOVC A,@A+DPTR     MOV R4,A INC R6    MOV A,R6   MOVC A,@A+DPTR    MOV R5,A INC R6   MOV @R0,#00H BBC2:CLR C   MOV A,R2   SUBB A,R4   MOV R2,A   MOV A,R3   SUBB A,R5 MOV R3,A   JC BBC3 INC @R0      SJMP BBC2 BBC3:MOV A,R2   ADD A,R4 MOV R2,A    MOV A,R3 ADDC A,R5   MOV R3,A   DEC R0  DJNZ R7,BBC1    MOV A,R2   MOV @R0,A       RET PWTAB: DB 10H 27H 0E8H 03H 0E8H 03H 0AH 00H DISPLAY :MOV R2,#20H        ;显示循环次数     MOV R0,#64H                  ; 64H 为高位数据存储单元        MOV R7,#4                  ; 共 2 个八段管   MOV R6,#00100000B               ; 从左边开始显示      MOV DPTR,#8002H   MOV A,#0        MOVX @DPTR,A             ; 关所有八段管 LOOP:MOV DPTR,#TAB    MOV A,@R0     MOVC A,@A+DPTR CJNE R0,#63H,LOPP   ORL A,#80H                              ;第二位打小数点,单位为 KHz LOPP:MOV DPTR,#08004H   MOVX @DPTR,A   MOV DPTR,#08002H MOV A,R6 MOVX @DPTR,A                      ;  显示一位八段管    CALL DL10ms   MOV A,R6                    ; 显示下一位   RR A MOV R6,A DEC R0   DJNZ R7,LOOP   DJNZ R2,DISPLAY RET DISPLAY1:MOV DPTR,#TAB    MOV A,41H   MOVC A,@A+DPTR   MOV DPTR,#8004H     MOVX @DPTR,A      MOV DPTR,#8002H MOV A,#10H MOVX @DPTR,A     MOV A,40H   MOVC A,@A+DPTR     MOV DPTR,#8004H    MOVX @DPTR,A     MOV DPTR,#8002H   MOV A,#08H    MOVX @DPTR,A     RET      DDFF:DB 0CH,09FH,4AH,0BH,99H     DB 29H,28H,8FH,08H,09H KEXAM: MOV DPTR,#8002H              ; 列地址    MOV A,#00H MOVX @DPTR,A    MOV DPTR,#8001H            ;  行地址      MOVX A,@DPTR CPL A ANL A,#0FH     RET DL10ms:MOV 11H,#30H DL:MOV 10H,#255 DL0:DJNZ 10H,DL0   DJNZ 11H,DL   RET TAB:DB 3FH 06H 66H 07H     DB 71H 5BH 6DH 7FH     DB 79H 4FH 7DH 6FH   DB 5EH 39H 7CH 77H 考试 ORG 0000H AJMP MAIN ORG 0200H BUFF EQU 60H MAIN:CLR P1.4     CLR P1.5    CLR P1.6     CLR P1.7    MOV R3,#00H   MOV R4,#00H     ACALL DISPLAY  ACALL KEXAM    JZ MAIN     ACALL D10ms  ACALL KEXAM JZ MAIN MOV R2,#0DFH      MOV DPTR,#0D004H   MOV A,#00H     MOVX @DPTR,A KEY1:MOV DPTR,#0D002H MOV A,R2 MOVX @DPTR,A  MOV DPTR,#0D001H MOVX A,@DPTR   CPL A    ANL A,#0FH JNZ KEY2      MOV A,R3    ADD A,#04H   MOV R3,A   MOV A,R2   RR A    MOV R2,A  JB ACC.0,KEY1      AJMP MAIN KEY2:CPL A KEY3:RRC A JNC KEY4      INC R4  AJMP KEY3 KEY4:ACALL DISPLAY    ACALL D10ms    ACALL KEXAM JNZ KEY4   MOV A,R3    ADD A,R4     CJNE A,#0CH,KEY5   ;INT0   AJMP INT0 KEY5:  CJNE A,#08H,KEY6;INT1 AJMP INT1 KEY6: CJNE A,#04H,MAIN      AJMP AUTO INT0:   ACALL DISPLAY1   MOV A,#0FH         MOV DPTR,#0C000H    MOV R0,#40H     MOVX @DPTR,A       ACALL D10ms     MOVX A,@DPTR     CLR C    SUBB A,#178     JC GREEN      SETB P1.4    AJMP PASS        GREEN: SETB P1.5     PASS:ADD A,#178      MOV   @R0,A   ACALL CAI       ACALL  DISPLAY       ACALL  KEXAM     JZ     INT0    KEND:AJMP MAIN INT1:   ACALL DISPLAY2     MOV A,#0FH     MOV   DPTR,#0C001H   MOV    R0,#40H   MOVX  @DPTR,A ACALL D10ms     MOVX  A,@DPTR      CLR C      SUBB A,#247      JC GREN    SETB P1.7     AJMP PAS     GREN: SETB P1.6   PAS:ADD A,#247     MOV   @R0,A      ACALL CAI        ACALL DISPLAY ACALL KEXAM JZ   INT1      AJMP   MAIN AUTO: MOV 50H,#000     LOP0:ACALL D10ms     DJNZ 50H,LOP0    AJMP INT00 AUTO1:     MOV 51H,#000  LOP1:ACALL D10ms DJNZ 51H,LOP1   AJMP INT11     I
展开阅读全文

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


开通VIP      成为共赢上传

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

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

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

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

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

gongan.png浙公网安备33021202000488号   

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

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

客服