⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 花样灯(二).asm

📁 基于Proteus的51系列单片机设计与仿真
💻 ASM
字号:
       ORG  30H
       MOV  P2,#0FFH
       MOV  P3,#0FFH
MAIN10:MOV  DPTR,#TABLE1  ;TABLE表的地址存入DPTR
       MOV  P3,#42H        ;OE=0 允许U1输出 LE=1 允许U1 输入
LP01:  MOV  A,#00H         ;清除累加器
       MOVC A,@A+DPTR      ;查表
       CJNE A,#1BH,LP10     ;取出的代码不是结束码,则进行下一步操作
       JMP  MAIN11          ;是结束码,则重新进行操作
LP10:  MOV  P2,A           ;将A中的值送P2口,显示
       LCALL DELAY         ;等待1s
       INC  DPTR           ;数据指针加1,指向下1个码
       JMP  LP01            ;返回,取码
MAIN11:MOV  DPTR,#TABLE1  ;TABLE表的地址存入DPTR
       MOV  P3,#81H        ;OE=0 允许U1输出 LE=1 允许U1 输入
LP11:  MOV  A,#00H         ;清除累加器
       MOVC A,@A+DPTR      ;查表
       CJNE A,#1BH,LP12     ;取出的代码不是结束码,则进行下一步操作
       JMP  MAIN30          ;是结束码,则重新进行操作
LP12:  MOV  P2,A           ;将A中的值送P2口,显示
       LCALL DELAY        ;等待1s
       INC  DPTR           ;数据指针加1,指向下1个码
       JMP  LP11            ;返回,取码

MAIN20:MOV  DPTR,#TABLE2 
       MOV  P3,#42H        
LP20:  MOV  A,#00H         
       MOVC A,@A+DPTR      
       CJNE A,#1BH,LP21     
       JMP  MAIN21          
LP21:  MOV  P2,A           
       LCALL DELAY        
       INC  DPTR           
       JMP  LP20            
MAIN21:MOV  DPTR,#TABLE2  
       MOV  P3,#80H        
LP22:  MOV  A,#00H         
       MOVC A,@A+DPTR      
       CJNE A,#1BH,LP23     
       JMP  MAIN30          
LP23:  MOV  P2,A           
       LCALL DELAY        
       INC  DPTR           
       JMP  LP22            

MAIN30:MOV  DPTR,#TABLE3  
       MOV  P3,#02H        
LP30:  MOV  A,#00H         
       MOVC A,@A+DPTR      
       CJNE A,#1BH,LP31     
       JMP  MAIN31          
LP31:  MOV  P2,A           
       LCALL DELAY        
       INC  DPTR           
       JMP  LP30            
MAIN31:MOV  DPTR,#TABLE3  
       MOV  P3,#80H        
LP32:  MOV  A,#00H         
       MOVC A,@A+DPTR      
       CJNE A,#1BH,LP33    
       JMP  MAIN10          
LP33:  MOV  P2,A           
       LCALL DELAY        
       INC  DPTR           
       JMP  LP32            
DELAY: MOV  R7,#10         
DE1:   MOV  R6,#200
DE2:   MOV  R5,#124
       DJNZ R5,$
       DJNZ R6,DE2
       DJNZ R7,DE1
       RET
TABLE1:DB 01H,02H,04H,08H,10H
       DB 20H,40H,80H,1BH
       RET
TABLE2:DB 01H,03H,07H,0fH,1fH
       DB 3fH,7fH,0ffH,1BH
       RET
TABLE3:DB 0feH,0fcH,0f8H,0f0H,0e0H
       DB 0c0H,80H,00H,1BH
       RET
       END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -