真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語(yǔ)言中斷函數(shù)需要聲明嗎,c語(yǔ)言中斷函數(shù)的作用是什么

單片機(jī)c語(yǔ)言的各個(gè)中斷函數(shù)模型

c51中斷函數(shù)的介紹

成都創(chuàng)新互聯(lián)專注于企業(yè)營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、崇明網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、商城建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為崇明等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

C51編譯器允許用c51創(chuàng)建中斷服務(wù)程序,大家僅僅需要關(guān)心中斷號(hào)和寄存器組的選擇就可以了。編譯器自動(dòng)產(chǎn)生中斷向量和程序的入棧及出棧代碼。在函數(shù)聲明時(shí)包括interrupt,將把所聲明的函數(shù)定義為一個(gè)中斷服務(wù)程序。另外,可以用using定義此中斷服務(wù)程序所使用的寄存器組。

一、中斷函數(shù)的定義

1、中斷函數(shù)定義的格式為:

函數(shù)類型 函數(shù)名 interrupt n using n

其中:

Interrupt后面的n是中斷號(hào)。

關(guān)鍵字using后面的n是所選擇的寄存器組,取值范圍是0-3.

定義中斷函數(shù)時(shí),using是一個(gè)選項(xiàng),可以省略不用。如果不用則由編譯器選擇一個(gè)寄存器組作為絕對(duì)寄存器組。

2、8051的中斷過(guò)程通過(guò)使用interrupt關(guān)鍵字和中斷號(hào)來(lái)實(shí)現(xiàn),中斷號(hào)告訴編譯器中斷程序的入口地址。中斷號(hào)對(duì)應(yīng)著IE寄存器中的使能位,換句話說(shuō),IE寄存器中的0位對(duì)應(yīng)著外部中斷0,相應(yīng)的外部中斷0的中斷號(hào)是0.

IE寄存器中的使能位與外部中斷對(duì)應(yīng)關(guān)系:

中斷號(hào) 中斷源

0 外部中斷0

1 定時(shí)器0

2 外部中斷1

3 定時(shí)器1中斷

4 串行口中斷

5 定時(shí)器2中斷

二、使用中斷函數(shù)時(shí)要注意的問(wèn)題:

1. 在設(shè)計(jì)中斷時(shí),要注意的是哪些功能應(yīng)該放在中斷程序中,哪些功能應(yīng)該放在主程序中。一般來(lái)說(shuō)中斷服務(wù)程序應(yīng)該做最少量的工作,這樣做有很多好處。首先系統(tǒng)對(duì)中斷的反應(yīng)面更寬了,有些系統(tǒng)如果丟失中斷或?qū)χ袛喾磻?yīng)太慢將產(chǎn)生十分嚴(yán)重的后果,這時(shí)有充足的時(shí)間等待中斷是十分重要的。其次它可使中斷服務(wù)程序的結(jié)構(gòu)簡(jiǎn)單,不容易出錯(cuò)。

中斷程序中放入的東西越多,他們之間越容易起沖突。簡(jiǎn)化中斷服務(wù)程序意味著軟件中將有更多的代碼段,但可把這些都放入主程序中。中斷服務(wù)程序的設(shè)計(jì)對(duì)系統(tǒng)的成敗有至關(guān)重要的作用,要仔細(xì)考慮各中斷之間的關(guān)系和每個(gè)中斷執(zhí)行的時(shí)間,特別要注意那些對(duì)同一個(gè)數(shù)據(jù)進(jìn)行操作的ISR.

2. 中斷函數(shù)不能傳遞參數(shù)。

3. 中斷函數(shù)沒(méi)有返回值。

4. 中斷函數(shù)調(diào)用其他函數(shù),則要保證使用相同的寄存器組,否則出錯(cuò)。

5. 中斷函數(shù)使用浮點(diǎn)運(yùn)算要保存浮點(diǎn)寄存器的狀態(tài)。

keil中單片機(jī)用c語(yǔ)言編程,中斷函數(shù)在主函數(shù)后面,需要聲明嘛?可不可以直接把中斷函數(shù)放在主函數(shù)后

對(duì)于C51單片機(jī),其內(nèi)部總共有五級(jí)中斷源

分別為外部中斷0、定時(shí)器0、外部中斷1、定時(shí)器1及串行中斷。

C51單片機(jī)的中斷使用時(shí),主要是通過(guò)中斷來(lái)決定的。

如你定義一個(gè)中斷服務(wù)函數(shù):

void KEY(void) intterrupt 0

{

}

當(dāng)外部中斷0申請(qǐng)中斷時(shí)

會(huì)自動(dòng)根據(jù)interrupt后面的0,找到上面定義的這個(gè)中斷服務(wù)函數(shù)。

對(duì)于其他四個(gè)中斷源,其對(duì)應(yīng)的中斷號(hào)分別為1、2 、3、4

51單片機(jī)c語(yǔ)言編程中產(chǎn)生中斷的條件是什么

三個(gè):

1.總中斷使能位EA=1

2.相應(yīng)中斷使能 (ET0、EX0……) 打開

3.中斷源:外部中斷引腳的電平觸發(fā)、定時(shí)器溢出……

oid PxInt0(void) interrupt 0 //定義外部中斷0

void PxInt1(void) interrupt 2 //定義外部中斷1

void time0_int(void) interrupt 1 //定義定時(shí)器0

void time1_int(void) interrupt 3 //定義定時(shí)器1

這里為什么是 0 1 2 3的順序呢~?其實(shí)是單片機(jī)內(nèi)部默認(rèn)的,順序依次是:

0 外部中斷0

1 定時(shí)/計(jì)數(shù)器0

2 外部中斷1

3 定時(shí)/計(jì)數(shù)器1

4 串行口中斷

這個(gè)是沒(méi)有什么理由的,記住就行,以后要定義一個(gè)中斷的時(shí)候,定義的是哪一個(gè),就在后面加上它的序號(hào)就行了,比如void PxInt0(void) interrupt 0 表示外部中斷0,就在后面加上interrupt 0.

逐詞解釋的話。。。如:void PxInt0(void) interrupt 0

void的意思是沒(méi)有返回值,Pxint0(void)是你定義的函數(shù)名,interrupt表示你定義的是中斷函數(shù),0表示你定義的是外部中斷0

后面的依此類推。

另外,中斷函數(shù)不需要在main函數(shù)前聲明,當(dāng)單片機(jī)檢測(cè)到中斷所需的信號(hào)時(shí),它會(huì)自動(dòng)立即停止正在進(jìn)行的工作進(jìn)入中斷函數(shù)。


本文題目:c語(yǔ)言中斷函數(shù)需要聲明嗎,c語(yǔ)言中斷函數(shù)的作用是什么
當(dāng)前鏈接:http://weahome.cn/article/hcgjph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部