999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Proteus 仿真圖表在單片機(jī)多中斷源運(yùn)行中的應(yīng)用

2022-09-28 14:50:18王超
電子設(shè)計(jì)工程 2022年18期
關(guān)鍵詞:單片機(jī)設(shè)置

王超

(昌吉學(xué)院物理系,新疆昌吉 831100)

中斷是單片機(jī)在實(shí)時(shí)處理和實(shí)時(shí)控制中不可缺少的一項(xiàng)技術(shù),應(yīng)用十分廣泛,如果沒(méi)有中斷,其大量的時(shí)間可能會(huì)浪費(fèi)在查詢是否有中斷請(qǐng)求的操作上,采用中斷技術(shù)可消除查詢方式中的等待現(xiàn)象,提高單片機(jī)的實(shí)時(shí)性和工作效率[1-3]。但是,由于中斷的發(fā)生具有隨機(jī)性,尤其是多個(gè)中斷源共存的情況下,更增加了分析及調(diào)試程序的難度,利用Proteus仿真軟件設(shè)計(jì)多中斷源電路,編寫(xiě)程序?qū)崿F(xiàn)軟硬件協(xié)同調(diào)試,可定性、直觀、實(shí)時(shí)地展現(xiàn)多中斷源發(fā)生中斷的全過(guò)程,縮短了開(kāi)發(fā)周期,提高了效率。

1 單片機(jī)中斷源

MCS-51 系列單片機(jī)有五個(gè)中斷請(qǐng)求源,兩個(gè)中斷優(yōu)先級(jí)別,可以實(shí)現(xiàn)兩級(jí)中斷服務(wù)嵌套,每個(gè)中斷源都可以用軟件獨(dú)立地控制為允許和關(guān)閉中斷,每個(gè)中斷源的優(yōu)先級(jí)別均可以使用軟件來(lái)設(shè)置[4-6]。

實(shí)際上,51 系列單片機(jī)中斷優(yōu)先級(jí)有兩種:查詢優(yōu)先級(jí)和執(zhí)行優(yōu)先級(jí),所謂查詢優(yōu)先級(jí)是從芯片的datasheet 或者教材中看到的默認(rèn)優(yōu)先級(jí)(IP 不設(shè)置,復(fù)位后其值為00H),其優(yōu)先級(jí)順序?yàn)椋捍锌冢?dāng)多個(gè)中斷源申請(qǐng)中斷時(shí),CPU 會(huì)按照查詢優(yōu)先級(jí)的順序依次查詢各個(gè)中斷標(biāo)志位的狀態(tài),不代表高優(yōu)先級(jí)的中斷可以打斷正在執(zhí)行的低優(yōu)先級(jí)的中斷服務(wù)。而執(zhí)行優(yōu)先級(jí)則需先進(jìn)行IP 設(shè)置,當(dāng)經(jīng)過(guò)設(shè)置的低優(yōu)先級(jí)中斷正在運(yùn)行時(shí),如果有高優(yōu)先級(jí)別的中斷申請(qǐng)則會(huì)執(zhí)行中斷嵌套,進(jìn)入高優(yōu)先級(jí)別的中斷服務(wù)處理,若是處于同一個(gè)級(jí)別,則要按照查詢優(yōu)先級(jí)的順序進(jìn)行處理。

2 單片機(jī)多中斷源電路設(shè)計(jì)

單片機(jī)多中斷源電路由AT89C51 單片機(jī)、中斷源申請(qǐng)電路、中斷過(guò)程指示電路、串行口數(shù)據(jù)傳輸電路組成,電路設(shè)計(jì)圖如圖1 所示,中斷源與對(duì)應(yīng)按鍵對(duì)照表如表1 所示。

圖1 多中斷源電路設(shè)計(jì)圖

表1 中斷源與對(duì)應(yīng)按鍵對(duì)照表

中斷源申請(qǐng)電路由四個(gè)獨(dú)立的按鍵K0、K1、K2、K3 和總按鍵K 組成,用來(lái)控制和T0 這四個(gè)中斷源(T1 與T0 運(yùn)行過(guò)程類(lèi)似,選擇一個(gè)即可)的分時(shí)申請(qǐng)和同時(shí)申請(qǐng)。

中斷指示電路由4 個(gè)發(fā)光二極管D1、D2、D3、D5組成,D1 的亮滅指示的發(fā)生,D2 的亮滅指示的發(fā)生,D3 的亮滅指示串行口中斷的發(fā)生,D5 的亮滅指示T0 中斷的發(fā)生,D4 為電路的運(yùn)行指示燈。

串行口輸出傳輸電路由串行輸入/并行輸出的同步移位寄存器74LS164 和數(shù)據(jù)指示燈L1-L8 組成[7-9],串行口工作在方式0 輸出模式,串行輸出數(shù)據(jù)由P3.0 輸出,移位脈沖由P3.1 輸出,MR 接高電平時(shí)移位脈沖才有效,在移位脈沖作用下,發(fā)送緩沖器SBUF 中的數(shù)據(jù)依次通過(guò)RXD 端送往74LS164,并通過(guò)L1-L8 顯示串口傳輸?shù)臄?shù)據(jù)。

在中斷指示電路圖中,分別在D1、D2、D3 和D5處添加探針,在仿真圖表中添加對(duì)應(yīng)的數(shù)字量曲線,以便記錄中斷發(fā)生過(guò)程。

3 多中斷源中斷申請(qǐng)的處理

要完成單片機(jī)多個(gè)中斷源同時(shí)和不同時(shí)申請(qǐng)的處理,需要實(shí)現(xiàn)多個(gè)中斷源的申請(qǐng)可控,多中斷源申請(qǐng)的控制有兩種實(shí)現(xiàn)方式,方式一是采用按鍵作為中斷請(qǐng)求的輸入開(kāi)關(guān),用軟件檢測(cè)開(kāi)關(guān)的閉合,實(shí)現(xiàn)不同開(kāi)關(guān)作用下的中斷處理,如圖1 中的K、K0、K1、K2、K3 開(kāi)關(guān),K 用來(lái)控制中斷源同時(shí)申請(qǐng),K0-K3 用來(lái)控制不同中斷源的申請(qǐng)?zhí)幚?。方式二使用Proteus中提供的虛擬信號(hào)源來(lái)實(shí)現(xiàn),單擊工具箱中的快捷圖標(biāo),選擇單周期數(shù)字脈沖發(fā)生器(DPULSE),放置在每個(gè)按鍵上,并在屬性對(duì)話框中進(jìn)行有關(guān)的設(shè)置,對(duì)話框內(nèi)數(shù)據(jù)類(lèi)型選擇為單脈沖,只產(chǎn)生一個(gè)脈沖信號(hào),脈沖屬性選擇負(fù)的(高低高),脈沖時(shí)間需要設(shè)置開(kāi)始時(shí)間、脈沖持續(xù)的寬度和停止時(shí)間[10-13],可精確設(shè)置不同中斷源的申請(qǐng)信號(hào),借助單周期數(shù)字脈沖發(fā)生器,可以實(shí)現(xiàn)仿真圖表的交互式動(dòng)態(tài)仿真,可變以往只有示波器、邏輯分析儀可以實(shí)現(xiàn)的功能。

4 程序設(shè)計(jì)

四個(gè)中斷源對(duì)應(yīng)的輸入請(qǐng)求有四個(gè)按鍵K0-K3,若是中斷源同時(shí)申請(qǐng)中斷,可以把單周期數(shù)字脈沖發(fā)生器設(shè)置為一致即可,若是中斷源不同時(shí)申請(qǐng)中斷,四個(gè)按鍵的組合就有16 種情況,主程序流程圖如圖2 所示。

圖2 主程序流程圖

圖2 中,首先進(jìn)行初始化處理,即P0=0xff,P3=0xff,TMOD=0x01,EA=0,關(guān)中斷,然后使用while(1)完成循環(huán)掃描判斷,四個(gè)中斷源共16 種情況,使用switch(button)開(kāi)關(guān)語(yǔ)句實(shí)現(xiàn)多分支處理,當(dāng)K0-K4全部閉合時(shí),button 為0X00,執(zhí)行switch 的第一個(gè)分支TCON=0xff;EA=1;break;即:和T0 定時(shí)器中斷請(qǐng)求標(biāo)志位置1,執(zhí)行串口發(fā)送程序ChuanKou(),使TI=1,最后使EA=1,開(kāi)放所有中斷,即可實(shí)現(xiàn)四個(gè)中斷源同時(shí)產(chǎn)生中斷,其他情況類(lèi)似。

5 多中斷源運(yùn)行過(guò)程

5.1 IP不進(jìn)行設(shè)置,四個(gè)中斷源同時(shí)申請(qǐng)

全速運(yùn)行后,仿真結(jié)果如圖3 所示,四個(gè)中斷源在同一時(shí)刻觸發(fā)申請(qǐng)中斷,首先響應(yīng),響應(yīng)結(jié)束后依次是T0 響應(yīng)、響應(yīng)和串行口響應(yīng),中斷源的執(zhí)行順序是查詢優(yōu)先級(jí)順序,依據(jù)確定的順序依次進(jìn)行,不會(huì)形成高優(yōu)先級(jí)中斷低優(yōu)先級(jí)的嵌套形式,仿真圖表的運(yùn)行結(jié)果與CPU 寄存器窗口數(shù)據(jù)一致。

圖3 IP不設(shè)置多中斷源同時(shí)申請(qǐng)

5.2 IP不進(jìn)行設(shè)置,四個(gè)中斷源不同時(shí)申請(qǐng)

設(shè)置四個(gè)中斷源的單周期數(shù)字脈沖發(fā)生器屬性,脈沖屬性均為高低高、脈沖寬度均為20 ms,四個(gè)中斷源脈沖觸發(fā)的開(kāi)始時(shí)間分別為100 ms(串行口)、200 ms()、300 ms(T0)和400 ms()。

在T0 中斷服務(wù)程序中設(shè)置斷點(diǎn),SCON=000 00000B=00H,即TI=0,發(fā)送中斷申請(qǐng)標(biāo)志位為0,表示串口中斷完成,標(biāo)志位已經(jīng)清零,TCON=1100 1101B=0CDH,即TF0=0、IE0=0、IE1=1,定時(shí)器T0、的標(biāo)志位均為0,表示其中斷已經(jīng)結(jié)束,標(biāo)志位清零,的標(biāo)志位為1,說(shuō)明中斷還未執(zhí)行。

本文利用模塊化理論與方法,對(duì)發(fā)射場(chǎng)特種機(jī)械設(shè)備進(jìn)行模塊化分析和研究,綜合傳統(tǒng)模塊劃分方法的分類(lèi),結(jié)合特種設(shè)備的具體特點(diǎn),歸納了創(chuàng)新式和變型式模塊的方法步驟,為實(shí)現(xiàn)發(fā)射場(chǎng)特種機(jī)械設(shè)備通用化設(shè)計(jì)與系列化設(shè)計(jì)提供技術(shù)支持,并以火箭測(cè)試廠房平開(kāi)大門(mén)為研究對(duì)象,進(jìn)行了實(shí)例分析.

全速運(yùn)行后,仿真結(jié)果如圖4 所示,四個(gè)中斷源申請(qǐng)不同時(shí)到達(dá),每個(gè)中斷源間隔100 ms,首先到達(dá)的是串行口中斷請(qǐng)求,則串行口首先響應(yīng),在串行口響應(yīng)期間,依次是請(qǐng)求到達(dá),即使執(zhí)行優(yōu)先級(jí)高于串行口,也不會(huì)出現(xiàn)嵌套,體現(xiàn)的是先到先處理,與優(yōu)先級(jí)高低沒(méi)有關(guān)系,先到的中斷請(qǐng)求處理完成后,再依次處理后續(xù)的中斷請(qǐng)求,仿真圖表的運(yùn)行結(jié)果與CPU 寄存器窗口數(shù)據(jù)一致。

圖4 IP不設(shè)置多中斷源不同時(shí)申請(qǐng)

5.3 IP進(jìn)行設(shè)置,中斷源同時(shí)申請(qǐng)

設(shè)置IP=0x14,即PX1=1、PX0=0、PT0=0、PS=1,和串行口DTXD為高優(yōu)先級(jí),和T0 為 低優(yōu)先級(jí),設(shè)置單周期數(shù)字脈沖發(fā)生器脈沖屬性為高低高,脈寬為20 ms,開(kāi)始時(shí)間均為100 ms。

全速運(yùn)行后,仿真結(jié)果如圖5 所示,四個(gè)中斷源分成兩個(gè)級(jí)別,和串行口DTXD 為高優(yōu)先級(jí),和T0 為低優(yōu)先級(jí),高優(yōu)先級(jí)別的兩個(gè)中斷源同時(shí)申請(qǐng)時(shí),按照查詢優(yōu)先級(jí)順序響應(yīng),即先響應(yīng),然后響應(yīng)DTXD;低優(yōu)先級(jí)的兩個(gè)中斷源同時(shí)申請(qǐng)時(shí),也會(huì)按照查詢優(yōu)先級(jí)的順序響應(yīng),即先響應(yīng),然后響應(yīng)T0,由于先執(zhí)行的是高優(yōu)先級(jí)別的中斷源申請(qǐng),所以,不會(huì)發(fā)生嵌套,同一級(jí)別中的兩個(gè)中斷源依次按照查詢優(yōu)先級(jí)順序進(jìn)行處理,仿真圖表的運(yùn)行結(jié)果與CPU 寄存器窗口數(shù)據(jù)一致。

圖5 IP設(shè)置多中斷源同時(shí)申請(qǐng)

5.4 IP進(jìn)行設(shè)置,中斷源不同時(shí)申請(qǐng)

圖6 IP設(shè)置多中斷源不同時(shí)申請(qǐng)

圖6 中,在100 ms 時(shí),T0 中斷申請(qǐng),此時(shí)只有一個(gè)中斷申請(qǐng),立刻執(zhí)行T0 中斷過(guò)程,在T0 執(zhí)行期間,申請(qǐng)中斷,由于的優(yōu)先級(jí)高于T0,所以發(fā)生了嵌套,在執(zhí)行期間,和DTXD 依次申請(qǐng),因51 系列單片機(jī)只有兩個(gè)優(yōu)先級(jí)別,只能執(zhí)行兩級(jí)中斷嵌套,當(dāng)響應(yīng)完后,立即響應(yīng)DTXD的請(qǐng)求,繼續(xù)暫停T0,執(zhí)行DTXD,當(dāng)DTXD 響應(yīng)完后,返回T0 繼續(xù)執(zhí)行,因T0 和屬于同一個(gè)級(jí)別,只有當(dāng)T0 響應(yīng)完后,才去響應(yīng)的申請(qǐng)。

圖7 監(jiān)視窗口

6 結(jié)束語(yǔ)

使用Proteus 軟件實(shí)現(xiàn)了單片機(jī)多中斷源共同作用下的執(zhí)行過(guò)程,借助Proteus 軟件提供的仿真圖表、CPU 寄存器窗口等虛擬分析器件,將抽象的中斷過(guò)程直觀化,有助于學(xué)生更好地理解多中斷源執(zhí)行過(guò)程,提高了分析問(wèn)題和解決問(wèn)題的能力。

猜你喜歡
單片機(jī)設(shè)置
中隊(duì)崗位該如何設(shè)置
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測(cè)量?jī)x
電子制作(2019年9期)2019-05-30 09:42:02
7招教你手動(dòng)設(shè)置參數(shù)
小議PLC與單片機(jī)之間的串行通信及應(yīng)用
電子制作(2018年12期)2018-08-01 00:48:04
基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
電子制作(2017年19期)2017-02-02 07:08:27
本刊欄目設(shè)置說(shuō)明
中俄臨床醫(yī)學(xué)專(zhuān)業(yè)課程設(shè)置的比較與思考
Microchip推出兩個(gè)全新PIC單片機(jī)系列
主站蜘蛛池模板: 色噜噜狠狠色综合网图区| 国产国语一级毛片| 国产成人综合日韩精品无码首页| 国产丰满成熟女性性满足视频| 狠狠亚洲五月天| 成年看免费观看视频拍拍| 午夜不卡视频| 天天色天天综合网| 国产中文在线亚洲精品官网| 国产人人乐人人爱| 国产乱人视频免费观看| 在线日韩一区二区| 亚洲中文精品人人永久免费| 国产精品va| h网址在线观看| 在线免费看黄的网站| 最新国产午夜精品视频成人| 91精品综合| 午夜老司机永久免费看片| 鲁鲁鲁爽爽爽在线视频观看| 亚洲中文字幕无码mv| 天天视频在线91频| 久久频这里精品99香蕉久网址| 日韩毛片免费| 欧美无专区| 999国内精品视频免费| 日韩大片免费观看视频播放| 国产一区成人| 国产成人精品一区二区免费看京| 一级毛片免费不卡在线| 亚洲欧美日韩另类| 无码综合天天久久综合网| 激情成人综合网| 九九视频在线免费观看| 亚洲天堂色色人体| 国产精品女同一区三区五区| 久久久久国产一区二区| 久久精品中文字幕少妇| 亚洲免费成人网| 国产成人精品免费视频大全五级| 亚洲无码熟妇人妻AV在线| 国产午夜一级淫片| 亚洲AⅤ永久无码精品毛片| 亚洲一区国色天香| 欧美成人午夜在线全部免费| 91无码视频在线观看| 国产成人福利在线视老湿机| 国产一级特黄aa级特黄裸毛片| 色悠久久久| 日本道综合一本久久久88| 久久免费精品琪琪| 色婷婷综合在线| 国产亚洲精品在天天在线麻豆| 91美女视频在线| 精品91自产拍在线| 人妻无码中文字幕一区二区三区| 日韩小视频在线观看| 亚洲成肉网| 天天综合网色| 91精品啪在线观看国产| 野花国产精品入口| 国产91小视频在线观看| 色综合综合网| 亚洲AⅤ波多系列中文字幕| 啦啦啦网站在线观看a毛片| 欧美a级完整在线观看| 四虎永久免费地址在线网站| 国产精品久久久精品三级| 精品久久香蕉国产线看观看gif| 亚洲综合第一区| 国内毛片视频| 亚洲欧美成aⅴ人在线观看 | 国产网站一区二区三区| 无码精品国产dvd在线观看9久 | 亚洲综合在线最大成人| 精品亚洲麻豆1区2区3区| 日韩无码视频播放| 国产偷国产偷在线高清| 九色视频最新网址| 香蕉久久国产超碰青草| 91欧美在线| 中文无码日韩精品|