前言
大家好吖,歡迎來到 YY 滴單片機(jī)系列 ,熱烈歡迎! 本章主要內(nèi)容面向接觸過單片機(jī)的老鐵文章來源:http://www.zghlxwxcb.cn/news/detail-826872.html
- 本章是【利用定時(shí)器和中斷實(shí)現(xiàn)一個(gè)簡(jiǎn)單項(xiàng)目】中的一部分,感興趣的老鐵可以跳轉(zhuǎn)傳送門查看
- 傳送門
歡迎訂閱 YY滴C++專欄!更多干貨持續(xù)更新!以下是傳送門!文章來源地址http://www.zghlxwxcb.cn/news/detail-826872.html
- YY的《C++》專欄
- YY的《C++11》專欄
- YY的《Linux》專欄
- YY的《數(shù)據(jù)結(jié)構(gòu)》專欄
- YY的《C語(yǔ)言基礎(chǔ)》專欄
- YY的《初學(xué)者易錯(cuò)點(diǎn)》專欄
- YY的《小小知識(shí)點(diǎn)》專欄
- YY的《單片機(jī)期末速過》專欄
- YY的《C++期末速過》專欄
- YY的《單片機(jī)》專欄
- YY的《STM32》專欄
- YY的《數(shù)據(jù)庫(kù)》專欄
- YY的《數(shù)據(jù)庫(kù)原理》專欄
六.設(shè)置中斷函數(shù)
- 引入:在定時(shí)器工作完跳轉(zhuǎn)到中斷程序時(shí),怎么識(shí)別我們的中斷程序在哪里呢?
![]()
1.中斷號(hào)
- 在函數(shù)后加上關(guān)鍵字如圖所示,即可標(biāo)記
![]()
2.中斷函數(shù)設(shè)置演示
- 注意看
void Timer0_Routine() interrupt 1
#include <REGX52.H>
#include "Timer0.h"
#include "Key.h"
#include <INTRINS.H>
unsigned char KeyNum,LEDMode;
void main()
{
P2=0xFE;
Timer0Init();
while(1)
{
KeyNum=Key(); //獲取獨(dú)立按鍵鍵碼
if(KeyNum) //如果按鍵按下
{
if(KeyNum==1) //如果K1按鍵按下
{
LEDMode++; //模式切換
if(LEDMode>=2)LEDMode=0;
}
}
}
}
void Timer0_Routine() interrupt 1 //中斷函數(shù)
{
static unsigned int T0Count;
TL0 = 0x18; //設(shè)置定時(shí)初值
TH0 = 0xFC; //設(shè)置定時(shí)初值
T0Count++; //T0Count計(jì)次,對(duì)中斷頻率進(jìn)行分頻
if(T0Count>=500)//分頻500次,500ms
{
T0Count=0;
if(LEDMode==0) //模式判斷
P2=_crol_(P2,1); //LED輸出
if(LEDMode==1)
P2=_cror_(P2,1);
}
}
到了這里,關(guān)于【51單片機(jī)】如何設(shè)置中斷函數(shù)(場(chǎng)景:在定時(shí)器工作完跳轉(zhuǎn)到中斷程序時(shí),怎么識(shí)別我們的中斷程序在哪里呢?)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!