《单片机实践项目》之基于51单片机的贪吃蛇设计(初版)Proteus仿真,点阵

程序

视频


//B站搜索:"逗比小憨憨"获得更多视频		
Q0000:             LJMP  Q02AF                     
                   LJMP  Q01F0                        
Q0006:             LCALL Q025A                       
                   SETB  EA                         
                   SETB  EX0                         
                   SETB  IT0                          
Q000F:             LCALL Q022B                      
                   MOV   R7,08H                      
                   MOV   A,R7                      
                   RLC   A                           
                   SUBB  A,ACC                        
                   MOV   R6,A                        
                   MOV   A,0DH                        
                   ADD   A,R7                         
                   MOV   R7,A                        
                   CLR   A                         
                   ADDC  A,R6                        
                   MOV   R6,A                      
                   MOV   A,0CH                        
                   XRL   A,R7                         
                   JNZ   Q0026                      
                   MOV   A,R6                         
Q0026:             JNZ   Q0076                        
                   MOV   R7,09H                      
                   MOV   A,R7                      
                   RLC   A                           
                   SUBB  A,ACC                       
                   MOV   R6,A                        
                   MOV   A,22H                        
                   ADD   A,R7                         
                   MOV   R7,A                         
                   CLR   A                           
                   ADDC  A,R6                        
                   MOV   R6,A                        
                   MOV   A,21H                       
                   XRL   A,R7                        
                   JNZ   Q003C                        
                   MOV   A,R6                         
Q003C:             JNZ   Q0076                        
                   INC   0BH                          
                   MOV   A,0BH                        
                   CJNE  A,#15H,Q0066                 
                   MOV   0BH,#03H                     
                   MOV   3AH,#03H                     
Q004B:             MOV   A,#0CH                       
                   ADD   A,3AH                        
                   MOV   R0,A                         
                   MOV   @R0,#08H                    
                   MOV   A,#21H                       
                   ADD   A,3AH                        
                   MOV   R0,A                         
                   MOV   @R0,#08H                     
                   INC   3AH                         
                   MOV   A,3AH                        
                   CJNE  A,#15H,Q004B                 
                   MOV   A,#0F6H                     
                   ADD   A,0AH                     
                   MOV   0AH,A                     
Q0066:             MOV   A,#0AH                       
                   ADD   A,0BH                       
                   MOV   R0,A                         
                   MOV   A,@R0                        
                   MOV   0CH,A                        
                   MOV   A,#1FH                       
                   ADD   A,0BH                        
                   MOV   R0,A                       
                   MOV   A,@R0                       
                   MOV   21H,A                       
Q0076:             MOV   A,08H                        
                   JNZ   Q007E                        
                   MOV   A,09H                        
                   JZ    Q00B6                        
Q007E:             MOV   A,0BH                        
                   DEC   A                           
                   MOV   3AH,A                       
Q0083:             MOV   A,3AH                        
                   SETB  C                           
                   SUBB  A,#01H                       
                   JC    Q00AA                        
                   MOV   A,#0BH                      
                   ADD   A,3AH                        
                   MOV   R0,A                       
                   MOV   A,@R0                       
                   MOV   R7,A                         
                   MOV   A,#0CH                       
                   ADD   A,3AH                       
                   MOV   R0,A                       
                   MOV   @R0,07H                     
                   MOV   A,#20H                     
                   ADD   A,3AH                       
                   MOV   R0,A                       
                   MOV   A,@R0                       
                   MOV   R7,A                        
                   MOV   A,#21H                      
                   ADD   A,3AH                        
                   MOV   R0,A                         
                   MOV   @R0,07H                      
                   DEC   3AH                          
                   SJMP  Q0083                        
Q00AA:             MOV   A,0EH                        
                   ADD   A,08H                       
                   MOV   0DH,A                        
                   MOV   A,23H                       
                   ADD   A,09H                       
                   MOV   22H,A                       
Q00B6:             MOV   R7,0AH                       
                   LCALL Q016F                      
                   LJMP  Q000F                       
Q00BE:             MOV   37H,R3                      
                   MOV   38H,R2                       
                   MOV   39H,R1                      
                   MOV   P1,#0F0H                    
                   MOV   A,P1                        
                   ANL   A,#0F0H                      
                   XRL   A,#0F0H                      
                   JZ    Q0123                        
                   MOV   R7,#0AH                    
                   MOV   R6,#00H                    
                   LCALL Q0287                       
                   MOV   A,P1                       
                   ANL   A,#0F0H                     
                   XRL   A,#0F0H                      
                   JZ    Q011B                     
                   MOV   A,P1                       
                   ANL   A,#0F0H                   
                   ADD   A,#90H                       
                   JZ    Q0110                        
                   ADD   A,#0C0H                     
                   JZ    Q0106                        
                   ADD   A,#0E0H                      
                   JZ    Q00FC                       
                   ADD   A,#0F0H                      
                   JNZ   Q011B                       
                   MOV   R3,37H                     
                   MOV   R2,38H                      
                   MOV   R1,39H                       
                   MOV   A,#01H                       
                   SJMP  Q0118                      
Q00FC:             MOV   R3,37H                     
                   MOV   R2,38H                      
                   MOV   R1,39H                      
                   MOV   A,#02H                       
                   SJMP  Q0118                       
Q0106:             MOV   R3,37H                     
                   MOV   R2,38H                     
                   MOV   R1,39H                       
                   MOV   A,#03H                       
                   SJMP  Q0118                        
Q0110:             MOV   R3,37H                       
                   MOV   R2,38H                       
                   MOV   R1,39H                       
                   MOV   A,#04H                     
Q0118:             LCALL Q029D                    
Q011B:             MOV   A,P1                         
                   ANL   A,#0F0H                      
                   MOV   R7,A                         
                   CJNE  R7,#0F0H,Q011B              
Q0123:             RET                                
Q0124:             MOV   R3,#00H                     
                   MOV   R2,#00H                      
                   MOV   R1,#36H                      
                   LCALL Q00BE                        
                   MOV   A,36H                       
                   ADD   A,#0FEH                      
                   JZ    Q0149                       
                   DEC   A                            
                   JZ    Q0155                       
                   DEC   A                            
                   JZ    Q0162                        
                   ADD   A,#03H                       
                   JNZ   Q016E                      
                   CLR   A                            
                   MOV   08H,A                        
                   MOV   A,09H                        
                   CPL   A                            
                   JZ    Q016E                        
                   MOV   09H,#01H                     
                   RET                                

Q0149:             CLR   A                           
                   MOV   09H,A                       
                   MOV   A,08H                        
                   CPL   A                           
                   JZ    Q016E                        
                   MOV   08H,#01H                    
                   RET                                

Q0155:             CLR   A                           
                   MOV   09H,A                        
                   MOV   A,08H                        
                   XRL   A,#01H                       
                   JZ    Q016E                        
                   MOV   08H,#0FFH                    
                   RET                                

Q0162:             CLR   A                           
                   MOV   08H,A                       
                   MOV   A,09H                       
                   XRL   A,#01H                     
                   JZ    Q016E                        
                   MOV   09H,#0FFH                   
Q016E:             RET                               

Q016F:             MOV   3CH,R7                       
Q0171:             MOV   R7,3CH                      
                   DEC   3CH                        
                   MOV   A,R7                        
                   JZ    Q01AF                       
                   CLR   A                           
                   MOV   3BH,A                       
Q017B:             MOV   A,3BH                        
                   CLR   C                            
                   SUBB  A,#15H                       
                   JNC   Q0171                        
                   MOV   A,#0CH                       
                   ADD   A,3BH                        
                   MOV   R0,A                       
                   MOV   A,@R0                       
                   MOV   R7,A                       
                   LCALL Q01B0                     
                   MOV   P2,R7                       
                   MOV   A,#21H                      
                   ADD   A,3BH                       
                   MOV   R0,A                         
                   MOV   A,@R0                        
                   MOV   R7,A                        
                   LCALL Q01B0                        
                   CLR   C                        
                   MOV   A,#0FFH                      
                   SUBB  A,R7                       
                   MOV   P0,A                       
                   MOV   R7,#01H                      
                   MOV   R6,#00H                      
                   LCALL Q0287                        
                   CLR   A                            
                   MOV   P2,A                         
                   MOV   P0,#0FFH                    
                   INC   3BH                          
                   SJMP  Q017B                       
Q01AF:             RET                                

Q01B0:             MOV   A,R7                         
                   CJNE  A,#08H,Q01B4                 
Q01B4:             JNC   Q01ED                        
                   MOV   DPTR,#01BDH                  
                   MOV   R0,A                        
                   ADD   A,R0                        
                   ADD   A,R0                         
                   JMP   @A+DPTR                    
                   LJMP  Q01D5                      
                   LJMP  Q01D8                        
                   LJMP  Q01DB                      
                   LJMP  Q01DE                       
                   LJMP  Q01E1                      
                   LJMP  Q01E4                       
                   LJMP  Q01E7                    
                   LJMP  Q01EA                    
Q01D5:             MOV   R7,#01H                      
                   RET                                
Q01D8:             MOV   R7,#02H                    
                   RET                               
Q01DB:             MOV   R7,#04H                     
                   RET                               
Q01DE:             MOV   R7,#08H                     
                   RET                                
Q01E1:             MOV   R7,#10H                      
                   RET                                
Q01E4:             MOV   R7,#20H                      
                   RET                                
Q01E7:             MOV   R7,#40H                     
                   RET                           
Q01EA:             MOV   R7,#80H                      
                   RET                                
Q01ED:             MOV   R7,#00H                      
                   RET                                
Q01F0:             PUSH  ACC                         
                   PUSH  B                           
                   PUSH  DPH                        
                   PUSH  DPL                          
                   PUSH  PSW                          
                   MOV   PSW,#00H                    
                   PUSH  00H                         
                   PUSH  01H                          
                   PUSH  02H                          
                   PUSH  03H                          
                   PUSH  04H                          
                   PUSH  05H                          
                   PUSH  06H                          
                   PUSH  07H                          
                   LCALL Q0124                        
                   POP   07H                          
                   POP   06H                         
                   POP   05H                          
                   POP   04H                          
                   POP   03H                          
                   POP   02H                          
                   POP   01H                          
                   POP   00H                        
                   POP   PSW                          
                   POP   DPL                       
                   POP   DPH                          
                   POP   B                            
                   POP   ACC                          
                   RETI                               
Q022B:             MOV   A,0DH                        
                   SETB  C                           
                   SUBB  A,#07H                       
                   JNC   Q0238                       
                   MOV   A,22H                        
                   SUBB  A,#07H                       
                   JC    Q023B                        
Q0238:             LCALL Q025A                        
Q023B:             MOV   R6,#02H                      
Q023D:             MOV   A,R6                        
                   CLR   C                           
                   SUBB  A,0BH                        
                   JNC   Q0259                       
                   MOV   A,#0CH                       
                   ADD   A,R6                         
                   MOV   R0,A                         
                   MOV   A,@R0                       
                   CJNE  A,0DH,Q0256                  
                   MOV   A,#21H                      
                   ADD   A,R6                         
                   MOV   R0,A                         
                   MOV   A,@R0                        
                   CJNE  A,22H,Q0256                 
                   LCALL Q025A                       
Q0256:             INC   R6                          
                   SJMP  Q023D                        
Q0259:             RET                                
Q025A:             MOV   R7,#03H                      
Q025C:             MOV   A,#0CH                     
                   ADD   A,R7                        
                   MOV   R0,A                         
                   MOV   @R0,#08H                    
                   MOV   A,#21H                      
                   ADD   A,R7                         
                   MOV   R0,A                        
                   MOV   @R0,#08H                     
                   INC   R7                          
                   CJNE  R7,#15H,Q025C                
                   MOV   0CH,#03H                     
                   MOV   21H,#03H                   
                   CLR   A                            
                   MOV   0DH,A                      
                   MOV   22H,#01H                     
                   MOV   0EH,A                        
                   MOV   23H,A                       
                   MOV   08H,A                        
                   MOV   09H,A                        
                   MOV   0AH,#47H                     
                   MOV   0BH,#03H                    
                   RET                                
Q0287:             MOV   A,R7                        
                   DEC   R7                          
                   MOV   R2,06H                       
                   JNZ   Q028E                        
                   DEC   R6                           
Q028E:             ORL   A,R2                         
                   JZ    Q029C                      
                   CLR   A                            
                   MOV   R5,A                       
Q0293:             MOV   A,R5                       
                   CLR   C                          
                   SUBB  A,#70H                       
                   JNC   Q0287                        
                   INC   R5                       
                   SJMP  Q0293                       
Q029C:             RET                                
Q029D:             CJNE  R3,#01H,Q02A6                
                   MOV   DPL,R1                       
                   MOV   DPH,R2                       
                   MOVX  @DPTR,A                      
                   RET                                
Q02A6:             JNC   Q02AA                        
                   MOV   @R1,A                        
                   RET                                
Q02AA:             CJNE  R3,#0FEH,Q02AE              
                   MOVX  @R1,A                        
Q02AE:             RET                                
Q02AF:             MOV   R0,#7FH                      
                   CLR   A                            
Q02B2:             MOV   @R0,A                        
                   DJNZ  R0,Q02B2                     
                   MOV   SP,#3CH                      
                   LJMP  Q0006                        
					
				END

猜你喜欢

转载自blog.csdn.net/liuxianfei0810/article/details/107609214