使用使用使用使用 HT1632C 驱动点阵式驱动点阵式驱动点阵式驱动点阵式 LED 显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人 V1.10 1 June 17, 2010 使用使用使用使用 HT1632C 驱动点阵式驱动点阵式驱动点阵式驱动点阵式 LED 显示屏显示小绿显示屏显示小绿显示屏显示小绿显示屏显示小绿人人人 人 文件编码文件编码文件编码文件编码 ::: : HA0136S 简介简介简介简介 HT1632C 是一种 Memory Mapping LED 显示驱动器 ,它广泛应用在数字时钟 、温度计 、湿度计等工业仪器仪表显示中 步行小绿人 Demo Board 是利用 HT1632C 驱动由 6 个 8×8LED 点阵块组成的 24×16LED 点阵幕来显示小緑人行走动画 采用 HT48R10A-1 为主芯片来控制 HT1632C 进行数据传输 ,HT48R10A-1 通过 CS、 WR、 DATA 三根线 将数据写入 HT1632C。
HT1632C 有两种显示方式 : 24 ROW/16 COM & 32 ROW/8 COM,此设计采用 24 ROW/16 COM 显示方式 步行小绿人由 10 幅不同姿势的画面来完成一个走路动作 按键用来改变小绿人动作状态 HT1632C 的基本特征的基本特征的基本特征的基本特征 • HT1632C 工作电压 : 2.4V~5.5V • 两种显示方式 (32 ROW & 8 COM 或 24 ROW & 16 COM) • 内建显示 RAM (若选 32 ROW & 8 COM 显示方式 ,显示 RAM 为 64×4bit; 若选 24 ROW & 16 COM 显示方式 ,显示 RAM 为 96×4bit) • 16 级 PWM 亮度控制 • 内建 256K RC 振荡器 • 与 MCU 接口为串行接口方式 • 与 MCU 通讯有命令指令和数据指令 • Common 线可选为 N-MOS Open drain 输出驱动或 P-MOS Open drain 输出驱动 使用使用使用使用 HT1632C 驱动点阵式驱动点阵式驱动点阵式驱动点阵式 LED 显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人 V1.10 2 June 17, 2010 硬件方块图硬件方块图硬件方块图硬件方块图 图 1 主芯片为 HT48R10A-1 控制 HT1632C LED Driver。
HT48R10A-1 采用 4M 外部 RC 振荡 ,HT1632C 采用内部 150kHz RC Oscillator LED Driver 的信号线 CS、 WR、 DATA 分别与HT48R10A-1 的 PA0、 PA1、 PA2 相连接 ,主芯片 HT48R10A-1 一按键与 PA.4 相连 由 6个 8×8 LED点阵块组成 24×16大小的显示屏 (2列 3排 ), HT1632C采用 24 ROW/16 COM显示方式 HT1632C ROW0~ROW23 使用使用使用使用 HT1632C 驱动点阵式驱动点阵式驱动点阵式驱动点阵式 LED 显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人 V1.10 3 June 17, 2010 硬件电路说明硬件电路说明硬件电路说明硬件电路说明 图 2 电源输入电压为 DC 9V,经过 7805 稳压 ,输出电压为 5V C7、 C8、 C9、 C10 为滤波电容 此次设计 HT1632C 采用内部 RC 振荡电路 ,振荡频率为 256kHz。
主芯片 HT48R10A-1 采用外部 4MHz 晶振 C1、 C2、 C3、 R1、 R2 组成 HT48R10A-1 的复位电路 使用使用使用使用 HT1632C 驱动点阵式驱动点阵式驱动点阵式驱动点阵式 LED 显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人 V1.10 4 June 17, 2010 LED 点阵块内部结构 : 图 3 8×8LED 点阵块各 PIN 分布如下 : 图 4 R 代表 Row、 C 代表 Column 此图为 LED 的正面 使用使用使用使用 HT1632C 驱动点阵式驱动点阵式驱动点阵式驱动点阵式 LED 显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人 V1.10 5 June 17, 2010 LED 排列原则 : LED 显示采用 24 ROW / 16 COM 模式 (2 列 3 排 )。
Column 与 HT1632C 的 COM 相连 , Row与 ROW 相连 ,如图 5: 图 5 按键用来改变小绿人走路状态 此按键连到 HT48R10A-1 的 PA.4 小绿人开始从屏幕的右边第一排缓缓走出 ,一直往左走直至消失 ,然后又从右边 ,第一排开始走出 ,这样不停地循环 当有按键按下 ,小绿人在原地走动 ,当再次按下按键 ,小人从原地继续往前走 使用使用使用使用 HT1632C 驱动点阵式驱动点阵式驱动点阵式驱动点阵式 LED 显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人 V1.10 6 June 17, 2010 软件设计说明软件设计说明软件设计说明软件设计说明 流程图流程图流程图流程图 • MIAN 使用使用使用使用 HT1632C 驱动点阵式驱动点阵式驱动点阵式驱动点阵式 LED 显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人 V1.10 7 June 17, 2010 • INTERRUPT 使用使用使用使用 HT1632C 驱动点阵式驱动点阵式驱动点阵式驱动点阵式 LED 显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人 V1.10 8 June 17, 2010 • HAVEKEY_LED 使用使用使用使用 HT1632C 驱动点阵式驱动点阵式驱动点阵式驱动点阵式 LED 显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人 V1.10 9 June 17, 2010 • SCAN_LED SCAN_LEDR_SEG & TBLP赋初值READ TABLEINC TBLPINC R_SEGINC COUNTR_SEG.7=1TAB_ADR=TAB_ADR+PATTERNCOUNT=44TAB_ADR=LED_COUNTTAB_ADR=OFFSET TAB_LEDTEMP_ADDR=0D4HMAIN_LOOPTEMP_ADDR=60HNYYYNYN 使用使用使用使用 HT1632C 驱动点阵式驱动点阵式驱动点阵式驱动点阵式 LED 显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人 V1.10 10 June 17, 2010 • READ TABLE 使用使用使用使用 HT1632C 驱动点阵式驱动点阵式驱动点阵式驱动点阵式 LED 显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人 V1.10 11 June 17, 2010 • HT1632C WRITE WRITE_1632I/O的初值设置TEMP[1]=A3A2A1A0D0D1D2D3TEMP[0]=101A6A5A4设定循环 14次初值TEMP[0].5 =0CLR DTCLR WRSET WRRLC TEMP[1] RLC TEMP[0] 循环 14结束 ?RETSET DTNYYN 使用使用使用使用 HT1632C 驱动点阵式驱动点阵式驱动点阵式驱动点阵式 LED 显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人显示屏显示小绿人 V1.10 12 June 17, 2010 软件设计说明软件设计说明软件设计说明软件设计说明 此设计 由 10 幅不同的图形来完成一个走路动作 ,因此编写软件的重点在于图片的切换和图片逐渐消失的临界点的处理 (参考 SCAN_LED 流程 )。
其中 R_SEG 是 HT1632C 地址的数据存储器 , R_ADDR 是 HT1632C 的地址 , COUNT 是一幅图片所占用地址数 , TEMP_ADDR记录小绿人在 LED 移动的位置 MAIN:主程序循环流程图 SCAN_LED:无键按下时 ,小绿人往前跑 HAVEKEY_LED:有键按下时 ,小绿人原地跑 INTERRUPT:判断是否有键按下 ,如果没有继续循环 ,如果有跳到 HAVEKEY_LED READ TABLE:读数据并作处理 每显示完一个动作 ,图片左移一格 ,当图片处于 LED 临界点 (即最左边或最右边 ),读取的数据不写入 HT1632C,直至完全消失 , TEMP_ADDR 重新赋值 每读完一个数据 , R_SEG 会加 3、 COUNT 加 3、 TBLP 加 1 或 2、 TEMP_ADDR 需减 4 由于有些图片每次读的 DATA 需要 16 Bits,而 HT48R10A-1 的 ROM 为 1024×14Bits,因此输送数据时先判断 DATA 高位是否为 3F (表示传送数据为 16Bits),如果是 , TBLP 加 1,如果不是 ,则传送数据 。
HT1632C 每次传送的 DATA 为 4 Bits,因此每次读得的数据需分高 、低位分别传送 (参考 READ TABLE 流程 ) 每显示完一幅图片 ,需延时一段时间后再重新读值 ,因此如果要改变小绿人的行走速度 ,改变 DELAY 的时间即可 小绿人原地走动采用方法为 :记下 TEMP_ADDR 的值不再改变 ,仍然给 R_ADDR 读表赋值,当再有按键按下时 TEMP_ADDR=TEMP_ADDR-4 在写 HT1632C 时,写一个 HT1632C。