首 页 用户登录 | ![]() |
|||
|
|||
按字母检索 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
按声母检索 | A | B | C | D | E | F | G | H | J | K | L | M | N | O | P | Q | R | S | T | W | X | Y | Z | 数字 | 符号 |
|
![]() |
您的位置: 5VAR论文频道 → 论文中心 → 理工论文 → 电子通信 |
|
|||||
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接口的参考。 |
提供人:佚名 | |
【返回上一页】【打 印】【关闭窗口】 |
![]() |
5VAR论文频道 |
![]() |
5VAR论文频道 |
![]() |
关于本站 -
网站帮助 -
广告合作 -
下载声明 -
网站地图
Copyright © 2006-2033 5Var.Com. All Rights Reserved . |