⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 9e5-max7219.c

📁 NRF9e5驱动MAx7219源代码
💻 C
字号:
#include<reg9e5.h>
#include <ABSACC.h>
#include <intrins.h>
#include <stdio.h>
#define uint unsigned int
#define uchar unsigned char

sbit DIN=P0^1;
sbit LOAD=P0^2;
sbit CLK=P0^3;
sbit BUTTON=P0^4;
sbit SOUND=P0^6;
uchar DisBuffer[10]={0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89};
//状态输出口//
sbit LCD = P0^0;

///////////延时/////////////////
void Delay(uint x)
{
 	uint i;
 	for(i=0;i<x;i++){
 		 _nop_();
 	 }
}


void LongDelay()
{
  int i;
  int c;
  for(i=0;i<1000;i++)
    for(c=0;c<127;c++)
	  {;}
}


void send(uchar add,uchar dat)
{
  uchar ADS,i,j;
  LOAD=0;
  i=0;
  while(i<16)
  {
  	if(i<8)
	  ADS=add;
	else
	  ADS=dat;
	for(j=8;j>=1;j--)
	{
		DIN=ADS&0X80;
		ADS=ADS<<1;
		CLK=1;
		CLK=0;
	}
	i=i+8;
  }
  LOAD=1;
}

void Ini_System(void)
{	
	EA=1;
	IT1=0;
	EX1=1;

	P0_DIR=0X00;
	P0_ALT=0X10;
    LCD=0;
	DIN=0;
	LOAD=0;
	CLK=0;
	SOUND=0;
    LongDelay();
}

void Led_Ini(void)
{ 
  send(0x0c,0x01);
  send(0x0b,0x07);
  send(0x0a,0xf5);
  send(0x09,0xff);
}

void Led_Show(void)
{ send(0x01,DisBuffer[0]);
  send(0x02,DisBuffer[1]);
  send(0x03,DisBuffer[2]);
  send(0x04,DisBuffer[3]);
  send(0x05,DisBuffer[4]);
  send(0x06,DisBuffer[5]);
  send(0x07,DisBuffer[6]);
  send(0x08,DisBuffer[7]);
}

void Led_Chage(void) interrupt 2// [using y]
{	uint j;
	Delay(20000);
	while(!BUTTON);
	for(j=0;j<9;j++)
	  {
	    DisBuffer[j]=DisBuffer[j+1];
	  }
	DisBuffer[j]=0;
	LCD=!LCD;
	SOUND=1;
	Delay(20000);
	SOUND=0;
}

main()
{ Ini_System();
  while(1)
  { Led_Ini();
    Led_Show();
  }
}

⌨️ 快捷键说明

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