備用 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ō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、定時(shí)器中斷與蜂鳴器程序設(shè)置一、窗機(jī)控制板的硬件構(gòu)成 電源電源5V 晶振晶振8MHZ(四分頻后內(nèi)部總線頻率為四分頻后內(nèi)部總線頻率為2MHZ) 控制板上用的是控制板上用的是05系列的系列的SR3芯片座芯片座(40個(gè)管腳個(gè)管腳),08系列的系列的JL3芯片芯片(28個(gè)管腳個(gè)管腳)通過(guò)過(guò)渡板通過(guò)過(guò)渡板(4094芯片芯片)連接到連接到SR3芯片芯片座上,我們針對(duì)座上,我們針對(duì)JL3芯片編程芯片編程二、控制電路原理圖復(fù)位處理清變量區(qū)檢查是否需要自檢,產(chǎn)生標(biāo)記復(fù)位處理復(fù)位處理(給寄存器初始化)(給寄存器初始化)清變量區(qū)清變量區(qū)檢查是否需要自檢,檢查是否需要自檢,產(chǎn)生標(biāo)記產(chǎn)生標(biāo)記基本參數(shù)設(shè)置基本參數(shù)設(shè)置(給相

2、關(guān)變量賦初始)(給相關(guān)變量賦初始)主控程序主控程序公共部分:讀鍵、公共部分:讀鍵、跳線、開(kāi)關(guān)機(jī)檢查跳線、開(kāi)關(guān)機(jī)檢查主程序流程控制:主程序流程控制:轉(zhuǎn)各子程序轉(zhuǎn)各子程序自檢程序:自檢程序:self_testself_test讀傳感器:讀傳感器:Read_snsrRead_snsr外設(shè)控制:外設(shè)控制:Cntrl_OPCntrl_OP處理顯示:處理顯示:Display_hdlDisplay_hdl外時(shí)鐘:外時(shí)鐘:Timing_OPTiming_OP主輸出:主輸出:Main_drvMain_drv外中斷處理:外中斷處理:Int_receiveInt_receive溢出中斷:溢出中斷:T_overflw

3、_intT_overflw_int初識(shí)識(shí)平臺(tái)程序 查找T_overflw_int、Off_bp、Beep_ctrl、TIME_FL定時(shí)器模塊形成計(jì)時(shí)的基準(zhǔn)形成計(jì)時(shí)的基準(zhǔn)時(shí)鐘溢出中斷時(shí)鐘溢出中斷 內(nèi)部總線頻率為內(nèi)部總線頻率為2M,分頻系數(shù)為分頻系數(shù)為1,計(jì)數(shù),計(jì)數(shù)器計(jì)數(shù)脈沖周期則為器計(jì)數(shù)脈沖周期則為0.5uS每秒中斷每秒中斷8000次,則溢出中斷周期為次,則溢出中斷周期為125uS1. 則計(jì)數(shù)模數(shù)初值則計(jì)數(shù)模數(shù)初值(預(yù)置寄存器的值預(yù)置寄存器的值)是是250Bit D7D6D5D4D3D2D1D0TOFTOIETSTPTRSTPS2PS1PS0功能描述溢出標(biāo)標(biāo)志。當(dāng)當(dāng)定時(shí)時(shí)器的計(jì)數(shù)達(dá)計(jì)數(shù)達(dá)$FFF

4、F(自由運(yùn)運(yùn)行狀態(tài)狀態(tài))或計(jì)計(jì)到預(yù)預(yù)置計(jì)數(shù)值計(jì)數(shù)值時(shí)時(shí),定時(shí)時(shí)器的計(jì)數(shù)計(jì)數(shù)器溢出且清清零,同時(shí)該時(shí)該位置1溢出中斷斷允許許。發(fā)發(fā)生溢出時(shí)時(shí),系統(tǒng)統(tǒng)可執(zhí)執(zhí)行溢出中斷處斷處理程序,該該位置0表示禁止溢出中斷斷。該該位可讀讀可寫(xiě)寫(xiě),讀讀取的數(shù)值數(shù)值就是該該位的實(shí)際值實(shí)際值計(jì)數(shù)計(jì)數(shù)控制,該該位為為1停止計(jì)數(shù)計(jì)數(shù),0恢復(fù)計(jì)復(fù)計(jì)數(shù)數(shù)清清除計(jì)數(shù)計(jì)數(shù)器的計(jì)數(shù)值計(jì)數(shù)值,寫(xiě)寫(xiě)入1清清除。計(jì)數(shù)計(jì)數(shù)器清清除時(shí)時(shí)也清清除該該位,0無(wú)影響響分頻頻系數(shù)數(shù)。共同設(shè)設(shè)置定時(shí)時(shí)器的分頻頻系數(shù)數(shù):000表示分頻頻系數(shù)為數(shù)為1;001表示分頻頻系數(shù)為數(shù)為2;010表示分頻頻系數(shù)為數(shù)為4;011表示分頻頻系數(shù)為數(shù)為8;100表示分頻頻

5、系數(shù)為數(shù)為16;101表示分頻頻系數(shù)為數(shù)為32;110表示分頻頻系數(shù)為數(shù)為64;111保留,暫暫未使用。狀態(tài)與控制寄存器狀態(tài)與控制寄存器TSCTSC定義定義 定時(shí)時(shí)溢出中斷斷即是定時(shí)時(shí)器的計(jì)數(shù)計(jì)數(shù)溢出操作,實(shí)際實(shí)際上是一個(gè)軟個(gè)軟件定時(shí)時(shí)器,不需要使用定時(shí)時(shí)器的I/O引腳,只需開(kāi)開(kāi)放定時(shí)時(shí)器的溢出中斷斷即可定時(shí)溢出中斷功能 每個(gè)個(gè)定時(shí)時(shí)器都有一個(gè)個(gè)16位預(yù)預(yù)置計(jì)數(shù)值計(jì)數(shù)值寄存器TMOD,分為為兩個(gè)兩個(gè)8位寄存器TMODH和TMODL。a.預(yù)置計(jì)數(shù)值寄存器預(yù)置計(jì)數(shù)值寄存器 是動(dòng)態(tài)計(jì)數(shù)動(dòng)態(tài)計(jì)數(shù)的,由兩個(gè)兩個(gè)8位計(jì)數(shù)計(jì)數(shù)器構(gòu)構(gòu)成1個(gè)個(gè)16位計(jì)數(shù)計(jì)數(shù)器。它它的值值可隨時(shí)讀隨時(shí)讀出。b.自由運(yùn)行計(jì)數(shù)器TC

6、NT(TCNTH:TCNTL)自由運(yùn)運(yùn)行計(jì)數(shù)計(jì)數(shù):不需要預(yù)預(yù)置任何計(jì)數(shù)計(jì)數(shù)初值值,但能完成的時(shí)間時(shí)間有限,通常很少使用,定時(shí)時(shí)的時(shí)間為時(shí)間為$FFFF個(gè)總線個(gè)總線周期。 計(jì)數(shù)計(jì)數(shù)模式預(yù)預(yù)置計(jì)數(shù)計(jì)數(shù)方式:由用戶(hù)戶(hù)向TMOD寄存器寫(xiě)寫(xiě)入一個(gè)數(shù)個(gè)數(shù),預(yù)預(yù)置值值在$0000$FFFF之間間的任意值值,從從而獲獲得任意要求的定時(shí)時(shí)間時(shí)時(shí)間。c.計(jì)數(shù)模式 自由運(yùn)運(yùn)行計(jì)數(shù)計(jì)數(shù)器TCNT從從0000開(kāi)開(kāi)始在計(jì)數(shù)計(jì)數(shù)脈沖控制下進(jìn)進(jìn)行加1計(jì)數(shù)計(jì)數(shù),比較較器時(shí)時(shí)刻將將TCNT的值與值與TMOD值值相比較較,當(dāng)它們當(dāng)它們相等時(shí)時(shí),立即產(chǎn)產(chǎn)生一個(gè)個(gè)溢出脈沖。d.定時(shí)器工作過(guò)程 復(fù)位TCNT,讓它從0000開(kāi)始重復(fù)計(jì)數(shù);

7、 置TOF位為1,如中斷允許并開(kāi)放,向CPU申請(qǐng)中斷服務(wù)。溢出脈沖作用:如果CPU響應(yīng)中斷,在中斷服務(wù)子程序中首先要清除TOF為0,避免一次溢出引多次中斷,然后,再處理中斷服務(wù)。tips訓(xùn)練一訓(xùn)練一 ;溢出中斷處斷處理T_overflw_int PSHHT_overflw_int PSHH BCLR 7,TSCRBCLR 7,TSCR MOV #tscr_init,TSCR ;MOV #tscr_init,TSCR ;溢出中斷溢出中斷,1,1分頻分頻 MOV #tmodh_init,TMODHMOV #tmodh_init,TMODH MOV #tmodl_init,TMODL MOV #tm

8、odl_init,TMODL ;$FA=250,8000;$FA=250,8000次中斷次中斷/ /每秒每秒 BRCLR 2,TIME_FL,Rmt_plsBRCLR 2,TIME_FL,Rmt_pls 利用仿真軟件,測(cè)試中斷溢出周期利用仿真軟件,測(cè)試中斷溢出周期 如果把分頻系數(shù)改為如果把分頻系數(shù)改為2 2,則,則tmodtmod的值如何改變?利用仿真軟件進(jìn)的值如何改變?利用仿真軟件進(jìn)行驗(yàn)證。行驗(yàn)證。 如果僅對(duì)分頻系數(shù)和如果僅對(duì)分頻系數(shù)和tmodtmod兩個(gè)值之一進(jìn)行修改,注意蜂鳴器鳴兩個(gè)值之一進(jìn)行修改,注意蜂鳴器鳴叫有什么變化?叫有什么變化?蜂鳴器處理 規(guī)格為4KHZ 接A口的bit5 DD

9、RA的值?蜂鳴器處理 計(jì)時(shí)標(biāo)記計(jì)時(shí)標(biāo)記TIME_FLBeep_on BSET 2,TIME_FL ;響響蜂鳴鳴器標(biāo)記標(biāo)記練習(xí)二把該行語(yǔ)句注釋掉,燒錄程序,觀察把該行語(yǔ)句注釋掉,燒錄程序,觀察有何變化?有何變化?; ;溢出中斷處理溢出中斷處理;-;-T_overflw_int PSHHT_overflw_int PSHH BCLR 7,TSCR BCLR 7,TSCR MOV #tscr_init,TSCR MOV #tscr_init,TSCR ; ;溢出中斷溢出中斷,1,1分頻分頻 MOV #tmodh_init,TMODHMOV #tmodh_init,TMODH MOV #tmodl_i

10、nit,TMODL MOV #tmodl_init,TMODL ;$FA=250,8000;$FA=250,8000次中斷次中斷/ /每秒每秒 BRCLR 2,TIME_FL, Off_bpBRCLR 2,TIME_FL, Off_bp; ;蜂鳴器發(fā)聲蜂鳴器發(fā)聲;-;- LDA PORTA LDA PORTA EOR #%00100000 EOR #%00100000; ;形成脈沖的翻轉(zhuǎn),兩次中斷得到一個(gè)周期的脈沖,頻形成脈沖的翻轉(zhuǎn),兩次中斷得到一個(gè)周期的脈沖,頻率為率為4 4KHZKHZ STA PORTA STA PORTABRA Rmt_plsBRA Rmt_pls;-;-; ;蜂鳴關(guān)閉

11、蜂鳴關(guān)閉;-;-Off_bp BCLR 5,PORTAOff_bp BCLR 5,PORTA;-;-Rmt_pls TST RESM_DLY Rmt_pls TST RESM_DLY . .練習(xí)三 LDA PORTA EOR #%00100000把#%00100000改為為#%00000000,重新燒錄燒錄,再觀觀察現(xiàn)現(xiàn)象?并并思考為為什么么?蜂鳴處理完蜂鳴處理完Beep_offBeep_off BCLR 2,TIME_FL BCLR 2,TIME_FL BCLR 5,PORTA BCLR 5,PORTA.如果注釋掉如果注釋掉BCLR 2,TIME_FLBCLR 2,TIME_FL,會(huì)出現(xiàn)什么現(xiàn)象?思考為什,會(huì)出現(xiàn)什么現(xiàn)象?思考為什么?么?練習(xí)四練習(xí)五 Init_setup CLR PORTD MOV #init_mode,RUN_MODEL MOV #init_temp,SET_TMP MOV #init_spd

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論