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

📄 1602

📁 RM51单片机实验板配套实验例程库
💻
字号:

;****************************************************************
;*      ★★★          1602液晶模块测试程序           ★★★   *
;* 『电子驿站单片机实验板、开发板配套例程,程序转载请著明出处』 *
;*  E-mail: support@ourmpu.com     QQ留言:451338254 476485321  *
;*  编程:ourmpu  http://www.ourmpu.com/ 更多例程请登陆网站     *
;****************************************************************
;*          1602液晶模块显示电子驿站域名和客服电话号码          *
;*       液晶模块第一行显示的是本站域名“www.ourmpu.com”         *
;*       液晶模块第二行显示的是本站联系电话“13376781108”        *
;****************************************************************

RS 	EQU 	P2.0 
RW 	EQU 	P2.1 
E  	EQU 	P2.2
LCD 	EQU 	P0

org	00h
ajmp main

org 030h
main:
mov sp,#60h
main1:

lcall delay			;延时一段时间                      
MOV LCD,#38H			;                                  
ACALL ENABLE                    ;写指令38H                         
MOV LCD,#38H			;                                  
ACALL ENABLE                    ;写指令38H                         
MOV LCD,#38H			;                                  
ACALL ENABLE                    ;写指令38H                         
MOV LCD,#38H			;                                  
ACALL ENABLE                    ;写指令38H                         
MOV LCD,#08H			;                                  
ACALL ENABLE                    ;写指令08H                         
MOV LCD,#01H			;                                  
ACALL ENABLE                    ;写指令01H                         
MOV LCD,#06H			;                                  
ACALL ENABLE                    ;写指令06H                         
MOV LCD,#0cH			;                                  
ACALL ENABLE                    ;写指令0CH                         

MOV LCD,#80H			;第一行显示第一个字符的位置            
ACALL ENABLE                    ;调用写指令                            
mov dptr,#table3                ;第一行表头位置                        
call write1                     ;调用第一行写子程序                    
mov LCD,#0c0h			;第二行位置                            
call enable                     ;调用写指令                            
mov dptr,#table2                ;第二行表头位置                        
call write1                     ;调用第二行写子程序
jmp main1                       ;返回主程序不断的循环                  

ENABLE:				;写命令时序(参照1602LCD使用说明书)
CLR RS
CLR RW 
CLR E 
ACALL DELAY 
SETB E 
RET

write1:				;写字符串				   		
mov r1,#00h                     ;将R1清0                                      
a1:mov a,r1                     ;把R1的值送到ACC                              
movc a,@a+dptr                  ;查表取将显示的数据并把要显示的数送入ACC      
call write2                     ;调用写程序写入单个字节                       
inc r1                          ;将工作寄存器指针加一                         
cjne r1,#10h,a1                 ;R1的内容加到16后就返回到a1处                  
ret                             ;
                                                                              
write2:                         ;写单个字符                                                                             
mov LCD,a                        ;写数据到显示端口                            
setb rs                         ;写数据时序(请参照1602LCD使用说明书)         
clr rw                          
clr e
call delay
setb e
ret 

delay:
mov r7,#255
d1:mov r6,#255
d2:djnz r6,d2
djnz r7,d1
ret

table3: db 20H,77H,77H,77H,2EH,6FH,75H,72H,6DH,70H,75H,2EH,63H,6FH,6DH,20H
table2: db 20H,54H,45H,4CH,3AH,31H,33H,33H,37H,36H,37H,38H,31H,31H,30H,38H

end


⌨️ 快捷键说明

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