📄 led88.c
字号:
#include <EXAM.H>
#define UCHAR unsigned char
#define UINT unsigned int
//const UCHAR dis[11] ={0xD7,0x81,0x5B,0x9B,0x8D,0x9E,0xDE,0x83,0xDF,0x9F,0xff}; //HF-H1.0
sfr COL = 0x90; //P1
sfr ROW = 0xA0; //P2
const unsigned char code stdnum[40]={
0xf2,0x92,0x92,0xfe, //9
0x00,
0xc0,0x80,0x9e,0xe0, //7
0x00,
0xfe,0x82,0x82,0xfe, //0
0x00,
0x22,0x42,0xfe,0x02, //1
0x00,
0x22,0x42,0xfe,0x02, //1
0x00,
0x22,0x42,0xfe,0x02, //1
0x00,
0xfe,0x82,0x82,0xfe, //0
0x00,
0xfe,0x92,0x92,0x92, //E
0x00
};
const unsigned char code initnum[50]={
0xfe,0x82,0x82,0xfe, //0
0x00,
0x22,0x42,0xfe,0x02, //1
0x00,
0x9e,0x92,0x92,0xf2, //2
0x00,
0x92,0x92,0x92,0xfe, //3
0x00,
0xf0,0x10,0x10,0xfe, //4
0x00,
0xf2,0x92,0x92,0x9e, //5
0x00,
0xfe,0x92,0x92,0x9e, //6
0x00,
0xc0,0x80,0x9e,0xe0, //7
0x00,
0xfe,0x92,0x92,0xfe, //8
0x00,
0xf2,0x92,0x92,0xfe, //9
0x00
};
UCHAR uc_parr[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
unsigned char data timetemp,col,locate=0,initloc=0;
void delay(UCHAR i)
{
UCHAR j;
for(i; i > 0; i--)
for(j = 250; j > 0; j--);
}
void Timer0_int (void) interrupt 1 using 3 //Timer0 中断处理,
{unsigned char i; //计数值加一
TH0 = 0x4c;
TL0 = 0x00;
timetemp++;
if(timetemp==5)
{
for(i=0;i<7;i++)
{
uc_parr[i]=uc_parr[i+1];
}
if(initloc < 50)
{
uc_parr[7]=initnum[initloc];
initloc++;
}
else
{
uc_parr[7]=stdnum[locate];
locate++;
locate=locate%40;
}
timetemp=0;
}
}
main()
{
TMOD = 0x01; //初始化寄存器
TH0 = 0x4c; //设定累加时间
TL0 = 0x00;
EA = 1;
ET0 = 1;
TR0 = 1;
DIGPORT = 0xFF;
DIGLED = 0xFF;
/*DIGLED1 = 0;
DIGLED2 = 0;
DIGLED3 = 0;
DIGLED4 = 0;
DIGLED = 0x00; */
for(;;) //循环执行
{
/* DIGPORT = DIGLL; //显示数据
DIGLED = ~dis[uc_parr[0]];
delay(1);
DIGPORT = DIGLH;
DIGLED = ~dis[uc_parr[1]];
delay(1);
DIGPORT = DIGHL;
DIGLED = ~dis[uc_parr[2]];
delay(1);
DIGPORT = DIGHH;
DIGLED = ~dis[uc_parr[3]];
delay(1); */
COL = 0xfe;
ROW = uc_parr[0];
delay(1);
COL = 0xfd;
ROW = uc_parr[1];
delay(1);
COL = 0xfb;
ROW = uc_parr[2];
delay(1);
COL = 0xf7;
ROW = uc_parr[3];
delay(1);
COL = 0xef;
ROW = uc_parr[4];
delay(1);
COL = 0xdf;
ROW = uc_parr[5];
delay(1);
COL = 0xbf;
ROW = uc_parr[6];
delay(1);
COL = 0x7f;
ROW = uc_parr[7];
delay(1);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -