版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
測試反應時間模擬系統(tǒng)摘要隨著電子技術(shù)的飛速發(fā)展,微型計算機已經(jīng)全面滲透了人類生活各領(lǐng)域,并革命性地改變著人們的生活。因此,可以說了解微型計算機的基本工作原理對于每個人都十分必要。而對于即將從事電子行業(yè)的工作者來說,熟悉掌握微機原理并在其上進行軟硬件的開發(fā)設計則是一項必須掌握的基本技能。為此,在學習微型計算機技術(shù)以及其應用的過程中,我設計了一個能測試人體反應時間的模擬系統(tǒng)。該系統(tǒng)以8088微處理器為核心,結(jié)合8255可編程并行通信接口、8253可編程定時/計數(shù)器、8259中斷控制器等芯片以及LED等輔助電路,來測試人的反應時間,并將其反映在數(shù)碼管上。通過此儀器不僅能夠真實地測試出人的反應時間,而且還可以鍛煉和提高個人對外界突發(fā)事件的處理能力。關(guān)鍵詞:反應時間、8086/8088、匯編、8255simulationsystemoftestingreactiontimeAbstractWiththerapiddevelopmentofelectronictechnology,themicro-computerhasimpactedonalmosteveryareaofhumanlifeandmakesthepeople’sliveschangingrevolutionary.So,it’sverynecessarytounderstandthebaseworkingprincipleofmicro-computer.Computerprincipleandhowtodosomehardwareandsoftwaredevelopmentonthecomputershouldbemasteredbythepeoplethatwillworkinthefieldofelectronicsindustry.Forthisreason,duringstudyingmicro-computertechnologyanditsapplication,asystemusedtotestaperson’sreactiontimeisdeveloped.Thesystemtakesthe8088microprocessorasacoreandcombinesIntegratedCircuitssuchas8255ProgrammableParallelInterface,8253ProgrammableIntervalTimer,8259AProgrammableInterruptControllerandetc,whichteststhereactiontimeanddisplaysitontheLED.Thisequipmentcannotonlytestthereactiontimecorrectly,butalsoimprovethehandlingcapacityofsuddeneventsoftheoutsideworldbytraining.Keywords:reactiontime;8086/8088、assemblelanguage、8255目錄摘要………………IAbstract………………………II跨目錄長……………甘……………介……………身……………仔……………棚……………紅……………資III施1.瓣前言采……………誓……………棉……………牲……………永……………墾……………芬……………倚1謎2.設計方低案論證慎……………夏……………洋……………機……………什……………擇……………拉…來2喜2.1概框述牢……………恢……………之…君……………密……………大……………排……………丈……沾2慣2.2本拾設計使用的胸設備介紹言……………叉……………?!ā濉?怒浸TDN8仿6/88+驢系統(tǒng)簡介責……………恰……………集……………屈……………漲……………馬2設2.3設國計原理和方冠法襖……………積……………戰(zhàn)……………判……………鋤……………此………陵3碌榨設計原理層……………丈……………寇……………怖……………儀……………侄…………喜3概荷設計方法懼……………盜……………狹……………柿……………稿……………伸…………記4剪姑程序流程脆圖及其問題碧……………盜……錦……………魂……………霜……………掛……耍4及3.本設計珠中各芯片的拳工作原理及澡編程吧……………條……………湊……………啞……………絨…嫩13捷3.1本崇設計中82社55A芯片祝的工作原理補……………店……………已……………活……………打13牲釀8255麥A的內(nèi)部結(jié)歌構(gòu)且……………描……………切……………悠……………誦……………訴13探逆8255衰A的控制字純及工作方式器……………怠……………恐……………鞏……………俊…果14架唇本設計中隸8255A饅的應用編程跑……………振……………燈……………代……………總…形14消3.2本敞設計中82迷59A芯片塊的編程結(jié)構(gòu)訪和應用編程協(xié)……………趟……………收……………挎…杯15該柏8259踩A的編程結(jié)譜構(gòu)膽……………撫……………舌……………幻……………爪……………國15錘厚8259測A初始化流柏程圖提……………啞……………云……………趨……………摧…………瞧16凱掙本設計中沖8259A妖的應用編程慕……………喬……………羅……………債……………復…因17勸3.3本蹄設計中82旗53A芯片耍的工作方式偽和應用編程蘋……………暗……………裕……………棒…驚18帖眨8253負的工作方式屑……………屈……………捕……………傘……………僻……………嘴…塘18初魔本設計中襲8253的妹應用編程蒙……………律……………撇……………刊……………萌…庸19菊4.調(diào)試過解程與總結(jié)甘……………紀……………諒……………乎……………獨……………款…………羽20掌4.1程擠序的調(diào)試過潔程各……………木……………券……………綁……………聞……………際……駁20季4.2硬裹件的調(diào)試過做程允……………脆……………史……………晨……………壓……………時……湊28皇4.3總輸結(jié)厘……………白……………墓……………繼……………熄……………堪……………章……豎29賓致謝西……………拒……………隊……………華……………咽……………蔥……………果……………嶺30予參考資料節(jié)……………六……………返……………殿………糕……………取……………若……………簽31濃附錄一:測捐試反應時間護模擬系統(tǒng)總施電路圖死……………鐘……………鈴……………耐……………姑32厘附錄二:測迫試反應時間艱模擬系統(tǒng)程慧序宵……………嶄……………瘦……………突……………罩……校33禍附錄三:硬至件實物圖及仁實物與TD今N86/8戶8+系統(tǒng)的膜連接圖定……………?!摇?51.前言理近幾十年來月,微型計算炎機的應用已瘋經(jīng)全面滲透視進人類生活辱的各個角落微,大到航空畏航天領(lǐng)域,水小至嵌入式冤家庭用器,俱無處不見其橡蹤影,無處刑不讓人深刻嗚感受到其對拿人類生活的施革命性變革栗。體本每設計抓是跪一個能測試觸人體反應時淺間的系統(tǒng),岡該系統(tǒng)可以車應用于體育殖訓練、醫(yī)療般和娛樂等領(lǐng)誼域蓬。叮2響.白設計方案論組證2.1概述暢本設計采用腦808獅8微處理器季,貝結(jié)合辜8255A乳可編程并行償通信接口嘗、該8259中叢斷控制熄器、驗8253殖定時泉/計時器醋以及鍵盤等飾部分外設馳電路伐,院利用文匯編亂為程序設計能語言慎實現(xiàn)宿一個能測試告人體反應時暮間的模擬系絹統(tǒng)傍。何具體濱任務頑:支設計一貪個能測試人豬的反應(響蜻應)時間的避儀器。按啟怕動鈕,測試凳開始,一旦倉看到燈亮,圖立即按測試耀鈕,嶄用4位屬八段碼顯示插從看到燈亮冰到按下測試斯鈕的場反應時間x指x.xx秒找。嚼具有以下重功能干:今(1)起編制捷一舊個隨機數(shù)產(chǎn)浸生子程序,閉由隨機數(shù)決貢定從按啟動練鈕到止四訓個LED亮割的時間(如煌在3秒~1反5秒之間內(nèi)飽任意變動)采,使被測試孝者對LED而亮的時間無良法預見,以鳥確保測試結(jié)特果的可信;雙夠(2)凳必須在見到廁LED亮后浙按測試鈕才烏有效,即一威直按著按鈕庸或提前按下引按鈕無效;胃頑(3)鏟反應時間顯樸示xx.橫xx秒,準壞確到百分之犯一秒。挨(4)狐修改以上設哥計使進一步謹能測試人對信不同事物的寧反應(響應獨)時間。如燒功能為:按做啟動鈕,測福試開始,一乓旦紅燈亮,愛立即按紅燈蜓測試鈕,一現(xiàn)旦綠燈亮,革立即按綠測氣試鈕,八段匪碼顯示反應由時間焰xx.xx嶺秒。若按錯除鈕,則顯示格出錯并響“櫻嘟”一聲。蜘要求坦編制決二呀個隨機數(shù)產(chǎn)念生子程序,剩一震個決定從按檢啟動鈕到L筒ED亮的時當間,另一個彎決定亮何種漠顏色燈??;壁同樣要求在葬見到LE恐D亮時按測眉試鈕才有效懇。益2.2礎本設計使用憲的設備介紹脫為研究方便燈,裁本設計久采用山TDN86繞/88+微析機實驗系統(tǒng)怪來堵輔助至開發(fā)此系統(tǒng)愚,價即首先將程豆序在雅該燙系統(tǒng)上調(diào)試獎,調(diào)試完成移后再將最終檔的程序加載紀到所設計的騾硬件違系統(tǒng)秋上。另外,偶硬件方面還忍需用到之普通PC機芝一臺莊,用來作為不開發(fā)主機觸,以提供界榴面編輯、編哈譯程序,并綁將程序加載洗到目標系統(tǒng)副中味。湖腰TDN8很6/88+雹系統(tǒng)簡介臣(1康)辭系統(tǒng)總線膚系統(tǒng)總線信纖號定義如表槳2-1翅所示脫。州表2-1旁8088微梢機系統(tǒng)總線巾定義勒信號線吩說明求信號線逃說明他XA0-X見A7普系統(tǒng)地址總郵線虜XIOR聞I/O讀(贏輸出)信號笨線銅XA8-X染A15騎XMER繼存儲器讀(詳輸出)信號幸線幻XA16-薄XA19悔XMEW午存儲器寫(民輸出)信號鉆線物OPCLK掙時鐘信號線反(1.19咐3MHz)物HOLD項總線請求(孔輸入)信號割線驕PCLK高時鐘信號線靜(2.38狠6MHz)奧HLDA社總線請求應頓答(輸出)思信號線耗(糟2滅)蠻系統(tǒng)內(nèi)存分蹲配情況棗系統(tǒng)內(nèi)存分掏配如下圖所使示研:大圖寺2借-萌1虹系統(tǒng)內(nèi)存分兩配情況迷本設計需要葵用到825道5、825懼3、825武9等芯片,持它們各自的或端口地址堪如下表派所示活:迷表2-2拳輸入/輸出玉接口編碼表摘電路名稱鏟信號線鋤寄存器斜編址舒電路名稱岸信號線午寄存器松編址驚8253犯IOY2斃0#計數(shù)器男40H居8255寇IOY3窗A口號60H軌1#計數(shù)器收41H夾B口桑61H公2#計數(shù)器喝42H威C口怨62H浪3#計數(shù)器既43H箱控制口無63H帽8259耳IOY1盆-蜜20H史-能21H陵2.3設謎計原理和方諒法萍偷設計原理瑞本設計中可談以劃分為鍵胳盤掃描和鍵臨命令的識別尼和處理部分垮。從宏觀上私看,這兩部兼分程序應當矩不停地并行紀、在地在執(zhí)行,油這樣才能?;镒C既使LE盡D的數(shù)字顯副示穩(wěn)定,又闖不遺漏對閉廣合鍵的識別側(cè)和處理。味旱設計方法宅設計中采用沃的方案是將破鍵盤掃描程容序、鍵命令湊的識別和處爐理程序及L池ED提顯盾示程序鉤等敗作為主程序駛,而將顯示塞程序、延時露程序以及隨塑機數(shù)產(chǎn)生程沖序等作為子醋程序調(diào)用。四在主程序中養(yǎng),對羊8255A但、8259記進行初始化努,接著檢測敲啟動鍵的信哨號,在啟動枕信號到來后滋產(chǎn)生隨機數(shù)艇,再初始化訓8253,時使它工作在嚷方式隆2,絞每10ms樣產(chǎn)生一己上升沿作為屢中斷請求信傲號給825皇9,使得程厘序每10m良s便進入中壤斷處理子程呆序,從而實齡現(xiàn)時間上的纖累加。促設計的總框兄圖如下圖所塞示。碌圖2-2趙設計總框圖敞大致工作過備程為:80行88微處理禾器答根據(jù)RAM央中的程序羞不斷探測啟木動鍵是否按冬下,若啟動味鍵按下,則磁產(chǎn)生一隨機馬時間給82畫53進行延慢時處理,錢使8253細完成3~1槳5秒的工作喪。望延時結(jié)束后胖,通過RA變M的隨機數(shù)協(xié)產(chǎn)生子程序捷產(chǎn)生一隨機已數(shù),以決定增亮8個LE效D中的哪個墾LED。貨此后程序?qū)Σ╂I盤進行掃等描,若按錯擦鍵則響蜂鳴續(xù)器,若按下煤正確的鍵則屆將利用82疼55B口獄所連接的四渣位數(shù)碼管顯短示時間的數(shù)呢據(jù)。衰側(cè)程序流程椒圖清及唇其察問題召(1)程序國流程圖權(quán)基于以上設遮計任務可以寧畫出震圖抖2負-3杰所示的簡易橡流程圖。鄭(2)程序名流程圖里的夫相關(guān)問題窗當按著流程蛾圖去試著寫由程序,會遇戚到以下幾個謹問題:甜1)胸長時間延時懷為解決這個緩問題,應首蓄先了解82猾53定時/砍計數(shù)器的內(nèi)餡部結(jié)構(gòu)及工淹作原理。有Intel之8253涉是NMO筆S工藝制成豪的可編程定勢時虹/計數(shù)器芒,最高速率燭為2.6M艙Hz騰。它既可以家用來定時,丟也可以用來溪計數(shù)。其實銅,定時功能勤也是通過計叢數(shù)鋼來替完成的聚,因為當計輝數(shù)器用作定暴時器時,其崇輸入的時鐘需信號為周期嚇性脈沖信號有,而對周期液性域信肥號的計數(shù)即饞實現(xiàn)了延時嗚的目的喇,延時時間伸為輸入時鐘怒信號的周期壤與計數(shù)初值酷N荒的乘積杰。夢8睬253的編涂程結(jié)構(gòu)框圖罷如蔽圖2-4所殘示。栽圖便2甩-3陽簡易流程圖趟圖2互-4脈8253定叉時/計數(shù)器臘編程結(jié)構(gòu)圖佳8253內(nèi)再部有三個連計數(shù)器灑,分別稱為令計數(shù)器0、邁計數(shù)器1和圓計數(shù)器2,去它們的結(jié)構(gòu)仔完全相同。涌每個的輸入鏈和輸出都決彎定于設置在仿控制寄存器坊中的控制字濕,互相之間件工作完全獨霸立。每個通幸過三個引腳舒和外部聯(lián)系桶,一個為時谷鐘輸入端C爛LK,一個好為門控信號錄輸入端GA買TE,另一傭個為輸出端冰OUT。每航個內(nèi)部有一福個8位的控眠制寄存器,券還有一個1甩6位的初值馳寄存器CR顧、一個執(zhí)行里部件CE和喘一個輸出鎖央存器OL。潛賺執(zhí)行部件實撐際上是一個野16位的減探法頂計數(shù)器嬌,它的起始毛值就是初值社寄存器的值陶,而初值寄警存器的值是駐通過程序設梅置的。輸出區(qū)鎖存器OL聾用來鎖存執(zhí)武行部件CE末的內(nèi)容,從手而使CPU短可以對此進引行讀操作。低因此,如果椒在系統(tǒng)時鐘像為1.19運3MHz的優(yōu)情況下,需節(jié)要利用82閉53定時/劇計數(shù)器延時舟0.01秒見,只需將初鄉(xiāng)始值119溉30賦給初膽值寄存器,渠再將825懷3的相應C萌LK端接上組系統(tǒng)時鐘引天腳即可。送至于控制寄鏈存器,它的要格式如下表教所示:火表岸2-3壓8253音控制寄存器獵格式帆SC1趣SC0蜓RL1脹RL0抄M2口M1擁M0距BCD荒各位所表示悶的意義簡要怨解釋如下:態(tài)SC1,S嗓C0卻:牲通道選擇位頂。為余00悔、千0想1鋤、拐10滲分別表示選幼擇計數(shù)器拿0輪、份1責、橋2服。恰RL1,R腎L漂0:唇讀聰/舞寫操作位。攝00霸表示鎖存數(shù)肆據(jù)拆,縮可隨時讀取墾計數(shù)器中的騙計數(shù)值會;01名表示只讀奪/唐寫低奸8厚位碰,喊高監(jiān)8遣位自動置為察0;10貝表示只讀插/桂寫高鵝8疊位碑,四低董8株位自動置為章0;11勢表示讀故/爸寫休16企位數(shù)據(jù)輔,便先低仰8厚位低,拾后高譽8駐位。甘M2,M1攏,M0艦:更工作方式選鑰擇位。具體平選擇關(guān)系如免下表:追表碌2-4宰工作方式維選擇關(guān)系表梢0肚0里0衛(wèi)模式稀0銳0剝0蠻1倆模式1倦X臥1酷0吵模式2遼X吧1證1扔模式3狂1刻0義0艦模式洗4唇1浴0自1哭模式深5應BCD:噸用來設置計亭數(shù)值格式。額為1時表示勵計數(shù)值為B脂CD碼格式購;為0時表感示為二進制乳格式。區(qū)另外,82然53定時/備計數(shù)器里各具計數(shù)器都有票六種工作方驚式,分別為各方式0至方姓式5,在這皇里為方便編萬程先說明一位下方式2。滋方式割2鋤又稱頻率發(fā)鵲生器工作方侮式。當程序?qū)脤⒐ぷ鞣绞礁C控制字寫入寧控制字寄存民器時泡,犧計數(shù)器的輸豎出端浴OUT升立即變?yōu)楦叻坞娖健T趯懓秩胗嫈?shù)初值右后菌,石計數(shù)器對輸磨入時鐘據(jù)CLK志計數(shù)。在計餓數(shù)過程中霞OUT滴保持不變政,描直到計數(shù)器湯從初值減為淺1穴時焦,己輸出僻OUT器將變低敞,叛再經(jīng)過一個孔CLK姜周期寸,OUT挑恢復為高電艇平燙,蝶并按已設定纏的計數(shù)初值之重新開始計斑數(shù)。溫其貝時序圖如下簡圖所示偉:佳圖遍2-5額8253廊方式2時序迎圖注由時序圖可淺見,每當種計數(shù)器拐計數(shù)完成時窯便邁在輸出端難輸出一負脈荒沖紡。根由于825枝3衣定時/計數(shù)償器是16位里的,畏而歪系統(tǒng)總線中咱的陳時鐘信號只叢有氏兩種:陷1.193謊M紀Hz和2.妻386MH血z。這意味倚著單純的1飯6位計數(shù)器禽最多只能只緞時計時65巴535/1世.193M荒S介=0.05院49S。勿那么,如何跑來實現(xiàn)長達雷3~15秒扁的延時呢?頃其實,可以咽通過計數(shù)器登的串聯(lián)來解淘決這個問題巷。例如,可冊以將系統(tǒng)時虜鐘接到CL草K0上,使次GATE0習有效(高電樂平)并將O獄UT0輸出嫩接到CLK田1上作為計襲數(shù)器1的計再數(shù)時鐘,并泄使GATE池1為高電平鳳。這就使得蠢計數(shù)器0和夸計數(shù)器1串依聯(lián)在一起。存可使計數(shù)器真0工作在方閱式2或方式低3,使其輸授出連續(xù)的脈探?jīng)_;使計數(shù)腦器1工作在漠方式0。計位數(shù)值方面可捏使計數(shù)器0餐為1193弦0,計數(shù)器脹1為150晴0,這樣就交可使得總計葉數(shù)值為11譜930*1每500,即歐實現(xiàn)了延時尿15秒的目蹲的。宰但由于系統(tǒng)辭中計數(shù)器0亡和計數(shù)器1男已作其它用叫途,故只能填采用計數(shù)器成2來實現(xiàn)長崗時間延時的再目的。為了辱實現(xiàn)單個計尤數(shù)器延時長消時間的目的麻,須想辦法漠實現(xiàn)計時時稀間的累加。宋本設計采用疏計時器結(jié)合躺中斷的方法御來解決這個借問題。醉即將825攻3的工作方都式設置為方栗式2,計數(shù)臭初值設為1仗1930,蔬此時每過0足.01秒便咱在8253糾的OUT2概引腳上輸出溫一上升沿作鋪為8259抵的中斷請求沾信號,而C玉PU通過接僅收中斷類型脹碼進入中斷蛙處理子程序左,并在此子梅程序里的對騰某一計數(shù)變?nèi)f量加1從而沙實現(xiàn)時間的絡累加,達到淹長時間延時刪的目的。滴8259A殖是Inte崇l融系列的可編扣程中斷控制羊器。銅中斷控制器脊的功能就是潔在有多個中臣斷源的系統(tǒng)抗中,接收外習部的中斷請范求,并進行膜判斷,選中船當前優(yōu)先級迷最高的中斷藏請求,再將役此請求送到腐CPU的I裝NTR端;臺當CPU響梅應中斷并進其入中斷子程痰序的處理過乒程后,中斷俘控制器仍然觀負責對外部跌中斷請求的監(jiān)管理???259覺編程結(jié)構(gòu)滋圖吧2-6帥所示。覆由圖可見,腔8259乎A甚內(nèi)部由兩大掌部分組成,慕上半部分包識括中斷請求朗寄存器和IRR替,優(yōu)先級別太器配PR逃和中斷服務渠寄存器雨ISR吩,它們構(gòu)成棗8259A太的中斷處理銳部分稱為處孕理部件。這勸部分的功能極是接收和處欲理從匆IR1撿~手IR屠0舉引腳進入的妄外部中斷,關(guān)其工作過程往體現(xiàn)了習8259A另本身的工作黎原理。即接頸收中斷請求笛,進行中斷清判優(yōu),記錄喘當前正在處判理的中斷優(yōu)專先級,實現(xiàn)秒中斷嵌套,公向恩CPU昌發(fā)出中斷申偉請,當鞏CPU再響應中斷時逼,接收硬CPU燕的兩個連續(xù)預中斷響應信附號將控制轉(zhuǎn)寺移到中斷服鐵務程序中去耐。算圖立2-6帝8259A律的編程結(jié)構(gòu)故綜上所述,已如果要求實偵現(xiàn)時間的累秒加,可以樹將8253私定時/計數(shù)抄器的OUT質(zhì)輸出端接到霜8259中稈斷控制器的膠I孔R說i端,他并通過車相應的男程序代碼雁編程實現(xiàn)秒。窗MOVC里X,100度篩稱;延時時間鞭由CX值決倆定晚MOVA逐L,0B4勇H盯溜;初始化8寸253,計耳時0.01里S緞OUT4市3H,AL潛MOVA化X,BX憐甜令;BX存放威計數(shù)初值贏OUT4渾2H,AL襲釀驗;先寫三計數(shù)值存低8位默MOV薦AL晌,AH下OUT4龜2H,AL繼紡司;再寫木計數(shù)值丹高8位…朽IRQ7:豬DECC訂X肅登;中斷處理宇子程序牙MOVA造L,20H遷勝棍;中斷結(jié)束姓處理忌OUT2應0H,ALIRET嚷以上程序代便碼的第二條破和第三條序兩條指令表港示婚選擇定時/拉計數(shù)器2;蕉給計數(shù)器賦講初值時先讀配寫低8位,蜜再讀寫高8東位;工作方永式選擇方滑式2。冒第四至七行葬用于對初值守寄存器賦初竄值城,而后面的釣語句則為中嘉斷處理子程攻序顆。程序中,想方式2表示床每經(jīng)過CL海K2判上的一個時貞鐘脈沖便對分計數(shù)值減一繼,直至細計數(shù)值減至賴1時在OU焰T2輸出端四一負脈沖趕并再次實現(xiàn)久初值的陶自動傘重裝工作。載而輸出的負欣脈沖將作為金8259的許中斷請求信而號從引腳I聽R7引入,睛若此時82爐59未屏蔽境該引腳上的候中斷請求班,則825姜9將仙向CPU發(fā)安出中斷請求傘。殖此后程序進柴入中斷處理匪子程序進行食中斷處理。徹由于草每次計數(shù)結(jié)卷束時便列進入晚中斷處理過貞程中對CX拉減一,慨相當于實現(xiàn)策了統(tǒng)計負脈雖沖個數(shù)的功無能,因而藥實現(xiàn)了時間仁的累加。券解決了長時孝間延時的問孤題后,接著腸考慮如何延嚼時3~15艇秒內(nèi)的一個姜隨機時間。傲假設計時器冊T位數(shù)足夠鑰多,可以賦遍任意大的初蠟值,那么對逮于1.19籃3MHz的庸系統(tǒng)時鐘來洋說,要延時數(shù)3秒,則應糕對其賦的初夠值為119熔30*30弓0;要延時冷15秒,則遭應賦的初值撥為1193億0*150場0但。所以,以柜上問題實際屈上要解決的虹是潑如何產(chǎn)生一隆個300~妙1500踩內(nèi)的隨機數(shù)勉。號2)夸隨機數(shù)的產(chǎn)泡生緣如何產(chǎn)生一侮個隨機數(shù),風以便亮一個即隨機LED惹?獲對于這個問燥題,一般是鎖通過讀取微共機上的時間兩信息來實現(xiàn)貼的。柴通過查閱參纖考文獻[4料]可知,喘在普通的P賊C機中,有蜂一個由主板爽電池供電的粱CMOS望RAM芯片朽,一般簡稱掛CMOS,稍其容量比較鉆小,大多為所128個存蜘儲單元。在模這128個爸存儲單元中她,0-0D濁H單元是用你來保存時間靠信息的,而檢且存儲形式層采用BCD汁碼形式。在舒這若干個存駁儲時間信息諒的存儲單元猶中,當前的傭時間信息存膏放位置一般蕉如下:形秒:0霧踏分:2耍哲時:4副做日:7常劍月:8姑壩年:9支比如當前時啞間的秒數(shù)為冬26秒,則甩第0個存儲棟單元的內(nèi)容鄉(xiāng)為0010晨0110。雅CMOS捐RAM芯片固內(nèi)部有兩個尋端口,端口艇地址為70澤H和71H掘。CPU通趙過這兩個端釀口實現(xiàn)對C搏MOSR行AM芯片的寄讀寫。妖但是,TD棋N86/8道8+實驗系顆統(tǒng)中并沒有巨由紐扣電池狐供電的RA菜M芯片,因荷此若系統(tǒng)關(guān)臥閉電源時,膛一切信息都嚇將消失,也尊就是說實驗鳴系統(tǒng)中并不筑存在與普通砌PC機類似鮮的系統(tǒng)時間翼存儲機制。昨因此,哨需要伶采用其它方掉法喘來實現(xiàn)隨機座數(shù)的產(chǎn)生站。通過查閱抖相關(guān)文獻,晶在本設計中擦將采用以下犁方法來實現(xiàn)說隨機數(shù)的產(chǎn)斤生繡(利用此方叔法產(chǎn)生隨機品數(shù)的效果請氏參閱調(diào)試部廢分)億:首先產(chǎn)生清一個隨機的玻AX,再通伙過對N進行線求余運算得您到0~N-訓1內(nèi)的隨機立數(shù)。比如要醉產(chǎn)生一個0躍~7杯內(nèi)的隨機數(shù)備,將采用以享下代碼完成法:線CALL建RND_A混X鏡;產(chǎn)生隨機燕AX召致MOV泳AH,03蘿H蝦;防止溢出尿表MOV巧DL,8燭職DIV桃DL扁稅墊據(jù)痛;產(chǎn)生0~柱7之間一隨承機數(shù)至AH段擺MOV稍RND,A尿H款烈天毅;AX除D常L,商放A圈L,余數(shù)放約AH……斑RND_A炊XPRO裁CNEA茶R繪斗蒜;子過程灶,用于產(chǎn)生圈隨機的AX片MOVA燭X,旦0C敏49H村IMUL喬SEED畏ADDA賣X,05E統(tǒng)1H累MOVS恨EED,A招X忘售麗;習保存種子獨PUSH臉CX傅MOVC誰L,8威RORA我X,CL筑;對AX進尊行移位鏟POPC賠X皺RND_A慰XEND各P紫其中SEE脾D、RND隸是在數(shù)據(jù)段車定義的變量裂,SEED稀初始化時可容以任意賦值書,本設計中場置初值為1敲。此段代碼蜘最終產(chǎn)生一妄個0~7內(nèi)援的隨機數(shù)至咐變量RND愁。有上面所說的村產(chǎn)生一個3鏟00~15毒00內(nèi)的隨館機數(shù)問題也乖可以類似地孤解決,程序盟中先用一個改隨機數(shù)子程區(qū)序產(chǎn)生10糠0個隨機數(shù)較,對其求和誰并將所得的視和存放到變?yōu)趿縍NDS溝UM,則根消據(jù)統(tǒng)計平均攻規(guī)律,RN間DSUM約歷為255*裙100/2厘=1275糟0,將此值泊作為計數(shù)器惠T的初始值蛾。如此一來爽,欲表示一未個料3怕~15秒的享區(qū)間,則需典確定兩個變恰量NUM1砍和NUM2悔(礎其中NUM唱1=119逐30*30丑0/RND挺SUM,N麗UM2=1興1930*腔1500/譽RNDSU瘦M根)頭,這樣區(qū)間察(NUM1濕~態(tài)NUM2)攏就對應蝶3駕~15秒。斯具體代碼如傾下:時MOVD提X,003戚6H慎;1193絞0*300本=36兩9C先78H蔽MOVA叛X,蜓9C卻78H錄MOVB寨X,RND遍SUM伐;RNDS進UM奮為100個詠RND之和步DIVB舉X乖MOVN凳UM1,A晶X梅MOVD輪X,011同1H苦;119疲30*15裁00=11奶10E5制8H著MOVA取X,0E5彈8H拒DIVB紫X栗MOVN惜UM2,A海X砍CALL暑RND_趙AX沖;產(chǎn)生隨機閑AX賽MOVD皮X,0遠MOVC折X,NUM炸2解SUBC菊X,NUM完1倆微茶DIVC且X截機穩(wěn)輩;CX存放孫0NUM2虛-NUM1窮之間的隨機易數(shù)乓MOVC糞X,DX私ADDC湖X,NUM許1興趟;CX存放定NUM1-潤NUM2牙之間的隨機旺3)示鍵盤掃描縣通常使用的朵鍵盤是矩陣帳結(jié)構(gòu)的,如謹下圖嶼所示:肆圖每2-7吉鍵盤的矩錄陣式結(jié)構(gòu)相識別鍵盤上獨的閉合鍵通儉常有兩種方苗法:玻行反轉(zhuǎn)法未和行掃描法爐。脂行反轉(zhuǎn)法的撐原理:行反神轉(zhuǎn)法識別閉賀合鍵時,要鵲將行線接一俯個并行口,和先讓它工作低在輸出方式識,將列線也腸接到一個并鋤行口,先讓臂它工作在輸遺入方式,程汁序使CPU爺通過輸出端李口往各行線餡上全部送低春電平,然后榴讀入列線的拘值。如果此殊時有某一個他鍵被按下,孤則必定會使曉某一列線值艇為零,然后雅,程序再對晚兩個并行端排口進行方式俱設置,使行熊線工作在輸喊入方式,列劣線工作在輸寸出方式,并善且將剛才讀奏得的列線值查從列線所接妙的并行端口輔輸出,再讀住取行線上的喝輸入值,那愚么,在閉合碧鍵所在的行踏線上的值必餓定為零。這雨樣,當一個幟鍵被按下時皂,必定可以先讀得一對唯宰一的行值和蹤列值。映行掃描法的根原理:首先比先快速檢查盜鍵盤中是否懲有某個鍵已趟被按下,然織后,再確定幻具體按下了末哪一個鍵。某為此,可以攔先使所有各浸行同時為低守電平,再檢糧查是否有列折線也處于低假電平。這時驕,如果列線瓣上有一位為霜0,則說明厘必有鍵被按蟻下,不過,火還不能確定佛所閉合的鍵豪處在哪一行叨上,于是再紡用掃描法來易確定具體位益置。具體為類:先使第1板行接地,其廣余行接高電匹平,然后看苗是否有哪條溝列線變成低丙電平。如果額有某條列線裝為低電平,愁則該列與第既1行相交位責置上的鍵被樓按下;如果形沒有任何一獸條為低電平憲,遇說明第顯1行上的鍵拼均沒有被按糖下。杰用同樣的方饒法判別其它甜各行的情況國,最終確定撥所按下的鍵鐵。池本馬鍵盤掃描責程序?qū)⒉捎冒ば袙呙璺▉碓~實現(xiàn)鍵盤的悔掃描。調(diào)4)辯用數(shù)碼管顯碎示時間數(shù)據(jù)鬧下夠圖是職8狀段共陰數(shù)碼宣管的結(jié)構(gòu)圖鳴:壯圖寇2-漢8勢數(shù)碼管內(nèi)部姨結(jié)構(gòu)及外觀其引腳凡由沖上捕圖可知,要涉想選通數(shù)碼船管,婆應慘將第3盟管腳接低電臭平作為選擇驕數(shù)碼管的位靈,渴而將825管5B口的澤PB7~P役B0分別接借數(shù)碼管的D比P~A作為莖選擇數(shù)碼管貨的段。對于肌數(shù)碼管數(shù)據(jù)棍的顯示,社一般姿都是用查表暮指令來完成叔顯示工作的洽,即先把0宣~9的顯示捧碼放到一個泊數(shù)據(jù)表中,似并將寄存器懲BX指向表耽的首地址,繡在AL存放滔數(shù)碼管所非要顯示的數(shù)選字,波再址利用XLA砌T狂這條耗換碼晨指令即可完娘成換碼操作處。壺至此,簡易伯流程圖的問卷題都大致解載決了??紤]椅其它各方面歇因素,作出裳如更圖纏2-9記所示的完整眠流程圖唐。數(shù)圖飾2-酸9爬完整流程圖裙3餐.漂本設計劫中晴各芯片的工問作原理及編臣程賞3貌.1活本設計中竊8255A但芯片冷的工作原理題8255A吳是Inte懶l(wèi)系統(tǒng)的并手行接口芯片織。由于它是暢可編程的,脆可以通過軟忽件來設置芯梅片的工作方喇式,所以,承用返8255A捎連接外部設當備時,通常燦不需要再附奔加外部電路歐,給使用帶副來很大的方稀便。覽3.逐1.1魂8255A典的內(nèi)部結(jié)構(gòu)燒參閱參考書善[1],敢8255A被的內(nèi)部結(jié)構(gòu)右框圖橫如下圖所示揉:蛋圖糟3-1撒8255A朋的內(nèi)部結(jié)構(gòu)菜圖極8255A慕由以下幾部晨分組成。胸1艇)斯數(shù)據(jù)端口A叢、B、C時8255具泥有三個相互債應獨立的8紗位并行輸入渴輸出端口,冬即端口A,肺端口B和端眼口C。鹽端口A芬:搶端口A對應譜1個8位數(shù)趕據(jù)輸入器和恭1個8位數(shù)尾據(jù)輸出鎖存凍/緩沖器。墊端口B雞:寧端口B對應期1個8位數(shù)玻據(jù)輸入緩沖筋鎖存器和1貴個8位數(shù)據(jù)擾輸出鎖存器飼/緩沖器。抖端口C渾:交端口C對應嗎1個8位數(shù)惜據(jù)輸入緩沖鞏器和1個8象位數(shù)據(jù)輸出曬鎖存器/緩疼沖器。碼在使用中,趴端口A和端恨口B常常作公為獨立的輸佩入端口或者銳輸出端口,狐而使端口C常常根通過控制命態(tài)令被分成2風個4位端口琴,分別用來對為端口A和能端口B提供只控制信號和傻狀態(tài)信號。上2譯)鑼A組控制和寒B組控制捷A組控制電女路控制端口談A和端口C服的高4位雅(PC7~序PC4)的膊工作方式和農(nóng)讀寫操作。當B組控制電苦路控制端口您B和端口C瓦的低4位育(PC3~則PC0)的逆工作方式和刑讀寫操作。限3挪)狀讀寫控制邏意輯電路古讀寫控制邏儉輯電路負責梨管理炊8255A騙的數(shù)據(jù)傳輸臨過程。別4)孔數(shù)據(jù)總線緩礎沖器賣這是一個雙沿向三態(tài)的8來位數(shù)據(jù)緩沖謠器,鴉80255請A切正是通過它叢與系統(tǒng)數(shù)據(jù)臉總線相連。愁輸入數(shù)據(jù)、帽輸出數(shù)據(jù)以蝴及CPU發(fā)友給潔8255A鑼的控制字都希是通過這個靜緩沖器傳遞蔥的。絕3.揮1.2英8255A違的控制字披及工作方式洲(1)齡8255A駐的控制字映8255A綁可以通過指爸令在控制端銷口中設置控變制字來決定旺它的工作。屋控制字分為久兩類:方式臥選擇控制字供和端口C置萌1/置0控鬼制字庭,兩者通過愁最高位的值倒相互區(qū)別:喪如最高位D艱7為1表求蝴控制字為方歸式選擇控制擔字,否則宋則頑為C口置1類/置0控制雨字。伴(2)脖8255A儀的工作方式控8255A蹲有三種工作久方式:方式濕0、方式1妻和方式2。苗以下介紹方磁式0緩。且方式0也叫么基本輸入輸毒出方式。在翼這種方式下慌,端口A和座端口B可以竄通過方式選愈擇規(guī)定為輸具入口或者輸報出口,端口朽C分為兩個極4位端口,平高4位己和沿低4位烈各兩為一個端口駛。毅概括地說,靠方式0的基猛本特點如下貴:勻1)狂任何一個端千口可作為輸狹入口,也可訊作為輸出口答,各端口之破間沒有規(guī)定婦必然的關(guān)系仔。押2)述各個端口的貞輸入或輸出房,可以有1漢6種不同的漏組合,所以下可以適用于膽多種使用場勝合。媽本設計中扛8255A茄的A、B端告口均采用方埋式0。丸途本設計只采簡用方式0。伴測本設計中謊8255A茅的廉應用魄編程膝好假設傅用飼8255A當?shù)亩丝诘刂访嫒缦卤硭静保航鸨?阿-1震8255A扛的端口地址船分配表意A口辛60H慘B口激61H西C口旺62H或控制口討63H舅若有以下指煤令將控制字皺寫入控制端茄口中:齡MOVA豐L,81H乓OUT6粘3H,AL尊其中81H開的二進制形穴式為100佩00001之,厚最高位D7愚=化1皮表示此控制翻字為方式選險擇控制字街。傲根據(jù)825徑5方式選擇而控制字格式緞,則旺D6D5=成00表示A垃口元工作于稻方式0,星D4言=0表示A里口工作于輸器出狀態(tài),D社3=0表示漂C口高4位皮為輸出口,惡D2=0表匆示B口工作興于方式0,懸D1=0表魔示B口為輸薄出口,D0戀=1表示C眼口低4位為伍輸入口。師此后若要求碌B口輸出1丸的顯示碼0尼6H,則只店需執(zhí)行以下朵代碼:弓MOVA小L,06H河OUT6山1H,AL祖而若要求對嚼PC2置1算以驅(qū)動蜂鳴居器,則可執(zhí)昌行以下代碼仗:帽MOVA哨L,05H鹽OUT6納3H,AL晚其中賤05H的二場進制形式為址00000翁101,雁最高位D7閱=0表示此告控制字為夾C口置1/眠置0控制字棄。映根據(jù)其格式步,舉D3D2D壁1=010盡表示對PC年2進行操作劉,D0=0偉表示對PC針2置1。歌3.跳2孕本蘿設計中準8259A厚芯片的編性程結(jié)銳構(gòu)敗和芝應用編程籌參閱參考文牌獻[1],蝶8259A攻是Inte己l系列的可熱編程中斷控帶制器噴。捉它具有以下澤特點:槽1)鋤1片彩8259A覺能管理8級搭中斷蚊;著2)款由于頃8259A躲是可編程的挺,所以使用哨起來非常靈抹活。實際系趴統(tǒng)中,可以苗通過編程使乖8259A死工作在多種董不同的方式閃。雹3)勇8259A凱用NMOS承工藝制造,牢只需要一組綁5V電源。功3.賠2.1賣8259A不的編程結(jié)構(gòu)晃編程結(jié)構(gòu)紗如禿圖澤3-2所示擱。田各寄存器的腔工作原理岸表述寧如下:踏1敗)唯中斷請求寄君存器鐵IRR落。搞此避寄存器用來卷存放外部輸冰入的中斷請逐求信號兵IR7含~草IR0誰。每一位對掘應一個外部千中斷請求信設號亂IR精,當某個校IR盆端有中斷請邀求時,其相境應位置派“貿(mào)1”賄。積2觀)兩中斷屏蔽寄塞存器裝IMR芽。富IMR靠是一個魄8山位寄存器,勻用來存放對螺各級中斷請稿求的屏蔽信漢息,如果某彼一位噴IMR嶼置煮“腐0”薯,表示對應塘的中斷挖IR往被允許,云IMR沖的某一位伏IMR佛置未“申1”順,表示對應符的中斷全IR軋被屏蔽。捕3蛇)對中斷服務寄失存器爆ISR伸。ISR是茂8侵位寄存器,柱與乞8蜻級中斷么IR7扁~獵IR0扯相對應,用極來記錄正在仔處理的中斷究請求,如果炕某一級中斷躬被響應,則管ISR檢中的相應位恢置提“獅1”費。癢4墊)焦優(yōu)先級判別陳器痛PR學。PR用來階管理和識別掌各中斷請求堡信號的優(yōu)先意級別。當出調(diào)現(xiàn)多重中斷輔時,敢PR零將新出現(xiàn)的榮中斷請求和杏正在被服務向的中斷優(yōu)先要級進行比較妨,確定新的溫優(yōu)先級是否沖高于正在處硬理的中斷級猶。高級中斷英允許手中止低級中塊斷吉。炊而貿(mào)8259A手的下半部有驚7咽個妙8斗位寄存器。蠻這些寄存器饒可痕分為兩組:廟ICW1~野ICW4佳為一組,稱暮為初始化命靈令字(IC農(nóng)W)寄存器招,用來接收綁CPU都向餓8259A萬發(fā)出的初始斯化命令以決隨定孩8259A殲的工作方式糧。午而墊OCW1~奧OCW3稻為一組,稱購為操作命令盲字(OCW銷)寄存器,共用來存放羨CPU涉向居8259A姻發(fā)出的操作腎命令鑒。杯圖明3-2幻8259A招的編程結(jié)構(gòu)忌3.敢2.2供8259A卡初始化流程略圖鋼在怪8259A湊進入正常運兔行之前,必蹦須將系統(tǒng)中擠的每一片貍8259A土進行初始化包。初始化就謎是將上述的蔽初始化命令尚字按固定的蘇次序?qū)懭肷n8259A晴的指定端口訴。包8259A挎的初始化流仍程圖如圖祝3-3系所示色。起圖驗3-3供8255A園的初始化流饒程圖優(yōu)籮本設計中臺8259A倒的扭應用折編程篇系統(tǒng)中的捎8259A卸的偶端口地伏址為20H銹,端口地址閥為21H。控假設系統(tǒng)只乞有一片題8259A腫,且系統(tǒng)開省放IRQ7湯,則可用以扛下代碼對其爛進行初始化去:糕MOVA史L,13H低;晨初始化具8259騎OUT懇20改H繩,據(jù)AL催;云ICW1缺MOVA起L,08H目;炸ICW2妹OUT2皮1H,AL鍵MOVA載L,09H控;禍ICW4贈OUT2拾1H,AL艘IN臉AL船,21H幫圓;OCW1鍵AND另AL啦,7FH鐵OUT2讓1H,AL尾以上代碼中扁,寫入IC界W1寄存器沙的數(shù)值為1但3H,其二是進制形式為飽00010稠011。根痕據(jù)館8259初菠始化命令字摔ICW1的臺格式,D3貌=孟0艦表示中斷請蛙求為簽邊沿觸發(fā)方易式裕;產(chǎn)D1=1表頁示撕采用單片8切259;D昌0=1表示疫采用ICW楚4。殼寫入ICW嗎2具寄亡存器的數(shù)值烏為08H,乘其二進制形最式為100凡00000糕。根據(jù)IC色W2的格式壘及含義,表姜示中斷類型臉碼的前5位逃為1000候0,而后3嘩位則由中斷申請求信號進帳入8259勻時的輸入引抓腳所確定。裳若中斷請求浮信號從IR硬7引腳輸入壩,則中斷類計型碼的低3盤位為111件。墾寫入敘ICW4派寄倆存器的數(shù)值尼為09H,雪其二進制形撐式為100襪00001質(zhì)。根據(jù)IC召W4的格式吩,D4=0秤表示中斷嵌宵套方式為完打全嵌套方式崖;D3=0待表示825慰9不通過總夕線驅(qū)動器與談數(shù)據(jù)總線相張連;刑D1=0表豐示中斷結(jié)束溫方式為非自閘動結(jié)束方式嬌,此時需要節(jié)發(fā)出一般的作中斷結(jié)束命魚令來結(jié)束中走斷過程。屬INAL貝,21H表頭示將OCW鬧1的數(shù)值讀魚入AL,A祖NDAL只,7FH表逃示凡對最高位清偽零,清零后躲再通過OU殼T21H鐵,AL將修賤改后的AL惠值寫入OC叮W1。送整個問過程暫表示蠻開放啦8259的駛IR7疲,允許此引蒸腳上的中斷幣請求劇。但而要使得C按PU進入中嘗斷處理子程擇序IRQ7礙,則應使用巴以下代碼,鎮(zhèn)以便產(chǎn)生中絨斷時,CP括U進行正確退的跳轉(zhuǎn):蝦PUSH迎DS矮喊津使短兆MOVA另X,0H腿MOVD坡S,AX稅MOVB斜X,003引CH彈MOVA涼X,OFF辛SETI才RQ7肅;犬獲取賤IRQ7趟的偏移地址乓ADDA索X,200啊0H殼MOV[桿BX],A乳X相MOVA抄X,000鴉0H躺MOVB件X,003義EH眨MOV[悲B葉X],AX好POPD蛇S坑因為在擔8259A廣的IR7引竹腳產(chǎn)生中斷湊時,CPU績通過總線獲慈得遣8259A雹傳來的中斷震類型碼0F倒H(即00亂0011斤11),此俗時CPU將離對此碼進行橫乘4操作而超獲得一數(shù)值烏,再將以此倚數(shù)值為內(nèi)存行地址的內(nèi)容戰(zhàn)讀出送至C嫌S、IP,惰也就是進行捉了跳轉(zhuǎn)。以廣上代碼就是深更改了相應偶內(nèi)存單元的牲內(nèi)容,從而醋使得CPU躍可以進行正端確的跳轉(zhuǎn)而青轉(zhuǎn)至中斷處截理子程序I腸RQ7。哪進入中斷處朗理子程序后袖最終需要進槳行數(shù)中斷結(jié)束處舒理幸,這時可采刮用減以下代碼:新MOVA扶L,20H晝OUT2的0H,AL瘋此代碼將2結(jié)0H寫到O蒜CW2中,弓其中EOI墨=1,R=殊0,SL=滅0,這是一惰個一般的中澡斷結(jié)束命令梳,它使當前漲中斷處理子花程序?qū)氖甘S施n位被清除元,從而結(jié)束歷中斷態(tài),使得可以警再次引發(fā)I襖R7中斷。游3.嘴3表本設計中睡8253A勞芯片的宏工作方式遇和盜應用培編程跌Intel火8253陣是NMO智S工藝制成概的可編程定蒜時/枝計數(shù)器虜,戰(zhàn)它既可以用瞇于定時也可左以用于計數(shù)絨,其引最高速率為割2.6MH臟z銅。8253敘內(nèi)部包含三姿個聽結(jié)構(gòu)完全相矩同西但又匙相互獨立的學定時/計數(shù)慎器,并通過范控制端口對押各個定時/挽計數(shù)器進行斜操作介控制結(jié)。被3.概3.1用8253馳的剛工作方式協(xié)8253作滾為一個可編屠程的定時/筒計數(shù)器,可昏以用6種模宵式工作央,蘇本設計中只向用到方式0岔和方式2,甘由于方式2領(lǐng)前面已經(jīng)介紙紹,故冠以下黃只介紹清方式庭0淺的薄工作原理敵。避方式狗0:胞又稱計數(shù)結(jié)邊束產(chǎn)生中斷棵工作方式。淘當程序?qū)⒐ず幼鞣绞娇刂蒲蜃謱懭肟刂票谧旨拇嫫鲿r均,刊計數(shù)器的輸接出端檔OUT釀立即變?yōu)榈蛽Q電平。在計癢數(shù)初值寫入諷該計數(shù)器后某,松輸出仍將保沿持為低電平飾。當門控信奶號恥GATE聾為高電平時哥,役計數(shù)器對輸途入端乓CLK任的輸入脈沖斧開始作減一牌計數(shù)惱,經(jīng)當計數(shù)器從悟初值減為主0愧時浸,竹輸出端燦OUT辯由低電平變福為高電平詠,晚該輸出信號閥可作為向南CPU償發(fā)出的中斷脅請求信號。菊時序圖如下們:疫圖3-慢4迎8253瞎方式0時序才圖協(xié)執(zhí)本設計中巧8253的腐應用慰編程便假設系統(tǒng)中遵8253各轎計數(shù)器的端縮口地址如下謎表所示:滅表3妄-住2蠟8253箭定時/計數(shù)游器各端口地旁址講計數(shù)器0含40H謙計數(shù)器1洞41H先計數(shù)器2虜42H默控制寄存器胸43H講如果采用O顯PCLK=咱1.193罩MHz的系惕統(tǒng)時鐘,若邀要求計數(shù)器盲0計時0.監(jiān)01秒,則昨可采用以下滲代碼:雙MOV蕩AL昏,0B4H樸江綢陵OUT4胖3H,AL嬌樹MOVA填X,119剖30肥島OUT4驅(qū)2H,AL撞蘭MOV墻AL抄,AH喂權(quán)OUT4校2H,AL肉抬其中候第一、二行延表示設置沉計數(shù)器0坡的工作方式晉為仍方式2,先挨讀寫低8位殘,再讀寫高蛋8位艷。接著涌第三至六行資把計數(shù)初值汗放至16位問的初值寄存鐮器中。吉這樣的話每棗次計數(shù)完畢遺后都會在輸弄出端輸出一鼻負脈沖。抵4會.諷調(diào)試過程與透總結(jié)葛4富.1繩程序的調(diào)試久過程眨程序的調(diào)試胖是一個孤艱難想的過程,因俯為程序如果親隱藏著微小碰錯誤,就會脊使得實驗結(jié)嗽果與預期結(jié)獎果大相徑庭淋,甚至程序煤運行不了。儲而要挖掘出祥這些深藏著柿的錯誤,必喜須花費足夠孩多的時間與舟耐心,對每住一程序模塊呀、模塊與模歪塊間的聯(lián)系招(比如參數(shù)心傳遞問題)峰、甚至每一拍語句進行再活三的思考。貍(1)芯片之的紐測試昏為了測試8商253定時件/計數(shù)器與擔8259遇A對中斷控制器邪共同作用后雪的工作情況鎮(zhèn),可將82析53的讓OUT2連油接到雨8259A桿的IR7端尼,具體連接習情況如下:誦8253-交GATE2柳----+摘5V秀8253融-CLK2地----K失K1鋤8253-弦OUT2-補--噴-8259賓A任-IR7膠此時,將以杜下代碼編譯嗎加載到系統(tǒng)鼓中測試:恰CODE政SEGME因NT崇ASSUM但ECS:糾CODE羽START本:PUSH親DS椅箏;椒修改中斷向絡量場MOVA要X,0H轉(zhuǎn)MOVD內(nèi)S,AX偶MOVB亭X,003程CH討MOVA天X,OFF壞SETI麥RQ7尋ADDA豈X,200刮0H網(wǎng)MOV[朝BX],A跟X泰MOVA毅X,000灶0H初MOVB么X,0據(jù)03EH卷MOV[斤BX],A緣X麻POPD央S粱;喚初始化附8259-翼-----唐-劣MOVA直L,13H茫為;ICW1僅OUT2婦0H,AL精MOVA刷L,08H貿(mào)貍;ICW2終OUT2視1H,AL掀MOVA度L,09H必梁;ICW4宰OUT2寸1H,AL普INAL挪,21H餃敘;OCW1娃,開放保IRQ7泡AND阻AL州,7FH霜OUT2終1H,AL殃;侵初始化做8253-抗-----頑-杯MOVA盯L,90H醋座;語控制斷字寫入控制句寄存器皂OUT4文3H,AL鎖MOVA擇L,5座勿;素對證T2初賦初值誠”跪5卡”劑OUT4風2H,AL蹤STI追大;恨開中斷笨HERE:塘迷JMPH防ERE戀意;等待中斷夕IRQ7:辛疑MOVA輔H,01H茫MOVA扮L,4DH秀患;制顯示邪字母散”M”供INT1吩0H熄MOVA碎L,20H孕川;超清除中斷標醉志腿OUT2膀0H,AL世;荒重新對計數(shù)嘉器賦初值達MOVA鉆L,90H心球;化控制竟字寫入控制盈寄存器淚OUT4送3H,AL屋MOVA傾L,5H肚璃;殖對冶T2之賦初值鈔”色5詠”騾OUT4焰2H,ALIRET狼CODE憂ENDS宅ENDS屋TART接程序加載運觸行后,每按纏一次啟動鍵裁KK1,便俯產(chǎn)生一個正挖脈沖衛(wèi)作為惕8253計滔數(shù)器T2膝的CLK時檔鐘信號筐。慚程序中對計就數(shù)器T2賦幅予川初值膚”津5品”旗,當按下鑄6次啟動鍵禾KK1傘后缸在顯示終端選顯示一個字漢母希”揚M俯”呢。之所以要卵按下6次而悅不是5次啟廳動鍵,是業(yè)因為湖計數(shù)器蹲T2序采用葬的是及方式0,裕該方式規(guī)定管寫入計數(shù)初叮值后需等待燒一個時鐘消脈沖計數(shù)初探值才會送到冊計數(shù)執(zhí)行部仁件進行減一南操作壞,虹因此雄需禽按管6辱下英啟動鍵瘡KK1舅。忙通過以上程叨序,確定蒜8253定始時/計數(shù)退器及坐8259A統(tǒng)中斷控制器我工作正常。驕(2)響本系統(tǒng)在收程序調(diào)試過圓程中所遇到端的幾個問題顯1)巖隨機數(shù)翼的言產(chǎn)生踏剛開始時,辮本設計想利找用讀系統(tǒng)時使鐘的方法來屋產(chǎn)生隨機數(shù)卷。使用的功況能調(diào)用為:獲ah=02偶,int哪1ah。執(zhí)街行后CH:必CL=時:輸分;DH=要秒(均為B純CD格式)卡。比如可以扯通過以下程披序讀取系統(tǒng)萬時鐘,這在論普通PC機狂上可以得到狗正確結(jié)果:疲DATA笛SEGME剛NT木HOUR啞DB?畫哈;膚變量HOU弄R用于存放筒時描MIND雪B?準所;吊變量MIN叼用于存放分螺SECD遵B?步軍;到變量SEC管用于存放秒牧PCSEC衡DB?簡DATA草ENDS伍CODE級SEGME債NT奏ASSUM峽ECS:嗎CODE,倘DS:DA腳TA急START圖:MOV昨AX,DA吉TA萌MOVD口S,AXSTI康MOVA由H,02H廟;執(zhí)行IN寺T1AH功然能調(diào)用枕INT1板AH幟MOVH免OUR,C旋H伙繁滲夫無;射將功能調(diào)用停所得到的數(shù)壺據(jù)賦值給各縮變量床MOV堤MIN,C拍L河MOV深SEC,D妄H撕MOV窄PCSEC精,DL把MOVA彎H,4CH怕INT2青1H俘CODE賣ENDS絮ENDS怪TART玻比如當前時爹23:44屑:09秒,誤則執(zhí)行以上邊程序后,會留得到數(shù)據(jù)段韻內(nèi)的數(shù)據(jù)為礎:掠2344帆090令000族0000蹤00-0拼000竟0000芒000致000匯00至程序的執(zhí)行茄過程為,在音執(zhí)行int捧1ah功遠能調(diào)用后,泄ch=00虜1000始11B(2變3的BCD陪碼),將其跑賦值給變量預hour后煩,hour滴便以23H誘的形式存放顆在內(nèi)存中。感但將此程序齡放至TDN意86/88惜系統(tǒng)中運行糟,就得到不碑一樣的結(jié)果萬了。我試驗尋過兩次,一數(shù)次是系統(tǒng)剛猴上電后運行摧此程序,此滔時變量得到標的結(jié)果為:韻hour=肺0CCH,妖min=0炊CCH,s峰ec=0C榴CH。另一韻次是先運行牙其它程序,島然后再運行助此程序,此朱時得到的結(jié)垮果為hou溫r=18H搶,min=翠86H,s纏ec=00碰H。無論哪恥一種情況,燙都不能得到身正確的結(jié)果抗。鈔為此,此程柔序采用了其保它方法來實舞現(xiàn)隨機數(shù)的智產(chǎn)生,也就鵝是旁第2章漸所澇述的方法。句但這種方法攪生成隨機的串效果怎樣呢疾?可以用以褲下程序來統(tǒng)捏計:天DATA慧SEGME州NT智SEED鑄DW1徐脂杜牽;翠定義種子幟IDB款?原危諷帝紅;定義一變痰量,用來存情放0~7以銀判斷的所搏產(chǎn)生的隨機俯數(shù)的值沿XTABL使E估DD蘿ROUTI謠NE0些熔移;定義表存薯放各跳轉(zhuǎn)路宿徑的段地址淘和偏移地址痰DDRO蔬UTINE強1布DDRO熔UTINE窄2濤DDRO肚UTINE敢3薪DDRO宋UTINE白4私DDRO品UTINE瘡5花DDRO棕UTINE融6刪DDRO戚UTINE堂7黎TIMES猶0DB菜0亭重宅凍;定義變量惡統(tǒng)計0~7詢的出現(xiàn)次數(shù)咽TIMES帖1DB幼0跌TIMES碗2DB遵0桃TIMES宮3DB露0者TIMES宗4DB式0胡TIMES免5DB邊0楊TIMES茶6DB葵0丑TIMES往7DB堵0夸RNDBU陶FDB嬌100D砍UP(?)物DATA孤ENDS費;****怎*****貌*****醒****黃*****嚷*****未*****盈*****擋*****盼*****借****里STACK融SEGM柳ENT積櫻STKBU忘FDB株80DU站P(?)番STACK綱E妖NDS艱;赴*****湖*****銹*****鍋*****涂*****濱*****痰*****及*****閑*****幣*****沿**塵CODE世SEGME采NT君ASSUM屈ECS:勢CODE,齒DS:DA駱TA倍START溜:MOV快AX,DA送TA法MOVD抖S,AX巴;----動-----并-----兔-----薯-----番-----篩---示MOVB暑X,0廈MOVS頭I,OFF方SETR條NDBUF育開儉MOV多CX,10辱0歷肌做堆;產(chǎn)生10扣0個0~坦7的隨機數(shù)識RNDGN夕T:MO鑼VAX,愛0C裹49H賓此IMUL幼SEED焰禾ADD鋼AX,05殖E1H逗佳MOV頂SEED,燒AX宜渡沒獸PUSH與CX準投MOV譯CL,8薦并ROR錢AX,CL爐磨疲箏MOV訪DX,0柿鞋MOV拆CX,8聾筍DIV身CX敵何趣保乏;除數(shù)為8否,余數(shù)為0架~7緞去POP余CX汪鐘隨爺MOV士[SI],燙DL淚餓MOV癢DI,0騰互MOV曠I,0只KKK:瓜CMPD蹤L,I簡脈甚劇斃;利用變量壞I判斷產(chǎn)生蹤的隨機數(shù)的獨值孔JNZN代OT_YE勢T孕CALL畫XTABL式E[DI]牲熄;判斷出隨啊機數(shù)的值后少調(diào)用子程序難對相應的統(tǒng)咬計變量加1篩JMPN洋EXTRN晌D鐮NOT_Y吸ET:AD猴DDI,貢TYPE泰XTABL點EINCI改JMPK貫KK錢尸騾NEXTR誰ND:IN育CSI刻LOOP膨RNDG吹NT替JMPC贈ODEEN納D賭;----曉-----尺-----卵-----尼-----摧-----茄---勤ROUTI隊NE0:I造NCTI遍MES0創(chuàng)裁;對相應的宣統(tǒng)計變量加驅(qū)1RET壓ROUTI誼NE1:I縮NCTI辨MES1RET咬ROUTI紗NE2:I儀NCTI縮MES2RET圖ROUTI系NE3:I妄NCTI徒MES3RET偶ROUTI急NE4:I接NCTI害MES4RET歡ROUTI游NE5:I邁NCTI巨MES5RET伍ROUTI完NE6:I昂NCTI粱MES6RET啞ROUTI授NE7:I奮NCTI卻MES7RET肚;----叨-----鈴-----殖-----柿-----皂-----溫---牙CODEE莊ND:M猜OVAH少,4CH鈔姐云INT2陷1H葵CODE他ENDS當ENDS楊TART海將以上源程倦序保存為1暴00rnd搞2.asm揉,并編譯雀鏈接后用D邁EBUG程六序調(diào)試,具犬體過程如下倦:眠圖4-1辟DOS下的狠調(diào)試圖1掙由圖可見,玉執(zhí)行兩步單她步運行后,翼數(shù)據(jù)段段地迫址階變鑒為DS=0冒B69,根齊據(jù)數(shù)據(jù)段變份量的定義情訊況知道從0搏B69燥:思0023開宗始存放10捐0個0~7彈的隨機數(shù),鈔利用G命令得全速運行程忠序后再燒用D命令查灣看得到以下河結(jié)果:彈圖4-2掃DOS下的辜調(diào)試圖2烈由上圖可見沙,幻產(chǎn)生的10誦0個隨機數(shù)紀從第1行的起倒數(shù)第五個胃數(shù)字02啟開始至倒數(shù)和第二行的倒芝數(shù)第二個數(shù)葡字02結(jié)束宇;而第一行坐的第四個數(shù)組字0E到第腸一行的倒數(shù)折第六個數(shù)字徑09為00燒~07在這協(xié)100個隨慣機數(shù)中的統(tǒng)之計次數(shù)。標為了明確,懼在此重新寫品一次各隨機絹數(shù)的統(tǒng)計次積數(shù):凈表4-1慕隨機數(shù)次數(shù)匠統(tǒng)計表簽隨機數(shù)晃00血01姑02牛03夢04逃05坦06熊07各次數(shù)紗(十六進制錢)節(jié)0E理0E配0C益0C岔0D馳0E斯0C祖09疼次數(shù)(十進混制)違14艷14縫12上12允13木14扭12率09更可見,用上雷述方法來產(chǎn)脅生隨機數(shù)是碼可行的。盼2)膝響蜂鳴器安設計要求當劈按錯鍵時響畜蜂鳴器一聲花。蘿因為系統(tǒng)采多用的是有源碗蜂鳴器,因紫此鮮,當按錯按術(shù)鍵時喝只需底把蜂鳴器接回高電平即可怎。但是在調(diào)貼試的實際情趨況出現(xiàn)了一閘些問題,因勾為愛當我把整個小設計的基本棉功能做出來探后,825袋5就只剩下蔑一個引腳P匙C2了,此憂時其它引腳某的連接關(guān)系封如下:PA朽7~PA0是-D7~D舒0;PB7沫~PB0-觸DP~A;墻PC7~P蛙C4-X1蜘~X4;P瓦C3-KK昆1;PC1號~PC0-鍬Y1~Y0漠(具體情況遞可看附帶的平電路圖)。券于是很自然偽地把PC2惰接到電子發(fā)袋聲單元的S煤PK端,當蒜按錯鍵時,臟只要把PC餃2置為高電田平就可以了痛。那么如何淹將PC2置檢為高電平呢糠?顯然最簡新單的方法便絹是利用端口桂C置1/置擱0方式字,鳥即在要響蜂越鳴器的地方趙執(zhí)行以下代與碼:姐MOVA某L,05H視;侵0000仍0101伶,即置屆PC2瑞為棚1困OUT6而3H,AL籮但是將以上突代碼連同程朋序的其它部院分加載到T你ND86/得88+系統(tǒng)仇后扒測試時近,卻發(fā)現(xiàn)即易使按錯了鍵雅,蜂鳴器依纖舊不會響!遷這是怎么回露事呢?難道倆蜂鳴器壞掉婆了?試著把免系統(tǒng)上的+胃5V電源接黨至SPK端卵,蜂鳴器卻起響了。因此析可以斷定是室程序出了問惕題。于是進喚入單步調(diào)試竿,發(fā)現(xiàn)執(zhí)行頸以上代碼時純能正常通過型,蜂鳴器就徹是不會響,瞎也就是說在匹執(zhí)行OUT訴63H,觸AL后并不酬能使得PC朋2為高電平堆。漆在對825廟5進行初始頓化的時候規(guī)注定了A、B魔口為輸出口幟,C口高4丹位為輸出口杏,低4位為手輸入口。這返樣一來,想季利用C口置三1/置0方監(jiān)式字來置P還C2為高電他平進而驅(qū)動商蜂鳴器顯然感是有問題的腥了。那么如精何在825鏡5其余的引涌腳都引用的羨情況下已解多決這個問題絮呢?本設計行采用了以下皇方法,即在狹要響蜂鳴器奧的時候再次味臨時規(guī)定8藝255各端錘口的輸入輸濁出情況,響往完蜂鳴器之免后恢復原來宵的狀況。具遣體代碼如下贈:解MOVA紀L,80H碎拋冬OUT6搞3H,AL序貧蛙;將C口低蹄4位改為輸秘出口,以響走蜂鳴器棚否予MOVA酒L,7FH繭熱罷;亮原來的觸燈份往陷MOVC錄L,RND史荒騰RORA敬L,CL別彈追;RND=同0,AL=堤0111托1111-蹈>60H,笑亮D7翁蟲放OUT6豈0H,AL溪斷蝶;RND=距7,AL=熔1111腹1110-系>60H,停亮D0斬壟摧MOVA顯L,05H繡螺蠢OUT6文3H,AL蝕灑彎;PC2=犧1,響蜂鳴明器香肉于CALL失DELAY毅1S棗賢;延時0.而2S,響蜂笑鳴器局爺貨MOVA猛L,04H初種窗OUT6赤3H,AL及界豪;PC2=砍0,停響蜂舊鳴器誰振弊MOVA依L,81H兆韻沿;恢復C口偉低4位改為更輸入口肥脾白OUT6何3H,AL譽凍劈決辯MOVA畏L,7FH吐紛并;亮原來的絨燈洞MOV戶CL,RN劉D左遮R陣ORAL漠,CL拐關(guān)曲;RND=植0,AL=化0111水1111-曬>60H,烏亮D7遭冠O唐UT60霜H,AL仇返冬;RND=書7,AL=蠅1111杠1110-徐>60H,酸亮D0女3)梯鄰位數(shù)群碼管間的相就互影響縫寫完DIS純顯示子程序值后,四位數(shù)澤碼管已能正學常顯示緩沖返區(qū)里的數(shù)據(jù)聚,但這時我禾發(fā)現(xiàn)數(shù)碼管魯顯示的時候拔存在這么一武個問題:右旗一位的數(shù)碼估管所顯示的擱數(shù)據(jù)會在左色一位的數(shù)碼急管投下一定籠的余輝(比究如假設四位賢數(shù)碼管從右籠到左分別為址第一、二、顏三、四位,胞若第一位顯唉示8,第二春位顯示1,魚則第二位數(shù)璃碼管在顯示即1的時a、間d、e、f極段亦有黯淡常的亮度。第及二位對第三屬位、第三位與對第四位亦舟是如此)。甚雖然投下的路亮度不是很址大,也基本幼不影響所要憶求的效果,沸但這表明程誤序出現(xiàn)了問義題,既然出誓現(xiàn)了問題,鑒就要找出引絲發(fā)此問題的認原因,并加呆以改進、解姿決。那為什狗么左邊一位出的數(shù)碼管會航影響右邊一軍位的數(shù)碼管鍬,而不會是搜右邊一位的滅數(shù)碼管影響隨左邊一位的重數(shù)碼管呢?途另外,為什測么會投下黯者淡的亮度而垃不是把右一高位數(shù)碼管所愉顯示的數(shù)據(jù)克以同樣的亮汗度投到左一火位的數(shù)碼管青上呢?梢通過分析D范IS顯示子分程序可知,炎程序在顯示希數(shù)字時應先掉選通某位數(shù)袍碼管,然后林再將數(shù)字所坊對應的顯示必碼放進數(shù)碼遣管中進行顯蠟示,其一次次性完整功能目可簡要表述搭如下:保1)然選通第一位虛數(shù)碼管;席2)挪將本位顯示巴碼送到74如LS07進瞧行鎖存,然專后調(diào)用DE贈LAY子程旅序延時10貧ms盡,泡因已對顯示膚碼進行了鎖梯存,故延時碧期間被選通深的數(shù)碼管一飼直顯示本位條顯示碼的對幟應的數(shù)字;婆3)母選通下一位選數(shù)碼管,然刮后重復第曾②勒步,直至四牽位數(shù)碼管均始完成相應的冠顯示工作。血我們知道,毫數(shù)碼管所顯永示的數(shù)字的腫亮度是與該旦數(shù)字的顯示后碼加在此數(shù)項碼管上的時貍間成正比的削,綜合上述燒顯示過程,漲便很容易發(fā)竹現(xiàn)問題的所瞎在:選通第坦一位數(shù)碼管囑時,對數(shù)字家8所對應的柄顯示碼(7煉FH)進行孔了鎖存,接稠著又選通了繁第二位數(shù)碼纖管,但此時冷的顯示碼依悔然是8的顯蘿示碼,因此蘿此時第二位滋數(shù)碼管仍然摘會顯示數(shù)字戰(zhàn)8。只不過津數(shù)字8咬所對應的顯爺示碼很快(叉幾條指令的餃時間)被數(shù)中字1所對應針的本位顯示摔碼(3FH栗)所覆蓋,耗而且數(shù)字1孝的顯示碼加謎在第二位數(shù)葬碼管的時間聚DELAY乏子程序的延帳時時間(長破達10ms掛),因此就瞞會在第二位沫數(shù)碼管上顯惰示一個很亮刮的1和一個旨黯淡的8。趁改進后的顯殊示子程序如滔下:厭DIS:貝PUS延HAX鑒殖唱籠補PUS財HDX憤正MOV渴SI,O急FFSET樓DISB絨UF敵剝ADD啞SI,3升誤MOV退DL,0阻EFH艦愉MOV烈標AL拴,DL騎AGAIN鑼:OUT幻62H,釘AL形戲殃;選通數(shù)碼宋管斤小MOV匪AL,[裕SI]艷擦MOV甚BX,O毒FFSET搞TABL釘E款搬XLA飄T奪拼TES女TDL,灑40H投反JNZ致BACK素寶CAL奮LADD剝DOT巷BACK:特齒OUT6饒1H,AL闊箭;顯示盆碼放至SE陣G顯示諸殿CAL顫LDEL附AY醋翅記MOV菊丹AL匪,0宴飛OUT悟61H,左AL謊某;清除嬸鎖存器的內(nèi)幕容壁,此后再次涼選通某位數(shù)腥碼管后相當柿于滅燈網(wǎng)順DEC們SI鉛廉MOV淡隔AL挎,DL泉題TES餓TAL,旗80H渾要JZ灘OUT1虎祖ROL匪植AL遼,1美簽MOV申DL,尼AL觀烤JMP批AGAI鍛N療OUT1:隱POP彼DX宋駛POP飄AX順扯RET阿ADDDO停T:OR塊AL,80窯H浴俘RE跌T葉至此,所有劃程序調(diào)試歉已經(jīng)基本完猴成。松4.2硬殼件的調(diào)試盲過程噸硬件調(diào)試的敵難度根據(jù)硬古件系統(tǒng)的復土雜程度而不旺同。對于小沖的硬件系統(tǒng)蘆,硬件調(diào)試菌往往沒有程冬序的調(diào)試那皺樣復雜。而彎對于大的系愛統(tǒng),過程則敵要相對繁雜個得多。硬件費的調(diào)試可以袖采用萬用表遼對硬件系統(tǒng)律進行全面的顛檢測。灣我在硬件調(diào)尸試過程中所念碰到的問題篇主要是導線餓的連接問題暈。比如有一被次我用萬用渣表檢測到一滿根導線兩端泰引腳的焊接淡處出現(xiàn)不同匹的電壓:一尼處是5V,桌另一處卻接塔近0V。因搜為導線頂端腿都涂上了松生香水,因此央不好判斷哪廟里出了問題果。于是我在索這條導線上磨的若干位置嘆處焊點焊錫茅,再在焊錫倦上蛙用萬用表檢消測電壓,發(fā)慰現(xiàn)各處都正糾常。最后發(fā)使現(xiàn)到了引腳刊的焊接處電喇壓就降為0句V了。仔細諸看看引腳焊笨接處,發(fā)現(xiàn)浮顏色比較黑栗,于是再沾聰點焊錫上去枕,再用萬用掙表測量電壓午,發(fā)現(xiàn)此時婚電壓為5V緞,正常了。材因此判斷應朱該是引腳焊仇接處雜質(zhì)太鑒多導致了絕阿緣。華還有一次我恭用萬用表檢昏測一條導線池的電阻時,嶄發(fā)現(xiàn)電阻值編在數(shù)字萬用俗表上顯示為獵負值,于是升也用以上辦眉法加以解決桂,最后仔細賽觀察了這條加導線,發(fā)現(xiàn)輸導線有一處涌與導線憐十字相交的磨非常微小的羊裂痕。將出網(wǎng)現(xiàn)裂痕處用背焊錫填補后節(jié)導線工作正瘦常(削產(chǎn)生此問題界的原因可能龜是將PCB讓圖打印到光約紙時打印質(zhì)生量不好,蛇導致墨水某場處出現(xiàn)微小簡的裂痕,此級時可以采取粗補救措施如堪用油性筆將寒出現(xiàn)裂痕處斯用墨水修補惑完整。也可幣能是將光紙辨上的電路連串接圖粘在覆有銅板上進行棚熱轉(zhuǎn)印時與逗覆銅板粘得以不夠緊密,限導致熱轉(zhuǎn)印特效果不理想院)。呈還有就是焊疏接時焊接得柔不好,導致昂虛焊等問題升。丙總之,通過濤細致的觀察農(nóng)再加上靈活研應用萬用表女一般都能解圾決小系統(tǒng)的慕硬件調(diào)試工窯作。參本設計硬件節(jié)方面的初衷稻是想將80咽88微處理暈器、825慣5、825德3及825雀9等芯片及侍LED等輔螺助電路階集合到一塊霜PCB板上達構(gòu)成一個完孝整系統(tǒng)的銹,但由于時規(guī)間的關(guān)系,越硬件部分只藏實現(xiàn)了將鍵功盤、LED增電路及啟動鋸開關(guān)集合到梯PCB板上蒸。為了測試我系統(tǒng)的可行風性,只好利捷用TDN8朵6/88+輸系統(tǒng)上的各嚇種未集合到儲板上的芯片該。撫PCB板與黃TDN86姜/88+系圣統(tǒng)的具體連耽線情況為:趨8255-巧PA7~P皇A0---役-PCB-援D7~D0妻8債255-P豈C7~PC脖4----梢PCB-X晌1~X4挖8255-織PC1~P暖C0---諸-PCB-訂Y1~Y0助8扶255-P鋤C3---吃-PCB-趨KK1阻系統(tǒng)GND希----P輩CB-GN啟D捕甲系誕統(tǒng)VCC-群---PC挺B-VCC貫完成連線后巾,將附錄二呈的程序代碼事進行編譯折、天鏈補接古后加載到系慘統(tǒng)中,運行犯程序。儀當按下啟動破鍵盼PCB上的報啟動按鍵杏時,便進入陣3~15S蠢的延時狀態(tài)糕,一旦延時文結(jié)束,則隨乏機亮了某一本LED,此勁時如果按下殖錯誤的按鍵休,綠實驗系統(tǒng)上每的澇蜂鳴器會發(fā)草出滴的一聲閥報警江,而若按下蓬正確的按鍵先,則在直系統(tǒng)上的濕數(shù)碼管上顯戴示反應時間滿。她而如果LE它D亮之前已壩按下按鍵,瑞則數(shù)碼管顯稈示00.0霜0,達到作選弊提示目的奶。如果反應笨時間超過1架00秒,則初數(shù)碼管上也憲顯示00.渣00。饅可見,實驗畢結(jié)果符合預兩期的設計要足求。葵4.3總?cè)~結(jié)壁本設計扭設計了一個融以8086丟/8088盞微處理器為握核心,結(jié)合洗8255可遺編程并行通駝信接口、8林253可編瑞程定時/計寶數(shù)器以及8酷259中斷欠控制器等芯截片程,臘利用睡匯編語言棋構(gòu)建模了一個能測隸試人體反應仁時間的模擬脂系統(tǒng)。在設喬計此系統(tǒng)的榮過程中,從貫最簡易的流維程圖開始,書在深入分析斷相關(guān)硬件的呢基礎上,一隱步一步按著襪流程圖展開大設計思路,讓并楊根據(jù)作出的跌完整而具體頂化的流程圖蔑寫出了完整關(guān)的程序代碼抵,最終勇實現(xiàn)輝相應的毛硬件實物腥,完成系統(tǒng)命的設計。右程序的調(diào)試艦過程比較困失難,因為程角序隱藏的微錫小錯誤都會溫使得實際結(jié)表果與預期目漆標不符,甚孫至程序不能城運行。因此繡必須花費足忙夠多的時間心與耐心,用淺足夠堅強的問毅力去分析層并解決所遇碗到的問題。繁調(diào)試的過程總不僅要了解蜜各子程序模僚塊的功能,弦還要把握模筒塊與模塊間逗的關(guān)系。一宇旦調(diào)試出現(xiàn)關(guān)錯誤時,還舅要善于從實獨驗結(jié)果去推仔斷導致此結(jié)紋果的原因。室另外,調(diào)試涼的方法也很季重要,是單籍步調(diào)試還是低運行到斷點劫的調(diào)試也要坡善于選擇,瓶因為不同的兆方法所花費帥的時間和所重獲得的收益簽是不同的,能好的調(diào)試方刺法往往可以勵得到事半功楊倍的效果。謎由于時間關(guān)席系,本設計貿(mào)只做出了部牲分硬件實物些,這是一個宅不足之處俘,如果時間蔑允許,我會際繼續(xù)將剩余六的工作完成那的。丟另外,我覺圣得這個設計主如果用單片僵機來做的話閉應該簡單一察些,畢竟匯塘編語言是低僅級語言,與犬硬件聯(lián)系葛較為產(chǎn)緊密既,險設計時蝴需要考慮的吼硬件因素比迷較多,而且燒程序?qū)懫饋砀敢草^跌為松繁研瑣雙。亂因此杏建議用單片觸機和C語言駕來構(gòu)建此系春統(tǒng)。致謝堆感謝確莊哲民拆老師暫和后電子系各位孟老師四年來摔給予我學習什和生活上的殃關(guān)懷與濾幫松助,是你們吸用汗水、耐權(quán)心及智慧幫段我敲開電子判世界的大門坐,并一直引疊領(lǐng)我向前直邁至現(xiàn)在。壓感謝林膜秀卿郵老師在我做重畢業(yè)設計期攻間給予我的惡幫助與指導以,以及復在我寫出雪論文初稿后判給予綢建議和凝耐縮心的摔修改尤。尖感謝王軍老估師幫我修改扔英文售摘辰要里的語法秤錯誤??涓兄x黃熾同鐵學,通過與挎他探討問題詳,使我哨能夠提對設計里的組許多問題看多得更清楚。創(chuàng)也感謝他在池硬件方面給辣予我的幫助升。亡畢業(yè)設計做維完了,但老椒師蕩和取同學們的幫是助我將永遠息記在心中。晚再次衷心地近感謝各位,躁謝謝。參考資料:其[1].飲戴梅萼編著委《微型計算銜機技術(shù)及應怨用第3版》反清華大學挽出版社2罩003懂[2].慧林秀卿編著顫《微機原理形與接口技術(shù)程實驗指導》姑汕頭大學何出版社2岔004臨[3].斑沈美明編著猜《IBM-躍PC匯編語蛇言程序設計醬第2版》將清華大學出滋版社20麻03霧[4].要王爽編著《營匯編語言》喂清華大學壽出版社2斯005火附錄一:測支試反應時間弊模擬系統(tǒng)總丈電路圖郊附錄略二賓:測試反應耳時間模擬系造統(tǒng)程序危;****陳*****零*****谷*****借*****柴*****追*****繼*****圈*****尺*****州*****距*****輪*****傘*****白*****幸***周;本程序在短TDN86衰/88+系啞統(tǒng)上自進行撞測試時的接僅線情況冷及相關(guān)說明隙:值;頑KK1幼啟動鍵接芝PC3,可鍵盤褲上排莖四個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年環(huán)氧大豆油項目提案報告模式
- 2025售樓部購房合同范本
- 2025家禽類產(chǎn)品普通買賣合同
- 我們的節(jié)日清明活動總結(jié)15篇
- 感恩節(jié)國旗下幼兒講話稿(15篇)
- 數(shù)學老師家長會發(fā)言稿合集15篇
- 安全第一安全事故案例分析的必要性
- 智能制造技術(shù)在教育科技中的推動作用
- 科技賦能教育創(chuàng)新招生宣傳策略
- 家長如何通過經(jīng)典閱讀培養(yǎng)孩子的閱讀習慣
- 加油站廉潔培訓課件
- 2022版義務教育(生物學)課程標準(附課標解讀)
- 2023屆上海市松江區(qū)高三下學期二模英語試題(含答案)
- 誡子書教案一等獎誡子書教案
- 《民航服務溝通技巧》教案第16課民航服務人員平行溝通的技巧
- 深圳市物業(yè)專項維修資金管理系統(tǒng)操作手冊(電子票據(jù))
- 2023年鐵嶺衛(wèi)生職業(yè)學院高職單招(數(shù)學)試題庫含答案解析
- 起重機械安裝吊裝危險源辨識、風險評價表
- 華北理工兒童口腔醫(yī)學教案06兒童咬合誘導
- 中國建筑項目管理表格
- 高一3班第一次月考總結(jié)班會課件
評論
0/150
提交評論