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

📄 led_matrix1.c

📁 1. LED点阵依次显示绿色
💻 C
字号:
/*============================================================
File Name :LED_MATRIX1.c
说明 :
1. LED点阵依次显示A,V,R的同时,改变颜色
=============================================================*/

#include <avr/io.h>

#define PPI_0_PA (unsigned char *)0x5000;    // line的外部存储器地址
#define PPI_0_PB (unsigned char *)0x5001;    // 绿色的外部存储器地址
#define PPI_0_PC (unsigned char *)0x5002;    // 红色的外部存储器地址
#define PPI_0_CT (unsigned char *)0x5003;    // 82C55的控制端外部存储器地址

unsigned char font_A[]={0x18,0x24,0x42,0x42,0x7e,0x42,0x42,0x42};
unsigned char font_V[]={0x41,0x41,0x41,0x41,0x41,0x22,0x14,0x08};
unsigned char font_R[]={0x3c,0x42,0x42,0x42,0x3e,0x12,0x22,0x42};
unsigned char blank[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};

unsigned char *line,*green,*red,*ppi_ctrl;

void initialize_ppi(void);
void delay(int d1,int d2);
void display(unsigned char *green1,unsigned char *red1);

int main(void)
{
     MCUCR|=(1<<SRE);
	 initialize_ppi();
	 do{
	     display(font_A,blank);          // 'A'-green
	     display(font_V,blank);          // 'V'-green
		 display(font_R,blank);	  // 'R'-green

		 display(blank,font_A);         // 'A'-red
	     display(blank,font_V);         // 'V'-red
	     display(blank,font_R);         // 'R'-red
	     
		 display(font_A,font_A);       // 'A'-orange
	     display(font_V,font_V);       // 'V'-orange
	     display(font_R,font_R);       // 'R'-orange
	     }while(1);
	 }
	 
void display(unsigned char *green1,unsigned char *red1)
{
     unsigned char i=0,j=0;
	 for(j=0;j<100;j++)				// 点亮一种颜色的时间
	      {               
	     for(i=0;i<8;i++)				// 点亮一种画面的时间
		   {             
		     *green=green1[i];
		     *red=red1[i];
		     *line=(0x01<<i);
		      delay(100,70);    // 1 line on time
		    }
	      }
	 }

void delay(int d1,int d2)
{
     int i,j;
     for(i=0;i<d1;i++)
	     {
         for(j=0;j<d2;j++);
         }
  }

void initialize_ppi(void)
{
     line=PPI_0_PA;
     green=PPI_0_PB;
     red=PPI_0_PC;
     ppi_ctrl=PPI_0_CT;
     *ppi_ctrl=0x80;                       // 82C55 A, B组都是输出
 }	

⌨️ 快捷键说明

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