📄 set7219.c
字号:
#include<c8051f020.h>
void delay(long int);
sbit CLK=P1^7;
sbit DIN=P1^5;
sbit LOAD=P1^6;
void senddata(unsigned char ads,unsigned char dat)
{
/*向MAX7219写数据分
两次每次传送八位*/
int i;
LOAD=0;
for(i=0;i<8;i++)
{
CLK=0;
if((ads&0x80))
DIN=1;
else DIN=0;
CLK=1;
ads=ads<<1;
}
for(i=0;i<8;i++)
{
CLK=0;
if((dat&0x80))
DIN=1;
else DIN=0;
CLK=1;
dat=dat<<1;
}
LOAD=1;
delay(50);
}
void setoff(unsigned char x)
{ /*MAX7219初始化*/
senddata(0x09,0xff);
/*硬件译码*/
senddata(0x0a,0x05);
/*数码管亮度调节*/
senddata(0x0b,x);
/*数码管扫描位设定*/
senddata(0x0c,0x01);
/******MAX7219启动*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -