📄 smc1602接口程序(mcs51模拟口线方式.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0040)http://www.8951.com/test/test/1602-9.htm -->
<HTML><HEAD><TITLE>单片机1602液晶显示</TITLE><LINK
href="SMC1602接口程序(MCS51模拟口线方式.files/gpszx.css" type=text/css
rel=stylesheet><LINK href="../index.files/gpszx.css" type=text/css
rel=stylesheet>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2900.2523" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId></HEAD>
<BODY>
<DIV align=center>
<CENTER>
<TABLE height=356 cellSpacing=0 cellPadding=0 width=769 bgColor=#66ccff
borderColorLight=#000000 border=0>
<TBODY>
<TR>
<TD align=middle width=752 bgColor=#ffffff colSpan=5 height=356><FONT
font><FONT color=#ff0000>单片机提高</FONT><FONT color=#ff0000><IMG height=11
src="SMC1602接口程序(MCS51模拟口线方式.files/gif091.gif" width=28
border=0></FONT><FONT color=#454545>WWW.51C51.COM
自学单片机的网站:作中国单片机编程技术普及推广第一站!倚天一出宝刀屠龙</FONT></FONT><IMG height=100
src="SMC1602接口程序(MCS51模拟口线方式.files/titou2.jpg" width=760 border=0> <FONT
color=#454545 font><A href="http://www.8951.com/index.htm">返回主页 给我留言</A>
<A href="http://www.8951.com/jiaoxue.htm">单片机教学</A> <A
href="http://www.8951.com/tigao.htm">单片机提高</A> <A
href="http://www.8951.com/pinzhi.htm">品质技术</A> 单片机网址 <A
href="http://www.8951.com/down/down.htm">软件下载</A> <A
href="http://www.8951.com/yejin/yejin.htm">学液晶显示</A> <A
href="http://www.8951.com/chanpin.htm">产品介绍</A> <A
href="http://www.8951.com/10/huikan.htm">如何购买</A></FONT>
<CENTER></CENTER>
<P align=left>;
SMC1602接口程序(MCS51模拟口线方式)<BR>;***************************************************************************<BR>;*
(程序转载请著明出处 ,未声明可适应本站腾龙/isp开发套件/倚天版开发套件
*<BR>;* E-mail:sxj1974@163.com (51c51 test web)
51单片机学习网,自学单片机的网站
*<BR>;* Create by :石学军 <A
href="http://www.51c51.com/">http://www.51c51.com/</A>
www.8951.com
更多例程请登陆网站
*<BR>;***************************************************************************<BR>;连线图:
*LCM---8031* *LCM---8031* *LCM------------8031*<BR>; *DB0---P1.0*
*DB4---P1.4* *RS-------------P3.0*<BR>; *DB1---P1.1* *DB5---P1.5*
*RW-------------P3.1*<BR>; *DB2---P1.2* *DB6---P1.6* *E--------------P3.5*
(参见说明书)<BR>; *DB3---P1.3* *DB7---P1.7*
*VLCD接10K可调电阻到GND*<BR>;注:8031的晶振频率为12MHz<BR>;**************************************************************************<BR>RSPIN
EQU P3.0<BR>RWPIN EQU P3.1<BR>EPIN EQU P3.5<BR>XPOS EQU 20H
;列方向地址指针(用于LCDPOS子程序)<BR>YPOS EQU 21H ;行方向地址指针(用于LCDPOS子程序)<BR>ORG
0000H<BR>JMP START<BR>START: MOV SP,#60H<BR>CLR EPIN<BR>MAIN: MOV R7,#'0'
;测试主程序<BR>MN_PA: ;整屏循环显示"0"到"9"及空格<BR>CALL LCDRESET<BR>MOV A,R7<BR>CALL
LCDFILL<BR>CALL DELAY400MS<BR>INC R7<BR>MOV A,R7<BR>CJNE
A,#'9'+1,MN_PA<BR>MOV A,#' '<BR>CALL LCDFILL<BR>CALL DELAY400MS<BR>JMP
MAIN<BR>LCDFILL: <BR>MOV B,A<BR>MOV YPOS,#0<BR>LFL_PB: MOV XPOS,#0
;整屏显示A中所代表字符<BR>LFL_PA: MOV A,B<BR>CALL LCDWRITE<BR>INC XPOS<BR>MOV
A,XPOS<BR>CJNE A,#16,LFL_PA<BR>INC YPOS<BR>MOV A,YPOS<BR>CJNE
A,#2,LFL_PB<BR>RET<BR><BR>LCDPOS: ;设置第(XPOS,YPOS)个字符的DDRAM地址<BR>PUSH
ACC<BR>ANL XPOS,#0FH ;X位置范围(0到15)<BR>ANL YPOS,#01H ;Y位置范围(0到1)<BR>MOV
A,YPOS ;(XPOS,YPOS)对应DDRAM地址<BR>CJNE A,#00,LPS_LAY ;(第一行)X:
第0----15个字符<BR>MOV A,XPOS ; DDRAM: 0----0FH<BR>JMP LPS_LAX<BR>LPS_LAY:MOV
A,XPOS ;(第二行)X: 第0----15个字符<BR>ADD A,#40H ; DDRAM:
40----4FH<BR>LPS_LAX:ORL A,#80H ;设置DDRAM地址<BR>CALL LCDWC<BR>POP
ACC<BR>RET<BR>LCDWRITE: ;定位写字符子程序<BR>CALL LCDPOS ;定位显示地址<BR>CALL LCDWD
;写字符<BR>RET<BR>LCDRESET: ;初始化程序<BR>CALL DELAY5MS ;延时15MS<BR>CALL
DELAY5MS<BR>CALL DELAY5MS<BR>MOV A,#38H ;显示模式设置(不检测忙信号)<BR>CALL LCDWCN
;共三次<BR>CALL DELAY5MS<BR>MOV A,#38H<BR>CALL LCDWCN<BR>CALL DELAY5MS<BR>MOV
A,#38H <BR>CALL LCDWCN<BR><BR>MOV A,#38H ;显示模式设置(以后均检测忙信号)<BR>CALL
LCDWC<BR>MOV A,#08H ;显示关闭<BR>CALL LCDWC<BR>MOV A,#01H ;显示清屏<BR>CALL
LCDWC<BR>MOV A,#06H ;显示光标移动设置<BR>CALL LCDWC<BR>MOV A,#0CH
;显示开及光标设置<BR>CALL LCDWC<BR>RET<BR>LCDWC: ;送控制字子程序(检测忙信号)<BR>CALL
WAITIDLE<BR>LCDWCN: ;送控制字子程序(不检测忙信号)<BR>CLR RSPIN ;RS=0 RW=0 E=高脉冲<BR>CLR
RWPIN<BR>MOV P1,A<BR>SETB EPIN<BR>NOP<BR>CLR EPIN<BR>RET<BR>LCDWD:
;写字符子程序<BR>CALL WAITIDLE<BR>SETB RSPIN ;RS=1 RW=0 E=高脉冲<BR>CLR
RWPIN<BR>MOV P1,A<BR>SETB EPIN<BR>NOP<BR>CLR
EPIN<BR>RET<BR>WAITIDLE:<BR>PUSH ACC ;正常读写操作之前必须检测LCD控制器状态<BR>MOV
P1,#0FFH<BR>CLR RSPIN ;RS=0 RW=1 E=高电平<BR>SETB RWPIN<BR>SETB
EPIN<BR>WTD_PA: NOP ;DB7: 0 LCD控制器空闲<BR>JB P1.7,WTD_PA ; 1 LCD控制器忙<BR>CLR
EPIN<BR>POP ACC<BR>RET<BR>DELAY5MS:<BR>MOV R1,#25 ;延时子程序(5MS)<BR>DL5_PA:
MOV R2,#100<BR>DJNZ R2,$<BR>DJNZ R1,DL5_PA<BR>RET<BR>DELAY400MS:<BR>MOV
R0,#20 ;延时子程序(400MS)<BR>DL4_PA: MOV R1,#100<BR>DL4_PB: MOV R2,#100<BR>DJNZ
R2,$<BR>DJNZ R1,DL4_PB<BR>DJNZ
R0,DL4_PA<BR>RET<BR>END<BR><BR></P></TD></TR></TBODY></TABLE></DIV></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -