ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:17.20KB ,
资源ID:3982998      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3982998.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(利用STC89C52单片机控制LCD1602.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

利用STC89C52单片机控制LCD1602.docx

1、利用STC89C52单片机控制LCD1602利用STC89C52单片机控制LCD1602(不带中文字库)显示的中文一、设计原理使用STC89C52单片机控制1602LCD(不带中文字库的);利用1602LCD(不带中文字库的)中的存储器(64个字节00H-3FH)自建立8个58点阵的字符从而显示中文字符。二、LCD1602的指令集:1、清屏RS R/WDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 0 0 0 0 0 0 0 1运行时间(250Khz):1.64ms;功能:清DDRAM和AC值。2、归位RS R/WDB7 DB6 DB5 DB4 DB3 DB2 DB1 D

2、B00 0 0 0 0 0 0 0 1 *运行时间(250Khz):1.64ms;功能:AC=0,光标、画面回HOME位。3、输入方式设置RS R/WDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 0 0 0 0 0 1 I/D S运行时间(250Khz):40us;功能:设置光标、画面移动方式。其中:I/D=1:数据读、写操作后,AC自动增一;I/D=0:数据读、写操作后,AC自动减一; S=1:数据读、写操作,画面平移; S=0:数据读、写操作,画面不动;4、显示开关控制RS R/WDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 0 0 0 0

3、1 D C B运行时间(250Khz):40us;功能:设置显示、光标及闪烁开、关。其中:D表示显示开关:D=1为开,D=0为关;C表示光标开关:C=1为开,C=0为关;B表示闪烁开关:B=1为开,B=0为关。5、光标、画面位移RS R/WDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 0 0 0 1 S/C R/L * *运行时间(250Khz):40us;功能:光标、画面移动,不影响DDRAM。其中:S/C=1:画面平移一个字符位;S/C=0:光标平移一个字符位;R/L=1:右移;R/L=0:左移。 6、功能设置 RS R/WDB7 DB6 DB5 DB4 DB3 D

4、B2 DB1 DB00 0 0 0 1 DL N F * * 运行时间(250Khz):40us; 功能:工作方式设置(初始化指令)。 其中:DL=1,8位数据接口;DL=0,四位数据接口; N=1,两行显示;N=0,一行显示; F=1,510点阵字符;F=0,57点阵字符。7、CGRAM地址设置RS R/WDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 0 1 A5 A4 A3 A2 A1 A0运行时间(250Khz):40us; 功能:设置CGRAM地址。A5A0=03FH。8、DDRAM地址设置RS R/WDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB

5、00 0 1 A6 A5 A4 A3 A2 A1 A0运行时间(250Khz):40us;功能:设置DDRAM地址。 N=0,一行显示A6A0=04FH; N=1,两行显示,首行A6A0=00H2FH, 次行A6A0=40H67H。9、读BF及AC值RS R/WDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 1BF AC6 AC5 AC4 AC3 AC2 AC1 AC0功能:读忙BF值和地址计数器AC值。其中:BF=1:忙;BF=0:准备好。此时,AC值意义为最近一次地址设置(CGRAM或DDRAM)定义。10、 写数据RS R/WDB7 DB6 DB5 DB4 DB3 DB

6、2 DB1 DB01 0数 据运行时间(250Khz):40us;功能:根据最近设置的地址性质,数据写入DDRAM或CGRAM内。11、读数据RS R/WDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB01 1数 据运行时间(250Khz):40us;功能:根据最近设置的地址性质,从DDRRAM或CGRAM数据读出。三、程序:/液晶显示中文-版本0.0/作者:pcdian/定义液晶的一些功能位/RS 为数据、指令寄存器选择位/RW 为读写选择位/E 为使能位 RS BIT p2.5 RW BIT P2.6 E BIT P2.7 ORG 0000H SJMP START ORG 00

7、0BH LJMP Timer_IT ORG 0030HSTART:MOV SP,#60H MOV TMOD,#01H MOV TH0,#0A6H MOV TL0,#00H SETB EA SETB ET0 CLR TR0MAIN:MOV P0,#01H /清屏 ACALL ENABLE MOV P0,#38H /显示模式设置为16字*2行 ACALL ENABLE MOV P0,#0CH /不显示光标 ACALL ENABLE MOV P0,#06H /显示方向正向且屏不移动 ACALL ENABLEDISPLAY:ACALL DISPLAY_C0 /我 MOV P0,#80H ACALL E

8、NABLE MOV P0,#00H ACALL WRITE MOV P0,#81H ACALL ENABLE MOV P0,#01H ACALL WRITE MOV P0,#82H ACALL ENABLE MOV P0,#02H ACALL WRITE MOV P0,#0C0H ACALL ENABLE MOV P0,#03H ACALL WRITEMOV P0,#0C1H ACALL ENABLE MOV P0,#04H ACALL WRITEMOV P0,#0C2H ACALL ENABLE MOV P0,#05H ACALL WRITELCALL DELAY1S MOV P0,#01H

9、 ACALL ENABLEACALL DISPLAY_C1 /们 MOV P0,#83H ACALL ENABLE MOV P0,#00H ACALL WRITE MOV P0,#84H ACALL ENABLE MOV P0,#01H ACALL WRITE MOV P0,#85H ACALL ENABLE MOV P0,#02H ACALL WRITE MOV P0,#0C3H ACALL ENABLE MOV P0,#03H ACALL WRITEMOV P0,#0C4H ACALL ENABLE MOV P0,#04HACALL WRITEMOV P0,#0C5H ACALL ENAB

10、LE MOV P0,#05H ACALL WRITELCALL DELAY1S MOV P0,#01H ACALL ENABLEACALL DISPLAY_C2 /的 MOV P0,#86H ACALL ENABLE MOV P0,#00H ACALL WRITE MOV P0,#87H ACALL ENABLE MOV P0,#01H ACALL WRITE MOV P0,#88H ACALL ENABLE MOV P0,#02H ACALL WRITE MOV P0,#0C6H ACALL ENABLE MOV P0,#03H ACALL WRITE MOV P0,#0C7H ACALL

11、ENABLE MOV P0,#04H ACALL WRITE MOV P0,#0C8H ACALL ENABLE MOV P0,#05H ACALL WRITE LCALL DELAY1S MOV P0,#01H ACALL ENABLE ACALL DISPLAY_C3 /0 MOV P0,#89H ACALL ENABLE MOV P0,#00H ACALL WRITE MOV P0,#8AH ACALL ENABLE MOV P0,#01H ACALL WRITE MOV P0,#0C9H ACALL ENABLE MOV P0,#02H ACALL WRITE MOV P0,#0CAH

12、 ACALL ENABLE MOV P0,#03HACALL WRITE LCALL DELAY1S MOV P0,#01H ACALL ENABLEACALL DISPLAY_C4 /7 MOV P0,#8BH ACALL ENABLE MOV P0,#00H ACALL WRITE MOV P0,#8CH ACALL ENABLE MOV P0,#01H ACALL WRITE MOV P0,#0CBH ACALL ENABLE MOV P0,#02H ACALL WRITE MOV P0,#0CCH ACALL ENABLE MOV P0,#03H ACALL WRITE /3 MOV

13、P0,#8DH ACALL ENABLE MOV P0,#04H ACALL WRITE MOV P0,#8EH ACALL ENABLE MOV P0,#05H ACALL WRITE MOV P0,#0CDH ACALL ENABLE MOV P0,#06H ACALL WRITEMOV P0,#0CEH ACALL ENABLE MOV P0,#07HACALL WRITELCALL DELAY1S MOV P0,#01H ACALL ENABLE LJMP DISPLAYDISPLAY_C0:MOV DPTR,#TAB0 MOV R2,#48ACALL DISPLAY_C RETDIS

14、PLAY_C1:MOV DPTR,#TAB1 MOV R2,#48 ACALL DISPLAY_C RETDISPLAY_C2:MOV DPTR,#TAB2 MOV R2,#48ACALL DISPLAY_C RETDISPLAY_C3:MOV DPTR,#TAB3 MOV R2,#32 ACALL DISPLAY_C RETDISPLAY_C4:MOV DPTR,#TAB4 MOV R2,#64 ACALL DISPLAY_C RETDISPLAY_C:MOV P0,#40H ACALL ENABLE MOV R3,#0DISPLAY_CC:MOV A,R3 MOVC A,A+DPTR MO

15、V P0,A LCALL WRITE INC R3 DJNZ R2,DISPLAY_CC RETENABLE: CLR RS CLR RW CLR E ACALL DELAY SETB E RETWRITE: SETB RS CLR RW CLR E ACALL DELAY SETB E RETDELAY1S:SETB TR0CJNE R0,#20,DELAY1S CLR TR0MOV R0,#0 RETDELAY:MOV R5,#08H L1:MOV R4,#0FAH L0:DJNZ R4,L0 DJNZ R5,L1 RETTimer_IT:MOV TH0,#0A6H MOV TL0,#00

16、HINC R0RETITAB0: /我 DB 0x00,0x07,0x01,0x01,0x01,0x1F,0x01,0x01 DB 0x19,0x01,0x01,0x01,0x01,0x1F,0x01,0x01 DB 0x00,0x08,0x04,0x04,0x00,0x1F,0x00,0x04 DB 0x01,0x07,0x19,0x01,0x01,0x01,0x05,0x02 DB 0x18,0x00,0x00,0x01,0x06,0x00,0x00,0x00 DB 0x14,0x18,0x10,0x08,0x09,0x05,0x03,0x01TAB1: /们 DB 0x01,0x01,0

17、x02,0x02,0x06,0x04,0x0c,0x14 DB 0x08,0x04,0x06,0x04,0x10,0x10,0x10,0x10 DB 0x00,0x00,0x1e,0x02,0x02,0x02,0x02,0x02 DB 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00 DB 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00 DB 0x02,0x02,0x02,0x02,0x02,0x0a,0x04,0x00TAB2: /的 DB 0x02,0x02,0x04,0x0f,0x08,0x08,0x08,0x0f DB 0x

18、02,0x02,0x02,0x13,0x14,0x14,0x18,0x12 DB 0x00,0x00,0x00,0x1e,0x02,0x02,0x02,0x02 DB 0x08,0x08,0x08,0x08,0x0f,0x08,0x08,0x00 DB 0x11,0x11,0x10,0x10,0x10,0x10,0x00,0x00 DB 0x02,0x12,0x12,0x02,0x02,0x14,0x08,0x00TAB3: /0 DB 0x00,0x00,0x03,0x04,0x08,0x08,0x08,0x08 DB 0x00,0x00,0x18,0x04,0x02,0x02,0x02,0

19、X02 DB 0x08,0x08,0x08,0x08,0x04,0x03,0x00,0x00 DB 0x02,0x02,0x02,0x02,0x04,0x18,0x00,0x00TAB4: /7 DB 0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00 DB 0x00,0x00,0x1E,0x1E,0x06,0x06,0x06,0X06 DB 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 DB 0x06,0x06,0x06,0x06,0x06,0x06,0x00,0x00 /3 DB 0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F DB 0x00,0x00,0x1E,0x1E,0x06,0x06,0x06,0X1E DB 0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00 DB 0x1E,0x06,0x06,0x06,0x1E,0x1E,0x00,0x00 END 四、总结: 虽然LCD1602可以利用自建字符显示中文,但最多不能超过8个字符位。所以实际应用中,无法同时显示“我们的073”。该段程序没来得及优化,没有充分利用单片机做重复的事情的优点;并且使代码量增大,可读较差(重复的,看起来头晕);注释少也致使可读性差!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1