标题: 单片机+max7219驱动数码管杆杠滴 [打印本页]

作者: wqwqw111    时间: 2019-7-11 19:29
标题: 单片机+max7219驱动数码管杆杠滴
51单片机驱动能力太垃圾,所以驱动数码管,用专用芯片max7219 妥妥的,当然也可以用于点阵
程序也非常简单,一个高电平拉高就搞定,程序如下,

#include<reg51.h>
#define u8 unsigned char
#define        u16 unsigned int
sbit clk=P3^2;
sbit load=P3^1;
sbit din=P3^0;
void max7219send(u8 add,u8 dat)
{
                        u8 ads,i,j;
                        load=0;
                        i=0;
                        while(i<16)
                        {
                                if(i<8)
                                {
                                        ads=add;                                
                                }
                                else
                                {
                                        ads=dat;
                                }
                           for(j=8;j>=1;j--)
                           {
                                           clk=0;
                                        din=ads&0x80;
                                        ads=ads<<1;        
                                        clk=1;                                    
                           }
                           i=i+8;
                        }
                        load=1;
}
void max7219init()
{
        max7219send(0x0c,0x01);
        max7219send(0x0b,0x07);
        max7219send(0x0a,0x0d);
        max7219send(0x09,0xff);
}


void main()
{
        u8 i;
        max7219init();
                for(i=1;i<9;i++)
                {
                        max7219send(i,i);
                }
                while(1);
}



作者: 47okey    时间: 2019-7-12 16:06
7219有点小贵
作者: ha987549e    时间: 2020-3-17 16:54
本帖最后由 ha987549e 于 2020-3-17 19:48 编辑

谢谢楼主 使用此代码后 MAX7219数码管亮度不均匀 闪烁现象 消除了。   
作者: zhxl125    时间: 2020-3-30 21:26
谢谢楼主




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1