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

📄 ceshi4.c

📁 led显示名字!名字不断的切换!自创的!
💻 C
字号:
				   /*****************************************************************/ 
/*                                                               */                                                                
/*名称:                   LED点阵显示程序                       */                                                                                                                                                                           
/*功能:           在8*8LED点阵上显示一个英文字符                */                                                    
/*难度等级:                   中                                */                                                                     
/* 作者:                  zengrenliang                          */
/* 版权:           http://www.51kaifa.com                       */
/*编写日期:        2006.05.19                                   */                                                                                                                                                                                                             
/*****************************************************************/

#include<reg52.h>
#define  uchar  unsigned char

sbit addr0 = P1^4;
sbit addr1 = P1^5;
sbit addr2 = P1^6;
sbit addr3 = P1^7;//系统片选地址
//行扫描数组
uchar code scan[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//row0--row7
//待显示字符"H"的点阵数据
uchar code word1[8] ={0xFF,0xA1,0xC1,0xD5,0x80,0xE6,0x80,0xFF};
uchar code word2[8] ={0xFF,0xDD,0xD3,0x8F,0xD7,0xD1,0xDF,0xFF};
uchar code word3[8] ={0xFD,0xCD,0xB3,0xB7,0x81,0xB7,0xF3,0xFF};/*"H",0*/
//格式:逐行,逆向,阳码
/*******************************延时函数******************************/                          

void delay (unsigned int us)   
{
  while(us--);
}


/*****************************8*8LED点阵扫描一屏***********************/

void ledscan()
{  unsigned char i,j,k;  
	for(j=0;j<500;j++)
	{
    for(i=0;i<8;i++){
       addr0 = 0;
       addr1 = 0;
       addr2 = 0;//输出开发板上U1(74HC574)的片选地址
       addr3 = 0;
       P0 = 0xff;//关显示
       addr3 = 1;
       addr3 = 0;//U1的锁存引脚上产生上升沿,锁存行扫描数据

       addr0 = 1;
       addr1 = 0;
       addr2 = 0;//输出开发板上U2(74HC574)的片选地址
	     
      	   if(j<120)	   P0 =word2[i];
		   else P0 =word3[i]; //取一列低字节(左半屏)显示数据 

        
          
            
      
       
       addr3 = 1;  
       addr3 = 0;//在U2的锁存引脚上产生上升沿,锁存列扫描数据

       addr0 = 0;
       addr1 = 0;
       addr2 = 0;//输出开发板上U1(74HC574)的片选地址
       addr3 = 0;
       P0 = scan[i];//取row0--row7扫描数据
       addr3 = 1;
       addr3 = 0;//在U2的锁存引脚上产生上升沿,锁存行扫描数据

       delay(50); //延时50us
       }

  }
 }

/***********************************主函数*************************/
main()
{   

  while(1){
      ledscan();  
  }
}
/***********************************结束***************************/

⌨️ 快捷键说明

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