亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        單片機(jī)外部中斷的教學(xué)和自學(xué)方法研究與設(shè)計(jì)

        2013-12-31 00:00:00脫建智
        電子世界 2013年20期

        【摘要】外部中斷是單片機(jī)接收外部器件的信號而不占用CPU常規(guī)時(shí)間的實(shí)用技術(shù),是單片機(jī)技術(shù)的一個(gè)難點(diǎn)?;谖以簡纹瑱C(jī)實(shí)驗(yàn)室的基本實(shí)驗(yàn)條件,經(jīng)過近四個(gè)學(xué)期的研究和教學(xué)實(shí)踐驗(yàn)證,設(shè)計(jì)了適用于高職高專相關(guān)專業(yè)教學(xué)和自學(xué)單片機(jī)外部中斷的一種方法,實(shí)驗(yàn)表明該方法可以實(shí)現(xiàn)良好的教學(xué)效果。

        【關(guān)鍵詞】單片機(jī);外部中斷;優(yōu)先級;教學(xué)方法

        1.前言

        在多年的機(jī)電一體化技術(shù)專業(yè)《單片機(jī)原理及應(yīng)用》課程的授課過程中,逐漸總結(jié)出了該課程的重點(diǎn)和難點(diǎn),其中,單片機(jī)外部中斷是重中之重。

        2.實(shí)驗(yàn)設(shè)備介紹

        我院采用的是自主研發(fā)的單片機(jī)實(shí)踐教學(xué)設(shè)備,如圖1所示。

        圖1 單片機(jī)實(shí)踐教學(xué)設(shè)備

        控制核心為STC89C52RC單片機(jī),采用DIP40封裝,該系列單片機(jī)具備極為方便的程序下載方式,是目前保有率較高的一款通用單片機(jī)。顯示器采用六個(gè)共陽極數(shù)碼管,P2口作為數(shù)碼管的位選信號,P0口信息作為數(shù)碼管的顯示段碼。兩類輸入設(shè)備均采用機(jī)械式自復(fù)位按鍵,其一是4*4矩陣按鍵,其二是P3口的獨(dú)立式按鍵。P3.2和P3.3分別是外部中斷0和外部中斷1的觸發(fā)信號,KEY2和KEY3兩個(gè)按鍵產(chǎn)生的低電平信號和由1到0的下降沿信號可以觸發(fā)中斷。設(shè)備的部分原理圖如圖2所示。

        3.中斷原理

        3.1 中斷基本原理

        中斷技術(shù)是指CPU要中斷當(dāng)前正在處理而未完成的任務(wù)一,先去完成任務(wù)二,待任務(wù)二完成之后再繼續(xù)完成先前未完成的任務(wù)一。在這里任務(wù)一可以是C代碼的任何一個(gè)函數(shù)或者是主函數(shù),任務(wù)二是中斷處理子函數(shù)。

        可以觸發(fā)單片機(jī)中斷的信號被叫做中斷觸發(fā)信號,單片機(jī)配置兩個(gè)外部中斷源INT0和INT1,他們的觸發(fā)信號分別是由P3.2和P3.3兩條管腳輸入的,低電平觸發(fā)INT0。外部中斷觸發(fā)信號的形式可以通過IT0和IT1兩個(gè)控制位來配置,控制位設(shè)置為0,其觸發(fā)相應(yīng)中斷的信號形式為低電平觸發(fā),若設(shè)置為1則為控制引腳出現(xiàn)由1到0的下降沿的時(shí)候觸發(fā)。兩類信號均可以通過連接在P3口的獨(dú)立式按鍵實(shí)現(xiàn)。

        3.2 中斷優(yōu)先級

        中斷優(yōu)先級有兩層意義。第一層意義是中斷源的默認(rèn)優(yōu)先級,他們依次從高到低是INT0,定時(shí)器0,INT1,定時(shí)器1,串行口。第二層意義是中斷源的自定義優(yōu)先級,一般設(shè)置兩級自定義優(yōu)先級,若將中斷源的優(yōu)先級控制位設(shè)置為高電平1,則為高級中斷,反之為低級中斷。自定義優(yōu)先級同為高級中斷或者低級中斷的中斷源,他們的中斷優(yōu)先級由默認(rèn)優(yōu)先級決定。

        4.中斷的實(shí)驗(yàn)驗(yàn)證

        為了充分解析單片機(jī)的中斷技術(shù),結(jié)合上述中斷原理,研究設(shè)計(jì)了一系列實(shí)驗(yàn)?zāi)K,各模塊詳見下列程序清單。

        #include

        unsigned char code table[]={0xc0, 0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,

        0x8e};//共陽極數(shù)碼管顯示段碼。

        unsigned char counter,ValueS,ValueG; //定義三個(gè)無符號字符型變量。

        void DelayXms(unsigned char i);

        void display();

        void main()

        {

        EA=1;//打開總中斷“開關(guān)”。

        EX0=1;//打開INT0“開關(guān)”。

        EX1=1;//打開INT1“開關(guān)”。

        IT0=1;//INT0觸發(fā)引腳P3.2低電平0觸發(fā)(IT0=1將配置該觸發(fā)引腳出現(xiàn)1->0下降沿時(shí)觸發(fā)中斷)。

        IT1=0;//INT1觸發(fā)引腳P3.3低電平0觸發(fā)(IT1=1將配置該觸發(fā)引腳出現(xiàn)1->0下降沿時(shí)觸發(fā)中斷)。

        PX0=0;//設(shè)置INT0為低級中斷。

        PX1=1;//設(shè)置INT1為高級中斷。

        while(1){display();}//主函數(shù)循環(huán)的主體是顯示工作。

        }

        void WINT0()interrupt 0//INT0處理函數(shù)。模塊一:實(shí)現(xiàn)計(jì)數(shù)值加一。

        {

        DelayXms(5);//消除機(jī)械式自復(fù)位按鍵的抖動(dòng)。

        if(INT0==0)//INT0=P3.2。

        {counter++;}//計(jì)數(shù)值加一。

        if(counter==10)

        {counter=0;}//計(jì)數(shù)值逢十清零。

        }

        void WINT11()interrupt 2//INT1處理函數(shù)。模塊二:實(shí)現(xiàn)最左邊一個(gè)數(shù)碼管顯示0。

        {

        P2=0x01;

        P0=table[0];

        display();

        }

        void display()//模塊三:最右邊兩位數(shù)碼管的動(dòng)態(tài)顯示計(jì)數(shù)值。

        {

        ValueS=counter/10;//取整,十位。

        ValueG=counter%10;//取余,個(gè)位。

        P2=0x20;

        P0=table[ValueG];

        DelayXms(3);

        P2=0X10;

        P0=table[ValueS];

        DelayXms(3);

        }

        void DelayXms(unsigned char i)//模塊四:X毫秒延時(shí)。

        {

        while(--i)

        {

        unsigned char j = 250;

        while(--j);

        }

        }

        (1)實(shí)驗(yàn)一:設(shè)置INT0為下降沿觸發(fā)方式(IT0=1),中斷處理函數(shù)為模塊一計(jì)數(shù)值加一。實(shí)驗(yàn)結(jié)果表明單片機(jī)可以順利的將按鍵的按下次數(shù)顯示出來。

        (2)實(shí)驗(yàn)二:設(shè)置INT0為低電平觸發(fā)方式(IT0=0)。實(shí)驗(yàn)結(jié)果表明單片機(jī)不能夠正常顯示按鍵按下次數(shù)。因?yàn)殡娖接|發(fā)方式的時(shí)候,只要觸發(fā)信號引腳是低電平就要申請中斷加一,人工按下機(jī)械式按鍵,將會(huì)被單片機(jī)掃描為多次低電平,出現(xiàn)重復(fù)加一,顯示亂碼的情況??梢詳U(kuò)展到INT1,收獲同樣的實(shí)驗(yàn)結(jié)果。

        (3)實(shí)驗(yàn)三:采用默認(rèn)優(yōu)先級,設(shè)置INT0為低電平0觸發(fā),一直按下KEY2實(shí)現(xiàn)顯示0功能。設(shè)置INT1為下降沿觸發(fā),按下KEY3一次實(shí)現(xiàn)加一功能。實(shí)驗(yàn)第一步,單獨(dú)按KEY3可以順利實(shí)現(xiàn)加一功能;第二步,保持KEY2按下狀態(tài),因?yàn)榈碗娖?觸發(fā)的緣故,CPU將不斷的實(shí)現(xiàn)INT0的顯示0的功能,這時(shí)候按下KEY3是不能夠?qū)崿F(xiàn)加一功能的,因?yàn)镮NT0的優(yōu)先級要高于INT1。

        (4)實(shí)驗(yàn)四:設(shè)置INT0實(shí)現(xiàn)加一功能而INT1實(shí)現(xiàn)顯示0的功能。實(shí)驗(yàn)第一步,單獨(dú)的KEY2和KEY3的功能可以分別實(shí)現(xiàn);第二步,在保持KEY3按下的情況下,再來按KEY2可以實(shí)現(xiàn)加一功能。

        (5)實(shí)驗(yàn)五:通過自定義優(yōu)先級的方式將INT1設(shè)置為高級中斷(PX1=1),INT0設(shè)置為低級中斷(PX0=0),重復(fù)實(shí)驗(yàn)三和實(shí)驗(yàn)四可以達(dá)到類似的效果。

        5.總結(jié)

        經(jīng)過近幾年的實(shí)踐教學(xué),研究設(shè)計(jì)了適用于高職高專機(jī)電一體化技術(shù)相關(guān)專業(yè)教學(xué)和自學(xué)單片機(jī)外部中斷的一種方法,其中涵蓋了簡單可行的五個(gè)實(shí)驗(yàn),實(shí)驗(yàn)表明該方法可以實(shí)現(xiàn)良好的教學(xué)效果。

        參考文獻(xiàn)

        [1]脫建智.基于自適應(yīng)算法的圓柱狀旋轉(zhuǎn)顯示屏的研究與設(shè)計(jì)[J].電子世界,2013,7:155.

        [2]脫建智.高職單片機(jī)技術(shù)的理論與實(shí)踐一體化教學(xué)研究[J].中國職工教育,2012.12:136.

        [3]脫建智.一種基于單片機(jī)的矩陣式鍵盤的設(shè)計(jì)與應(yīng)用[J].中國新通信.2012,24:52.

        作者簡介:脫建智(1981—),男,山東青州人,碩士,講師,現(xiàn)供職于濰坊工程職業(yè)學(xué)院,研究方向:機(jī)電一體化系統(tǒng)。

        热久久亚洲| 中国凸偷窥xxxx自由视频| 日本女优激情四射中文字幕| 国产不卡视频在线观看| 亚洲综合av大全色婷婷| 天天做天天爱夜夜爽毛片毛片 | 无码国产精品一区二区vr老人| 国产AV无码专区亚洲AⅤ| 国产成人精品自在线无码| 日韩精品成人一区二区三区久久久| 日韩精品一区二区在线视| 伊人久久大香线蕉av最新午夜| 国产亚洲精品品视频在线| 久久精品国产久精国产爱| 精品成在人线av无码免费看| 人人妻人人澡人人爽欧美精品| 孩交精品xxxx视频视频| 成人在线激情网| 久久精品国产72国产精福利| 亚洲一区二区三区一站| 麻豆视频av在线观看| 亚洲午夜狼人综合影院| 亚洲av乱码一区二区三区按摩 | 9 9久热re在线精品视频| 131美女爱做视频| 无码人妻视频一区二区三区99久久| 久久久久综合一本久道| 国产成人亚洲合色婷婷| 日韩国产精品一区二区三区| 国产三级精品三级| 国产一卡2卡3卡四卡国色天香| 欧美综合自拍亚洲综合图片区| 美女裸体无遮挡免费视频国产| 国产麻豆成人精品av| 亚洲福利二区三区四区| 久久国产人妻一区二区| 插b内射18免费视频| 久久久久亚洲AV无码专| 亲少妇摸少妇和少妇啪啪 | 国产一区二区三区四色av| 亚洲人成网站18禁止久久影院|