lcd1601驱动程序

[复制链接]
2333|0
 楼主| bigheadshrimp 发表于 2009-2-21 12:36 | 显示全部楼层 |阅读模式
我用的液晶是JHDM&nbsp;161A,&nbsp;单片机是STC89C52,8位数据接口,怎么只显示半屏<br />?下面的程序只显示01234567,以后的不再显示,请各位高手帮忙,在此感激不尽!<br /><br /><br /><br />程序如下:<br />RS&nbsp;BIT&nbsp;2.0;确定具体硬件的连接方式<br />RW&nbsp;BIT&nbsp;P2.1&nbsp;;确定具体硬件的连接方式<br />E&nbsp;&nbsp;BIT&nbsp;P2.2&nbsp;;确定具体硬件的连接方式<br /><br />MOV&nbsp;P1,#00000001B&nbsp;;清屏并光标复位<br />ACALL&nbsp;ENABLE;调用写入命令子程序<br /><br />MOV&nbsp;P1,#00110000B&nbsp;;设置显示模式:8位1行5x7点阵<br />ACALL&nbsp;ENABLE&nbsp;;调用写入命令子程序<br /><br />MOV&nbsp;P1,#00001111B&nbsp;;显示器开、光标开、光标允许闪烁<br />ACALL&nbsp;ENABLE&nbsp;;调用写入命令子程序<br /><br />MOV&nbsp;P1,#00000110B&nbsp;;文字不动,光标自动右移<br />ACALL&nbsp;ENABLE&nbsp;;调用写入命令子程序<br /><br />MOV&nbsp;P1,#00H&nbsp;;写入显示起始地址(第1行第一个位置)<br />ACALL&nbsp;ENABLE&nbsp;;调用写入命令子程序<br /><br />MOV&nbsp;P1,#30H&nbsp;;字母0的代码<br />CALL&nbsp;R_DATA<br />MOV&nbsp;P1,#31H&nbsp;;字母1的代码<br />CALL&nbsp;R_DATA<br />MOV&nbsp;P1,#32H&nbsp;;字母2的代码<br />CALL&nbsp;R_DATA<br />MOV&nbsp;P1,#33H&nbsp;;字母3的代码<br />CALL&nbsp;R_DATA<br />MOV&nbsp;P1,#34H&nbsp;;字母4的代码<br />CALL&nbsp;R_DATA<br />MOV&nbsp;P1,#35H&nbsp;;字母5的代码<br />CALL&nbsp;R_DATA<br />MOV&nbsp;P1,#36H&nbsp;;字母6的代码<br />CALL&nbsp;R_DATA<br />MOV&nbsp;P1,#37H&nbsp;;字母7的代码<br /><br />CALL&nbsp;R_DATA<br />MOV&nbsp;P1,#38H&nbsp;;字母8的代码<br />CALL&nbsp;R_DATA<br />MOV&nbsp;P1,#39H&nbsp;;字母9的代码<br />CALL&nbsp;R_DATA<br /><br />AJMP&nbsp;$<br /><br />WR_DATA:<br />SETB&nbsp;RS&nbsp;;RS=1<br />CLR&nbsp;RW&nbsp;;RW=0&nbsp;;准备写入数据<br />CLR&nbsp;E&nbsp;;E=0&nbsp;;执行显示命令<br />ACALL&nbsp;DELAY&nbsp;;判断液晶模块是否忙?<br />SETB&nbsp;E&nbsp;;E=1&nbsp;;显示完成,程序停车<br />RET<br /><br /><br />ENABLE:<br />CLR&nbsp;RS&nbsp;;写入控制命令的子程序<br />CLR&nbsp;RW<br />CLR&nbsp;E<br />ACALL&nbsp;DELAY<br />SETB&nbsp;E<br />RET<br /><br />DELAY:<br />MOV&nbsp;P1,#0FFH&nbsp;;判断液晶显示器是否忙的子程序<br />CLR&nbsp;RS<br />SETB&nbsp;RW<br />CLR&nbsp;E<br />NOP<br />SETB&nbsp;E<br />JB&nbsp;P1.7,DELAY&nbsp;;如果P1.7为高电平表示忙就循环等待<br />RET<br /><br />END<br /><br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

3

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部