<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          單片機中斷小實驗

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

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

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

          先說程序,如下

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

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

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

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

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

          因為本文的思想是采用中斷控制的方式,所以還需要對中斷控制位IE進行設(shè)置

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

          先看一下keil軟件


          這個軟件是免費的,用起來非常方便,可以支持C語言編程和匯編編程,我們選擇的是匯編編程,在編譯前要建好工程

          編譯的時候,要注意,本軟件最終要生成hex類型的文件以支持仿真,所以要點擊一下target左邊的按鈕,如下圖


          打開之后,就是下面的界面,選擇output選項卡,在creat hex file前面打鉤


          如果程序沒有錯誤,就在工程那個文件夾下面生成了hex文件,好了,程序工作完成了

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

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


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


          效果非常不錯,小有成就感啊

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




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

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();