首页
基础教程 | 单片机设计实例 | 常用芯片 | 电子基础
当前位置:单片机教程 >> 单片机设计实例 >> 浏览文章 今天是:
单片机设计实例

单片机LCD显示汉字程序

作者:    来源:本站原创    点击数:   更新时间:2008年05月26日   
 

S_I EQU P1.5 ;内容发送
SCK EQU P1.7 ;串行CP端
RCK EQU P1.6 ;输出CP端
EN EQU P1.4 ;EN为138使能端.高电平关闭显示;低电平显示
;*********************单片机LCD显示汉字程序-汇编语言编写****************************
;*********************http://www.51hei.com原创*****************************
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: SETB EN ;关显示端口
MOV SP,#70H ;堆栈首址
MOV DPTR,#TAB ;赋查表初址
MOV R3,#0

ANL P1,#0F0H
setb p1.0
MOV R7,P1

MOV R6,#17 ;扫描的行数,共16行,经行程序处理后显示应显示的行
FF: LCALL QQ ;将显示内容移入内存单元
LCALL OUT_595 ;发送串行口子程序
CALL DELAY
CLR RCK ;将输出CP变为低电平为上升沿作准备

SETB EN ;将使能端变为高电平为下降沿作准备
MOV P1,R7 ;送P1口
MOV R7,P1
INC R7
SETB RCK ;输出CP为上升沿,显示一个
CLR EN ;138可显示
DJNZ R6,FF
LJMP MAIN ;如显示完,就重新开始显示内容
;*************************显示汉字内容移入内存单元子程序*************************
QQ: MOV R0,#30H
MOV R4,#8 ;如每幕显示字数
MOV A,R3 ;A清零
QQ1: MOVC A, @A+DPTR
MOV @R0,A
INC R0;下一个地址
MOV A,R3
INC A
MOVC A,@A+DPTR
MOV @R0,A
MOV A,R3 ;A清零
ADD A,#32 ;加32,移到下一个字节的对应位置
MOV R3,A ;r3等于32
INC R0 ;继续下一个地址
DJNZ R4,QQ1
MOV A,R3
SUBB A,#126
SUBB A,#126;每次显示4个字,减126
MOV R3,A
RET
;*****************************发送汉字数据到串口单片机子程序*********************************
OUT_595:MOV R0,#30H
MOV R5,#16 ;一行有8个字节;如每次显示字数不同要作相应改动
DD: CLR C ;清C方便每个字节的移动
MOV R2,#8
MOV A,@R0;将显存的字节的单元移入A


LCALL DD1 ;调用显示一个字节的子程序
INC R0 ;指向下一个显存的单元
DJNZ R5,DD ;8个字节全部移入了没有,未继续
RET
DD1: CLR SCK ;清串行CP端
RLC A ;将每个字节移位
MOV S_I,C ;将移入C的位移入信号端
SETB SCK ;触发串行CP端
DJNZ R2,DD1 ;每个字节位移8次够了
RET

DELAY: MOV 53H,#10
DELY1: MOV 54H,#030H
DELY: NOP
NOP
DJNZ 54H,DELY
DJNZ 53H,DELY1
RET

;***********************************汉字字码表-LCD显示汉字程序按照这些点阵逐行扫描我们肉眼就看到汉字出现再了lcd屏幕上了*******************
TAB:
;阳码逐行顺向

DB 0FEH, 0FFH, 080H, 003H, 0FEH, 0FFH, 0F0H, 01FH, 0FFH, 0FFH, 0E0H, 00FH, 0EFH, 0EFH, 0E0H, 00FH;
DB 0F7H, 0BFH, 000H, 001H, 0EFH, 0FFH, 081H, 087H, 0EDH, 0B7H, 0DDH, 0B7H, 0B5H, 087H, 07BH, 0FFH;"嘉",0
DB 0FEH, 0FFH, 0FFH, 07FH, 0C0H, 003H, 0DFH, 0FFH, 0DDH, 0FFH, 0DEH, 0F7H, 0CFH, 073H, 0D7H, 037H;
DB 0DBH, 06FH, 0DBH, 06FH, 0D9H, 0DFH, 0BBH, 0DFH, 0BFH, 0BFH, 0A0H, 001H, 07FH, 0FFH, 0FFH, 0FFH;"应",1
DB 0FEH, 0F7H, 0EFH, 073H, 0F3H, 037H, 0F7H, 06FH, 080H, 001H, 0BFH, 0FBH, 070H, 017H, 0FFH, 0BFH;
DB 0FFH, 07FH, 080H, 001H, 0FFH, 07FH, 0FFH, 07FH, 0FFH, 07FH, 0FFH, 07FH, 0FDH, 07FH, 0FEH, 0FFH;"学",2
DB 0FFH, 07FH, 007H, 0BFH, 070H, 001H, 06BH, 0FBH, 05FH, 0FFH, 05CH, 007H, 06FH, 0FFH, 077H, 0FFH;
DB 070H, 001H, 056H, 0DFH, 06EH, 0DFH, 07EH, 0DFH, 07DH, 0DDH, 07DH, 0DDH, 07BH, 0DDH, 077H, 0E1H;"院",3
DB 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0C0H, 007H, 0DEH, 0F7H, 0DEH, 0F7H, 0C0H, 007H, 0DEH, 0F7H;
DB 0DEH, 0F7H, 0DEH, 0F7H, 0C0H, 007H, 0DEH, 0F7H, 0FEH, 0FDH, 0FEH, 0FDH, 0FFH, 001H, 0FFH, 0FFH;"电",4
DB 0FFH, 0FFH, 0C0H, 00FH, 0FFH, 0DFH, 0FFH, 0BFH, 0FFH, 07FH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FBH;
DB 000H, 001H, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FAH, 0FFH, 0FDH, 0FFH;"子",5
DB 0FFH, 083H, 0C0H, 07FH, 0FDH, 0DFH, 0FBH, 0DFH, 0F7H, 0BFH, 0E0H, 07FH, 0FCH, 0DFH, 0F3H, 0EFH;
DB 0C0H, 007H, 0EFH, 073H, 0FBH, 05FH, 0F7H, 06FH, 0EFH, 077H, 0DFH, 07BH, 0BDH, 07BH, 0FEH, 0FFH;"系",6
DB 0FDH, 0FFH, 0FEH, 0FFH, 0C0H, 001H, 0BFH, 0FBH, 0E0H, 007H, 0FFH, 0FFH, 0F0H, 00FH, 0F7H, 0EFH;
DB 0F0H, 00FH, 0F7H, 0EFH, 0F7H, 0EFH, 0F0H, 00FH, 0F7H, 0EFH, 0FFH, 0FFH, 000H, 001H, 0FFH, 0FFH;"宣",7


END

赶快烧到单片机里去试一下吧,我自己已经测试成功。




 
发表评论】【告诉好友】【打印此文】【收藏此文】【关闭窗口
网友评论(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
 >> 推荐文章
单片机USB-ISP下载线制作
自制单片机实验板
单片机一键多功能按键识别设
 >> 阅读排行
keil教程
单片机电子时钟设计
单片机DS18B20水温控制系统
单片机交通灯设计
单片机课程设计
单片机时钟设计
单片机数字钟设计
单片机键盘程序(4×4矩阵式
单片机串口通讯
单片机秒表设计
 >> 相关文章
51学习板4*4键盘的c51与汇编程序
51单片机实验板DS18B20测温程序
单片机驱动16*16点阵LED汉字显示
单片机控制机械手设计论文
51单片机可调数码钟
单片机驱动SED1335液晶图像LCD显
c8051f系列单片机应用介绍
stc单片机下载协议研究
单片机控制LED按1闪1秒按2闪10秒
基于8051单片机采用VP1410的工业

站长:刘兴国 站长信箱:372xcom1@21cn.com
单片机教程 @ www.51hei.com 2007-2008