标题:
stc89c52 0.01s计时器的单片机程序
[打印本页]
作者:
sbhg
时间:
2018-8-3 13:11
标题:
stc89c52 0.01s计时器的单片机程序
stc89c52 0.01s
单片机源程序如下:
#include<reg52.h>
char code table1[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
char code table2[]={
0xbf,0x86,0xdb,0xcf,
0xe6,0xed,0xfd,0x87,
0xff,0xef};
sbit dula=P2^6;
sbit wela=P2^7;
int i=0,o=0,u=0,n=0,m=0,q=0;
void delayms(int xms);
void main(void)
{
TMOD=0x01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
dula=1;
P0=table2[m];
dula=0;
P0=0xff;
wela=1;
P0=0xfe;
wela=0;
delayms(5);
dula=1;
P0=table1[n];
dula=0;
P0=0xff;
wela=1;
P0=0xfd;
wela=0;
delayms(5);
dula=1;
P0=table1[q];
dula=0;
P0=0xff;
wela=1;
P0=0xfb;
wela=0;
delayms(5);
}
}
void caculate() interrupt 0
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
i++;
o++;
u++;
{
if(i==10)
{
i=0;
q++;
}
if(o==100)
{
n++;
o=0;
}
if(u==1000)
{
u=0;
m++;
}
if(m==10)
{
m=0;
}
if(n==10)
{
n=0;
}
if(q==10)
{
q=0;
}
}
}
void delayms(int xms)
{
int a,b;
for(a=xms;a>0;a--)
for(b=110;b>0;b--);
}
复制代码
所有资料51hei提供下载:
0.01s计时器.rar
(546 Bytes, 下载次数: 11)
2018-8-3 13:11 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1