📄 led1.c
字号:
#include <reg52.h>
typedef unsigned char uint8;
typedef unsigned int uint16;
uint8 number[] = {0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xa7,0xa1,0x86,0x8e};
sbit ENLED = P1^4;
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit LED = P0^0;
void refresh();
main()
{
uint8 i;
uint16 counter;
ENLED = 0; ADDR3 = 1;
TMOD = 0x01;
TH0 = 0xFC;
TL0 = 0x67;
TR0 = 1;
while(1)
{
if(1 == TF0)
{
TF0 = 0;
TH0 = 0xFC;
TL0 = 0x67;
counter++;
refresh();
}
if(1000 == counter)
{
P0 = number[i++];
counter = 0;
}
if(i == 16)
{
i = 0;
}
}
}
void refresh()
{
static uint8 j = 0;
switch(j)
{
case 0: ADDR0 = 0;ADDR1 = 0;ADDR2 = 0;j++;break;
case 1: ADDR0 = 1;ADDR1 = 0;ADDR2 = 0;j++;break;
case 2: ADDR0 = 0;ADDR1 = 1;ADDR2 = 0;j++;break;
case 3: ADDR0 = 1;ADDR1 = 1;ADDR2 = 0;j++;break;
case 4: ADDR0 = 0;ADDR1 = 0;ADDR2 = 1;j++;break;
case 5: ADDR0 = 1;ADDR1 = 0;ADDR2 = 1;j = 0;break;
default: break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -