2fen 发表于 2011-12-5 11:25:16

HT1621驱动段式液晶,有价值的回帖赠送段式液晶(共5块)

用MSP430F449点亮此液晶,但是449价格有点高。还是用HT1621比较合适!

2fen 发表于 2011-12-5 11:28:44

部分资源参考:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4456134&bbs_page_no=1&search_mode=3&search_text=bj-stm8&bbs_id=9999

benladn911 发表于 2011-12-5 11:44:48

楼主要什么有 价值的?

honami520 发表于 2011-12-5 12:28:04

它要一个驱动代码。论坛里很多的,很多很多!!!!

bluefeel 发表于 2011-12-5 13:08:35

基本驱动很简单,就是要根据真值表建立码表,上传个真值表

HYLG 发表于 2011-12-5 13:15:29

贴个我的AVR的汇编程序吧。屏应该是话吧屏。

.EQU         BIAS                 =$52 ;1/3 偏压4 背极
.EQU         RC256                 =$30 ;系统时钟选用片内RC 振荡器
.EQU         SYSEN                 =$02 ;打开系统时钟
.EQU         LCDON                 =$06 ;打开偏压发生器
.EQU         SYSDIS                 =$00 ;关闭系统时钟和偏压发生器
.EQU         X32K                 =$28 ;系统时钟选择为片外晶振
.EQU         ToneOn                 =$12 ;打开音频输出
.EQU         ToneOff         =$10 ;关闭音频输出
.EQU         Tone4k                 =$80 ;音频输出频率为4K
.EQU         Tone2k                 =$C0 ;音频输出频率为2K
.EQU         TIMEREN         =$0C ;时基输出使能
.EQU         TIMERDIS         =$08 ;时基输出禁能
.EQU         CLRtime         =$18 ;清零进基发生器
.EQU         WDTEN                 =$0E ;使能WDT 溢出标志输出
.EQU         WDTDIS                 =$0A ;禁止WDT 溢出标志输出
.EQU         CLRWDT                 =$1C ;清零WDT
.EQU         IRQEN                 =$10 ;使能IRQ 输出
.EQU         IRQDIS                 =$00 ;禁止IRQ 输出
.EQU         FR1                 =$40 ;设置时基输出1HZ WDT 溢出时间4s

.equ        lcdport                =portb
.equ        lcdsda                =0
.equ        lcdsck                =1
.equ        lcdcs                =2

.dseg

l1disbuf:                .byte        16        ;第一行显存
l2disbuf:                .byte        16        ;第二行显存
l3disbuf:                .byte        16        ;第三行显存
l4disbuf:                .byte        16        ;第四行显存
l5disbuf:                .byte        16        ;第五行显存


.cseg

ht1621init:        ;HT1621初始化
        ldi        r16,                lcdon
        rcall        ht1621wrcom       
        ldi        r16,                sysen
        rcall        ht1621wrcom
        ldi        r16,                bias       
        rcall        ht1621wrcom
       
        ret

lcdwr1000:        ;写命令数据头为101
        sbi        lcdport,        lcdsda
        cbi        lcdport,        lcdsck
        sbi        lcdport,        lcdsck
       
        cbi        lcdport,        lcdsda
        cbi        lcdport,        lcdsck
        sbi        lcdport,        lcdsck
       
        cbi        lcdport,        lcdsck
        sbi        lcdport,        lcdsck
       
        cbi        lcdport,        lcdsck
        sbi        lcdport,        lcdsck
       
        ret

lcdwr101:        ;写数据数据头为101
        sbi        lcdport,        lcdsda
        cbi        lcdport,        lcdsck
        sbi        lcdport,        lcdsck

        cbi        lcdport,        lcdsda
        cbi        lcdport,        lcdsck
        sbi        lcdport,        lcdsck

        sbi        lcdport,        lcdsda
        cbi        lcdport,        lcdsck
        sbi        lcdport,        lcdsck

        ret

lcdwr000000:        ;向HT1621写入RAM地址为6位数,从0开始
        cbi        lcdport,        lcdsda
        push        r17
        ldi        r17,                6
lcdwr60:
        cbi        lcdport,        lcdsck
        sbi        lcdport,        lcdsck
        dec        r17
        brne        lcdwr60
        pop        r17

        ret

ht1621wrcom:        ;向HT1621写入一个命令字节
        cbi        lcdport,        lcdcs

        rcall        lcdwr1000

        rcall        ht1621wrbyte

        sbi        lcdport,        lcdcs
        sbi        lcdport,        lcdsda

        ret

ht1621dis:        ;向HT1621写入16个字节,即显示16个数字
        cbi        lcdport,        lcdcs
       
        rcall        lcdwr101

        rcall        lcdwr000000

        push        r18
        ldi        r18,                15
        ldi        xh,                high(l1disbuf)
        ldi        xl,                low(l1disbuf)
       
ht1621wrda010:
        ldi        zh,                high(numtab*2)
        ldi        zl,                low(numtab*2)
       
        ld        r16,                x+
        clr        r17
        add        zl,                r16
        adc        zh,                r17
        lpm        r16,                z
        rcall        ht1621wrbyte
        dec        r18
        brne        ht1621wrda010
        sbi        lcdport,        lcdcs
        pop        r18
       
        ret

disbufinit:        ;显示缓存初始化
        ldi        xh,                high(l1disbuf)
        ldi        xl,                low(l1disbuf)
        push        r17
        ldi        r17,                16
        ldi        r16,                $00
disbufinit010:
        st        x+,                r16
        inc        r16
        dec        r17
        brne        disbufinit010
        pop        r17
       
        ret

disbufclr:        ;清零显示缓存
        ldi        xh,                high(l1disbuf)
        ldi        xl,                low(l1disbuf)
        push        r17
        ldi        r17,                4
        ldi        r16,                16        ;16=空格即不显示
disbufclr010:
        st        x+,                r16
        st        x+,                r16
        st        x+,                r16
        st        x+,                r16
        dec        r17
        brne        disbufclr010
        pop        r17

        ret

ht1621wrbyte:        ;向HT1621写入一个字节
        push        r17
        ldi        r17,                8
ht1621wrbyte000:
        rol        r16
        brcc        ht1621wrbyte010
        sbi        lcdport,        lcdsda
        rjmp        ht1621wrbyte020
ht1621wrbyte010:
        cbi        lcdport,        lcdsda
ht1621wrbyte020:
        cbi        lcdport,        lcdsck
        sbi        lcdport,        lcdsck
        dec        r17
        brne        ht1621wrbyte000
        pop        r17

        ret

/*
$01对应卡尔,年,月,日,2个冒号,星期
$02对应NUM1-15的C显示
$04对应NUM1-15的G显示
$08对应NUM1-15的B显示
$10对应NUM1-15的D显示
$20对应NUM1-15的E显示
$40对应NUM1-15的F显示
$80对应NUM1-15的A显示
第一行NUM1-15与第2-5行NUM1-8的显示码表格
第2-5行NUM9-15显示码要高低半字节交换*/
numtab:
.db $fb,$0b,$bd,$9f,$4f,$d7,$f7,$8b,$ff,$df,$ef,$77,$35,$3f,$f5,$e5,$00

ijlc1314 发表于 2011-12-5 13:55:13

上Holtek的网站,上面有应用范例的

         http://www.holtek.com.tw/chinese/tech/appnote/uc/pdf/ha0103t.pdf

2fen 发表于 2011-12-5 13:55:30

回复【5楼】HYLG 西北风
-----------------------------------------------------------------------

好的,送你一个液晶。
请不要贴代码了。
请发原理图、PCB,最终开源DIY玩是目的

2fen 发表于 2011-12-5 23:05:49

看来还是我上点资料吧 大家都忙了




http://cache.amobbs.com/bbs_upload782111/files_48/ourdev_701898Q09O4V.jpg
(原文件名:20.jpg)

http://cache.amobbs.com/bbs_upload782111/files_48/ourdev_701899LUPT8R.jpg
(原文件名:30.jpg)

2fen 发表于 2011-12-5 23:06:27

http://cache.amobbs.com/bbs_upload782111/files_48/ourdev_701900OJNDHE.jpg
(原文件名:40.jpg)

2fen 发表于 2011-12-5 23:08:56

已经用HT1621点亮,看来开源还是没深入人心,算了!

wangguanfu 发表于 2011-12-5 23:37:12

前几天开了片HTN的玻璃,4个COM,32个SEG,用了900RMB ,还买了买了90颗HT1621B

mfketggo 发表于 2011-12-9 21:18:56

HT1621驱动段式液晶

我没用过这可芯片 但是感觉应该用在不具备段码驱动的430单片机中

楼主可以考虑一下4系列的41310元的价格,带段码驱动的

正常做段码驱动 首先要确定主时钟FLL+
               然后确定液晶频率在BTCTL中设定
               然后是测试段码   abcdefg对应各段
               再就是测试位码   LCDMEM~LCDMEM有具体的单品级驱动液晶段数决定
               最后就是应用啦
               想显示什么就赋值给LCDMENOK

希望能得到一片液晶屏

2fen 发表于 2012-1-27 01:20:24

http://cache.amobbs.com/bbs_upload782111/files_51/ourdev_714544MD1KSN.jpg
(原文件名:120.jpg)

reflecter 发表于 2012-2-15 17:25:23

Mark
不敢再询问Nikon啥商务信息了,汗~

liusongjin 发表于 2012-2-18 15:37:42

很好的东西啊!!!
页: [1]
查看完整版本: HT1621驱动段式液晶,有价值的回帖赠送段式液晶(共5块)