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

📄 main.c

📁 keil c 文件 @@##%%…… &……源代码程序
💻 C
字号:
#include <reg51.h>

#define uchar unsigned char 
#define uint unsigned int

#define LED_PORT 		P0
#define LED_SCAN_PORT 	P1
#define MAX_LED  		6
#define T0H				(65536-2000)>>8
#define T0L				(65536-2000)
uchar code seg_table[17]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,
                     0x6F,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};


uchar led_buf[MAX_LED]={0};
uchar led_x=0;
uchar scan_code=0x01;

delay_ms(int ms)
{uchar i;
 uint  j;
 for(j=2*ms;j>0;j--) 
  for(i=250;i>0;i--);
 
}


void scan_buf()
{
  	LED_SCAN_PORT=~scan_code;
	LED_PORT=seg_table[led_buf[led_x]];
//	delay_ms(5);
	led_x++;
	if (led_x>=MAX_LED) led_x=0;

	scan_code<<=1;
	if (scan_code>(01<<(MAX_LED-1))) scan_code=1;
}


void init_led()
{
  uchar i;
  for(i=0;i<MAX_LED;i++)
    led_buf[i]=i;

   TH0=T0H; TL0=T0L;
   TMOD=0x01;
   ET0=1;
   EA=1;
   TR0=1;
}


void led_clear()
{
  uchar i;
  for(i=0;i<MAX_LED;i++)
    led_buf[i]=16;
 
}


void 
main()
{

  init_led();
  while(1)
  {
  
//  scan_buf();
  
  
  } 

}


void isr_timer0() interrupt 1
{
   
   scan_buf();
   TH0=T0H; TL0=T0L;
}

⌨️ 快捷键说明

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