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