MAX7219共阴极LED驱动器程序_第1页
MAX7219共阴极LED驱动器程序_第2页
MAX7219共阴极LED驱动器程序_第3页
MAX7219共阴极LED驱动器程序_第4页
MAX7219共阴极LED驱动器程序_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MAX7219共阴极LED驱动器程序MAX7219共阴极LED驱动器程序MAX7219共阴极LED驱动器程序MAX7219共阴极LED驱动器程序编制仅供参考审核批准生效日期地址:电话:传真:邮编:MAX7219共阴极LED数码管显示驱动(一)、MAX7219MAX7219是一种串入、并出的共阴极LED数码管显示驱动器,每片可驱动8位LED数码管显示,与单片机的接口只需3根线,内带BCD译码器,及显示测试、移位、锁存器等,输出电流达40mA,外围只需一只亮度调整电阻。MAX7219引脚图引脚功能说明DIN:串行数据输入端,CLK的上升沿时数据被载入内部16位移位寄存器中CLK:串行时钟输入端,最高工作频率可达10MHzLOAD:片选端,低电平接收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赋值:00HLED全灭01HLED正常显示显示器测试寄存器地址:0FH赋值:00HLED为正常显示状态01HLED测试状态,即LED全亮8位LED显示数据寄存器地址:01H~08H对这些寄存器赋值(即需显示的内容),就会在对应的1~8位LED数码管上显示出来使用注意事项由于电源中杂波或附近的电磁等干扰信号,使MAX7219在上电后不显示或乱显示;为了消除这种现象应在MAX7219的VCC端与地之间接一只104pf的瓷片电容,在LOAD端于地之间接一只10K的电阻。最号还在电源与MAX7219的VCC端之间串一只去高频的电感。而在电源方面,最好使用变压器供电,而不要用开关电源供电。加在DIN引脚上的串行数据必须在LOAD脚为低电平时,以每2字节一次,在SCK脚信号的每个上升沿移入1位数据,且高位在前低位在后,然后在LOAD信号的上升沿MAX7219所存数据。LED数码管引脚图如下:显示段码表如下:D7D6D5D4D3D2D1D0十六进制值显示内容dpabcdefg011111100x7e0001100000x301011011010x6d2┊010011110x4fE010001110x47F需要显示的段应为“1”,不显示的则为“0”原理图如下:C源程序如下:#include<>sbitCLK=P1^7;//MAX7219时钟信号线sbitLD=P1^6;//数据加载线sbitDIN=P1^5;//数据输入线unsignedcharcodedisp_table[]={0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b,0x77,0x1f,0x4e,0x3d,0x01,0x00};//非译码方式时的共阴数码管显示编码,0~9,E,o,r,d,-,息灭voidw_max7219(unsignedcharaddr,unsignedcharwdata);//向MAX7219写数据函数声明voidinit_max7219();//MAX7219初始化函数声明voidtimer_ms(unsignedchartim);//毫秒级延时函数声明/******************************************************************************************函数名称:main函数说明:主函数入口参数:出口参数:其它:******************************************************************************************/main(){init_max7219();//MAX7219初始化函数w_max7219(0x01,disp_table[1]);//向MAX7219第一位寄存器写显示数据1w_max7219(0x02,disp_table[2]);//向MAX7219第二位寄存器写显示数据2w_max7219(0x03,disp_table[3]);//向MAX7219第三位寄存器写显示数据3w_max7219(0x04,disp_table[4]);//向MAX7219第四位寄存器写显示数据4w_max7219(0x05,disp_table[5]);//向MAX7219第五位寄存器写显示数据5w_max7219(0x06,disp_table[6]);//向MAX7219第六位寄存器写显示数据6w_max7219(0x07,disp_table[7]);//向MAX7219第七位寄存器写显示数据7w_max7219(0x08,disp_table[8]);//向MAX7219第八位寄存器写显示数据8while(1);}/**********************************************************************************************函数名称:init_max7219函数功能:MAX7219初始化入口参数:出口参数:其它:**********************************************************************************************/voidinit_max7219(){w_max7219(0x0a,0x07);//显示亮度,取值范围0~fw_max7219(0x0b,0x07);//8位扫描显示,取值范围0x01~0x07w_max7219(0x09,0x00);//译码方式,0x00为不译码,0xff为译码w_max7219(0x0c,0x01);//操作方式,0x00为低功耗模式,0x01为正常操作模式w_max7219(0x0f,0x00);//显示状态,0x00为正常显示,0x01为显示测试timer_ms(2);}/*********************************************************************************************函数名称:w_max7219函数功能:向MAX7219写入数据入口参数:addrMAX7219内部寄存器地址,wdata写入内部寄存器的操作数值出口参数:其它:*********************************************************************************************/voidw_max7219(unsignedcharaddr,unsignedcharwdata){unsignedchartemp,i=1,j,k;LD=0;while(i<16){if(i<8)temp=addr;//先写入MAX7219内部寄存器地址,再向内部寄存器写入操作数值 elsetemp=wdata; for(j=0;j<8;j++) { CLK=0; if((temp&0x80)==0x80)DIN=1;//先发送数据的最高位 elseDIN=0;for(k=5;k>0;k--);//时钟频率高的单片机需曾加延时时间,此处为12MHz CLK=1;for(k=5;k>0;k--); temp<<=1; } i+=8;}LD=1;}/*-------------------------------------------------------------------------------------------函数名称:timer_ms函数说明:1ms延时子程序入口参数:tim为接收主调传来需延时的毫秒数,取值范围1~256,定时时间1~256ms出口参数:其

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论