標(biāo)題:
51單片機新手,遇到不懂得地方,希望論壇的大哥大姐看一下,幫小弟答疑
[打印本頁]
作者:
123@阿斯頓
時間:
2018-6-25 23:40
標(biāo)題:
51單片機新手,遇到不懂得地方,希望論壇的大哥大姐看一下,幫小弟答疑
為什么定時器初始化程序,另外寫在子函數(shù)中,在主函數(shù)中調(diào)用它,開發(fā)板上不計時,而把整個函數(shù)寫在主函數(shù)中就可以計時。
#include<reg52.h>
#define uchar unsigned char
sbit Part=P2^6;
sbit Post=P2^7;
uchar num,unit,decade,count,n=255;
uchar codetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(uchar xms)//延時大約X毫秒
{
uchari,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
/*void Init_timer(void)//串口初始化函數(shù)
{
TMOD=0x01;//設(shè)置定時器工作方式1
TH0=(65536-46080)/256;//由于晶振為11.0592,故所記次數(shù)應(yīng)為46080,計時器每隔50000微秒發(fā)起一次中斷。
TL0=(65536-46080)%256;
ET0=1;//定時器中斷T0打開
EA=1;//定時器總中斷打開
TR0=1;//定時器開始工作
}*/
void display(uchar a,uchar b)//數(shù)碼管顯示函數(shù)
{
P0=table[a];
Part=1;
Part=0;
P0=0xfe;
Post=1;
Post=0;
delay(5);
P0=table[ b];
Part=1;
Part=0;
P0=0xfd;
Post=1;
Post=0;
delay(5);
}
void main()
{
// voidInit_timer();//定時器初始化
TMOD=0x01;//設(shè)置定時器工作方式1
TH0=(65536-46080)/256;//由于晶振為11.0592,故所記次數(shù)應(yīng)為46080,計時器每隔50000微秒發(fā)起一次中斷。
TL0=(65536-46080)%256;
ET0=1;//定時器中斷T0打開
EA=1;//定時器總中斷打開
TR0=1;//定時器開始工作
while(1)
{
if(count==20)
{
count=0;
num++;
n--;
P1=n;
if(num==60)
{
num=0;
}
}
unit=num%10;
decade=num/10;
display(decade,unit);
}
}
void Timer_Init(void) interrupt 1
{
TH0=(65536-46080)/256;//由于晶振為11.0592,故所記次數(shù)應(yīng)為46080,計時器每隔50000微秒發(fā)起一次中斷。
TL0=(65536-46080)%256;
count++;//統(tǒng)計進入中斷服務(wù)函數(shù)的次數(shù)
}
復(fù)制代碼
作者:
wulin
時間:
2018-6-26 05:48
void main()
{
// void Init_timer();//定時器初始化 錯誤
Init_timer();//定時器初始化 正確
while(1)
{
//...
}
}
作者:
Angle145
時間:
2018-6-26 08:56
void 函數(shù)名(void);這個叫函數(shù)聲明
void 函數(shù)名(void)
{
} 這個叫函數(shù)體
在另一個函數(shù)調(diào)用另一個函數(shù)時,只需要調(diào)用函數(shù)名()即可,不帶void(至于兩個void是什么,
以后你深入學(xué)習(xí)會知道的,這里就不增加你的難度了)
即比如在main()函數(shù)中調(diào)用 Init_timer()就寫成
void main(void)
{
Init_timer();
}
作者:
123@阿斯頓
時間:
2018-6-26 11:09
wulin 發(fā)表于 2018-6-26 05:48
void main()
{
// void Init_timer();//定時器初始化 錯誤
謝謝了
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1