|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
搜过坛子里的HT1621相关帖子,还是点不亮.(附程序) |
作者:wwdyl 栏目:单片机 |
偶参考了坛子里的相关的帖子以及其他网站上有关HT1621的程序。但是搞了几天还是点不亮,特来向各位大侠求教。 用的是PIC18F25J10、HT1621、液晶玻璃片。 程序如下: ;--------------------------------------- #include "P18F25J10.INC" ;processor specific variable definitions ;----------------------------------------- ;PORTB EQU 06H #DEFINE HT_CS PORTB,3 #DEFINE HT_WR PORTB,2 #DEFINE HT_DATA PORTB,1 COUNT1 EQU 50H COUNT2 EQU 51H ;------------------------------- ORG 0 GOTO MAIN ;============= LCD_ST: BCF HT_CS CALL DELAY BSF HT_DATA;1 CALL DELAY BCF HT_WR CALL DELAY BSF HT_WR CALL DELAY BCF HT_DATA;0 CALL DELAY BCF HT_WR CALL DELAY BSF HT_WR CALL DELAY BCF HT_DATA;0 CALL DELAY BCF HT_WR CALL DELAY BSF HT_WR ;100 CALL DELAY MOVLW .8 ;SYS EN MOVWF COUNT1 MOVLW B'00000001' MOVWF COUNT2 CALL LCD_S1 CALL LCD_S4 BSF HT_CS CALL DELAY ;--------- BCF HT_CS CALL DELAY BSF HT_DATA;1 CALL DELAY BCF HT_WR CALL DELAY BSF HT_WR CALL DELAY BCF HT_DATA;0 CALL DELAY BCF HT_WR CALL DELAY BSF HT_WR CALL DELAY BCF HT_DATA;0 CALL DELAY BCF HT_WR CALL DELAY BSF HT_WR ;100 CALL DELAY MOVLW .8 ;NORMAL MOVWF COUNT1 MOVLW B'11100011' MOVWF COUNT2 CALL LCD_S1 CALL LCD_S4 BSF HT_CS CALL DELAY ;-------- BCF HT_CS CALL DELAY BSF HT_DATA;1 CALL DELAY BCF HT_WR CALL DELAY BSF HT_WR CALL DELAY BCF HT_DATA;0 CALL DELAY BCF HT_WR CALL DELAY BSF HT_WR CALL DELAY BCF HT_DATA;0 CALL DELAY BCF &n |
2楼: | >>参与讨论 |
作者: xieyuanbin 于 2006/7/28 7:33:00 发布:
读写使能脚有没有去控制? 一直保持低电平是没用的。 |
3楼: | >>参与讨论 |
作者: wwdyl 于 2006/7/28 9:40:00 发布:
回XIEYUANBIN写使能脚控制了见下面:我只摘了一段。 “BCF HT_WR CALL DELAY BSF HT_WR ;100 CALL DELAY ” 请指教。 |
4楼: | >>参与讨论 |
作者: sxl_72 于 2006/7/29 16:10:00 发布:
这是用holtek mcu控制的,参考一下 LcdCommand proc mov a,00000001b mov temp8,a mov a,3 clr lcd_cs call SendData mov a,10000000b mov temp8,a mov a,9 call SendData mov a,11000000b mov temp8,a mov a,9 call SendData mov a,10010100b mov temp8,a mov a,9 call SendData set lcd_cs ret LcdCommand endp ;-------------------------------------------------------------------------- SendData proc SendData0: rrc temp8 bcc SendData1 set lcd_dat jmp SendData1+1 SendData1: clr lcd_dat nop clr lcd_wr nop set lcd_wr sdz ACC jmp SendData0 ret SendData endp ;-------------------------------------------------------------------------- DisplayLcd proc mov a,00000101b mov temp8,a mov a,3 clr lcd_cs call SendData mov a,00000000b mov temp8,a mov a,6 call SendData mov a,[lcd_buff] mov temp8,a mov a,8 call SendData mov a,[lcd_buff+1] mov temp8,a mov a,8 call SendData mov a,[lcd_buff+2] mov temp8,a mov a,8 call SendData mov a,[lcd_buff+3] mov temp8,a mov a,8 call SendData mov a,[lcd_buff+4] mov temp8,a mov a,8 call SendData mov & |
5楼: | >>参与讨论 |
作者: wwdyl 于 2006/7/29 21:13:00 发布:
多谢SXL_72,我试试。 |
6楼: | >>参与讨论 |
作者: WWDYL 于 2006/8/1 11:26:00 发布:
呵呵,感觉不错,解决了,谢谢各位。 是时序的问题,结果按照DATASHEET的时序写就正常了。 |
7楼: | >>参与讨论 |
作者: forest_j 于 2006/8/2 14:01:00 发布:
呵呵,只要认真看手册 严格按外设的时序,没有玩不转的啦。 |
8楼: | >>参与讨论 |
作者: sanwa_chen 于 2006/8/3 13:42:00 发布:
多看资料,仔细看资料! 我记得刚参加工作的时候在一家台湾公司,第一个项目也是要用1621LCD驱动,看了资料,写了程序后,运行的时候怎么都不行,我当时用的是绑定的芯片,引脚是自己焊接线出来的,想了很多办法都没找到问题,查程序时序,看焊接线,都不知道原因。最后仔细看资料才知道,我对照焊接的引脚顺序是HT的DIP封装的顺序,结果我手上绑定板子是SM1621(深圳国微的IC),裸片绑定时脚位刚好是偏移了一位的。重新连线后问题就解决了。如果一开始就仔细看看资料,也就不用耽误那么多时间了。所以,以后我遇到什么问题总是先去反复的看资料,再实践验证,大多问题是可以自己解决的。 |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |