折腾xx1640驱动共阳数码管,显示只一次正常,刷新就乱码!

2020-01-12 17:17发布

网上找的1640程序,多是  驱动共阴数码管的,客户要共阳!
找到个转换程序套上,可以正常显示0~9~abcd,但是,更新第二次显示,就是乱码,单独显示一次就正常???
折腾一天了,非常抓狂了???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
21条回答
JY-MCU
2020-01-13 06:52
void Start(void)
{
        SCLK_high;
        _delay_us(5);
        DIN_high;
        _delay_us(5);
        DIN_low;
        _delay_us(5);
//        SCLK_low;
//        _delay_us(5);
}
void Stop(void)
{
        SCLK_high;
        _delay_us(5);
        DIN_low;
        _delay_us(5);
        DIN_high;
        _delay_us(5);
}
void TM1640_Write(unsigned char        DATA)                        //写数据函数
{
        unsigned char i;
        for(i=0;i<8;i++)
        {
                SCLK_low;
                if(DATA&0X01)
                        DIN_high;
                else
                        DIN_low;
                _delay_us(5);
                DATA>>=1;
                _delay_us(5);
                SCLK_high;
                _delay_us(5);
        }
}
void Write_COM(unsigned char cmd)                //发送命令字
{
        Start();
        TM1640_Write(cmd);
        Stop();
}
void Write_DATA(unsigned char add,unsigned char DATA)                //指定地址写入数据
{
        Write_COM(0x44);
        Start();
        TM1640_Write(0xc0|add);
        TM1640_Write(DATA);
        Stop();
}
这是我在用的TM1640的底层驱动

一周热门 更多>