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。
上一篇:STM32F0xx_看门狗(独立+窗口)配置详细过程
下一篇:STM32 MAX7219驱动的8*8 LED点阵
推荐阅读
史海拾趣
进入21世纪后,随着全球对环保和可持续发展的关注度不断提高,迪贝电子也积极响应这一趋势,将环保和社会责任融入到企业的经营理念中。公司投入大量资金研发更加环保、节能的产品,并积极参与各种环保公益活动。同时,迪贝电子还积极推广绿色制造理念,通过优化生产流程、降低能耗和减少废弃物排放等措施,实现了企业的可持续发展。
随着业务的快速发展,Cincon开始将目光投向国际市场。1999年,公司在美国加州设立了办事处,以便更好地服务北美市场。同一年,为了应对日益增长的生产需求,Cincon在中国东莞设立了新工厂。这些举措极大地提升了公司的生产能力和国际市场竞争力,为Cincon的全球化发展打下了坚实的基础。
背景:为了进一步扩大市场份额和提高品牌影响力,振华新云积极开展市场拓展和国际合作。
内容:公司积极参加国内外电子展会和论坛等活动,加强与国内外客户的沟通和交流。同时,积极寻求与国际先进企业的合作机会,共同开展技术研发和市场推广等活动。
成果:通过市场拓展和国际合作,振华新云的产品逐渐走向世界舞台,赢得了广大客户的信赖和好评。同时,公司也积累了宝贵的国际化经验和资源,为未来的国际化发展奠定了坚实基础。
随着电子市场的日益成熟,Compact公司意识到单纯的技术创新已不足以支撑其长期发展。于是,公司开始积极寻求市场拓展和战略合作的机会。通过与国内外知名企业建立合作伙伴关系,Compact公司成功将其产品打入国际市场,进一步扩大了市场份额。同时,通过与上下游企业的紧密合作,Compact公司实现了产业链的整合,提高了整体运营效率。
Chenmoun Enterprise Ltd深知技术创新是企业发展的核心动力。因此,公司每年都会投入大量的资金用于研发新的电子产品和技术。通过不断的技术创新和产品升级,Chenmoun在行业内保持了领先地位,并实现了持续稳健的发展。
本帖最后由 paulhyde 于 2014-9-15 09:34 编辑 在国 际 恐 怖主义形势日益严峻的今天,公共场合的安全检查己经越来越受到国际安全组织的关注,对各国的安全防范己经成为各国一项重要议程.在公共场合的安检设备中,目前使用最为普遍的是X射线安检设 ...… 查看全部问答∨ |
|
我的一个程序编译OK,连接的时候有警告,虽然警告可以忽略,但是我想知道警告原因 向各位请教下,谢谢 [ 本帖最后由 simonprince 于 2010-6-9 15:26 编辑 ]… 查看全部问答∨ |
|
请教:为什么我的28335焊接到线路板上后,1.8V电源引脚和3.3V的电源引脚之间的阻值只有不到2欧姆,上电后1.8V电源引脚被拉到3.2V左右。请问28335芯片被烧掉了么?还是有其他的原因。 另,断开电源芯片与28335之间的导线后,电源芯片工作正常。… 查看全部问答∨ |