首页 max7219驱动数码管显示程序

max7219驱动数码管显示程序

举报
开通vip

max7219驱动数码管显示程序max7219驱动数码管显示程序 #include #include #define uchar unsigned char char bright=0x04; /*亮度设置*/ /********************************* 定义MAX7219内部寄存器***************/ #define reg_decode 0x09 /*译码控制寄存器*/ #define reg_intensity 0x0a /*亮度寄存器*/ #define reg_scan_limit...

max7219驱动数码管显示程序
max7219驱动数码管显示程序 #include #include #define uchar unsigned char char bright=0x04; /*亮度设置*/ /********************************* 定义MAX7219内部寄存器***************/ #define reg_decode 0x09 /*译码控制寄存器*/ #define reg_intensity 0x0a /*亮度寄存器*/ #define reg_scan_limit 0x0b /*扫描寄存器,控制显示亮度*/ #define reg_shutdown 0x0c /*掉电模式*/ #define reg_display_test 0x0f /*显示检测寄存器*/ /*******************定义7219端口信号************/ sbit dataa=P1^0; /*串行数据输入端口*/ sbit load=P1^1; /*载入数据*/ sbit clk=P1^2; /*片选端*/ /*************定义显示常数表格************/ static const struct{ char asci; char segs; }font[21]= {{' ',0x00},{'0',0x7e},{'1',0x30},{'2',0x6d},{'3',0x79},{'4',0x33},{'5',0x5b},{'6',0 x5f},{'7',0x70},{'8',0x7f},{'9',0x7b}, {'A',0x77},{'b',0x1f},{'C',0x4e},{'d',0x3d},{'E',0x4f},{'F',0x47},{'H',0x37},{'L ',0x0e},{'r',0x46},{'P',0x67} };//5 /*****************发送一字节串行数据******************/ static void Sendbyte(uchar dataout) {char i; load=0; for(i=8;i>0;i--) { uchar mask=1<<(i-1); clk=0; if(dataout&mask) dataa=1; else dataa=0; clk=1; } } /*********写入数据**********/ static void Write(uchar reg_number,uchar dataout) { load=0; Sendbyte(reg_number); Sendbyte(dataout); load=1; } /***********查段码表将显示字符转换为显示段码************/ static uchar Lookupcode(char character) {char i; for(i=0;i<21;i++) {if(character==font[i].asci) {return font[i].segs;} } return (0); } /*max7219驱动数码管显示电路程序*/ void display(char digit,char character) { Write(digit,Lookupcode(character)); } /**********初始化************/ void init(void) {char i; dataa=1; load=1; clk=1; Write(reg_scan_limit,3); Write(reg_decode,0x00); Write(reg_shutdown,1); /*结束停机测试,正常工作*/ Write(reg_display_test,0); /*结束显示测试,正常工作*/ for(i=1;i<=8;i++) {Write(i,0x00); } /*关闭全部显示器*/ } /*delay*/ /*void delay(int j) {uchar i; for(i=0;i
本文档为【max7219驱动数码管显示程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_633808
暂无简介~
格式:doc
大小:16KB
软件:Word
页数:0
分类:
上传时间:2017-10-20
浏览量:38