📄 main.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 + -