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

📄 led16.c

📁 单片机仿真程序 LED控制
💻 C
字号:
#include <reg52.h>    //引脚定义函数
#include <absacc.h> //XBYTE的头文
    sbit LEDALE=P1^3;   //74HC595锁存信号
    sbit LEDDI=P1^7;      //74HC595输入信号
    sbit LEDCLK=P3^3;  //74HC595的时钟信号

#define Y0 XBYTE[0x1000] 
unsigned int code zimo[16]    =
{
                 0x4000,0x4FFE,0x4814, 0x4824,
                  0x4844,0x7F84,0x4804, 0x4804,
                  0x4804,0x7F84,0x4844, 0x4844,
                  0x4844,0x4FFE,0x4000, 0x0000
               };
           【数据由汉字取模软件获取】

void  main(void))
 {
       
            
            while (1)
            {
             disp_16rz(zimo); 
             
           }  
		   }            
      
 void  display_r(unsigned int numb) //显示16行数据(函数)
       {  unsigned char i;
          unsigned int x;
          x=~numb;
          LEDALE=0,LEDCLK=0;//初始化
          for(i=0;i<16;i++)
          {
 	        /* if (x & 0x8000) LEDDI=1;
	           else LEDDI=0;*/
            LEDDI=(bit)(x & 0x8000);
            LEDCLK=1;LEDCLK=1; //相当延时
            LEDCLK=0;LEDCLK=0; //相当延时
            x=x<<1;                            //数据左移一位
	      }
	     LEDALE=1;                        //ALE产生上升沿
         LEDALE=0;    
  } 

void disp_16rz(unsigned int numb[ ])//显示16×16
     {   
        unsigned char y0data=0,abcd=0,i;
   	     for(i=0;i<16;i++)
	     {
           display_r(numb[ i ]); //送行数据
	        abcd=abcd<<3;	       //变换列数据
		 
           Y0=y0data;              //显示一列数据(列译码)
		  abcd=i+1;                //列增1
		  delay_s(0x40);        //点亮时间
        }
       Y0=0x00;     //关显示器  
     }


   

⌨️ 快捷键说明

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