做过液晶显示或者使用过HT1621的请进!

nxy825715 2004-10-18 08:57:16
各位大虾:
在HT1621的技术资料中提到Timer Base 是什么意思呀,还有1/2duty,1/3duty,1/4duty 是什么意思呀???
在HT1621的技术资料中提到1/2bias,1/3bias 这是什么意思呀???
HT1621可以控制(驱动)按键吗???
请大家帮帮忙,在下不甚感激!!!
...全文
538 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
icesnows 2004-10-18
  • 打赏
  • 举报
回复
补充,你可以看一下这篇文章http://www.21ic.com/info/images/edw/0209/images/2.htm
wangluyan 2004-10-18
  • 打赏
  • 举报
回复
www.zlgmcu.com 上有中问文资料!!
icesnows 2004-10-18
  • 打赏
  • 举报
回复
time base是时基,即时间基准,可以用来输出,作为外部时钟的时间基准;
1/2duty,1/3duty,1/4duty指的是液晶显示的占空比,液晶显示是通过扫描来实现的,在一帧中每行的选择时间是相等的。假设一帧的扫描行数为N,扫描时间为1,那么一行所占有选择时间为一帧时间的1/N。这就是液晶显示驱动的占空比系数,也称为占空比。
1/2bias,1/3bias指的是液晶的偏压系数,可以看看专业技术文章,偏压目的是克服交叉效应,通过把半选择点与非选择点的电压平均,适度提高非选择点的电压来抵消半选择点上的一部分电压,使半选择点上的电压下降,从而提高显示对比度;最终行半选择点和非选择点上的电压均为显示电压的1/a,1/a就称为偏压系数,也称为偏压。此方法称为1/a偏压的平均电压法,简称为1/a偏压法。
HT1621应该不可一驱动按键
wangluyan 2004-10-18
  • 打赏
  • 举报
回复
该文来自www.21ic.com

实用的程序---读写液晶驱动HT1621

; ***********************************************************
; 读写液晶驱动HT1621
; CS 低有效
; Wri 低有效
; RD 低有效
; DI 双向I/O
; 作者:雁舞白沙 huafang@mail.china.com 2003-09-15
; ***********************************************************
InitHT1621:
bcf CS

movlw .3
movwf I ;I=3:只发送3bit,即100
movlw 80H
movwf J
call WRITE

movlw 09H
movwf I ;I=9:发送9bit,即00000001X
movlw 01H ;command:SYS EN
movwf J
call WRITE


movlw 09H
movwf I ;I=9:发送9bit,即00000011X
movlw 03H ;command:LCD ON
movwf J
call WRITE

movlw 09H
movwf I ;I=9:发送9bit,即00101001X
movlw 29H ;4commons,1/3bias
movwf J
call WRITE

bsf CS
; bsf fDISP
; bcf fHALT
return
; ---------------------------------------------------------
;DownHT1621:
;
; call BLACK
; bcf CS

; movlw 03H
; movwf I
; movlw B'10000000'
; movwf J
; call WRITE

; movlw 09H
; movwf I
; movlw B'00000000'
; movwf J
; call WRITE

; bsf CS
; return
; ---------------------------------------------------------
SendTo1621:
bcf CS
;TRANDATA:
movlw 03H
movwf I
movlw B'10100000'
movwf J
call WRITE

movlw 06H
movwf I
; movlw B'00001000' ;address=B'000001xx
; movlw B'00000100' ;address=B'000001xx
movlw B'00000000' ;address=B'000001xx
movwf J
call WRITE

movlw .7 ;7个字节,对应14个segment
movwf TEMP

movlw DISPBUF
movwf FSR

SEND:
movlw 08H
movwf I

bsf STATUS,RP0 ; bank 1
movf INDF,W
bcf STATUS,RP0 ; bank 0
movwf J
call WRITE
incf FSR,F
decfsz TEMP,F
goto SEND

bsf CS ;发完8*8=64bits 数据
return
; ---------------------------------------------------------
WRITE:
LOOP:
bcf DI
btfsc J,MSB
bsf DI
rlf J,F
nop

bcf WR
NOP
NOP
NOP
bsf WR
NOP
NOP
NOP
decfsz I,F
goto LOOP

return
;----------------------------------------------------------
;Read-Modify-Write(Command mode:101)
RMW:
bcf CS

movlw 03H
movwf I
movlw B'10100000' ;send command code:101
movwf J
call WRITE

movlw 06H
movwf I
;;; LD A,#B'01001000 ;读地址18(12h:A5A4A3A2A1A0=010010),可以改变
; movlw B'00100000' ;读地址8
movlw B'00011100' ;读地址7
movwf J
call WRITE

movlw 04H
movwf I
clrf J
call READ

SWAPF J,F ;换到高4位

btfsc fSUCCESS
goto RF1
movlw B'10111111'
andwf J,F ;关闭“通讯“段
goto RF
RF1:
movlw B'01000000' ;置亮“通讯“段
iorwf J,F
RF:
movlw 04H ;只发送高4bit
movwf I
call WRITE

bsf CS
return
;----------------------------------------------------------
READ:
bsf STATUS,RP0 ; bank 1
bsf DI_TRIS ;将DI置为输入模式
bcf STATUS,RP0 ; bank 0

READ2:
bcf RD_pin
NOP
NOP ;较之write多一个tc
NOP ;较之write多一个tc
bsf RD_pin
NOP
NOP

bcf _C
btfsc DI
bsf _C
rlf J,F ;循环左移,MSB->C
decfsz I,F
goto READ2

bsf STATUS,RP0 ; bank 1
bcf DI_TRIS ;将DI置为输出模式
bcf STATUS,RP0 ; bank 0

RETURN


27,370

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧