📄
字号:
/******************************************************************
* *
* ME500单片机开发系统延时间序,采用中断实现,程序简单易用,可以自由更改,
* 延时1秒到99999秒均可以实现。
*【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! *
* *
*******************************************************************/
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar Count;
sbit DIN = P0^7; //小数点
uchar code LEDData[ ] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
0x80,0x90,0xff};
uchar data display[8] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
uchar code scan_bit[] = {0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
/*********************************************************
延时函数
*********************************************************/
void Delay(uint num)//延时函数
{
while( --num );
}
/********************************************************
显示函数
*********************************************************/
play()
{
uchar i;
for(i=0;i<8;i++)
{
P0=LEDData[display[i]]; //显示个位
P2=scan_bit[i];
if(scan_bit[i]==0xbf)
DIN=0; //加小数点
Delay(50);
}
P2=0xff; //关闭显示
}
/********************************************************
主函数
*********************************************************/
main()
{
P0=0xff;
P2=0xff;
Count=0x00;
TMOD=0x01;
TH0=0x4c; TL0=0x00; //50ms定时
EA=1; ET0=1; TR0=1;
while(1)
play();
}
/*********************************************************
Time0中断函数
**********************************************************/
void Time0(void) interrupt 1 using 0
{
TH0=0x4c; //50ms定时
TL0=0x00;
Count++;
if(Count==2)
{
Count=0;
display[0]++; //0.1S
}
if(display[0]==10)
{
display[0]=0;
display[1]++; //个位
}
if(display[1]==10)
{
display[1]=0;
display[2]++; //十位
}
if(display[2]==10)
{
display[2]=0;
display[3]++; //百位
}
if(display[3]==10)
{
display[3]=0;
display[4]++; //千位
}
if(display[4]==10)
{
display[4]=0;
display[5]++; //万位
}
if(display[5]==10)
{
display[5]=0;
display[6]++; //十万位
}
if(display[6]==10)
{
display[6]=0;
display[7]++; //百万位
}
if(display[7]==10)
{
display[7]=0;
}
}
/*********************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -