OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3757|回复: 6

请教:HT1632C的 LED 点阵模块其点与数据怎么对应的?

[复制链接]

12

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2017-6-15
在线时间
14 小时
发表于 2017-8-9 15:35:15 | 显示全部楼层 |阅读模式
1金钱
又来请教打扰诸位老师了。。。我用STM8S207S6驱动由HT1632C构成的9*16LED 点阵模块。。。可是输入的数据与“点亮”的LED怎么也对应不起来。。。。搞了两天了一点进展都没。。。上百度也没找到类似的说明。。。真是急死人了。。。输入的数据与“点亮”的LED应该怎么才能对应。。。。。于是只好又来请教打扰诸位老师了。。。恳请多多指点。。。。。。
下面是我的相关的驱动代码。。。请诸位指点。。。。。

#define Datd_9x16    GPIO_PIN_0 //定义9x16C时钟线对象,需要指定9x16时钟线管脚对应的GPIO管脚
#define WR_9x16      GPIO_PIN_1 //定义9x16数据线对象,需要指定9x16数据线管脚对应的GPIO管脚
#define CS_9x16      GPIO_PIN_2 //定义9x16数据线对象,需要指定9x16数据线管脚对应的GPIO管脚
#define RD_9x16      GPIO_PIN_3 //定义9x16数据线对象,需要指定9x16数据线管脚对应的GPIO管脚
define Datd_9x16_IN   GPIO_Init(GPIO_9x16, Datd_9x16, GPIO_MODE_IN_PU_NO_IT) //上拉输入无中断功能

#define Datd_9x16_H GPIO_WriteHigh(GPIO_9x16,Datd_9x16)
#define Datd_9x16_L GPIO_WriteLow(GPIO_9x16,Datd_9x16)
#define GPIO_9x16    GPIOB      //定义要使用的端口B

#define WR_9x16_H GPIO_WriteHigh(GPIO_9x16,WR_9x16)  //置指定端口位为高电平,该端口必须配置为输出
#define WR_9x16_L GPIO_WriteLow(GPIO_9x16,WR_9x16)   //置指定端口位为低电平,该端口必须配置为输出

#define CS_9x16_H GPIO_WriteHigh(GPIO_9x16,CS_9x16)  //置指定端口位为高电平,该端口必须配置为输出
#define CS_9x16_L GPIO_WriteLow(GPIO_9x16,CS_9x16)   //置指定端口位为低电平,该端口必须配置为输出

#define RD_9x16_H GPIO_WriteHigh(GPIO_9x16,RD_9x16)  //置指定端口位为高电平,该端口必须配置为输出
#define RD_9x16_L GPIO_WriteLow(GPIO_9x16,RD_9x16)   //置指定端口位为低电平,该端口必须配置为输出


void HT1632_Init(void)
{
    GPIOB->DDR |=0x0f;      // GPIO.0~.3为输出端口
    GPIOB->CR1 |=0x0f;      // GPIO.0~.3为推挽输出
    GPIOB->CR2 |=0x0f;      // GPIO.0~.3输出速度最大为10MHZ
}


/*******************************
*函数名:HT_9x16_clr
*描 述:清屏函数
*参 数:
*返 回:
********************************/
void HT_9x16_clr(void)
{
    u8 i;       
    CS_9x16_L;        //di..       
    HT_9x16_Writer(0xa0,3);       
    HT_9x16_Writer(0x00<<1,7);       
    for(i=0;i<36;i++)       
    {       
        HT_9x16_Writer(0,8);       
    }
    CS_9x16_H;
}

/*******************************
*函数名:HT_9x16_Init
*描 述:HT_9x16初始化函数
*参 数:
*返 回:
********************************/
void HT_9x16_Init(void)
{       
    HT_9x16_Writer_CMD(SYS_DIS);        //关闭HT_9x16内部RC时钟   
    HT_9x16_Writer_CMD(COM_OPTION);        //选择HT_9x16工作模式,COM,NMOS模式  
    HT_9x16_Writer_CMD(RC_MASTER_MODE); //选择内部RC时钟
    HT_9x16_Writer_CMD(SYS_EN);                //打开HT_9x16内部RC时钟
    HT_9x16_Writer_CMD(PWM_DUTY);       //PWM亮度设置         
    HT_9x16_Writer_CMD(BLINK_OFF);      //关闭闪烁  
    //HT_9x16_Writer_CMD(SLAVE_MODE);        // 从模式
    //HT_9x16_Writer_CMD(BLINK_ON);       
    HT_9x16_Writer_CMD(LED_ON);                //打开LED显示
}

/************************************************************
*函数名:HT_9x16_Writer_AllDATA
*描 述:指定地址写入连续数据,cnt为写入数据个数,按8位算
*参 数:Addr,*p,cnt
*返 回:
*************************************************************/
void HT_9x16_Writer_AllDATA(u8 Addr,u8 *p,u8 cnt)//指定起始地址连续写入数据,cnt为写入数据个数,每个数据按位算
{       
    u8 i;       
    CS_9x16_L;       
    HT_9x16_Writer(0xa0,3);       
    HT_9x16_Writer(Addr<<1,7);       
    for(i=0;i<cnt;i++)       
    {               
        HT_9x16_Writer(*p,8);               
        p++;       
    }       
    CS_9x16_H;
}

/*******************************
*函数名:HT_9x16_Writer_DATA
*描 述:指定地址写入数据
*参 数:Addr,Data
*返 回:
********************************/
void HT_9x16_Writer_DATA(u8 Addr,u8 Data)
{
    CS_9x16_L;       
    HT_9x16_Writer(0xa0,3);                //命令码101       
    HT_9x16_Writer(Addr<<1,7);             //写入7位地址       
    HT_9x16_Writer(Data,4);                //写入4位数据       
    CS_9x16_H;
}

//*******************************
//*函数名:HT_9x16_Writer_CMD
//*描 述:发送命令函数
//*参 数:cmd
//*返 回:
//********************************/                                        `
void HT_9x16_Writer_CMD(u8 cmd)
{
    CS_9x16_L;       
    HT_9x16_Writer(0x80,3);              //命令码100       
    HT_9x16_Writer(cmd,9);               //命令数据,第9位为0       
    CS_9x16_H;
}

/********************************************
*
函数名:HT_9x16_Writer
*描 述:HT_9x16发送数据函数,高位在前 按位算
*参 数ata,cnt
*返 回:
********************************************/
void HT_9x16_Writer(u8 wdat, u8 cnt)
{
    u8 i=0;
    Datd_9x16_OUT;//输出

    for(i=0;i<cnt;i++)
    {
        WR_9x16_L;         //拉低
        if(wdat&0x80) Datd_9x16_H;
        else Datd_9x16_L;
        WR_9x16_H;//延时2微妙
        wdat<<=1;  //准备下一位数据的发送       
        //WR_9x16_H;
        //delay_us(2);//延时2微妙

    }       
}

void Show_char(void)
{

  *p=GPdd[0];

  //*p=zidong[0];
  HT_9x16_Writer_AllDATA(0,p,6);

}





最佳答案

查看完整内容[请看2#楼]

总算琢磨出来了。。。解决了。。。。万岁!!!!!!!!!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2017-6-15
在线时间
14 小时
 楼主| 发表于 2017-8-9 15:35:16 | 显示全部楼层
总算琢磨出来了。。。解决了。。。。万岁!!!!!!!!!!

回复

使用道具 举报

12

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2017-6-15
在线时间
14 小时
 楼主| 发表于 2017-8-9 16:00:50 | 显示全部楼层
也就是一个图案与一组数据是怎么扫描对应的?????????
回复

使用道具 举报

12

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2017-6-15
在线时间
14 小时
 楼主| 发表于 2017-8-14 16:46:23 | 显示全部楼层
问题基本解决了。。。。。但对于9*23的阵列 HT1632C的 LED 点阵模块其第9行却显示不了。。。不知对第9行怎么寻地址、怎么驱动?
我用过8*32的模式,也用过16*24的模式。。。都没能有效地控制第9行的点阵显示。。。。请诸位老师多多指点——对于9*23的阵列 HT1632C的 LED 点阵模块的第9行是怎么寻地址、怎么驱动的????不胜感激!!!!!!
回复

使用道具 举报

557

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165002
金钱
165002
注册时间
2010-12-1
在线时间
2102 小时
发表于 2017-8-15 00:34:11 | 显示全部楼层
ygyh 发表于 2017-8-14 16:46
问题基本解决了。。。。。但对于9*23的阵列 HT1632C的 LED 点阵模块其第9行却显示不了。。。不知对第9行怎 ...

帮顶
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

12

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2017-6-15
在线时间
14 小时
 楼主| 发表于 2017-8-19 17:32:39 | 显示全部楼层
请求高手了。。。。。。帮帮忙。。。9*23的阵列 HT1632C的 LED 点阵模块其第9行却显示不了。。。不知对第9行怎么寻地址、怎么驱动?如附图:
gpdd1.png
gpdd2.jpg
回复

使用道具 举报

12

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2017-6-15
在线时间
14 小时
 楼主| 发表于 2017-8-19 17:34:55 | 显示全部楼层
“PM2.5”的“2”与“5”的下面一横就显示不出了。。。。请高手老师多多指教
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-6-26 07:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表