📄 led.c
字号:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code dz[][8]={
{0x00,0x3C,0x42,0x42,0x42,0x42,0x42,0x3C},
{0x08,0x0C,0x0A,0x08,0x08,0x08,0x08,0x3E},//1
{0x1C,0x22,0x22,0x10,0x08,0x04,0x02,0x3E},//2
{0x00,0x78,0x44,0x40,0x30,0x40,0x44,0x78},//3
{0x00,0x18,0x14,0x12,0x12,0x7E,0x10,0x10},//4
{0x3C,0x04,0x04,0x3C,0x20,0x20,0x20,0x3C},//5
{0x00,0x7C,0x04,0x04,0x7C,0x44,0x44,0x7C},//6
{0x00,0x7C,0x20,0x10,0x10,0x10,0x10,0x10},//7
{0x00,0x1C,0x22,0x22,0x1C,0x22,0x22,0x1C},//8
{0x3C,0x42,0x42,0x42,0x7C,0x40,0x40,0x3E},//9
};
uchar code wela[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar aa[8];
uchar temp;
void delay(uint k)
{
uchar i;
for(;k>0;k--)
for(i=110;i>0;i--);
}
void main()
{
uchar i,j,k;
while(1)
{
for(i=0;i<10;i++)
{
for(k=0;k<120;k++)//相当于延时,因为要实现动态扫描点阵中的8行,如果用delay()的话则一直停留在第8行
{
for(j=0;j<8;j++)
{
P2=dz[i][j];//写入table[i][j]中的数据
P1=wela[j]; //选通第j行
delay(2); //稍延时
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -