2023年定時(shí)溢出中斷實(shí)驗(yàn)報(bào)告_第1頁
2023年定時(shí)溢出中斷實(shí)驗(yàn)報(bào)告_第2頁
2023年定時(shí)溢出中斷實(shí)驗(yàn)報(bào)告_第3頁
2023年定時(shí)溢出中斷實(shí)驗(yàn)報(bào)告_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

蘇州大學(xué)實(shí)驗(yàn)報(bào)告院、系年級(jí)專業(yè)姓名學(xué)號(hào)課程名稱成績指導(dǎo)教師同組實(shí)險(xiǎn)者實(shí)驗(yàn)日期實(shí)驗(yàn)名稱:定期溢出中斷實(shí)驗(yàn)一.實(shí)驗(yàn)?zāi)康耐ㄟ^該實(shí)驗(yàn),進(jìn)一步熟悉MT-IDE嵌入式開發(fā)系統(tǒng)環(huán)境、匯編和C語言以及調(diào)試方式;復(fù)習(xí)串I」的相關(guān)原理和編程方法:理解用定期器實(shí)現(xiàn)計(jì)數(shù)與定期的工作原理以及實(shí)現(xiàn)方法;理解課本中的程序代碼。二.實(shí)驗(yàn)內(nèi)容編制一個(gè)運(yùn)用定期器中斷計(jì)數(shù)的程序。規(guī)定1秒鐘中斷一次,計(jì)數(shù)加1,該計(jì)數(shù)范圍為從0到255,超過又重新計(jì)數(shù),每次的數(shù)字通過接在PTAO?PTA7上的八個(gè)小燈動(dòng)態(tài)顯示,小燈亮,表達(dá)該位為“1”;小燈暗,表達(dá)該位為“0"。三.實(shí)驗(yàn)過程(一)基本原理定期器的核心是一個(gè)不斷加1的16位計(jì)數(shù)寄存器,該計(jì)數(shù)器的時(shí)鐘頻率由外部晶振時(shí)鐘或總線時(shí)鐘通過度頻因子分頻得到,在定期器內(nèi)部有個(gè)控制和狀態(tài)寄存器,通過對(duì)它某些位的設(shè)立,可以擬定在多少時(shí)間后計(jì)數(shù)器加1。在定期器內(nèi)部有個(gè)預(yù)置寄存器,當(dāng)計(jì)數(shù)器的值等于預(yù)置寄存器的值時(shí),稱為計(jì)數(shù)器溢出。當(dāng)計(jì)數(shù)器溢出時(shí),計(jì)數(shù)器的值被賦0,同時(shí)將計(jì)數(shù)器溢出標(biāo)志等狀態(tài)置于控制和狀態(tài)寄存器中。通過對(duì)控制和狀態(tài)寄存器某些位的設(shè)立,可以決定在計(jì)數(shù)器溢出時(shí),是否允許中斷,運(yùn)用這個(gè)中斷,可以編寫中斷程序,實(shí)現(xiàn)計(jì)數(shù)與定期等功能。四.編程(一)流程圖

圖1定期器計(jì)時(shí)流程圖(二)所用寄存器名稱及其所用的位T1狀態(tài)和控制寄存器(Timer1SiatusandControlRegisler,T1SC)數(shù)據(jù)位D7D6D5D4D3D2DI定義TOFTOIETSTOPTRSTXPS2PSI復(fù)位001000T1計(jì)數(shù)寄存器(Timer1CounterRegister,!1CNTH>TICNTL)這是一個(gè)16位寄存器,分為高8位和低8位,每一個(gè)計(jì)數(shù)周期值加一。T1預(yù)置寄存器(Timer1CounterModuloRegister,T1M0DH、T1MODL)這是一個(gè)16位寄存器,分為高8位和低8位,當(dāng)計(jì)數(shù)寄存器中的值達(dá)成預(yù)置寄存器的值時(shí)發(fā)生中斷。(三)重要代碼段1.匯編方式:主程序部分代碼SEI//關(guān)總中斷LDHX#$023F//堆棧初始化為RAM最高端TXSJSRMCUInit//調(diào)系統(tǒng)初始化子程序GP32Init

JSRTimerlinit〃調(diào)定期器1初始化子程序LDA#$FFSTADDRA?!▽?duì)A口進(jìn)行初始化STAPTA//A□初始狀態(tài)為暗CLRsec〃給sec”秒,賦初值0CLI〃開總中斷MainLoop:,NOP,NOP〃程序總循環(huán)入口JMPMainLoop中斷解決子程序部分代碼Timerllnt::SEI//關(guān)總中斷PSHH//保護(hù)HINCsec〃秒數(shù)加1CLCLDAsccCOMASTAPTALDATISCBCLR#TOFBit,TISC//清除定期器溢出標(biāo)志位PULH〃恢復(fù)HCL1〃開總中斷RTI2.C語舌方式:主程序部分代碼voidmain0{////關(guān)總中斷//芯片初始化〃定期器1的初始化〃開放溢出中斷//允許定期器1計(jì)數(shù)〃開總中斷//關(guān)總中斷////關(guān)總中斷//芯片初始化〃定期器1的初始化〃開放溢出中斷//允許定期器1計(jì)數(shù)〃開總中斷Timer1Init();EnTmlOverfIowInt():T1SC&="(1?TST0PBit);EnMCUInt0;DDRA=OxFF;PTA=OxFF;//全局變量初始化sec=0;whiIe(1)()中斷解決程序部分代碼#pragmainterrupt_handIerisrTimer1voidisrTimer1(void)(DisMCUInt();sec++;//秒加1PTA=?sec;。T1SC&=?(1<VT0FBit);//清除定期器溢出標(biāo)志位EnMCUInt();)五.實(shí)驗(yàn)問答(根據(jù)實(shí)驗(yàn)指導(dǎo)書所列舉的問題).通過實(shí)驗(yàn)總結(jié)完全軟件定期和運(yùn)用可編程定期器定期的差異性以及各自優(yōu)缺陷完全軟件定期是運(yùn)用計(jì)算機(jī)執(zhí)行指令的時(shí)間來實(shí)現(xiàn)定期。通常設(shè)計(jì)一個(gè)延時(shí)子程序,子程序中涉及一定指令。設(shè)計(jì)者需要對(duì)指令的執(zhí)行時(shí)間嚴(yán)格的計(jì)算。該方法節(jié)省硬件,但延時(shí)時(shí)要執(zhí)行延時(shí)程序,減少了CPU運(yùn)用率,不利于多作業(yè)環(huán)境。運(yùn)用可編程定期器計(jì)時(shí),結(jié)合了完全硬件完全軟件的優(yōu)點(diǎn),其計(jì)時(shí)可由程序設(shè)立.設(shè)立后可與CPU并行工作,不占用CPU工作時(shí)間,同時(shí)定期器成本不高。因此該方法較優(yōu)。.總結(jié)定期器初始化涉及哪些內(nèi)容?定期器初始化過程中需要對(duì)定期器狀態(tài)和控制寄存器、計(jì)數(shù)寄存器和預(yù)置寄存器設(shè)立。具體為根據(jù)規(guī)定的時(shí)間間隔、總線頻率計(jì)算出分頻因子和預(yù)置寄存器的值寫入相應(yīng)的寄存器同時(shí)設(shè)立計(jì)數(shù)寄存器的值為0,最后允許計(jì)數(shù)寄存器計(jì)數(shù)。.本自編程序中可以用寄存器A代替sec全局變量嗎?不可以。由于在每次中斷發(fā)生時(shí)將寄存器A中的值壓入堆棧,而在退出中斷時(shí)乂會(huì)將A中的值恢復(fù)為中斷發(fā)生前A中的值,從而使得在中斷過程中對(duì)其所作的更新無效。思考用寄存器H又如何。.本實(shí)驗(yàn)中是定期器的間隔為I秒,思考任何獲得更小或更大的定期間隔??方面可以通過對(duì)分頻因子和預(yù)置寄存器的設(shè)立來獲取所規(guī)定的時(shí)間間隔,當(dāng)超過?定值后,可以通過中斷解決程序解決。.想--想課本中第202頁的中斷程序1秒鐘中斷一次,最高能采用多大的時(shí)鐘頻率。.若本實(shí)驗(yàn)自編的中斷程序時(shí)鐘頻率太高了,1秒鐘的計(jì)數(shù)超過65535范圍,中斷程序該如何解決以便解決這個(gè)問題。通過計(jì)數(shù)時(shí)鐘頻率計(jì)算出1秒鐘的計(jì)數(shù)次數(shù)。將該次數(shù)等分位n段,使得每斷的計(jì)數(shù)次數(shù)不超過65535,將每段的計(jì)數(shù)次數(shù)寫入到預(yù)置寄存落。增長標(biāo)志變量,記錄進(jìn)入中斷解決函數(shù)的次數(shù)。當(dāng)進(jìn)入中斷解決函數(shù)的次數(shù)為n時(shí),此時(shí)時(shí)間間隔為1秒。.計(jì)數(shù)寄存器可以如何清零?向計(jì)數(shù)寄存器中直接寫入0可以使計(jì)數(shù)寄存器清零;向定期器復(fù)位位寫入1時(shí)會(huì)清除計(jì)數(shù)寄存器;在允許計(jì)數(shù)的情況下,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論