护士节送什么鲜花| ysy是什么意思| 枸杞泡水喝有什么好处| 喝荷叶茶有什么好处和坏处| 蹲着有什么好处| 菩提是什么东西| 鱼泡是鱼的什么器官| 有痔疮不能吃什么食物| 佝偻病是缺什么| 纯洁是什么意思| 做爱时间短吃什么药好| 梦见下雪了是什么意思| 行善积德是什么生肖| 孺子可教什么意思| 我们为什么会笑| 口交是什么| 阴道有味道是什么原因| 风邪是什么| 瓦特发明了什么| b超挂什么科| 糖尿病可以吃什么肉| pb是什么意思| 心机女是什么意思| 前程无量是什么意思| 花枝是什么食材| 独一味是什么药| 生姜放肚脐眼有什么功效| 肩胛骨麻麻的什么原因| 到付是什么意思| 年柱金舆是什么意思| 西洋参和人参有什么区别| 抹茶是什么意思| 什么开窍于耳| 什么车性价比最高| 板栗不能和什么一起吃| 姐字五行属什么| 白醋泡脚有什么好处| 孩子注意力不集中是什么原因| 热敷肚子有什么好处| 人为什么打呼噜| 少阳病是什么意思| 什么是冰丝面料| 女人喜欢什么样的阴茎| 古人的婚礼在什么时候举行| 嗓子疼喝什么饮料| 心血管堵塞吃什么药| 飞蚊症用什么眼药水| 北豆腐是什么| 在什么什么后面| 为什么会宫外孕| 耳垂后面有痣代表什么| 地什么人什么| 一代明君功千秋是什么生肖| 日语亚麻得是什么意思| 下午16点是什么时辰| 年柱将星是什么意思| 柔式按摩是什么意思| 小孩胃疼吃什么药好| 养老院护工都做些什么| 嘌呤是什么| 脚凉是什么原因造成的| 异麦芽酮糖醇是什么| 低血糖什么症状有哪些| 什么牌子的氨糖好| 幼儿园报名需要什么资料| 银五行属性是什么| 肉蒲团是什么意思| 太平果是什么水果| 狗仗人势是什么生肖| 鼻塞喉咙痛吃什么药| 红糖和黑糖有什么区别| 2024年是什么命| 介错是什么意思| 肚子疼去医院挂什么科| 吃什么胎儿眼睛黑又亮| 身上毛发旺盛什么原因| 低血糖吃什么好的最快| 瓦是什么的单位| 晚上扫地有什么说法| 亡羊补牢说明什么道理| 什么叫甘油三酯| ct胸部平扫检查出什么| 音高是什么意思| copd是什么病的简称| 演唱会安可是什么意思| 黑色素是什么| 目前除皱最好的方法是什么| 胃酸过多吃什么食物好| 亚麻籽是什么| 白果治什么病| 哈根达斯是什么| 气血虚吃什么中成药| 唏嘘不已的意思是什么| 游离三碘甲状腺原氨酸是什么意思| 打豆豆什么意思| 做妇科检查前需要注意什么| 边鱼是什么鱼| 子宫肌瘤不能吃什么| 鸳鸯浴是什么意思| 肾气不足是什么原因| 儿童办护照需要什么材料| 1月21日什么星座| 刮宫和清宫有什么区别| 大圣归来2什么时候上映| 眼角发痒是什么原因| 徒刑是什么意思| 故事是什么意思| 什么病不能吃鲤鱼| 孤帆远影碧空尽的尽是什么意思| 身份证最后一位x是什么意思| 乳房头疼是什么原因| 胚胎是什么| 寒凝血瘀吃什么中成药| 圆脸适合什么短发发型| 蓝色的猫是什么品种| 画地为牢什么意思| haccp认证是什么意思| 中山大学是什么级别| 肋下未及是什么意思| 66年出生属什么生肖| 飞机杯什么感觉| 本命年为什么不能结婚| 近视是什么意思| 自身免疫性疾病是什么意思| 橙子什么季节成熟| 甲钴胺有什么作用| 吃什么东西可以减肥| 为什么崴脚了休息一晚脚更疼| 隔桌不买单是什么意思| 为什么会得霉菌性阴道炎| 干咳是什么病的前兆| 505是什么意思| 女生做彩超是检查什么| 什么在千里| 道心是什么意思| 橘子什么时候成熟| 心凉是什么意思| 后背疼痛是什么原因| 大面念什么| 奇怪的什么| 卧榻是什么意思| 为伊消得人憔悴什么意思| 自身免疫性肝病是什么意思| 老年人睡眠多是什么原因| 乙肝15阳性是什么意思| 潜力是什么意思| 静脉血是什么颜色| 曲安奈德是什么药| #NAME?| 作古是什么意思| hpv81阳性是什么意思| 一日清闲一日仙是什么生肖| 囧是什么意思| 冒泡是什么意思| 鱼皮是什么鱼的皮| 圆寂什么意思| 沉鱼落雁什么意思| 捞佬是什么意思| 赵本山是什么学历| 疏通血管吃什么药| 脖子上有痣代表什么| 乙基麦芽酚是什么东西| 痰多是什么原因引起的| 坐月子能吃什么蔬菜| 收悉是什么意思| 9号来的月经什么时候是排卵期| ghz是什么单位| 白蜡金命五行缺什么| 什么是狂躁症| 什么是聚酯纤维| 坐西向东是什么宅| 猫代表什么象征意义| 刘字五行属什么| 棉麻是什么面料| 胃疼吃什么食物最养胃| 月经期间可以喝什么茶| fzl什么意思| ost是什么| 鬼针草能治什么病| 目字旁与什么有关| 钾高了会出现什么症状| 猪精是什么意思| 眼帘是什么意思| 你的生命有什么可能| 阑尾炎吃什么药效果好| 涸的意思是什么| 什么鱼最好吃| 什么时候吃榴莲最好| 为什么会打呼噜| 裤裙搭配什么上衣好看| 不可磨灭是什么意思| 西洋参补什么| 10月15日是什么星座| 焚香是什么意思| 再生纤维是什么| 老觉得饿是什么原因| 九一年属什么生肖| 肠胃不好吃什么好| 嗷呜是什么意思| 茶壶嘴为什么不能对着人| 蓝帽子标志是什么意思| 什么心竭什么| 孕妇吃什么能马上通便| 八一建军节什么生肖| 牛奶不能和什么东西一起吃| 五色土有什么风水作用| 不拘小节是什么意思| 脚酸是什么原因引起的| 710是什么意思| 三花五罗都是什么鱼| 林彪为什么要叛逃| 什么是穿刺手术| 时光荏苒是什么意思| 0元购是什么意思| 藏在我回忆里的那个人什么歌| 梦见狼狗是什么预兆| 蜕膜是什么| 疱疹用什么药可以根治| 6.18是什么星座| 记性不好吃什么药| 属马的男生和什么属相最配| 长公主是什么意思| 头疼是什么病的前兆| 1995年属猪的是什么命| 生育酚乙酸酯是什么| 一品诰命夫人是什么意思| 殁年是什么意思| 输卵管为什么会堵塞原因是什么| 睡觉多梦是什么原因| 23岁属什么生肖| 疝气是什么意思| 10.28是什么星座| 1007是什么星座| 为什么叫五十肩| 血红蛋白低吃什么可以补起来| 什么是偏光眼镜| 双子座男生喜欢什么样的女生| 紫荆花的花语是什么| 加息是什么意思| 北极贝长什么样| 早饱是什么意思| 刮痧是什么| 补肾吃什么药好| 促黄体生成素低说明什么| 藏头诗什么意思| 什么条件| 蛋白质阴性是什么意思| 69年属什么| 真菌阴性是什么意思| 蔗糖脂肪酸酯是什么| 什么是阴道| 这是什么情况| gpa什么意思| 怒发冲冠是什么意思| 牙龈爱出血是什么原因| 开胃菜都有什么| 羊水穿刺是检查什么的| 2月什么星座| 彩虹代表什么| 息风止痉是什么意思| 呼吸内镜检查什么| 恳请是什么意思| 打脸是什么意思| 肺热咳嗽吃什么药| 百度

首页 > 评测 > 【HC32L196PCTA测评】+点阵板显示驱动篇

郭树清任中国银行保险监督管理委员会党委书记(图)-人事任免-时政频道-中工网

  
  • 作者:
  • 来源:
  • [导读]
  • #申请原创# @21小跑堂 在通常的情况下,我们所所用的显示器件多是数码管、液晶屏、OLED屏及TFT屏。但在公共场合要显示信息,就要有较大尺寸以便观察。通常多使用半板来拼接成较大的广告牌,这里使用的是一款P4.75的
#申请原创# @21小跑堂
在通常的情况下,我们所所用的显示器件多是数码管、液晶屏、OLED屏及TFT屏。但在公共场合要显示信息,就要有较大尺寸以便观察。
通常多使用半板来拼接成较大的广告牌,这里使用的是一款P4.75的红色点阵板,其显示分辨率为16*64像素点。
图1 点阵屏外观

该点阵屏采用的接口方式为HUB08,各引脚的名称如图2所示。
  
图2  HUB08接口

该点阵屏与开发板的连接关系为:
A ----PE3
B ----PE4
C ----PE5
D ----PE2
R1 ----PA12
CLK----PA11
EN ----PE12
STB----PE11

所用引脚输出高低电平的语句定义为:
#define LA_high    Gpio_SetIO(GpioPortE, GpioPin3)
#define LA_low     Gpio_ClrIO(GpioPortE, GpioPin3)
#define LB_high    Gpio_SetIO(GpioPortE, GpioPin4)
#define LB_low     Gpio_ClrIO(GpioPortE, GpioPin4)
#define LC_high    Gpio_SetIO(GpioPortE, GpioPin5)
#define LC_low     Gpio_ClrIO(GpioPortE, GpioPin5)
#define LD_high    Gpio_SetIO(GpioPortE, GpioPin2)
#define LD_low     Gpio_ClrIO(GpioPortE, GpioPin2)
#define LR1_high   Gpio_SetIO(GpioPortA, GpioPin12)
#define LR1_low    Gpio_ClrIO(GpioPortA, GpioPin12)
#define CLK_high   Gpio_SetIO(GpioPortA, GpioPin11)
#define CLK_low    Gpio_ClrIO(GpioPortA, GpioPin11)
#define LEN_high   Gpio_SetIO(GpioPortE, GpioPin12)
#define LEN_low    Gpio_ClrIO(GpioPortE, GpioPin12)
#define LSTB_high  Gpio_SetIO(GpioPortE, GpioPin11)
#define LSTB_low   Gpio_ClrIO(GpioPortE, GpioPin11)

所用引脚的初始化函数为:
  1. void dzb_GPIO_Init(void)
  2. {
  3.     stc_gpio_cfg_t stcGpioCfg;
  4.     Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE);
  5.     stcGpioCfg.enDir = GpioDirOut;
  6.     stcGpioCfg.enPu = GpioPuDisable;
  7.     stcGpioCfg.enPd = GpioPdEnable;
  8.     Gpio_Init(GpioPortA, GpioPin11, &stcGpioCfg);
  9.         Gpio_Init(GpioPortA, GpioPin12, &stcGpioCfg);
  10.     Gpio_Init(GpioPortE, GpioPin2, &stcGpioCfg);
  11.         Gpio_Init(GpioPortE, GpioPin3, &stcGpioCfg);
  12.         Gpio_Init(GpioPortE, GpioPin4, &stcGpioCfg);
  13.         Gpio_Init(GpioPortE, GpioPin5, &stcGpioCfg);
  14.         Gpio_Init(GpioPortE, GpioPin11, &stcGpioCfg);
  15.           Gpio_Init(GpioPortE, GpioPin12, &stcGpioCfg);
  16. }
复制代码

点阵板发送数据的函数为:
  1. void OutByte(uint16_t dat)
  2. {
  3.     uint8_t i=0 ;
  4.     for(i=0;i<16;i++)
  5.     {
  6.         CLK_low;
  7.         if(dat&0x0001)
  8.         {
  9.             LR1_high;
  10.         }
  11.         else
  12.         {
  13.             LR1_low;
  14.         }
  15.         dat=dat>>1;
  16.         CLK_high;
  17.     }
  18. }
复制代码

发送多列数据的函数为:
  1. void DisCol(uint16_t lenght)
  2. {
  3.     uint16_t dat;
  4.     uint8_t m=0;
  5.     while(lenght--)
  6.     {
  7.          dat=(S[sj[m+1]*16+ScanRow]<<8)+S[sj[m]*16+ScanRow];
  8.          OutByte(dat);
  9.          m=m+2;
  10.     }
  11. }
复制代码

输出行地址的函数为:
  1. void  SeleRow(uint8_t Nd)
  2. {
  3.     uint8_t N;
  4.     N=Nd;
  5.     N=N%16;
  6.     if(N&0x01)   LA_high;
  7.     else  LA_low;
  8.     if (N&0x02)  LB_high;
  9.     else  LB_low;
  10.     if (N&0x04)  LC_high;
  11.     else  LC_low;
  12.     if (N&0x08)  LD_high;
  13.     else  LD_low;
  14. }
复制代码

实现显示输出的函数为:
  1. void  Display(void)
  2. {
  3.       DisCol(4);
  4.       LEN_high;
  5.       LSTB_high;
  6.       LSTB_low;
  7.       SeleRow(ScanRow);
  8.       LEN_low;
  9.       ScanRow++;
  10.       if(ScanRow>15)  ScanRow=0;
  11. }
复制代码

为实现数字符号的显示,以字模提取软件所构建的字库存储结构为:
u8 S[]={
0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00,/*"0",0*/
0x00,0x00,0x00,0x08,0x0E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00,/*"1",1*/
0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x20,0x20,0x10,0x08,0x04,0x42,0x7E,0x00,0x00,/*"2",2*/
...
0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x64,0x58,0x40,0x40,0x24,0x1C,0x00,0x00,/*"9",9*/
0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,/*":",10*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"-",11*/
};

实现显示输出效果的函数为:
  1. int32_t main(void)
  2. {
  3.     dzb_GPIO_Init();
  4.     ScanRow=0;
  5.     while (1)
  6.     {
  7.          Display();
  8.                  delay1ms(1);
  9.     }
  10. }
复制代码

经程序的编译与下载,其显示效果如图3所示。
3显示效果

在以上驱动程序的基础上,将测试的固定数值改为读取字库中的字模即可实现字符或汉字的显示。
可通过工具软件PCtoLCD2002来提取字模,并将字模存放到数组中,其格式为:
uint8_t tab[]={
0x00,0x00,0xF8,0x23,0x00,0x10,0x00,0x10,0x00,0x00,0xFC,0x07,0x20,0xF1,0x20,0x11,
0x20,0x11,0x20,0x11,0x24,0x11,0x24,0x12,0x24,0x12,0x1C,0x14,0x00,0x28,0xFE,0x47,/*"",0*/
0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0xF8,0x03,0x00,0x02,
0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0xFE,0xFF,0x00,0x00,/*"",1*/
0x00,0x02,0x00,0x01,0xFE,0x7F,0x42,0x44,0xF4,0x9F,0x40,0x04,0xF8,0x3F,0x40,0x04,
0xFE,0xFF,0x20,0x08,0x10,0x13,0x88,0x20,0x46,0xC0,0x00,0x06,0x80,0x01,0x40,0x00,/*"",2*/
0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,
0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0xF8,0x3F,0x08,0x00,0x00,0x00,/*"",3*/
...
};
实现满屏静态显示的函数为:
  1. void DisCol(int16_t lenght)
  2. {
  3.           int16_t dat,n;
  4.           int8_t m=0;
  5.       while(lenght--)
  6.       {
  7.                    dat=( tab [m*32+ScanRow*2+1]<<8)+ tab [m*32+ScanRow*2];
  8.                    OutBytep(dat);
  9.                    m=m+1;
  10.      }
  11. }
复制代码

其显示的效果如图4所示,说明显示效果正确。
4  静态显示效果
若要实现向上滚屏显示,则其显示函数为:
  1. void DisColp(uint16_t lenght)
  2. {
  3.             uint16_t dat,n;
  4.             uint8_t m=0;
  5.             while(lenght--)
  6.         {
  7.                          n=(ScanRow+hang)%16;
  8.                          dat=( tab [m*32+n*2+1]<<8)+ tab [m*32+n*2];
  9.                      OutBytep(dat);
  10.                      m=m+1;
  11.       }
  12. }
复制代码

5  滚动显示效果

视频演示:

  • 本文系21ic原创,未经许可禁止转载!

网友评论

紫萱名字的含义是什么 后生是什么意思 云南有什么 做健身教练有什么要求 驿站什么意思
梅子是什么水果 ca724偏高是什么意思 感染性疾病科看什么病 lpa是什么意思 乳腺点状钙化是什么意思
插肩袖是什么意思 京酱肉丝是什么菜系 网络诈骗打什么电话 嘴唇溃疡是什么原因 1953年是什么生肖
放大镜是什么镜 贫血是什么意思 吃完头孢不能吃什么 俄罗斯被称为什么 子宫内膜增厚有什么影响
牛黄清心丸适合什么人群吃hcv8jop2ns6r.cn 白色糠疹用什么药膏hebeidezhi.com design是什么牌子hcv7jop7ns2r.cn 肿瘤前期有什么症状hcv8jop7ns9r.cn 出家人不打诳语是什么意思hcv8jop3ns0r.cn
瓜子脸适合剪什么发型hcv9jop3ns3r.cn 例假不能吃什么水果hcv8jop3ns1r.cn 周深为什么是女声hcv8jop8ns2r.cn 焦虑会引起什么症状wuhaiwuya.com 2029年属什么生肖hcv9jop5ns4r.cn
三什么什么什么成语hcv7jop6ns0r.cn 癃闭什么意思hcv7jop5ns2r.cn 性侵是什么意思hcv9jop8ns2r.cn 睾丸皮痒用什么药膏hcv7jop9ns5r.cn 什么是超七水晶hcv8jop0ns7r.cn
吹牛皮是什么意思hcv9jop5ns8r.cn 己未日五行属什么hcv8jop9ns8r.cn 田可以加什么偏旁hcv7jop9ns5r.cn 怀孕查雌二醇什么作用hcv8jop5ns0r.cn 昆虫记是什么类型的书hcv8jop3ns0r.cn
百度