打印
[应用相关]

STM32软件模拟串口协议控制TM1652

[复制链接]
463|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
磨砂|  楼主 | 2021-9-7 08:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TM1652.c


#include "tm1652.h"
#include "delay.h"
       


void tm1652_init()
{
        GPIO_InitTypeDef  GPIO_InitStructure;


        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);


        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;                                 
        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_10);       


}


void tm1652_send_data(u8 sdat)
{
        unsigned char i=0, sfalg=0;
       
        //Æðʼλ
        TX=1;   TX=0;   delay_us(52);    //±£³Ö52us
       
   //·¢ËÍ8λÊý¾Ý
        for(i=0; i<8; i++)
        {
                if(sdat & 0x01)
                {
                        TX=1;
                        sfalg++;
                }else
                {
                        TX=0;
                }
                delay_us(52);
                sdat >>=1;
        }


        //УÑéλ,°´ÕÕ·¢ËÍÊý¾ÝÖÐ1µÄ¸öÊýÀ´ÅжÏ
        if(sfalg%2==0)                                
        {
                TX=1;
        }
        else                                
        {
                TX=0;
        }
        delay_us(52);
       
        //ֹͣλ
        TX=1;  delay_us(52);   
}


使用特权

评论回复
沙发
磨砂|  楼主 | 2021-9-7 08:10 | 只看该作者
main.c


                tm1652_send_data(0x08);
                tm1652_send_data(0xff);
                tm1652_send_data(0xff);
                tm1652_send_data(0xff);
                tm1652_send_data(0x00);
                tm1652_send_data(0x00);
                tm1652_send_data(0x00);
                tm1652_send_data(0x18);
                tm1652_send_data(0x4f);
                delay_ms(1000);


使用特权

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

本版积分规则

85

主题

3926

帖子

2

粉丝