打印
[应用相关]

STM32F103驱动TM1639点亮数码管和LED

[复制链接]
848|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一、TM1639时序图


使用特权

评论回复
沙发
木木guainv|  楼主 | 2021-8-4 19:07 | 只看该作者
二、时序模拟代码

void led_init(void)
{
        GPIO_InitTypeDef  GPIO_InitStructure;

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO, ENABLE);         //使能PB,PE端口时钟

        GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;                                 
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                 
        GPIO_Init(GPIOB, &GPIO_InitStructure);                                       
        GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);       
}


void led_write_data(u8 data)
{
        u8 i;
        for(i=0;i<8;i++)
        {
                led_clk=0;
                if(data&0x01)
                        led_dio=1;
                else
                        led_dio=0;
                data>>=1;
                led_clk=1;
        }
}

void led_show_data(u8 *showData,u8 length)
{
        u8 i;
        led_stb=0;
        led_write_data(0x40);                                //设置数据命令
        led_stb=1;
        led_stb=0;
        led_write_data(0xc0);                                //设置显示地址
       
        for(i=0;i<length;i++)
                led_write_data(showData[i]);                //设置显示数据

       
        led_stb=1;
        led_stb=0;
        led_write_data(LED_ON|LED_BRIGHTNESS_3);                //设置显示控制命令
        led_stb=1;
}



使用特权

评论回复
板凳
wxllwj| | 2021-11-16 02:15 | 只看该作者
你好 请问TM1639接3个红光一位数码管和40个红led,VDD电压用3.3v好还是5v好啊?求解答拜托

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

156

主题

4130

帖子

5

粉丝