max7219 级联 程序 仿真 protues原理图
//MAX7219的驱动程序,可驱动一片或两片级联
//protues7.8sp2仿真通过
//条件所限,未能实际检验
#include
#define uint unsigned int
#define uchar unsigned char
sbit Max7129_DIN = P1^2; sbit Max7129_LOAD = P1^1; sbit Max7129_CLK = P1^0;
#define HIGH 1
#define LOW 0
#define TRUE 1
#define FALSE 0
#define ZERO 0
#define MSB 0x80
#define LSB 0x01
#define DECODE_MODE 0x09 // 译码方式
#define INTENSITY 0x0A // 显示亮度
#define SCAN_LIMIT 0x0B // 扫描限制
#define SHUT_DOWN 0x0C // 关断方式
#define DISPLAY_TEST 0x0F // 显示测试
/* * 发送一个字节的子程序: * 上升沿发送数据, * MSB first */
void Max7219_WriteByte(uchar byte)
{ uchar i;
for (i=0; i<8; i++)
{ Max7129_CLK = LOW;
Max7129_DIN = (bit)(byte & MSB);
byte <<= 1;
Max7129_CLK = HIGH; }
}
void Max7219_WriteData1(uchar addr,uchar dat)
{ uchar i=0;
if(addr>15)
{ addr=addr-16; i=1;}
Max7129_LOAD = HIGH; // 使Max7129_LOAD变高,启动串行数据发送
Max7219_WriteByte(addr);
Max7219_WriteByte(dat);
if(i==1)
{Max7129_CLK = HIGH;
Max7129_CLK = LOW;
Max7219_WriteByte(0x00);
Max7219_WriteByte(0x00);
}
Max7129_LOAD = LOW; // 使Max7129_LOAD变低,锁存数据
Max7129_LOAD = HIGH; // 使Max7129_LOAD变高,串行数据结束 }
/* * */
void Max7219_Init(void)
{Max7219_WriteData1(SHUT_DOWN, 0x01); // 掉电模式: 1, 正常操作; 0, 睡眠模式
Max7219_WriteData1(DISPLAY_TEST, 0x00); // 显示测试: 0, 正常模式; 1, 测试模式
Max7219_WriteData1(DECODE_MODE, 0xff); // 译码模式:0, 不译码; 1, BCD译码
Max7219_WriteData1(SCAN_LIMIT, 0x07); // 扫描限制: 0 ~ 7
Max7219_WriteData1(INTENSITY, 0x07); // 显示亮度: 0 ~ F }
Max7219_WriteData1(SHUT_DOWN+16, 0x01); // 掉电模式: 1, 正常操作; 0, 睡眠模式
Max7219_WriteData1(DISPLAY_TEST+16, 0x00); // 显示测试: 0, 正常模式; 1, 测试模式
Max7219_WriteData1(DECODE_MODE+16, 0xff); // 译码模式:0, 不译码; 1, BCD译码
Max7219_WriteData1(SCAN_LIMIT+16, 0x07); // 扫描限制: 0 ~ 7
Max7219_WriteData1(INTENSITY+16, 0x07); // 显示亮度: 0 ~ F }
}
void show(uchar addr, uchar dat)
{ if(addr>8) addr=addr+8;
Max7219_WriteData1(addr,dat);
}
main(void)
{uchar i;
Max7219_Init();
for(i=1;i<=16;i++)
show(i,i);
while(1); }
本文档为【max7219 级联 程序 仿真 protues原理图】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。