5654|1

842

帖子

0

TA的资源

裸片初长成(初级)

楼主
 

HT1621的汇编驱动程序 [复制链接]

我用HT1621显示时间、温度、制冷/制热,时间显示用“:”闪烁,我是否需要在MCU中(台湾义隆EM78P156)专门设对应的RAM区?能否提供参考程序。

    最好要设,LCD的反应时间是毫秒级的,开个RAM缓冲,由显示子程序往HT1621送数据,主程序和其它程序改变要显示的内容。
最好在RAM区中设置一个显缓区,定时刷新,然后调用一个通讯模块将数据写到HT1621中去.
另:关于时间的秒闪,如果你用了TCC中断的话,可用计数器中的某一位充当秒闪标志。


;****************************
;HT1621操作辑
P_HT    EQU    0X05        ;LCD驱动口
    DATA    EQU    1
    WR    EQU    3
    CS    EQU    4
;****************************
;=======================
;写字节
;入口:    LCD_D:    写往DATA的数值
;    LCD_N:    位数(循环数)
;=======================
WBLCD:
    MOV    A,@8
WBLCD1:
    MOV    LCD_N,A
;=======
WNLCD:
    RLC    LCD_D        ;LCD_D左循环,LCD_D(7)->C
    JBC    R3,C        ;C=0跳
    JMP    WNLCD1
    BC    P_HT,DATA    ;DATA=0
    JMP    WNLCD2
WNLCD1:
    BS    P_HT,DATA    ;DATA=1
WNLCD2:
    NOP
    NOP
    BC    P_HT,WR        ;WR=0
    NOP            ;延时1.67uS以上
    BS    P_HT,WR        ;WR=1
    NOP            ;延时1.67uS以上
    DJZ    LCD_N
    JMP    WNLCD
    RET
;=======
WBLCDADD:            ;写操作码101+首地址码000000(共9位)
    MOV    A,@0B10100000
W9LCD:
    MOV    LCD_D,A
    BC    R3,C
    MOV    A,@9
    JMP    WBLCD1
;=======
WBLCDCOM:            ;命令码100(共3位)
    MOV    A,@0B10000000
    MOV    LCD_D,A
    MOV    A,@3
    JMP    WBLCD1
;****************************
;LCD显示初始化
;功能:    LCD驱动器HT1621显示初始化
;****************************
RESTLCD:
    BC    P_HT,CS        ;CS=0,开片选
    NOP
    CALL    WBLCDCOM    ;命令操作
    MOV    A,@0B00000001
    CALL    W9LCD        ;开震荡源SYSEN
    MOV    A,@0B00101001
    CALL    W9LCD        ;BIAS 1/3
    MOV    A,@0B00000011
    CALL    W9LCD        ;开显示LCDON
    NOP
    BS    P_HT,CS        ;CS=1,关片选
    RET
;****************************
;送LCD显示
;功能:    U1显缓区(0X20-0X28)->LCD驱动器HT1621内RAM
;****************************
MOVLCD:
    WDTC            ;喂狗
    BC    P_HT,CS        ;CS=0,开片选
    MOV    A,@DISBUF1    ;载入显缓区首地址
    MOV    R4,A
    CALL    WBLCDADD    ;写操作码101+首地址码000000->LCD
MOVLCD1:
    MOV    A,R0        ;取欲显示字符代码
    CALL    TABLCD        ;查表求笔画码
    MOV    LCD_D,A
;=======填加小数点
    RLC    DISBUF9        ;取小数点->C
    JBC    R3,C        ;
    BS    LCD_D,0        ;填加小数点
;=======
    CALL    WBLCD        ;笔画码->LCD
    MOV    A,R4
    AND    A,@0B00111111
    XOR    A,@DISBUF7   
    JBS    R3,Z        ;显缓区地址=最后一个显示单元跳
    JMP    MOVLCD2
;=======小数点
    MOV    A,DISBUF8
    MOV    LCD_D,A
    CALL    WBLCD        ;笔画码->LCD
;=======
    BS    P_HT,CS        ;CS=1,关片选
    RET
MOVLCD2:
    INC    R4        ;显缓区地址+1
    JMP    MOVLCD1(
此帖出自单片机论坛

最新回复

有IC 驱动程序可以提供,完美替代兼容HT1621B SSOP48 LQFP48 LQFP44 DIP28 QQ 191 888 5898 ,另外还有工程技术支持!  详情 回复 发表于 2018-7-23 15:18
点赞 关注
 

回复
举报

42

帖子

15

TA的资源

一粒金砂(中级)

沙发
 

有IC 驱动程序可以提供,完美替代兼容HT1621B SSOP48 LQFP48 LQFP44 DIP28
QQ 191 888 5898 ,另外还有工程技术支持!

HT1621B替代HT1622取代HT1623兼容HT1625代替HT1626 中文资料 .pdf

319.13 KB, 下载次数: 1

VK1621B液晶显示驱动IC 中文资料.pdf

1.41 MB, 下载次数: 2

VK2C22 LQFP48 LQFP52 PDF资料介绍.pdf

3.29 MB, 下载次数: 1

VK2C21 I2C接口 低功耗液晶驱动 中文资料.pdf

3.1 MB, 下载次数: 1

此帖出自单片机论坛
 
个人签名联系人:许先生 QQ:1918885898  电话:18898582398  免费样品赠送,工程技术支持,PDF产品资料提供!
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表