您的位置 首页 被动

max7219的显现程序

#includereg51.h>#includestdio.h>#defineucharunsignedcharsbitDIN=P2^0;sbitCLK=P2^1;sbitLOAD=P2^

#include

#include
#define uchar unsigned char
sbit DIN=P2^0;
sbit CLK=P2^1;
sbit LOAD=P2^2;
uchar a,b,c,d,e,f,g,h;
////////*******************************************///////////////
void send(uchar add,uchar dat); //发送16字节子函数
void intcom();
void delay(void);
void time(void);
///********************************/////////////////

void send(uchar add,uchar dat) //发送16字节子函数
{
uchar ADS, i;
uchar j;
LOAD=0; i=0; //使能信号低电平有用
while(i<16)
{
if(i<8){ADS=add;}
else {ADS=dat;}
for(j=8;j>=1;j–)
{
DIN=ADS&0x80;
ADS=ADS<<1;
CLK=1;
CLK=0;
}
i=i+8;
}
LOAD=1;
}
//***************************以下为初使化函数**********************************/////
void intcom()
{
send(0x0c,0x01); ////初始化MAX7219
send(0x0b,0x07); //扫描LED的个数
send(0x0a,0x09); //操控亮度也能够硬件来操控D3~D0
send(0x09,0xff); //对每一个位进行挑选1:BCD码,0:直接显现
}

//////************延时函数**********************///////////////
void delay(void)
{uchar i,j;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
;
}
///////////////////////***********************************************/////////
void time(void)
{

send(0x01,a); //在八个数码管上显现1-8,带小数点显现
send(0x02,b); //例如:0x82,8为小数点,2为显现的数
send(0x03,c);
send(0x04,d);
send(0x05,e);
send(0x06,f);
send(0x07,g);
send(0x08,h);

}
/***************以下为主函数*********************///////////////
void main()
{intcom();//初使化
for(a=0;a<10;a++)
for(b=0;b<10;b++)
for(c=0;c<10;c++)
for(d=0;d<10;d++)
for(e=0;e<10;e++)
for(f=0;f<10;f++)
for(g=0;g<10;g++)
for(h=0;h<10;h++)
{time();
delay();
}
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/beidong/266730.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部