如何使用Keil軟件編程對持續(xù)輸出高電平進(jìn)行計時
如果您正在處理需要準(zhǔn)確計時的高電平輸出,那么Keil軟件編程可以成為您的最佳選擇。本文將向您介紹如何使用Keil編程,以精確計時持續(xù)輸出的高電平。生成定時器程序在Keil中,我們需要使用定時器2來實現(xiàn)
如果您正在處理需要準(zhǔn)確計時的高電平輸出,那么Keil軟件編程可以成為您的最佳選擇。本文將向您介紹如何使用Keil編程,以精確計時持續(xù)輸出的高電平。
生成定時器程序
在Keil中,我們需要使用定時器2來實現(xiàn)對高電平的計時。首先,在isp中生成定時器程序,時間自己把握,這里我們設(shè)置為1ms。接著,將代碼粘貼到Keil中,并加入EA和ET0打開中斷,但是在此之前先關(guān)閉計時開關(guān)。
添加中斷程序
在程序中添加中斷程序,這里我們需要設(shè)置時間變量并定義需輸出引腳。該部分代碼如下:
```c
void T0_timer() interrupt 1 // 定時器中斷程序
{
static unsigned int cnt 0;
cnt ;
if(cnt 1000) // 定時時間總共為1s
{
cnt 0;
P1 ~P1; // 將引腳設(shè)置為第電平
TR0 0; // 關(guān)閉計時
}
}
```
設(shè)置引腳和時間變量
在主函數(shù)中,設(shè)置引腳為高電平,并打開計時開關(guān)。同時,我們還需要設(shè)置時間變量。該部分代碼如下:
```c
void main()
{
TMOD 0x02; // 模式2
TH0 (65536 - 1000) / 256;
TL0 (65536 - 1000) % 256;
P1 0xff; // 引腳設(shè)置為高電平
TR0 1; // 打開計時
while(1);
}
```
通過以上步驟,我們就能夠成功地使用Keil軟件編程對持續(xù)輸出的高電平進(jìn)行計時了。