版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、一、題目:A/D轉換數(shù)位電壓表二、作業(yè)之功能簡介:此次作業(yè)為A/D轉換功能,利用可變電阻作電路分壓,得到不同的電壓值輸入,再經(jīng)過程式撰寫轉換,以pa7pa4之LED顯示出個位數(shù)電壓大小,以pa3pa0之LED顯示出小數(shù)電壓大小 ,所設電壓範圍為05伏特。LED表示法如下圖:三、電路設計及工作原理:每一個PA埠輸出口接一個LED並串接一個240歐姆的電阻,再接到VSS以PA0PA7為輸出,因此當PA埠輸出為1時,LED狀態(tài)為亮燈。當PA埠輸出為0時,LED狀態(tài)為滅燈,再透過指令使LED的亮滅隨著輸入的電壓值而改變。這個電路分為三個部份:第一部份:利用240歐姆的電阻做分壓的工作,利用分壓的原理,
2、以預防LED過熱,每個電阻R的消耗功率為10mA X 10mA X 240= 0.024W。個LED的消耗功率為1.5X10m=15mW。第二部份:第二部份為石英振盪器之振盪時脈的速度決定了單晶片工作的速度,而時脈輸入是由OSC1和OSC2兩支接腳來進行輸入。在設計中,在OSC1和OSC2之間以一個20MHz之石英振盪器連接,而能產(chǎn)生預期的時脈。第三部份: 利用在PB0接一個分壓電路,利用可變電阻改變不同的輸入電壓,範圍為05伏特。工作原理:在單晶片PB0接一個分壓電路,利用可變電阻調出不同的電壓值,再由單晶片的A/D轉換器將電壓值轉成16進制,再進行內(nèi)部程式轉換工作,以輸出至LED顯示出電壓
3、值。四、電路圖(需標示電路元件及規(guī)格):1、接腳圖本圖由User,s Manual中的46x23取得2、電路接腳圖五、控制時序圖: 六、流程規(guī)劃說明與流程圖:(一): 宣告和tai1、tai2、tai3、count1、count2暫存器位址。(二): 啟動A/D轉換。(三): 將16進制值轉換至個位數(shù)。(四): 將剩餘16進制值轉換至小數(shù)。(五): 輸出。流程圖如附表一。七、流程圖細部規(guī)劃:(一): 宣告和tai1、tai2、tai3、count1、count2暫存器位址(二): 輸出初始化設定。(三): 設定A/D轉換。(四): 開始A/D轉換(五): 將轉換16進制值,連減51,連減次數(shù)為
4、個位數(shù)並丟進tai2,但次數(shù)會多一次,於迴圈結束時減回,再左移4次,以顯示在個位數(shù)LED。(六): 將剩餘的小於51的值連減5,為防止為50時輸出為0A,故多減1,但若剩餘值為0時不多減1,連減次數(shù)為小數(shù)並丟進tai2,但次數(shù)會多一次,於迴圈結束時減回。(七): 將個位數(shù)值和小數(shù)值相加,再輸出至PA埠。流程圖細部歸劃如附表二八、軟、硬體測試步驟規(guī)劃及預期結果說明:(一)、軟、硬體測試步驟規(guī)劃1、 安裝ht-ide3000至電腦中。2、 將硬體部份和電腦連接起來,確定電源有無接上,極性正確與否,通訊線、排線是否接上電腦,連接時,須注意有無接錯。3、 啟動程式,先設定為模擬電路模式。4、 開使撰寫
5、程式。5、 編譯程式。6、 設為外接模式。7、 設計電路8、 測試在電路上是否正確。(二)、預期結果說明:1、 此電路LED為1動作,也將是當輸出為1時led才亮。2、 程式撰寫或修改時需執(zhí)行buil,否則不能動作。3、 程式動作時,執(zhí)行reset可重新在動作。4、 檢查有無抓到電壓A/D轉換值,從adrh抓到的電壓16進制值再丟至tai1暫存器。5、轉查轉換值有無錯誤。九、中斷點設定原因說明及預期結果與實際結果討論:中斷點設定原因:在程式撰寫時有時會出現(xiàn)錯誤,不是思考方向錯誤,就是語法的錯誤,要找出錯誤的方法為用中斷點找出來。中斷點是在程式除錯中會自動執(zhí)行暫停的位置,也就能知道程式的錯誤在哪
6、裡,在撰寫程式時,可以指定多個中斷點,讓你對感興趣或是要除錯的地方停頓,也可以觀看每個暫存器中的內(nèi)部資料的變換和改變。因此,在大約有可能出現(xiàn)錯誤的地方設中斷點,然後再從這個中斷點開始執(zhí)行,就能逐步修改成正確的程式。執(zhí)行一:無法抓到A/D轉換值除錯:於是在mov a,adrh設中斷點,觀察a內(nèi)容,發(fā)現(xiàn)無法抓到一個電壓的16進制。解決: 由於A/D轉換完後值為0,原本是執(zhí)行一個呼叫延遲副程式,但由於轉換時間不定因此有時無法抓到A/D轉換值。指令修改為jmp back就解決了原本的問題。執(zhí)行二:16進制轉換時的錯誤除錯:電壓16進制轉換時,個位數(shù)和小數(shù)數(shù)值多1,於是在loop1副程式裡的mov ta
7、i1,a設中斷點,觀察tai1和tai2暫存器內(nèi)容,發(fā)現(xiàn)tai1暫存器內(nèi)容執(zhí)行完後會溢位且tai2暫存器內(nèi)容會多加一次。解決:為了防止發(fā)生這種情形,在loop1和loop2迴圈執(zhí)行完後,將tai1暫存器內(nèi)容加51而tai2、tai3減1,就解決了問題。 十、程式碼:;-data .section 'data'tai1 db ? ;定義tai1 tai2 tai3 tai2 db ? ;count1 count2 暫存器tai3 db ?count1 db ?count2 db ?;-code .section at 0 'code' org 00h jmp st
8、ar org 04h reti org 08h reti org 0ch reti clr pac clr pbc star: mov a,0 ;將0丟進累積器a mov 13h,a ;將a的內(nèi)容丟進13h mov 12h,a ;將a的內(nèi)容丟進12h main: mov a,48h ;設定A/D轉換 mov adcr,a jmp back mov a,adrh ;將轉換值丟進累積器a mov tai1,a ;將a的內(nèi)容丟進tai1 mov a,0 ;將0丟進累積器a mov tai2,a ;將a的內(nèi)容丟進tai2 mov tai3,a ;將a的內(nèi)容丟進tai3 mov a,tai1 ;將tai
9、1的內(nèi)容丟進累積器aloop1: inc tai2 ;透過連減51來設定個位數(shù)LED值 sub a,33h ;個位數(shù)會多加一次 sz c ;於迴圈完減回 jmp loop1 dec tai2 add a,33h ;此時暫存器值溢位,加51回復 mov tai1,a set c rl tai2 ;將tai2的內(nèi)容左移4次 rl tai2 rl tai2 rl tai2 sz tai1 ;防止餘數(shù)為50,若為0不減1 dec tai1 mov a,tai1loop2: inc tai3 ;透過連減5來設定小數(shù)位LED值 sub a,05h ;小數(shù)位數(shù)會多加一次 sz c ;於迴圈完減回 jmp l
10、oop2 dec tai3 add a,05h set c mov a,tai3 mov a,tai2 add a,tai3 mov 12h,a ;輸出至LED call delay jmp maindelay proc mov a,08h mov count1,a mov count2,ad1: sdz count2 jmp d1 sdz count1 jmp d1 retdelay endp end十一、實驗結果及問題討論(含電路元件規(guī)格之計算與實際量測之誤差討論):當執(zhí)行16進制轉換時,由於使用的方法是先將16進制數(shù)值除於51,但由於沒有除法的指令因此用連減51的方式代替,每減1次51就
11、在相當於商的暫存器裡加1,當c旗標為0時,結束連減迴圈,但由於寫的程式執(zhí)行連減時用來相當於儲存商的暫存器會多加一次1,因此迴圈執(zhí)行完時將相當於商的暫存器再減1,以免個位數(shù)值多1,且此時儲存16進制的暫存器會溢位,因而需要加51。之後將相當於商的暫存器左移4次,以方便顯示在個位數(shù)的LED。當執(zhí)行完連減的迴圈後,此時儲存16進制的暫存器內(nèi)容相當為除51的餘數(shù),將此數(shù)值再用連減5的方式代替為除5,每減1次5就在相當於商的暫存器裡加1,當c旗標為0時,結束連減迴圈,相同地,寫的程式執(zhí)行連減時用來相當於儲存商的暫存器會多加一次1,因此迴圈執(zhí)行完時將相當於商的暫存器再減1,以免小數(shù)位數(shù)值多1。由於當餘數(shù)為50時,執(zhí)行連減後,相當於商的暫存器內(nèi)容值會為10,為了避免發(fā)生這種情形,在執(zhí)行連減5迴圈時,先將餘數(shù)數(shù)值減1,此時要注意的是當餘數(shù)數(shù)值為0時會發(fā)生錯誤,因此當餘數(shù)數(shù)值為0時,不讓它減1。最後將個位數(shù)數(shù)值和小數(shù)位數(shù)值相加,在輸出至PA埠LED,以顯示出電壓值。 由於電路的設計為1動作,因此在撰寫程式時需注意到是否有寫成1動作,而在經(jīng)過多次的嚐試後,終於能和預期的工作原理相同,也就是因此當PA埠輸出為1時,LED狀態(tài)為亮燈,當PA埠輸出為0時,LED狀態(tài)為滅燈。十二、心得感想:這是這學期微處理機的第二份作業(yè),由於這次的作業(yè)和上學期陳繁興
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度互聯(lián)網(wǎng)廣告行業(yè)勞動合同范本及廣告內(nèi)容審核責任協(xié)議3篇
- 脫丙烷課程設計
- 船舶原理課程設計散貨船
- 美術生創(chuàng)新思維課程設計
- 線上花束插花課程設計
- 茶園生產(chǎn) 課程設計
- 線上課程設計公司
- 《精神分析技巧》課件
- 2024年美術教案設計(7篇)
- 穿銷單元課程設計
- 護理人文關懷示范病房創(chuàng)建及成效14-44-16
- QGDW375.32009《電力用戶用電信息采集系統(tǒng)型式規(guī)范第三部分:采集器型式規(guī)范》
- DB37∕T 5112-2018 村莊道路建設規(guī)范
- 牽引供電系統(tǒng)遠動技術概述講解課件
- 義務教育《道德與法治》課程標準(2022年版)
- 乙肝五項詳解(課堂PPT)
- TD汽車維修公司管理制度和崗位職責匯編-30頁
- 數(shù)字化設計與制造PPT課件
- 個人信息查詢使用授權書
- 工作證明(通用)
- 通達信-低位放量公式(已驗證)
評論
0/150
提交評論