可以的,定時(shí)中斷的優(yōu)先級(jí)較高,中斷后會(huì)執(zhí)行中斷里面的程序,當(dāng)中斷里面的程序執(zhí)行完成之后,你可以初始化定時(shí)器或者關(guān)閉定時(shí)器,程序就會(huì)從中斷中退出,繼續(xù)執(zhí)行while中的程序
專(zhuān)注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)博望免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了超過(guò)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
你要先理解什么是中斷。知道中斷是怎么回事了,你才好理解的。
這塊是講中斷的。
主函數(shù)里面執(zhí)行的都是順序執(zhí)行的,當(dāng)中斷發(fā)生的時(shí)候就執(zhí)行中斷程序里面的東西的。串口中斷就是當(dāng)發(fā)送或接收完畢時(shí),產(chǎn)生的中斷,發(fā)生中斷過(guò)后,就將主函數(shù)暫停執(zhí)行,保存這個(gè)時(shí)候正在運(yùn)行的一些變量,一些內(nèi)存值之類(lèi)的。然后當(dāng)中斷函數(shù)執(zhí)行完畢過(guò)后再回來(lái)接著執(zhí)行主函數(shù)里面的東西的。
首先你要寫(xiě)中斷函數(shù)
然后在主程序中像調(diào)用子函數(shù)一樣調(diào)用就可以了
舉個(gè)例子吧
#define uchar unsigned char
#define uchar unsigned char
sbit D1=P1^0;
uchar aa;
void init()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
void main()
{
init();
while(1)
{
if(aa==20)
{
D1=~D1;
aa=0;
}
}
}
void T0time()interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
aa++;
}
這個(gè)問(wèn)題很泛哦
把上電后只做一次的任務(wù)寫(xiě)到主函數(shù)里, 比如基本的初始化
把需要不斷循環(huán)做的任務(wù)放到while(1)里,比如輪詢(xún),IO狀態(tài)查詢(xún)
把不知道什么時(shí)間會(huì)發(fā)生(比如外部中斷,按鍵中斷等)以及需要保證準(zhǔn)時(shí)發(fā)生的任務(wù)(比如定時(shí)器時(shí)間到)放到中斷里
當(dāng)前名稱(chēng):c語(yǔ)言中中斷和主函數(shù) c51中,中斷函數(shù)與一般函數(shù)有什么不同
網(wǎng)站地址:http://www.rwnh.cn/article46/hicjeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、Google、外貿(mào)網(wǎng)站建設(shè)、ChatGPT、網(wǎng)站收錄、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)