|
|||||||||||
| 技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
液晶屏的显示问题 |
| 作者:幽谷天兰 栏目:单片机 |
我用的PIC16F877芯片,液晶显示驱动用的是KS0066U,板子是高奇的ICD1,RB2-5接KS0066U的D4-7位,采用4BIT,RS接RB1,E接RA5,RW接地,所写程序如下,也是书上的例子 #include <p16f877.inc> LCD_DATA equ PORTB LCD_CNTL1 equ PORTB LCD_CNTL2 equ PORTA RS EQU 01H E EQU 05H LCD_DATA1 EQU 70H Byte EQU 71H INTCON EQU 0BH org 00h nop goto main ;******************** ; main call Initpic loop call InitLCD movlw '1' CALL PutcLCD movlw '2' CALL PutcLCD movlw ':' CALL PutcLCD movlw '0' CALL PutcLCD movlw '0' CALL PutcLCD goto loop ;*************** Initpic movlw 0x00 movf INTCON MOVF PIR1 MOVF PIR2 MOVF PIE1 MOVF PIE2 return ;************************** InitLCD bsf STATUS ,RP0 movlw b'00000000' movf TRISB movlw 06h movwf ADCON1 ;将A口??普通数据I/O口 clrf TRISA ;将A口???出状? bcf STATUS ,RP0 ;?体0 clrf PORTB ;清除B口 CALL YS ;?延?子程序 movlw b'00101000' ;将LCD功能?置?4位数据方式 call SendCmd ;?写指令子程序 movlw b'00001100' ;清?示屏固定是0XCO call SendCmd ;?写指令子程序 movlw 06h ;?置光??示画面移?方向 call SendCmd ; movlw 80h ;?置起始地址 call SendCmd ; movlw 01h ;清除LCD?示 call SendCmd ; return ;************************************************* SendCmd ;送命令到LCD movwf Byte ;存WREG到Byte寄存器 swapf Byte,W ;高低互?送W movwf LCD_DATA1 RLF LCD_DATA1,1 ;硬件中?接的是RB2-RB5, RLF LCD_DATA1,1 movlw 0x3c ;硬件中?接的是RB2-RB5,所以取2~5位 andwf LCD_DATA1,1 movf LCD_DATA1,W movwf PORTB bcf PORTB,RS bsf PORTA,E ;?送数据信号 bcf PORTA,E MOVF Byte,w movwf LCD_DATA1 RLF LCD_DATA1,1 ;硬件中?接的是RB2-RB5, RLF LCD_DATA1,1 movlw 0x3c ;硬件中?接的是RB2-RB5,所以取2~5位 andwf LCD_DATA1,1 movf LCD_DATA1,W movwf PORTB bcf PORTB,RS bsf PORTA,E ;?送数据信号 bcf PORTA,E CALL YS CALL YS return ;******************************************* PutcLCD movwf Byte ;存WREG到Byte寄存器 swapf Byte,W ;高低互?送W movwf LCD_DATA1 RLF LCD_DATA1,1 ;硬件中?接的是RB2-RB5, & |
| 2楼: | >>参与讨论 |
| 作者: kingpoo 于 2005/8/19 9:35:00 发布:
你的LCD的初始化有没有满足要求了啊? 你的LCD的初始化有没有满足要求了啊? |
|
| 3楼: | >>参与讨论 |
| 作者: xieyuanbin 于 2005/8/19 9:49:00 发布:
液晶显示的一些注意点: 指令:写显示数据还是写定位指令?显示开始的位置?地址是否自动递增?这些都要搞清楚,不要想拿个例程就想套上去,即使能用,也没法用在其他地方。 |
|
| 4楼: | >>参与讨论 |
| 作者: 幽谷天兰 于 2005/8/19 14:15:00 发布:
该设置的都设置了 该设置的都设置了,以上朋友说的我都写的没问题,我怀疑是不是硬件上有问题了,夜晶屏会不会坏了呢?怎么试验其好坏呢 |
|
| 5楼: | >>参与讨论 |
| 作者: kingpoo 于 2005/8/19 22:58:00 发布:
或者是屏的对比度是否调整正确! 或者是屏的对比度是否调整正确! 我遇到过这样的情况,程序完全正确,也已经显示了,但是因为对比度调的不对,看起来没有任何显示,反复的查代码,还是不能解决问题,一个偶然的机会调了一下电位器,好了!晕 |
|
|
|
Copyright © 1998-2006 www.j71x6.cn 浙ICP证030469号 |