用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

PIC16F877单片机的图形液显示模块接口技术

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 23:58:54
P0

movlw 0xff

movwf TRISD ;设置D口输入方式

bcf STATUS,RP0

movf PORTD,0

movwf lcdflag ;读入状态并查询

btfsc lcdflag,5 ;是否确定打开

goto Disp

return

Disoff ;关E1显示

movlw 0xae ;控制命令入在W中

call Cwe

bsf PORTB,4 ;E1=1

bsf PORTB,1 ;R/W=1

bcf PORTB,0 ;A0=0

bsf STATUS,RP0

movlw 0xff

movwf TRISD

bcf STATUS,RP0

movf PORTD,0

movwf lcdfiag ;读入状态并查询

btfss lcdfiag,5 ;判是否关闭

gogo Disoff

return

Cler ;清屏

movlw 0xb8 ;设置页地址代码

movwf pageadd

movlw 0x04

movwf pagenum ;设置总页数

clr1 movf pageadd,0

call Cwe

movlw 0x50 ;设置总列数

movwf clmsum ;80或60列

movlw 0x00

movwf clmadd ;设置起始列

clr2 movlw 0x00

call Dwe ;写入00H

clar decfsz clmsum,1 ;本页未清完

goto pageadd,1 ;页号增1

decfsz pagenum,1 ;4页未清完

goto clr1 ;返回继续

return

有了以上的通用子程序,就可以构造出各种显示程序,如字符、汉字、曲线等。当然,在这些程序执行前必须对液晶进行初始化。初始化的顺序为:关显示→正常显示驱动设置→占空比设置→复位→ADC选择→清屏→开显示。程序如下:

初始化子程序

Lcdinit

call Disoff ;关显示

movlw 0xa4 ;静态显示驱动

call Cwe

movlw 0xe2 ;复位

call Cwe

movlw 0xa0 ;ADC选择正常输出

call Cwe

movlw 0x9 ;占空比为1/32

call Cwe

call Cler ;清零

call Disp ;开显示

return

对于字符、汉字和曲线显示的原理是类似的。它们都是以字节为单位进行显示。关键在于形成字模库时必须保证每个上字节数据的最高位是与每一列最下面一个点相对应,最低位与每一列最上面点相对应。当然,这可以用专门的软件来生成相应的代码,然后再将这些代码逐字节地写到相应的页和列。

结束语

PIC单片机与液晶模块的接口只在硬件上满足液晶模块的接口要求,软件上能够模拟出要求的时序,并且初始化正确后,就可以随心所欲地显示信息了。

以上接口电路和程序在PIC试验板上调试通过,可作为其他单片机与LCD接口的参考。



上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:32,171.88000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号