msp430_7219.c

来自「本程序运用MSP430单片机实现了代功耗模式下数字时钟,用MAX7219驱动8位」· C语言 代码 · 共 56 行

C
56
字号
/*****************************************


******************************************/
#include<msp430x16x.h>
#include"MSP430_7219.H"

void WriteMax7221(unsigned char add,unsigned char dat)  
{
   unsigned char ASD,i,j,k;
   MAX7221DIR |=0xE0;
   CS_L;
   i=0;
   while(i<16)
     {
	    if(i<8){ASD=add;}		 //小于8的时候取地址
		else   {ASD=dat;}	     //大于8的时候取数据
		for(j=8;j>=1;j--)
		  {
		    if(ASD&0x80)
		      {
		       DIN_H;
		      }
		    else   
		      {
		       DIN_L;
		      }
		    ASD=ASD<<1;
		    CLK_H;
		    for(k=10;k>0;k--);
		    CLK_L;
		  }
		i=i+8;
	 }
   CS_H;
}

void InitialMax7221(void)
{
	WriteMax7221(0x0A,0x02);	//亮度地址0AH,0x00~0x0F,0x0F最亮
	WriteMax7221(0x0B,0x07);	//扫描LED个数地址0BH,0x00~0x07,最多扫描8个数码管
	WriteMax7221(0x0C,0x01);	//工作模式地址0x0C. 0x00:ShutDown;0x01:Normal
	WriteMax7221(0x09,0xFF);	//编码模式地址0x09. 0x00~0xFF:哪一位为1,哪一位就支持编码
        WriteMax7221(0x0F,0x00);        //Code B decode for digits XXXXXXX0 
}


void Max7219_Write_Led(unsigned char *p)	//8位数码管程序*P为数据入口
{
	unsigned char i;
	for(i=1;i<=8;i++)
	{
	WriteMax7221(i,p[i-1]);
        }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?