在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)中斷小實(shí)驗(yàn)

            單片機(jī)中斷小實(shí)驗(yàn)

            作者: 時(shí)間:2016-11-23 來(lái)源:網(wǎng)絡(luò) 收藏
            這兩天一直搞不明白中斷和定時(shí),聽(tīng)說(shuō)這東西可以提高CPU的效率,我想應(yīng)該是很重要的編程方法,所以就在書(shū)上找了一個(gè)小程序,想從實(shí)驗(yàn)中發(fā)現(xiàn)點(diǎn)什么。

            要求是利用定時(shí)器T0的方式1,產(chǎn)生10ms的定時(shí),并使P1.0引腳上輸出周期為20ms的方波,采用中斷方式,設(shè)系統(tǒng)的時(shí)鐘頻率為12MHz。

            本文引用地址:http://www.biyoush.com/article/201611/320138.htm

            先說(shuō)程序,如下

            ORG0000H
            LJMPMAIN ;跳轉(zhuǎn)到主程序
            ORG000BH ;T0的終端入口地址
            LJMPDVT0 ;轉(zhuǎn)向中斷服務(wù)程序
            ORG0100H
            MAIN: MOVTMOD,#01H ;置T0工作于方式1
            MOV TH0,#0D8H
            MOV TL0,#0F0H ;裝入計(jì)數(shù)初值
            SETBET0;T0開(kāi)中斷
            SETB EA ;CPU開(kāi)中斷
            SETB TR0 ;啟動(dòng)T0
            SJMP $ ;等待中斷
            DVT0: CPL P1.0 ;P1.0取反輸出
            MOV TH0,#0D8H
            MOV TL0,#0F0H ;重新裝入初值
            RETI ;中斷返回
            END

            上面的程序采用的是中斷的方式產(chǎn)生中斷的,計(jì)數(shù)器每次加1需要花一定的時(shí)間,定時(shí)器定時(shí)就是靠這個(gè)時(shí)間的積累得到的,89C51有四個(gè)寄存器單元TH0,TL0,TH1,TL1是存放計(jì)數(shù)值的,每個(gè)寄存器8位,還有一個(gè)寄存器TMOD可以設(shè)置工作模式,每種模式計(jì)數(shù)地范圍不一樣,所具有的功能也不一樣,這個(gè)問(wèn)題以后有空再說(shuō)一下。

            定時(shí)器的控制是通過(guò)設(shè)置相關(guān)的寄存器得到的,主要有兩個(gè)TCON 和TMOD

            TCON是控制寄存器,里面有好多中斷標(biāo)志位,通過(guò)對(duì)它的設(shè)置可以控制單片機(jī)的中斷,單片機(jī)通過(guò)它可以知道系統(tǒng)是不是有中斷產(chǎn)生

            TMOD是工作模式寄存器,它可以控制單片機(jī)的工作方式,通過(guò)它可以控制單片機(jī)的觸發(fā)方式以及C/T的切換

            因?yàn)楸疚牡乃枷胧遣捎弥袛嗫刂频姆绞?,所以還需要對(duì)中斷控制位IE進(jìn)行設(shè)置

            在此再介紹一下KEIL軟件和PROTEUS軟件的聯(lián)調(diào)

            先看一下keil軟件


            這個(gè)軟件是免費(fèi)的,用起來(lái)非常方便,可以支持C語(yǔ)言編程和匯編編程,我們選擇的是匯編編程,在編譯前要建好工程

            編譯的時(shí)候,要注意,本軟件最終要生成hex類(lèi)型的文件以支持仿真,所以要點(diǎn)擊一下target左邊的按鈕,如下圖


            打開(kāi)之后,就是下面的界面,選擇output選項(xiàng)卡,在creat hex file前面打鉤


            如果程序沒(méi)有錯(cuò)誤,就在工程那個(gè)文件夾下面生成了hex文件,好了,程序工作完成了

            下面進(jìn)入單片機(jī)硬件電路的設(shè)計(jì)(實(shí)際中應(yīng)該是先硬件后軟件,本文忘考慮這點(diǎn)了)

            這是在proteus環(huán)境下的電路圖,這是一款非常不錯(cuò)的仿真軟件(注意要設(shè)置一下晶振的振蕩頻率為12MHz)


            我的電路是要在P1.0口輸出脈沖信號(hào),下面是仿真


            效果非常不錯(cuò),小有成就感啊

            通過(guò)此次設(shè)計(jì),可以發(fā)現(xiàn),單片機(jī)的中斷是在單片機(jī)計(jì)數(shù)滿(mǎn)之后產(chǎn)生的,那么計(jì)數(shù)器在這個(gè)過(guò)程就是一個(gè)準(zhǔn)確的計(jì)時(shí)功能,產(chǎn)生中斷,就要進(jìn)入中斷服務(wù)程序,這個(gè)程序是由我們自己編寫(xiě)的,為了脈沖可持續(xù)輸出,需要在這個(gè)程序中為計(jì)數(shù)器賦初值,并且取反P1.0,好了,休息一下




            關(guān)鍵詞: 單片機(jī)中

            評(píng)論


            技術(shù)專(zhuān)區(qū)

            關(guān)閉