MAX7219:
详情查见数据手册
定义数码管端口
sbit Max7219_pinCLK= P2^2;//可修改
sbit Max7219_pinCS = P2^3;
sbit Max7219_pinDIN = P2^4;
主体
void Write_Max7219_byte(u8 DATA)
{
u8 i;
Max7219_pinCS=0;
for(i=8;i>=1;i--){
Max7219_pinCLK=0;
Max7219_pinDIN=DATA&0x80;//最高位先传,传一个字节
DATA=DATA<<1;
Max7219_pinCLK_1=1;
}
}
/*****向MAX7219写入数据*****/
void Write_Max7219(u8 address,u8 dat)
{
Max7219_pinCS=0;
Write_Max7219_byte(address); //写入地址
Write_Max7219_byte(dat); //写入数据,即数码管显示数字
Max7219_pinCS=1;
}
/*****MAX7219初始化*****/
void Init_Max7219(void)
{
Write_Max7219(0x09, 0x00); //设置工作模式,译码;不译码0xFF(即给0x00显示0)
Write_Max7219(0x0a, 0x03); //亮度
Write_Max7219(0x0b, 0x07); //扫描界限,07表示扫描0-7号八个数码管
Write_Max7219(0x0c, 0x01); //掉电模式,0;普通模式,1;
Write_Max7219(0x0f, 0x00); //显示测试:1;测试结束,正常显示:0
}