首页 max7219 级联 程序 仿真 protues原理图

max7219 级联 程序 仿真 protues原理图

举报
开通vip

max7219 级联 程序 仿真 protues原理图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 ...

max7219  级联  程序   仿真   protues原理图
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,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_562397
暂无简介~
格式:doc
大小:31KB
软件:Word
页数:4
分类:工学
上传时间:2017-10-20
浏览量:51