📄 main.c
字号:
#include <reg51.h>
#include <intrins.h>
#include <stdio.h>
#define uchar unsigned char
#define uint unsigned int
uchar seg_table[17]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,
0x6F,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
uchar led_buffer[8]={1,2,3,4,5,6,7,8};
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 display_led_buf()
{
P1=~scan_code;
P0=seg_table[led_buffer[led_x]];
delay_ms(5);
led_x++;
if (led_x>5) led_x=0;
scan_code<<=1;
if (scan_code>0x20) scan_code=1;
}
delay_s(int s)
{uchar i;
uint j;
for(j=198*s;j>0;j--)
display_led_buf();
}
void led_num_x(uchar x , uchar num)
{
led_buffer[5-x]=num;
}
void led_num(long int x)
{uchar i;
sprintf(led_buffer,"%6ld",x);
for(i=0;i<6;i++)
{ led_buffer[i]-='0';
if(led_buffer[i]>0x80) led_buffer[i]=16;
}
}
void led_clear()
{ uchar i;
for (i=0;i<7;i++)
led_buffer[i]=16;
}
void main()
{
uchar i=0; led_clear();
while (1)
{
led_num(i);
// led_num_x(i,i);
delay_s(1);
i++;
i%=9;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -