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

📄 ps7219.txt

📁 PS7219单片机显示的源程序
💻 TXT
字号:
sbit  load    =P3^3;      // data load in
sbit  da      =P3^4;
sbit  clk     =P3^5; //  Define the  5*LED and the linght



void ledini(void)
{
DELAY(2000);
load=0;
DELAY(10);
TRT(15,10);  /* Intensity    */
DELAY(10);
TRT(4,11);   /* Scan Limit    */
DELAY(10);
TRT(31,9);   /* Decode Mode    */
DELAY(10);
TRT(1,12);   /* Shut down    */
DELAY(10);
}

void DISP(unsigned int num)  reentrant
{unsigned char bcd1,bcd2,bcd3,bcd4;

  if (num>999)
   {bcd1=num/1000;
    bcd2=(num-bcd1*1000)/100;
    bcd3=(num-bcd1*1000-bcd2*100)/10;
    bcd4=(num-bcd1*1000-bcd2*100-bcd3*10);
   }
  else if (num>99)
   {bcd1=15;
    bcd2=num/100;
    bcd3=(num-bcd2*100)/10;
    bcd4=(num-bcd2*100-bcd3*10);
   }
  else if (num>9)
   {bcd1=15;
    bcd2=15;
    bcd3=num/10;
    bcd4=(num-bcd3*10);
   }
  else 
   {bcd1=15;
    bcd2=15;
    bcd3=15;
    bcd4=num;
   }
 
  TRT(bcd1,1);
  TRT(bcd2,2);
  TRT(bcd3,3);
  TRT(bcd4,4);
}


void TRT(unsigned char date, unsigned char address)  reentrant
{ unsigned 	char i ,j;
	j=EA;
	EA=0;
	load=0;
	NOP();

for (i=0;i<8;i++)
 	{	clk=1;
		da=(bit)(address&0x80);
		address=address<<1;
		DELAY(1);
		clk=0;
		DELAY(1);
  	}
	DELAY(10);

for (i=0;i<8;i++)
  	{	clk=1;
		DELAY(1);
		da=(bit)(date&0x80);
		date=date<<1;
		DELAY(1);
		clk=0;
		load=1;
		DELAY(1);
 	 }
	clk=1;
	DELAY(2);
	EA=j;
}


void DELAY(int t) reentrant
{int i,j ;
 for(i=0;i<t;i++)              /*延时1ms*/
 {if (t>50) WATCHDOG();
 for(j=0;j<30;j++);
 }
}

void NOP(void)                 /*Nop Operate */
   {
   ;
   }

⌨️ 快捷键说明

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