備用 11 定時(shí)器中斷與蜂鳴器程序設(shè)置_第1頁(yè)
備用 11 定時(shí)器中斷與蜂鳴器程序設(shè)置_第2頁(yè)
備用 11 定時(shí)器中斷與蜂鳴器程序設(shè)置_第3頁(yè)
備用 11 定時(shí)器中斷與蜂鳴器程序設(shè)置_第4頁(yè)
備用 11 定時(shí)器中斷與蜂鳴器程序設(shè)置_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

定時(shí)器中斷

與蜂鳴器程序設(shè)置一、窗機(jī)控制板的硬件構(gòu)成電源5V晶振8MHZ(四分頻后內(nèi)部總線頻率為2MHZ)控制板上用的是05系列的SR3芯片座(40個(gè)管腳),08系列的JL3芯片(28個(gè)管腳)通過(guò)過(guò)渡板(4094芯片)連接到SR3芯片座上,我們針對(duì)JL3芯片編程二、控制電路原理圖復(fù)位處理清變量區(qū)檢查是否需要自檢,產(chǎn)生標(biāo)記復(fù)位處理(給寄存器初始化)清變量區(qū)檢查是否需要自檢,產(chǎn)生標(biāo)記基本參數(shù)設(shè)置(給相關(guān)變量賦初始)主控程序公共部分:讀鍵、跳線、開(kāi)關(guān)機(jī)檢查主程序流程控制:轉(zhuǎn)各子程序自檢程序:self_test讀傳感器:Read_snsr外設(shè)控制:Cntrl_OP處理顯示:Display_hdl外時(shí)鐘:Timing_OP主輸出:Main_drv外中斷處理:Int_receive溢出中斷:T_overflw_int初識(shí)平臺(tái)程序查找T_overflw_int、Off_bp、Beep_ctrl、TIME_FL定時(shí)器模塊形成計(jì)時(shí)的基準(zhǔn)時(shí)鐘溢出中斷內(nèi)部總線頻率為2M,分頻系數(shù)為1,計(jì)數(shù)器計(jì)數(shù)脈沖周期則為0.5uS每秒中斷8000次,則溢出中斷周期為125uS則計(jì)數(shù)模數(shù)初值(預(yù)置寄存器的值)是250BitD7D6D5D4D3D2D1D0TOFTOIETSTPTRSTPS2PS1PS0功能描述溢出標(biāo)志。當(dāng)定時(shí)器的計(jì)數(shù)達(dá)$FFFF(自由運(yùn)行狀態(tài))或計(jì)到預(yù)置計(jì)數(shù)值時(shí),定時(shí)器的計(jì)數(shù)器溢出且清零,同時(shí)該位置1溢出中斷允許。發(fā)生溢出時(shí),系統(tǒng)可執(zhí)行溢出中斷處理程序,該位置0表示禁止溢出中斷。該位可讀可寫,讀取的數(shù)值就是該位的實(shí)際值計(jì)數(shù)控制,該位為1停止計(jì)數(shù),0恢復(fù)計(jì)數(shù)清除計(jì)數(shù)器的計(jì)數(shù)值,寫入1清除。計(jì)數(shù)器清除時(shí)也清除該位,0無(wú)影響-分頻系數(shù)。共同設(shè)置定時(shí)器的分頻系數(shù):000

表示分頻系數(shù)為1;001

表示分頻系數(shù)為2;010

表示分頻系數(shù)為4;011

表示分頻系數(shù)為8;100

表示分頻系數(shù)為16;101

表示分頻系數(shù)為32;110

表示分頻系數(shù)為64;111

保留,暫未使用。狀態(tài)與控制寄存器TSC定義定時(shí)溢出中斷即是定時(shí)器的計(jì)數(shù)溢出操作,實(shí)際上是一個(gè)軟件定時(shí)器,不需要使用定時(shí)器的I/O引腳,只需開(kāi)放定時(shí)器的溢出中斷即可定時(shí)溢出中斷功能每個(gè)定時(shí)器都有一個(gè)16位預(yù)置計(jì)數(shù)值寄存器TMOD,分為兩個(gè)8位寄存器TMODH和TMODL。a.預(yù)置計(jì)數(shù)值寄存器是動(dòng)態(tài)計(jì)數(shù)的,由兩個(gè)8位計(jì)數(shù)器構(gòu)成1個(gè)16位計(jì)數(shù)器。它的值可隨時(shí)讀出。b.自由運(yùn)行計(jì)數(shù)器TCNT(TCNTH:TCNTL)自由運(yùn)行計(jì)數(shù):不需要預(yù)置任何計(jì)數(shù)初值,但能完成的時(shí)間有限,通常很少使用,定時(shí)的時(shí)間為$FFFF個(gè)總線周期。

計(jì)數(shù)模式預(yù)置計(jì)數(shù)方式:由用戶向TMOD寄存器寫入一個(gè)數(shù),預(yù)置值在$0000~$FFFF之間的任意值,從而獲得任意要求的定時(shí)時(shí)間。c.計(jì)數(shù)模式

自由運(yùn)行計(jì)數(shù)器TCNT從0000開(kāi)始在計(jì)數(shù)脈沖控制下進(jìn)行加1計(jì)數(shù),比較器時(shí)刻將TCNT的值與TMOD值相比較,當(dāng)它們相等時(shí),立即產(chǎn)生一個(gè)溢出脈沖。d.定時(shí)器工作過(guò)程

復(fù)位TCNT,讓它從0000開(kāi)始重復(fù)計(jì)數(shù);

置TOF位為1,如中斷允許并開(kāi)放,向CPU申請(qǐng)中斷服務(wù)。溢出脈沖作用:如果CPU響應(yīng)中斷,在中斷服務(wù)子程序中首先要清除TOF為0,避免一次溢出引多次中斷,然后,再處理中斷服務(wù)。tips訓(xùn)練一

;溢出中斷處理T_overflw_intPSHH

BCLR7,TSCR

MOV#tscr_init,TSCR;溢出中斷,1分頻

MOV#tmodh_init,TMODH

MOV#tmodl_init,TMODL

;$FA=250,8000次中斷/每秒

BRCLR2,TIME_FL,Rmt_pls利用仿真軟件,測(cè)試中斷溢出周期如果把分頻系數(shù)改為2,則tmod的值如何改變?利用仿真軟件進(jìn)行驗(yàn)證。如果僅對(duì)分頻系數(shù)和tmod兩個(gè)值之一進(jìn)行修改,注意蜂鳴器鳴叫有什么變化?蜂鳴器處理規(guī)格為4KHZ接A口的bit5DDRA的值?蜂鳴器處理計(jì)時(shí)標(biāo)記TIME_FLBeep_on

BSET2,TIME_FL;響蜂鳴器標(biāo)記練習(xí)二把該行語(yǔ)句注釋掉,燒錄程序,觀察有何變化?;溢出中斷處理;---------------T_overflw_intPSHHBCLR7,TSCRMOV#tscr_init,TSCR

;溢出中斷,1分頻

MOV#tmodh_init,TMODHMOV#tmodl_init,TMODL

;$FA=250,8000次中斷/每秒

BRCLR2,TIME_FL,Off_bp;蜂鳴器發(fā)聲;---------------LDAPORTAEOR#%00100000;形成脈沖的翻轉(zhuǎn),兩次中斷得到一個(gè)周期的脈沖,頻率為4KHZSTAPORTA

BRARmt_pls;---------------;蜂鳴關(guān)閉;---------------

Off_bpBCLR5,PORTA;-----------------------------------------------

Rmt_plsTSTRESM_DLY………….練習(xí)三LDAPORTAEOR#%00100000把#%00100000改為#%00000000,重新燒錄,再觀察現(xiàn)象?并思考為什么?蜂鳴處理完Beep_off

BCLR2,TIME_FLBCLR5,PORTA……..如果注釋掉BCLR2,TIME_FL,會(huì)出現(xiàn)什么現(xiàn)象?思考為什么?練習(xí)四練習(xí)五Init_setupCLRPORTDMOV#init_mode,RUN_MODELMOV#init_temp,SET_TMPMOV#init_spd,MIX_FLAGMOV#%00100000,BEEP_CNT

MOV

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論