freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)控直流恒流源的設(shè)計附外文翻譯(編輯修改稿)

2025-02-14 16:00 本頁面
 

【文章內(nèi)容簡介】 利于主程序的整體調(diào)度。鍵盤處理子程序使用0區(qū)工作寄存器,指示閃爍位數(shù)據(jù)在RAM中的地址存在R0中,個、十、百位的數(shù)據(jù)分別存在32H、31H、30H內(nèi)存單元中。鍵盤處理子程序流程如圖33所示。 D/A轉(zhuǎn)換子程序的設(shè)計D/A轉(zhuǎn)換程序的核心部分是如何將電流設(shè)定值轉(zhuǎn)換成D/A輸入值。在編寫這部分程序時我考慮了兩種方案,一是采用運算法,二是采用查表法。經(jīng)過比較論證,在本設(shè)計中兩種方法的轉(zhuǎn)換精度是一樣的,但查表法的程序更加簡潔高效,因此本設(shè)計采用查表法。轉(zhuǎn)換關(guān)系為0mA對應00H,100mA對應FFH。D/A轉(zhuǎn)換程序的另一重要組成部分是BCD碼轉(zhuǎn)成十六進制程序模塊。從鍵盤輸入的數(shù)值是十進制數(shù),以BCD碼形式表示。但在單片機內(nèi)部都是以二進制表示,單片機并不知道編程者的意圖,因此必須先把BCD碼轉(zhuǎn)換成十六進制數(shù),再給單片機進行處理。由于D/A轉(zhuǎn)換子程序和讀/寫EEPROM子程序不會同時運行,所以D/A轉(zhuǎn)換子程序也使用3區(qū)工作寄存器。D/A轉(zhuǎn)換子程序流程如圖34所示。 鍵盤中斷服務程序的設(shè)計由于本系統(tǒng)的鍵盤采用外部中斷0方式與單片機連接,因此鍵盤程序采用了中斷方式。當沒有鍵按下時,CPU執(zhí)行其它任務,而不用重復調(diào)用鍵盤掃描程序。當鍵盤上有任一個鍵按下時,均向CPU申請中斷,CPU響應中斷請求后,判斷是哪個鍵按下,并置該按鍵的標志位,然后退出中斷服務程序。如果是按鍵抖動,則直接退出中斷服務程序。在本設(shè)計中,考慮到使用方便及防止誤操作因素,只有在系統(tǒng)進入設(shè)置狀態(tài),程序才會轉(zhuǎn)到相應的按鍵處理程序模塊。鍵盤中斷服務程序流程如圖35所示。 顯示中斷服務程序的設(shè)計 正常顯示程序模塊本設(shè)計的顯示程序采用T0定時中斷來實現(xiàn)靜態(tài)顯示,定時時間為50ms,使LED數(shù)碼管顯示內(nèi)容定時刷新。系統(tǒng)啟動后默認進入正常顯示方式。正常顯示時程序?qū)⑾鐭o效零。 閃爍顯示程序模塊當系統(tǒng)進入設(shè)置狀態(tài)時進入閃爍顯示,閃爍周期為1秒。閃爍通過累計10次T0定時中斷來實現(xiàn)。首次進入默認個位閃爍,閃爍位表示當前設(shè)置位,可通過移位鍵來改變閃爍位。為了使閃爍顯示位與鍵盤操作同步,閃爍顯示程序也使用默認0區(qū)工作寄存器。顯示中斷服務程序流程如圖36所示。 圖31 主程序流程圖32 讀/寫EEPROM子程序流程圖33 鍵盤處理子程序流程圖34 D/A轉(zhuǎn)換子程序流程圖35 鍵盤中斷服務程序流程圖36 顯示中斷服務程序流程 第4章 系統(tǒng)調(diào)試 硬件仿真調(diào)試由于時間和條件的限制,本設(shè)計沒有進行實際樣品試制,我僅用Proteus軟件進行了系統(tǒng)仿真。Proteus嵌入式系統(tǒng)仿真與開發(fā)平臺由英國Labcenter公司開發(fā),是目前世界上最先進最完整的嵌入式系統(tǒng)設(shè)計與仿真平臺。Proteus軟件可以實現(xiàn)數(shù)字電路、模擬電路及微控制器系統(tǒng)與外設(shè)的混合電路系統(tǒng)的電路仿真、軟件仿真、系統(tǒng)協(xié)同仿真和PCB設(shè)計等全部功能[11]。利用Proteus進行電路原理圖設(shè)計的流程如圖41所示。由于Proteus軟件沒有提供DAC0832芯片仿真庫,所以仿真時用理想D/A芯片代替。電路原理圖布線完畢后先建立網(wǎng)絡(luò)表,然后進行電氣規(guī)則檢測,電器規(guī)則檢測報告如圖42所示。在繪制的過程中要特別注意設(shè)置好元器件的參數(shù),否則即便布線正確并通過電氣檢查,在仿真時也看不到預期結(jié)果。仿真電路可以不要晶振電路和看門狗電路,在電氣規(guī)則檢測時會發(fā)出警告,但不影響仿真,故在仿真電路中沒有繪出。在實際電路原理圖中則必須加上它們。繪制完畢的仿真電路原理圖如圖43所示。圖41 仿真電路原理圖設(shè)計流程圖42 電氣規(guī)則檢測報告圖43 仿真電路 軟件的調(diào)試軟件調(diào)試的步驟如下:l 根據(jù)系統(tǒng)各功能模塊流程圖編寫匯編源程序;l 對各功能模塊進行逐一編譯調(diào)試;l 各功能模塊調(diào)試正常后,進行聯(lián)合編譯調(diào)試。此時要注意的問題是地址的分配、程序的連貫性及各功能的相互搭配。l 對全部程序進行調(diào)試編譯,調(diào)試成功后,要對程序進行精簡優(yōu)化,在完成各功能的前提下,剔除多余程序代碼。在本設(shè)計中,我用keil51軟件來編寫匯編程序和初步編譯調(diào)試程序。在這個過程中主要解決的問題是代碼的合法性及調(diào)試部分未涉及硬件的程序。在Keil51下調(diào)試沒有錯誤后用Proteus軟件進行軟硬件結(jié)合調(diào)試。程序通過Keil51編譯如圖44所示。圖44 程序在Keil51環(huán)境下通過編譯截圖使用Proteus調(diào)試時首先選擇“Source”菜單下的“Define Code Generation Tools”選項來添加代碼產(chǎn)生工具(如圖45所示),然后“Source”菜單下的“Add/Remove Source files”選項來添加匯編程序源文件,并選擇“Code Generation Tools”為“ASEM”(如圖46所示);再選擇“Source”菜單下的“Build ALL”選項進行編譯(如圖47),通過編譯之后將十六進制文件()灌入單片機(如圖48所示)。通過這些步驟后就可以單步或者連續(xù)仿真運行了。圖45 添加代碼產(chǎn)生工具圖46 選擇源程序和代碼產(chǎn)生工具圖47 程序通過編譯圖48 把目標文件灌入單片機在最初設(shè)計程序時,我把鍵盤處理部分放在鍵盤中斷服務程序里面。經(jīng)過調(diào)試發(fā)現(xiàn)如下幾個問題:l 程序進入鍵盤中斷程序后LED數(shù)碼管就沒有顯示;l 進入閃爍顯示時,閃爍頻率沒有按預定的時間進行閃爍,而是忽快忽慢;l 系統(tǒng)不能準確識別每一次按鍵動作。通過分析發(fā)現(xiàn),由于鍵盤采用外部中斷0,顯示采用T0定時中斷,而系統(tǒng)默認外部中斷0的中斷級別比T0定時中斷的高,故進入鍵盤中斷程序后顯示中斷程序沒有得到系統(tǒng)響應,應把T0定時中斷設(shè)置為高級中斷。閃爍頻率不正常是由于鍵盤中斷服務程序內(nèi)的消抖延時造成的。由于最初的程序設(shè)計只在讀設(shè)置鍵時調(diào)用消抖延時程序,所以在按其它鍵時,系統(tǒng)就沒能準確識別。經(jīng)過逐步調(diào)試發(fā)現(xiàn)把鍵盤處理程序放到主程序中,而鍵盤中斷服務程序只對按鍵標志進行置位,這樣可解決上述問題。主程序就根據(jù)按鍵標志位來調(diào)用相應的按鍵處理程序模塊,既優(yōu)化了程序結(jié)構(gòu),又提高了程序執(zhí)行效率。D/A轉(zhuǎn)換程序在開始設(shè)計時是放在主程序的循環(huán)體內(nèi),這樣系統(tǒng)總是不停地在進行D/A轉(zhuǎn)換,然后輸出給D/A,從而造成輸出電流不夠穩(wěn)定。后來改在鍵盤中斷服務程序里調(diào)用D/A轉(zhuǎn)換程序,這樣做的好處是只有在退出設(shè)置狀態(tài)時才進行一次D/A轉(zhuǎn)換。在調(diào)試讀寫EEPROM程序時發(fā)現(xiàn)只能對EEPROM寫入數(shù)據(jù),而不能讀出數(shù)據(jù)。通過檢查發(fā)現(xiàn)是自己沒有正確理解總線協(xié)議造成的。在編寫隨機讀操作程序需要注意隨機讀有兩個步驟:一是執(zhí)行偽寫入——把字節(jié)地址送入EEPROM,以確定需要讀的字節(jié)地址;二是執(zhí)行讀出——根據(jù)字地址讀出對應內(nèi)容。當EEPROM芯片接收了芯片地址及字地址時,在芯片產(chǎn)生應答信號ACK之后,單片機必須產(chǎn)生一個起始信號,執(zhí)行當前地址讀,這時單片機再發(fā)出芯片地址并令,則EEPROM應答芯片地址并串行輸出被讀數(shù)據(jù)。單片機接收數(shù)據(jù)完畢后,必須產(chǎn)生停止信號以結(jié)束隨機讀過程。對各個功能模塊程序進行單獨調(diào)試成功后,把各個程序模塊組合起來進行調(diào)試。在這個過程中發(fā)現(xiàn)在當系統(tǒng)第二次進入設(shè)置狀態(tài)后,程序就陷入死循環(huán)。經(jīng)過分析發(fā)現(xiàn),只是由于EEPROM讀寫程序與鍵盤處理程序模塊使用的工作寄存器沖突引起。把EEPROM讀寫程序使用的工作寄存器改為3區(qū),鍵盤處理程序使用0區(qū)工作寄存器即可解決問題。(如圖49所示),也就是1059字節(jié)(約為1KB),而AT89C51單片機內(nèi)含4KB的Flash程序存儲器足夠存儲本程序。圖49 程序編譯后的長度 數(shù)據(jù)測試及誤差分析數(shù)據(jù)測試是反映系統(tǒng)性能的重要指標,因此我對本系統(tǒng)進行了全面的輸出電流測試。負載電阻為50?時測試數(shù)據(jù)如表41所示。本次測試采用的儀表為Proteus軟件提供的虛擬電表。電流設(shè)定值為10mA、50mA和100mA時的仿真分別如圖4圖411和圖412所示。另外我還進行了負載調(diào)整率測試。當負載電阻為0時,電流設(shè)定值為10mA、50mA和100mA的負載調(diào)整率測試情況分別如圖41圖414和圖415所示。當負載電阻為100?時,電流設(shè)定值為10mA、50mA和100mA的負載調(diào)整率測試情況分別如圖41圖417和圖418所示。表41 測試數(shù)據(jù)統(tǒng)計電流設(shè)定值(mA)實際電流輸出值(mA)誤差電流(mA)電流設(shè)定值(mA)電流測試值(mA)誤差電流(mA)00025126227328429530631732833934103511361237133814391540164117421843194420452146224723482449電流設(shè)定值(mA)實際電流輸出值(mA)誤差電流(mA)電流設(shè)定值(mA)電流測試值(mA)誤差電流(mA)5076517752785379548055815682578358845985608661876288638964906591669267936894699570967197729873997410075 圖410 電流設(shè)定值為10mA時的仿真截圖圖411 電流設(shè)定值為50mA時的仿真截圖圖412 電流設(shè)定值為100mA時的仿真截圖圖413 電流設(shè)定值為10mA時的負載調(diào)整率(負載電阻為0?)圖414 電流設(shè)定值為50mA時的負載調(diào)整率(負載電阻為0?)圖415 電流設(shè)定值為100mA時的負載調(diào)整率(負載電阻為0?)圖416 電流設(shè)定值為10mA時的負載調(diào)整率(負載電阻為100?)圖417 電流設(shè)定值為50mA時的負載調(diào)整率(負載電阻為100?)圖418 電流設(shè)定值為100mA時的負載調(diào)整率(負載電阻為100?)本設(shè)計中所采用的D/A芯片DAC0832的分辨率為8位,當其基準電壓為5V時,則其最小轉(zhuǎn)換電壓。由恒流源電路分析可知,當在范圍內(nèi)時,輸出電流在直流范圍內(nèi)線性地與直流輸入電壓相對應,則1mA步進對應于50mV。由于D/(約為20mV),所以D/A輸出電壓的誤差為10mV。為輸出電流與設(shè)定值之差的絕對值,為電流設(shè)定值,為實際輸出電流值,則。為占電流設(shè)定值的百分比,題目要求其百分比要不大于2%,則。通過分析表41數(shù)據(jù)可知,在10mA~100mA之間,當為99mA時,;當為10mA時,最大為2%。通過負載調(diào)整率的測試可知,輸出電流調(diào)整率小于2%,符合設(shè)計要求。 第5章 結(jié)論在設(shè)計數(shù)控直流恒流源的過程中,我深切體會到,實踐是理論運用的最好檢驗。本次設(shè)計是對我大學四年所學知識的一次綜合性檢測和考驗,無論是動手能力還是理論知識運用能力都得到了提高,同時加深了我對網(wǎng)絡(luò)資源認識,大大提高了查閱資料的能力和效率,使我有充足的時間投入到畢業(yè)設(shè)計當中。本系統(tǒng)的設(shè)計主要應用到了模擬電子技術(shù)、數(shù)字電子技術(shù)、單片機控制技術(shù)等多方面的知識,所設(shè)計的基于單片機程序控制的數(shù)控直流恒流,達到了設(shè)計要求。在數(shù)據(jù)測試和調(diào)試方面,由于沒有做出實際樣品,所以數(shù)據(jù)只能用軟件仿真測得。系統(tǒng)輸出電流小于10mA時誤差較大,輸出電流在10mA~100mA之間時,誤差較小,并符合設(shè)計要求。由于本設(shè)計使用軟件的虛擬儀表來測試電流和電壓,所以測量數(shù)據(jù)與產(chǎn)品的實際測量數(shù)據(jù)可能存在一定的誤差。本系統(tǒng)通過優(yōu)化軟硬設(shè)計,盡量減少誤差,使輸出電流的誤差小于2%,提高了系統(tǒng)的精度,并且與理論計算相吻合。如果要進一步提高系統(tǒng)輸出電流精度或減小電流步進單位,可以使用的分辨率更高的D/A芯片來實現(xiàn)。就本設(shè)計而言,如果要使0~10mA的輸出電流的精度都能達到2%,則需要使用分辨率為10位的D/A芯片。如果需要增大輸出電流,可以通過減小負載反饋電阻的阻值并修改控制程序來實現(xiàn)。如果需要擴大負載的變化范圍,則需要適當提高V/I轉(zhuǎn)換電路的供電電壓。 致 謝我所做的“數(shù)控直流恒流源的設(shè)計”是一項綜合的工作。它涉及到硬件電路的設(shè)計、軟件的編寫及調(diào)試,還有相關(guān)軟件的使用。由于我的能力有限,在做畢業(yè)設(shè)計的過程中遇到了很多問題和困難,但在老師的指導和同學的幫助下,我最終成功地完成了設(shè)計工作。在此,我向他們致以最誠摯的感謝!首先我要感謝的是我的指導老師劉煒。每次我向他請教問題時,他都耐心細致的給我講解指點,并十分關(guān)心我的畢業(yè)設(shè)計進展情況。劉老師還給我提供了許多技術(shù)文檔,介紹了許多資料供我參考,并給我的設(shè)計提出了許多有益的建議。如果沒有他的幫助就不可能如期地完成畢業(yè)設(shè)計。在此,
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1