MAX7219共阴极LED驱动器程序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MAX7219共阴极LED驱动器程序

MAX7219共阴极LED数码管显示驱动 (一)、MAX7219 MAX7219是一种串入、并出的共阴极LED数码管显示驱动器,每片可驱动8位LED数码管显示,与单片机的接口只需3根线,内带BCD译码器,及显示测试、移位、锁存器等,输出电流达40mA,外围只需一只亮度调整电阻。 MAX7219引脚图 引脚功能说明 DIN:串行数据输入端,CLK的上升沿时数据被载入内部16位移位寄存器中 CLK:串行时钟输入端,最高工作频率可达10MHz LOAD:片选端,低电平接收DIN端的数据,高电平时数据被所存 DIG0~7:LED的位控制端 A~DP:LED的端控制端 DOUT: 串行数据输出端,用于芯片的级联 ISET:硬件亮度调整端,在该引脚与VCC之间跨接一个电阻,LED的亮度即可通过该电阻来调节,流过LED的段驱动平均电流为流过此电阻电流的100倍,此电阻值范围为:10~80K之间。 内部寄存器说明 译码方式选择寄存器 地址:09H 赋值:FFH 表示使用MAX7219内部的BCD译码器 00H 表示不使用MAX7219内部的BCD译码器 亮度调节寄存器 地址:0AH 赋值:00H~0FH 可改变MAX7219所驱动的LED的亮度,其变化范围在1/32~31/32之间 扫描位数设定寄存器 地址:0BH 赋值:00H 所有位不显示 01H~07H 依次对应于1~8位及前面位全部显示(即需显示的位应为“1”) 待机模式开关寄存器 地址:0CH 赋值:00H LED全灭 01H LED正常显示 显示器测试寄存器 地址:0FH 赋值:00H LED为正常显示状态 01H LED测试状态,即LED全亮 8位LED显示数据寄存器 地址:01H~08H 对这些寄存器赋值(即需显示的内容),就会在对应的1~8位LED数码管上显示出来 使用注意事项 由于电源中杂波或附近的电磁等干扰信号,使MAX7219在上电后不显示或乱显示;为了消除这种现象 应在MAX7219的VCC端与地之间接一只104pf的瓷片电容,在LOAD端于地之间接一只10K的电阻。最号还在电源与MAX7219的VCC端之间串一只去高频的电感。 而在电源方面,最好使用变压器供电,而不要用开关电源供电。 加在DIN引脚上的串行数据必须在LOAD脚为低电平时,以每2字节一次,在SCK脚信号的每个上升沿移入1位数据,且高位在前低位在后,然后在LOAD信号的上升沿MAX7219所存数据。 LED数码管引脚图如下: 显示段码表如下: D7 D6 D5 D4 D3 D2 D1 D0 十六进制值 显示内容 dp a b c d e f g 0 1 1 1 1 1 1 0 0x7e 0 0 0 1 1 0 0 0 0 0x30 1 0 1 1 0 1 1 0 1 0x6d 2 ┊ 0 1 0 0 1 1 1 1 0x4f E 0 1 0 0 0 1 1 1 0x47 F 需要显示的段应为“1”,不显示的则为“0” 原理图如下: C源程序如下: #includereg51.h sbit CLK=P1^7; //MAX7219时钟信号线 sbit LD=P1^6; //数据加载线 sbit DIN=P1^5; //数据输入线 unsigned char code disp_table[]={0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b, 0x77,0x1f,0x4e,0x3d,0x01,0x00}; //非译码方式时的共阴数码管显示编码,0~9,E,o,r,d,-,息灭 void w_max7219(unsigned char addr,unsigned char wdata); //向MAX7219写数据函数声明 void init_max7219(); //MAX7219初始化函数声明 void timer_ms(unsigned char tim); //毫秒级延时函数声明 /****************************************************************************************** 函数名称:main 函数说明:主函数 入口参数: 出口参数: 其 它: ******************************************************************************************/ main() { init_max7219(); //MAX7219初始化函数 w_max7219(0x

文档评论(0)

almm118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档