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

📄 gdlcd.asm

📁 51单片机实验例程
💻 ASM
📖 第 1 页 / 共 2 页
字号:
          RET                                                            
;***************************************************************         
; 发送字符串子程序                                                       
;***************************************************************         
WRITE1:                                                                  
          MOV  R0,#16                                                    
WRITE0:                                                                  
          CLR  A                                                         
          MOVC  A,@A+DPTR                                                
          INC  DPTR                                                      
          ACALL LCD_WDATA                                                
          CALL  DELAY                    ;加延时形成滚动效果             
          DJNZ  R0,WRITE0                                                
          RET                                                            
;***************************************************************         
;写显示数据到LCD                                                         
;RS=H,RW=L,D0-D7=数据,E=高脉冲                                          
;***************************************************************         
LCD_WDATA:                                                               
          ACALL  CHECKBUSY                                               
          SETB  LCD_RS                                                   
          CLR   LCD_RW                                                   
          MOV   P0,A                                                     
          SETB  LCD_EN                                                   
          NOP                                                            
          NOP                                                            
          NOP                                                            
          NOP                                                            
          CLR   LCD_EN                                                   
          RET                                                            
;***************************************************************         
;检测LCD控制器忙状态                                                     
;读数据                                                                  
;RS=L,RW=H,E=H,输出:D0-D7=数据                                          
;***************************************************************         
CHECKBUSY:                                                               
          PUSH  ACC                                                      
          MOV  P0,#0FFH                                                  
          CLR   LCD_RS                                                   
          SETB  LCD_RW                                                   
          SETB  LCD_EN                                                   
BUSYLOOP:                                                                
          NOP                                                            
          JB P0.7,BUSYLOOP                                               
          CLR  LCD_EN                                                    
          POP  ACC                                                       
          RET                                                            
;***************************************************************         
;闪烁子程序                                                              
;***************************************************************         
SHAN:                                                                    
          MOV A,#08H                ;关闭显示                            
          ACALL LCD_CMD                                                  
          ACALL DELAY4                                                   
          MOV A,#0CH               ;开显示,关闭光标                     
          ACALL LCD_CMD                                                  
          ACALL DELAY4                                                   
          DJNZ R4,SHAN                                                   
          MOV  R4,#02H            ;设置闪烁次数                          
          RET                                                            
;***************************************************************         
;延时120MS子程序                                                         
;发送字符串时使用                                                        
;***************************************************************         
DELAY:                                                                   
             MOV R7,#240                                                 
 DL1:     MOV R6,#250                                                    
 DL2:     DJNZ R6,DL2                                                    
             DJNZ R7,DL1                                                 
             RET                                                         
;***************************************************************         
;延时800MS子程序                                                         
;闪烁时使用                                                              
;***************************************************************         
DELAY4:                                                                  
             MOV R0,#40                                                  
 DL3:     MOV R1,#100                                                    
 DL4:     MOV R2,#100                                                    
 DL5:     DJNZ R2,DL5                                                    
             DJNZ R1,DL4                                                 
             DJNZ R0,DL3                                                 
             RET                                                         
;***************************************************************         
;延时5MS子程序                                                           
;LCD初始化使用                                                           
;***************************************************************         
DELAY5MS:                                                                
             MOV  R1,#10                                                 
 DL6:     MOV  R2,#249                                                   
 DL7:     DJNZ R2,DL7                                                    
             DJNZ R1,DL6                                                 
             RET                                                         
;***************************************************************         
;延时1MS子程序                                                           
;***************************************************************         
DELAY1MS:                                                                
             MOV  R6,#14H        ;20                                     
 DL8:     MOV  R7,#19H        ;25                                        
 DL9:     DJNZ  R7,DL9                                                   
             DJNZ  R6,DL8                                                
             RET                                                         
;***************************************************************         
CHAR1:                                                                   
DB  "   WELCOME TO   "                                                   
                                                                         
CHAR2:                                                                   
DB  " WWW.PRECHIN.COM "                                                   
                                                                         
CHAR3:                                                                   
DB  "   OT EMOCLEW   "                                                   
                                                                         
CHAR4:                                                                   
DB  " MOC.NIHCERP.WWW "                                                   
                                                                         
;***************************************************************         
       END                                                               
                                                                         
                                                                         
                                                                         
                                                         

⌨️ 快捷键说明

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