//Create Time :2008-08-25
#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar code table[96]={ 0x82,0x80,0x82,0xb0,0x90,0x82,0x82,0x92,
0x80,0x82,0xb0,0x90,0x82,0x82,0x92,0xff,
0x82,0xb0,0x90,0x82,0x82,0x92,0xff,0xff,
0xb0,0x90,0x82,0x82,0x92,0xff,0xff,0xff,
0x90,0x82,0x82,0x92,0xff,0xff,0xff,0xff,
0x82,0x82,0x92,0xff,0xff,0xff,0xff,0x82,
0x82,0x92,0xff,0xff,0xff,0xff,0x82,0x80,
0x92,0xff,0xff,0xff,0xff,0x82,0x80,0x82,
0xff,0xff,0xff,0xff,0x82,0x80,0x82,0xb0,
0xff,0xff,0xff,0x82,0x80,0x82,0xb0,0x90,
0xff,0xff,0x82,0x80,0x82,0xb0,0x90,0x82,
0xff,0x82,0x80,0x82,0xb0,0x90,0x82,0x82}; //滚动显示数据
uchar data temp[8]; //建立显示缓冲区
void delay (void);
main ()
{
uchar n,m;
TMOD=0X01;
ET0=1;
EA=1;
TH0=0XFC;
TL0=0X18;
TR0=1;
//****************每隔一段时间更新一次显示缓冲区的数据*******//
while (1)
{
for (n=0;n<=7;n++)
{
temp[n]=table[m];
m++;
if (m>95) m=0;
}
delay ();
}
}
//***************动态扫描程序******************
void dis_show (void) interrupt 1
{
static uchar i=0,digit=0xfe;
TH0=0XFC;
TL0=0X18;
P0=temp[i];
P3=digit;
i++;
if (i>7) i=0;
if (digit<0x7f) digit=0xfe; //扫完一圈后,从头再扫描
digit=_crol_(digit,1); //向左移动一位
}
//**************延时**********
void delay (void)
{
uint x,y;
for (x=0;x<=350;x++)
{
for (y=0;y<=100;y++);
}
}
上一篇:单片机数码管电子钟(C语言)
下一篇:LED数码显示电子时钟
推荐阅读最新更新时间:2024-03-16 15:16
设计资源 培训 开发板 精华推荐
- 有奖直播【Keysight World Tech Day 2023分论坛——汽车自动驾驶与新能源】
- 是德科技有奖直播:示波器在通用电子测量中的应用和技巧
- 聊聊你眼中的仙童,超值极品拿到手!
- PI更懂快速充电需求 下载产品资料赢好礼!
- 瑞萨电子 RL78/G11 目标板免费申请中,参与申请也能赢好礼
- 村田RFID知识有奖问答 双重好礼等你来挑战
- 《看一个TI老工程师如何驯服精密放大器》点评有礼!
- ELEXCON 2022 深圳国际电子展11月6日(新档期)开幕,速领门票!更有N重好礼等你拿!
- 电阻哪个强?看Vishay演示视频 抢楼发言赢好礼
- 【EEWORLD第三十五届】2012年02月社区明星人物揭晓!