MAX7219驱动数码管无法正常显示
答案:3 悬赏:70
解决时间 2021-02-13 08:29
- 提问者网友:霸道ぁ小哥
- 2021-02-12 13:06
MAX7219驱动数码管无法正常显示
最佳答案
- 二级知识专家网友:我叫很个性
- 2021-02-12 13:30
这个可能是你硬件的问题。
你在CLK和DATA线上加103的电容试试
你在CLK和DATA线上加103的电容试试
全部回答
- 1楼网友:虚伪的现实
- 2021-02-12 15:29
生产实际中单片机应用系统往往需要显示诸多数据,采用max7219驱动led显示器有许多优点,该芯片采用bcd译码模式编程比较方便,但要使显示器显示一系列连续数要经过一定的程序处理。本文介绍了一种用max7219驱动数码管显示器显示连续数的硬件电路及编程方法,它设计思想独特,程序简单,在包装机械及数据采集系统中使用效果良好。
- 2楼网友:一池湖水
- 2021-02-12 13:50
下载我的看看好使不
#define
#define DECODE_MODE 0x09
#define INTENSITY 0x0A
#define SCAN_LIMIT 0x0B
#define SHUT_DOWN 0x0C
#define DISPLAY_TEST 0x0F
sbit LOAD=P1^1;
sbit DIN=P1^0;
sbit CLK=P1^2;
void Write_Max7219_byte(uchar temp)
{
uchar i;
for (i=0;i<8;i++)
{
CLK=0;
DIN=(bit)(temp&0x80);
temp<<=1;
CLK=1;
}
}
void Write_Max7219(uchar address,uchar dat)
{
LOAD=0;
Write_Max7219_byte(address);
Write_Max7219_byte(dat);
LOAD=1;
}
void Init_Max7219(void)
{
Write_Max7219(SHUT_DOWN, 0x01); //设置掉电模式
Write_Max7219(DISPLAY_TEST, 0x00); //设置不工作寄存器
Write_Max7219(DECODE_MODE, 0x09); //设置编码模式
Write_Max7219(SCAN_LIMIT, 0x06); //扫描控制寄存器
Write_Max7219(INTENSITY, 0x04); //设置亮度调节 0xX0~0xXf
}
void main()
{
unsigned char ii;
Init_Max7219();
for(ii=1;ii<8;ii++)
{
Write_Max7219(ii,ii);
}
while(1);
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯