历史上的今天
今天是:2024年11月09日(星期六)
2019年11月09日 | 基于ht1632c芯片的点阵驱动模块在STM32F103mini的应用
2019-11-09 来源:eefocus
ht1632c点阵模块

STM32F103RC(mini)
杜邦线
工程代码:https://download.csdn.net/download/goolete/10922678
驱动代码:https://download.csdn.net/download/goolete/10922879
取模软件:https://download.csdn.net/download/goolete/10922876
(取模软件用之前必须破解,否则生成为乱码,破解文件在压缩包里)
HT1632C点阵模块使用手册V1.0:https://download.csdn.net/download/goolete/10922908
HT1632C中文资料:
HT1632CV130 datasheet:https://download.csdn.net/download/goolete/10924443
方法/步骤
注:代码注释部分因时间问题可能有误,本文只给出部分代码。

次点阵模块由HT1632C芯片驱动,MCU与HT1632C通信只需要4根线便可。 /CS用来使能串行接口信号的传输以及终止其与外部MCU的通信。如果/CS被置1,则数据和命令的传输被禁止。DATA引线用来串行传输数据, /RD引线用来输入读时钟, RAM数据在/RD的下降沿被读出,该数据将会在DATA引线上被传输。 /WR引线用来输入写时钟,数据,地址和命令将会在DATA引线上被输入在/WR的下降沿。

查询STM32F103RC的IO引脚图,可知PA7PA6PA5PA4可作为本次实验的IO。
1.连线。
使用杜邦线将DATA#WR#RD#CS分别连接到MCU的PA7-4上,此外,将VCCGND分别连接到MCU的VOUT1或VOUT2上。
2.检查线路无误后,开始编写驱动接口。
#include "ht1632c.h"
void HT1632C_Interface_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能PA,PD端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7|GPIO_Pin_6|GPIO_Pin_5|GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
接口设置
#define DAT_SET GPIO_SetBits(GPIOA,GPIO_Pin_7); // PA7
#define LCD_CS_SET GPIO_SetBits(GPIOA,GPIO_Pin_5); //片选端口
#define LCD_WR_SET GPIO_SetBits(GPIOA,GPIO_Pin_6); //写数据
#define LCD_RD_SET GPIO_SetBits(GPIOA,GPIO_Pin_4); //读数据
3.小人点阵图片代码
//行走的小人图像1
//一个页面需要48个字节数据
unsigned char page1[48]={
0X00,0X00,0X01,0XC0,0X06,0X30,0X04,0X10,0X08,0X08,0X08,0X08,0X08,0X08,0X04,0X10,
0X06,0X30,0X03,0XE0,0X00,0X80,0X00,0X80,0X03,0XC0,0X0C,0XB0,0X10,0X88,0X00,0X84,
0X01,0XC0,0X01,0XC0,0X03,0X60,0X06,0X30,0X0C,0X18,0X0C,0X0E,0X00,0X00,0X00,0X00};
//行走的小人图像2
//一个页面需要48个字节数据
unsigned char page2[48]={
0X00,0X00,0X01,0XC0,0X06,0X30,0X04,0X10,0X08,0X08,0X08,0X08,0X08,0X08,0X04,0X10,
0X06,0X30,0X03,0XE0,0X00,0X80,0X00,0X80,0X03,0XC0,0X0C,0XB0,0X10,0X88,0X00,0X84,
0X01,0XC0,0X01,0XC0,0X01,0X40,0X01,0X40,0X01,0X40,0X01,0X60,0X00,0X00,0X00,0X00};
//行走的小人路面1数据,只是一行数据,2个字节
unsigned char road1[2]={0xF3,0xCF};
//行走的小人路面2数据,只是一行数据,2个字节
unsigned char road2[2]={0xCF,0x3C};
//行走的小人路面3数据,只是一行数据,2个字节
unsigned char road3[2]={0x3C,0xF3};
4.编写主程序
int main(void)
{
unsigned char *p1,*p2; //定义指向page数组的指针
delay_init();
p1=&page1[0]; //使指针指向数组地址
p2=&page2[0]; //使指针指向数组地址
HT1632C_Interface_Init(); //初始化1632接口
HT1632C_Init(); //初始化HT1632
HT1632C_clr(); //清屏
while(1)
{
HT1632C_Update_OnePage(p1); //显示人物1
HT1632C_Update_Onerow(24,road1); //显示路面1
delay_ms(60); //移动延时
HT1632C_Update_Onerow(24,road2); //显示路面2
delay_ms(50); //移动延时
HT1632C_Update_OnePage(p2); //显示人物2
delay_ms(50); //移动延时
HT1632C_Update_Onerow(24,road3); //显示路面3
delay_ms(60); //移动延时
}
}
5.烧录程序到MCU。
史海拾趣
|
摘要:本文介绍了测量噪声系数的三种方法:增益法、Y系数法和噪声系数测试仪法。这三种方法的比较以表格的形式给出。 前言在无线通信系统中,噪声系数(NF)或者相对应的噪声因数(F)定义了噪声性能和对接收机灵敏度的贡献。本篇应用笔记详细阐述这 ...… 查看全部问答> |
|
谁有EVC4.0+PocketPc2003开发PDA反面的电子书? 我刚刚接触EVC4.0+PocketPc2003开发PDA程序,在网上总找不到 相关的电子教程,哪位前辈能提供些教程啊!急 啊!… 查看全部问答> |
|
开年后,心思都在高频加热设备上,到今天,实验结果比较满意,频率920KHz,已经达到4500W的功率,目前看还有一定的扩展余量,基本满足产品需求,下一步将继续完善,实现产品化。 总的来说,做电源之前有两次经历,一次是03年的电动自行车项目,用a ...… 查看全部问答> |
|
EEWORLD大学堂----MSP430进阶培训—MSP430F5529的使用与开发 MSP430进阶培训—MSP430F5529的使用与开发:https://training.eeworld.com.cn/course/236 ????? MSP430F5529是德州仪器新一代F5xxx系列MCU的典型代表,不但拥有更低的功耗,而且在模拟外设、?数字外设和系统软件开发方面有了很大的改进。本培训课 ...… 查看全部问答> |




