欢迎来到51单片机学习网www.51c51.com  专业致力于8051单片机编程技术推广,(深圳学林电子有限公司)累计5年点击超过500万! 彩色包装效果图 网友来信照登

返回主页XL2000实验仪51论坛单片机教学本站例程 技术资料 软件下载 产品介绍学液晶显示如何购买  

  步进电机xl600实验仪 红外线遥控 c语言集锦自制编程器音响技术品质技术音响网址  更新中..51论坛

      现在:我带领大家从字符型1602液晶入手, 一步一步的来掌握液晶的编程

按键控制显示;键盘位P3.2/P3.3/P3.4/P3.5 按下相应键盘,则显示不同的数据

这个程序是在上一个程序改进过来的, 增加了键盘检测程序。 大家仔细体会一下看看。 实际上在单片机教学里有一个小键盘控制的数字显示, 程序很类似。当然, 这只是个例子程序, 没有增加消除键盘抖动的子程序。 

RS EQU P3.0 
RW EQU P3.1 
E EQU P3.5
mov p3,#0ffh 
MOV P1,#01H;qingpin
ACALL ENABLE 
MOV P1,#38H;8wei dianzhen
ACALL ENABLE 
MOV P1,#0FH;xian shi Kai
ACALL ENABLE 
MOV P1,#06H;yi dong guang biao 
ACALL ENABLE 
MOV P1,#80H;wei zhi 
ACALL ENABLE 

l3:mov p1,#01h
acall enable
mov dptr,#table3
call write1
call enable
mov p1,#01h
ljmp l1

l4:mov p1,#01h
acall enable
mov dptr,#table2 
call write1
call enable
mov p1,#01h
ljmp l1

l5:mov p1,#01h
acall enable
mov dptr,#table1
call write1
acall enable
mov p1,#01h
ljmp l1

l6:mov p1,#01h
acall enable
mov dptr,#table4
call write1
acall enable
mov p1,#01h
ljmp l1


l1:jnb p3.3,l3;检测键盘,如果P3.3按下则执行L3
jnb p3.4,l4
jnb p3.5,l5
JNB P3.2,L6
jmp l1

ENABLE:
CLR RS
CLR RW 
CLR E 
ACALL DELAY 
SETB E 
RET

write1:
mov r1,#00h
a1:mov a,r1
movc a,@a+dptr
call write2
inc r1
cjne a,#00h,a1
ret

write2:
mov p1,a
setb rs
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

table1: db 57h,57h,57h,2Eh,35h,31h,43h,35h,31h,2Eh,43h,4Fh,4Dh,20h,20h,20h,20h,00h

;数据表,参看上一个实验的注释

table3: db 53h,58H,4AH,31H,39H,37H,34H,40H,31H,36H,33H,2EH,43H,4FH,4DH,20H,20h,00H

table2: db 54h,45h,4Ch,30h,37h,35h,35h,20H,32H,38H,37H,39H,34H,33H,37H,36H,20H,00H

Table4: db 49H,20H,4CH,4FH,56H,45H,20H,38H,39H,43H,35H,31H,21H,4FH,4BH,20H,20H,00H


end