版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 合肥學(xué)院合肥學(xué)院計算機科學(xué)與技術(shù)系計算機科學(xué)與技術(shù)系微型計算機原理與接口技術(shù)微型計算機原理與接口技術(shù)課程設(shè)計課程設(shè)計2015-20162015-2016 學(xué)年第學(xué)年第 1 1 學(xué)期學(xué)期題目:題目: 反反 應(yīng)應(yīng) 測測 試試 儀儀 姓名:姓名: 性別:性別: 班級:班級: 學(xué)號:學(xué)號: 電子郵件地址:電子郵件地址: 任課教師:任課教師: 張張 向向 東東 20152015 年年 1 1 月月 1616 日日1 目錄一一 功能分析及解決方案功能分析及解決方案.11.1 功能需求分析.21.2 解決問題方法及思路.2二硬件設(shè)計二硬件設(shè)計.32.1 可編程定時器計數(shù)器 8253.32.2 可編程并行接
2、口 8255.42.3 可編程設(shè)置型鍵盤/顯示器接口 8279.52.4 鍵盤.62.5 LED 燈.72.6 數(shù)碼管.112.7 硬件總邏輯圖及其說明.12三控制程序設(shè)計三控制程序設(shè)計.143.1 控制流程設(shè)計及其思路說明.143.2 程序流程圖.153.3 控制程序.17四上機調(diào)試過程四上機調(diào)試過程.184.1 硬件調(diào)試.184.2 軟件調(diào)試.194.3 聯(lián)機調(diào)試.194.4 調(diào)試結(jié)果及問題的提出.19五設(shè)計結(jié)果分析及問題討論五設(shè)計結(jié)果分析及問題討論.205.1 課程設(shè)計及結(jié)果分析.205.2 問題討論.205.3 收獲、體會和意見.202一一 功能分析及解決方案功能分析及解決方案1.功能
3、需求分析功能需求分析(1)課題功能本課題要求實現(xiàn)能測試一個人的反應(yīng)時間的儀器。為了能夠測試人的反應(yīng)時間,我們需要一個啟動信號,即用戶可以分辨的啟動信號,并通過該啟動信號反饋給系統(tǒng),從而得到該用戶的反應(yīng)時間。給予用戶的刺激信號可是多種多樣,比如光信號、聲波信號、氣味等不同的信號。在控制端口,系統(tǒng)發(fā)出刺激信號反饋給用戶,用戶通過眼、耳、鼻等感覺器官得到刺激信號并迅速反饋給系統(tǒng)。系統(tǒng)接收端的接受反饋信號可以是光信號、電信號等不同的信號。通過不同芯片的工作將其信號轉(zhuǎn)換為數(shù)字信號即可。通過訪談?wù){(diào)查發(fā)現(xiàn),實際生活中的反應(yīng)測試儀應(yīng)該盡量簡單可用,為了簡化反應(yīng)測試儀的難度,本課程設(shè)計只考慮光信號作為刺激信號,
4、電信號作為回饋信號的反應(yīng)測試儀。即當(dāng)系統(tǒng)有光信號產(chǎn)生時,系統(tǒng)開始工作,當(dāng)?shù)玫接脩舻碾娦盘柣仞仌r,測試停止并得到該用戶的反應(yīng)時間。為了能夠更好的回饋給用戶我們可以使用聲音信號作為傳送結(jié)果的載體,也可以通過視覺信號作為傳送結(jié)果的載體,為了簡化復(fù)雜度,我們選擇了 LED 數(shù)碼管作為反應(yīng)時間回饋的載體。(2)本課程需要解決的問題1.用何種光信號作為刺激信號2.用何種電信號作為回饋信號3.如何計時人的反應(yīng)時間4.如何顯示人的反應(yīng)時間2解決問題方法及思路解決問題方法及思路(1)硬件部分 針對需求中的分析,作如下解決: 用 LED 數(shù)碼管作為刺激信號用按鍵的高低電平信號作為用戶的回饋信號計時我們采用可編程定
5、時器/計數(shù)器 8253,8253 通道 1 作為基準(zhǔn)信號發(fā)生器,產(chǎn)生30 .01ms 的方波信號作為通道 0 的時鐘信號。通道 1 工作在方式 2(頻率發(fā)生器) ,時鐘信號接 62.5KHZ 的頻率,經(jīng)過 625 分頻后產(chǎn)生周期為 0.01ms 的方波信號作為通道0 的時鐘信號,以 0.01ms 為基準(zhǔn)不斷計數(shù)即可。為了顯示反應(yīng)時間,我們選擇了 8 段數(shù)碼管作為顯示工具,為了能夠有效的控制數(shù)碼管,我們選擇了一個專用芯片 8279,通過 8279 送出數(shù)碼管的位選和段選選擇數(shù)碼管的 4 位作為顯示的載體,8279 外接 2M 的時鐘信號,通過 CS、A0 選中,使輸出端口 B、C 送出段選和位選
6、信號。(2)軟件部分首先,根據(jù)硬件需求采用 8255A、8279A 和 8253A 芯片,為實現(xiàn)對數(shù)碼管、鍵盤的控制,采用匯編語言,分別對 8255A、8279A 和 8253A 進行初始化設(shè)置。然后,程序查詢 8255A 的 PA 口輸入的開關(guān)信號,決定 8255A 何時向外部設(shè)備發(fā)送的刺激信號,即低電平信號(LED 燈點亮) 。最后,程序查詢 8255A 的 PB 端口接收緩沖區(qū)內(nèi)回饋電信號,根據(jù)所得到的信號(低電平有效) ,調(diào)用相應(yīng)模式子程序,控制轉(zhuǎn)換測試時間為 BCD 碼,并通過數(shù)碼管顯示該時間即可。二二硬件設(shè)計硬件設(shè)計1可編程定時器計數(shù)器可編程定時器計數(shù)器 8253(1)可編程定時器
7、計數(shù)器 8253 在本設(shè)計中的作用 在本系統(tǒng)中,可編程定時器計數(shù)器 8253 主要用于計數(shù)功能,以達到測試人的反應(yīng)時間的目的。(2)可編程定時器計數(shù)器 8253 的功能分析8253 具有 3 個獨立的計數(shù)通道,采用減 1 計數(shù)方式。在門控信號有效時,每輸入 1 個計數(shù)脈沖,通道作 1 次計數(shù)操作。當(dāng)計數(shù)脈沖是已知周期的時鐘信號時,計數(shù)就成為定時。(3)可編程定時器計數(shù)器 8253 的技術(shù)參數(shù)分析Comment t1: 圖要編序號!居中!4圖 1 8253 的引腳圖讀/寫控制分別連接系統(tǒng)的 IOR#和 IOW#, 由 CPU 控制著訪問 8253 的內(nèi)部通道。接收 CPU 送入的讀/寫控制信號,
8、 并完成對芯片內(nèi)部各功能部件的控制功能, 因此, 它實際上是 8253 芯片內(nèi)部的控制器。A1A0:端口選擇信號,由 CPU 輸入。8253 內(nèi)部有 3 個獨立的通道,加上控制字寄存器,構(gòu)成 8253 芯片的 4 個端口,CPU 可對 3 個通道進行讀/寫操作 3 對控制字寄存器進行寫操作。 這 4 個端口地址由最低 2 位地址碼 A1 和 A0 來選擇。 CS#片選信號,由 CPU 輸入,低電平有效,通常由端口地址的高位地址譯碼形成。RD#、WR#讀/寫控制命令,由 CPU 輸入, 低電平有效。RD#效時,CPU 讀取由A1A0 所選定的通道內(nèi)計數(shù)器的內(nèi)容。WR#有效時,CPU 將計數(shù)值寫入
9、各個通道的計數(shù)器中, 或者是將方式控制字寫入控制字寄存器中。CPU 對 8253 的讀/寫操作。2.可編程并行接口可編程并行接口 8255(1)可編程并行接口 8255 在本設(shè)計中的作用在本系統(tǒng)中,可編程并行接口 8255 主要用于和用戶之間交互信息,其中包括接受用戶的輸入:主要是啟動按鈕的輸入和測試按鈕的輸入;用于輸出系統(tǒng)信息的主要有 LED 數(shù)碼管,通過可編程并行接口 8255 控制 LED 燈閃亮,用于計時測試正式開始。(2)可編程并行接口 8255 的功能分析一個并行輸入、輸出的 LSI 芯片,多功能的 I/O 器件,可作為 CPU 總線與外圍的接口。具有 24 個可編程設(shè)置的 I/O
10、 口,即 3 組 8 位的 I/O 口為 PA 口,PB 口和 PC 口。它們又可分為兩組 12 位的 I/O 口,A 組包括 A 口及 C 口(高 4 位,PC4PC7),B 組包括 B 口及Comment t2: 圖要編序號!居中!5C 口(低 4 位,PC0PC3)。A 組可設(shè)置為基本的 I/O 口,閃控(STROBE)的 I/O 閃控式,雙向I/O3 種模式;B 組只能設(shè)置為基本 I/O 或閃控式 I/O 兩種模式,而這些操作模式完全由控制寄存器的控制字決定。(3)可編程并行接口 8255 的技術(shù)參數(shù)分析A口B口C口PA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB
11、3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC7D0D1D2D3D4D5D6D7A0A1CSRDWRRESETVccGND34 433 332 231 130 4029 3928 3827 37 18 8255A 199 208 216 225 2336 2435 25 14 15 16 17 1326 127 11 10圖 2 8255 的引腳圖RESET:復(fù)位輸入線,當(dāng)該輸入端處于高電平時,所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有 I/O 口均被置成輸入方式。CS:芯片選擇信號線,當(dāng)這個輸入引腳為低電平時,即/CS=0 時,表示芯片被選中,允許8255 與
12、CPU 進行通訊;/CS=1 時,8255 無法與 CPU 做數(shù)據(jù)傳輸.RD:讀信號線,當(dāng)這個輸入引腳為低跳變沿時,即/RD 產(chǎn)生一個低脈沖且/CS=0 時,允許8255 通過數(shù)據(jù)總線向 CPU 發(fā)送數(shù)據(jù)或狀態(tài)信息,即 CPU 從 8255 讀取信息或數(shù)據(jù)。WR:寫入信號,當(dāng)這個輸入引腳為低跳變沿時,即/WR 產(chǎn)生一個低脈沖且/CS=0 時,允許CPU 將數(shù)據(jù)或控制字寫入 8255。D0D7:三態(tài)雙向數(shù)據(jù)總線,8255 與 CPU 數(shù)據(jù)傳送的通道,當(dāng) CPU 執(zhí)行輸入輸出指令時,通過它實現(xiàn) 8 位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。Comment t3: 圖要編序號!居中!6
13、3可編程設(shè)置型鍵盤可編程設(shè)置型鍵盤/顯示器接口顯示器接口 8279(1)可編程設(shè)置型鍵盤/顯示器接口 8279 在本設(shè)計中的作用在本系統(tǒng)中可編程設(shè)置型鍵盤/顯示器接口 8279 的主要功能是用于顯示數(shù)碼管,通過 B 口控制數(shù)碼管 8 位段選,C 口控制 8 個數(shù)碼管的位選,實現(xiàn)數(shù)碼管顯示數(shù)據(jù)(用戶反映時間)的作用。(2)可編程設(shè)置型鍵盤/顯示器接口 8279 的功能分析可同時進行鍵盤掃描和數(shù)據(jù)顯示 鍵盤掃描模式傳感器掃描模式激發(fā)掃描模式8*8 鍵盤 FIFO具有結(jié)點消除抖動,2 鍵鎖定 N 鍵依次讀出模式雙排八位數(shù)和雙排十六位的顯示器右邊進入或左邊進入(3)可編程設(shè)置型鍵盤/顯示器接口 827
14、9 的技術(shù)參數(shù)分析圖 3 8279 引腳圖DB0DB7:雙向數(shù)據(jù)總線。在 CPU 與 8279 間做數(shù)據(jù)與命令傳送。CLK:8279 的系統(tǒng)時鐘,100KHz 為最佳選擇。7RESET:復(fù)位輸入線。輸入 HI 時可復(fù)位 8279。CS:芯片選擇信號線。當(dāng)這個輸入引腳為低電平時,可將命令寫入 8279 或讀取8279 的數(shù)據(jù)。A0:緩沖器地址選擇線。A0=0 時,讀寫一般數(shù)據(jù);A0=1 時,讀取狀態(tài)標(biāo)志位或?qū)懭朊?。RD:讀取控制線。RD=0 時,8279 輸送數(shù)據(jù)到外部總線。WR:寫入控制線。WR=0 時,8279 從外部總線接收數(shù)據(jù)。IRQ:中斷請求。平常 IRQ 為 LO,在鍵盤模式下,每
15、次讀取 FIFO/SENSOR RAM 的數(shù)據(jù)時,IRQ 變?yōu)?HI,讀取后轉(zhuǎn)為 LO;在傳感器模式下,只要傳感器一有變化,就會使 IRQ 變?yōu)?HI,讀取后轉(zhuǎn)為 LO。SL0SL3:掃描按鍵開關(guān)或傳感器矩陣及顯示器,可以是編碼模式(16 對 1)或解碼模式(4 對 1)。RL0RL7:鍵盤/傳感器的返回線。無按鍵被按時,返回線為 HI;有按鍵被按時,該按鍵的返回線為 LO。在激發(fā)輸入模式時,為 8 位的數(shù)據(jù)輸入。SHIFT:在鍵盤掃描模式時,引腳的輸入狀態(tài)會與其它按鍵的狀態(tài)一同儲存(在 BIT6),內(nèi)部有上拉電阻,未按時為 HI,按時為 LO。CNTL/STB:在鍵盤掃描模式時,引腳的輸入狀
16、態(tài)會與 SHIFT 以及其它按鍵的狀態(tài)同一儲存,內(nèi)部有上拉電阻,未按時為 HI,按時為 LO。在激發(fā)輸入模式時,作為返回線 8 位數(shù)據(jù)的使能引腳。OUTA0OUTA3:動態(tài)掃描顯示的輸出口(高 4 位)。OUTB0OUTB3:動態(tài)掃描顯示的輸出口(低 4 位)。BD:消隱輸出線。4鍵盤鍵盤(1)鍵盤在本設(shè)計中的作用 在本設(shè)計中,鍵盤主要的作用是啟動系統(tǒng)和啟動測試及反應(yīng)回饋。(2)鍵盤的功能分析 鍵盤的功能比較單一,按鍵或不按鍵,該端口將輸出不同的電平信號。(3)鍵盤的技術(shù)參數(shù)分析Comment t4: 圖要編序號!居中!8鍵盤一段接芯片輸入端口,另一端接 VCC,當(dāng)按鍵時,開關(guān)閉合,電平強制被
17、拉低,通過低電平的信號輸入即可知道是否有按鍵的輸入。圖 4 鍵盤的原理圖行掃描法:按鍵按下時,與此鍵相連的行線與列線導(dǎo)通,行線在無鍵按下時處在高電平,顯然,如果讓所有的列線也處在高電平,那么,按鍵按下與否不會引起行線電平的變化,因此,必須使所有列線處在低電平,只有這樣,當(dāng)有鍵按下時,該鍵所在的行電平才會由高電平變?yōu)榈碗娖?。CPU 根據(jù)行平電的變化,便能判定相應(yīng)的行有鍵按下,為進一步確定具體鍵,不能使所有列線在同一時刻都處在低電平,可在某一時刻只讓一條列線處于低電平,其余列線均處于高電平,另一時刻,讓下一列處在低電平,依次循環(huán)。5 .LED 燈燈(1)LED 燈在本設(shè)計中的作用 在本設(shè)計中,LE
18、D 燈的作用是作為測試開始的刺激信號,當(dāng) LED 燈閃亮的時候,立即啟動測試,等待用戶再次擊鍵。(2)LED 燈的功能分析 通過 LED 燈的亮、滅作為一個刺激信號。(3)LED 燈的技術(shù)參數(shù)分析 LED 燈的功能較為簡單,為一個發(fā)光二極管,當(dāng)該二極管導(dǎo)通時閃亮,截止時不閃Comment t5: 圖要編序號!居中!9亮。圖 5 LED 的原理圖6.數(shù)碼管數(shù)碼管(1)數(shù)碼管在本設(shè)計中的作用 在本設(shè)計中,數(shù)碼管的作用不容小覷,主要用于顯示用戶的反應(yīng)時間。(2)數(shù)碼管的功能分析 數(shù)碼管主要分為 8 段、7 段,8 段數(shù)碼管帶有小數(shù)點,一般數(shù)碼管都為 8 段,因為功能更為全面,可用于顯示小數(shù)。(3)數(shù)
19、碼管的技術(shù)參數(shù)分析使用數(shù)碼管時,應(yīng)該區(qū)分數(shù)碼管時共陰還是共陽,在本設(shè)計中,所有的數(shù)碼管都是共陰的。只要段選輸入高電平即可點亮不同位置的數(shù)碼管進而顯示數(shù)據(jù)。Comment t6: 圖要編序號!居中!Comment t7: 圖要編序號!居中!10a b a c de f g h圖 6 外形圖 圖 7 共陰極表一 數(shù)碼管真值表af bge cdComment t8: 表要編序號! 用三線表! 表不能分割在 2 頁.11顯示段符號編碼hgfedcba0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011016DH60111
20、11017DH70000011107H8011111017FH9011011116FHA0111011177HB011111007CHC0011100139HD010111105EHE0111100179HF0111000171H7.硬件總邏輯圖及其說明硬件總邏輯圖及其說明(1)硬件總邏輯圖Comment t9: 圖要編序號!居中!12圖 8(2)硬件總邏輯圖說明 本系統(tǒng)共有 7 塊主要的芯片構(gòu)成,其中也包括其他一些芯片的輔助工作。CPU8086 通過 8282 將發(fā)出的地址信號經(jīng)過譯碼出去,選中當(dāng)前需要選中的芯片,通過片選信號選中某芯片,并使之為其工作。 其中 8255 主要用于與用戶的交互
21、使用,通過啟動按鈕和測試按鈕可以輕松的與用戶實時交互,主機通過 LED 顯示當(dāng)前的信號。通過設(shè)置 8255 的 A 口工作于方式0 輸入方式,B 口工作于方式 0 的輸入方式實現(xiàn)該交互功能。 而 8253 則主要實現(xiàn)計時功能,測量當(dāng)前用戶的反應(yīng)時間。因為反應(yīng)時間的顯示是以 0.01 秒為一個基本單位,試驗條件下,最小的頻率為 62.5KHZ,通過 8253 通道1 工作于方式 2(分頻發(fā)生器)將時鐘信號分頻為 100HZ(即周期為 0.01 秒) ;此時將 OUT0 端輸出接入通道 0,并開始計數(shù),當(dāng)用戶反應(yīng)則停止計數(shù),并將結(jié)果顯示出來,最大的反應(yīng)時間為 99.99 秒。 最后要說的就是 82
22、79,8279 主要用戶控制 8 段數(shù)碼管的顯示,用戶實時的用戶交互,顯示當(dāng)前用戶的反應(yīng)時間。三三控制程序設(shè)計控制程序設(shè)計1控制流程設(shè)計及其思路說明控制流程設(shè)計及其思路說明(1)初始化系統(tǒng)芯片13初始化可編程并行接口 8255 設(shè)置 PA 端口工作于方式 0,作為輸入端口,主要用于接收啟動按鍵和測試按鍵的輸入信號。PB 端口工作于方式 0,作為輸出端口,用于控制 LED 燈閃爍,指示當(dāng)前測試開始。初始化可編程定時器計數(shù)器 8253 設(shè)置通道 1 工作于方式 2(頻率發(fā)生器) ,將 62.5KHZ 的時鐘信號 625 分頻,產(chǎn)生100HZ 的時鐘信號用于通道 0 的定時使用。此時通道 0 工作于
23、方式 0(計數(shù)結(jié)束產(chǎn)生中斷方式) 。(2)檢測是否開始 通過不斷讀取啟動按鈕的狀態(tài)測試,當(dāng)前用戶是否要啟動一次反映測試響應(yīng);若啟動按鈕有低電平信號,則測試開始。(3)檢測是否反映 當(dāng)測試開始時,系統(tǒng)將以一 LED 燈指示,測試計時是否正式開始,當(dāng) LED 亮?xí)r測試計時開始,此時系統(tǒng)不斷檢測是否有測試按鈕被按下,若被按下計時時間被采樣。(4)顯示測試結(jié)果 此過程主要用于顯示采用結(jié)果。采樣結(jié)果于 8 段 LED 數(shù)碼管上顯示,顯示時間格式為:XX.XX 秒。2程序流程圖程序流程圖(1)主程序流程圖開始初始化芯片,定義變量Comment t10: 此處有錯!沒有出口!14 否 是 否 是 否 是(2
24、)子程序流程圖?是否啟動是否按下隨機亮燈的對應(yīng)測試按鈕數(shù)碼管顯示時間LED 是否點亮結(jié)束開始Comment t11: 子程序最后不是結(jié)束而是返回!15 否 是3. 控制程序控制程序.MODEL TINYEXTRN Display8:NEARCOM_ADDR EQU 0E003H;8253 可編程定時器/計數(shù)器端口 CS2T0_ADDR EQU 0E000HT1_ADDR EQU 0E001HCOM_ADDEQU 0F003H;8255 可編程輸入輸出接口PA_ADDEQU 0F000H ;A 口輸入,接按鍵PB_ADDEQU 0F001H ;B 口輸出,接 LED 燈PC_ADDEQU 0F0
25、02H.STACK 100.DATABUFFER DB 8 DUP(0,0,0,0,0,0,0,0)SEED DW 1 ;定義種子RND DB 00H ;定義變量存放 04,用于亮隨機 LEDNUM1 DB ? ;定義燈的序號NUM2 DB ? ;定義按鍵的序號.CODESTART: MOV DX,COM_ADDMOV AL,90H;A 口工作于方式 0 輸入,B 口工作于方式 0 輸出OUT DX,ALMOV DX,COM_ADDRMOV AL,74H;通道 1 方式 2 二進制計數(shù) 先寫低字節(jié)在寫高字節(jié)清進位標(biāo)志DX 左移一位MOV AL,BUFFER+4ADC AL,BUFFER+4DA
26、A MOV BUFFER+4,AL是否結(jié)束轉(zhuǎn)化存放轉(zhuǎn)化結(jié)果返回16OUT DX,ALMOV DX,T1_ADDRMOV AL,71HOUT DX,ALMOV AL,02HOUT DX,AL ;271H=625 CON1:MOV DX,PA_ADDIN AL,DX;讀取 A 口內(nèi)容TEST AL,01H;判斷是否按啟動按鈕,低電平有效JNZ CON1CALL DL3S;延時 CALL RandNum;MOV DX,PB_ADD;LED 低電平有效;MOV AL,0FEH;OUT DX,AL;62.5KHZ-0.016ms 625*0.016=10msMOV DX,COM_ADDR;計數(shù)器 1MO
27、V AL,30H;通道 0 方式 0 二進制計數(shù) 寫低字節(jié)再寫高字節(jié)OUT DX,ALMOV DX,T0_ADDRMOV AL,0FHOUT DX,ALMOV AL,27HOUT DX,AL;270FH=9999 最大反應(yīng)時間 9999*0.01=99.99sMOV DX,PA_ADDCON2:IN AL,DXCMP AL,0FFH JZ CON2 ;判斷是否按測試按鈕 TEST AL,10H MOV NUM2,1 JZ MATCH TEST AL,20H MOV NUM2,2 JZ MATCH TEST AL,40H MOV NUM2,3 JZ MATCH TEST AL,80H MOV N
28、UM2,4 JZ MATCH JMP CON2MATCH: PUSH CX MOV CL,NUM1 MOV CH,NUM217 CMP CH,CL JZ RIGHTD POP CX JMP CON1RIGHTD:MOV AL,00H;讀取計數(shù)器 0 計數(shù)值MOV DX,COM_ADDROUT DX,ALMOV DX,T0_ADDRIN AL,DX;計數(shù)值 0 的低 8 位XCHG AL,AHIN AL,DX;計數(shù)器 0 的高 8 位XCHG AL,AHCALL LedDisplayMOV DX,PB_ADD;LED 低電平有效MOV AL,0FFHOUT DX,AL;關(guān)燈MOV CX,8MOV
29、 AL,0XOR SI,SICLEAR: MOV BUFFER+SI,ALINC SILOOP CLEARJMP CON1;重新開始LedDisplay PROC NEAR;輸入?yún)?shù) AXXCHG AX,BXMOV AX,2710H;2710H=10000SUB AX,BXMOV DX,AXCALL HEX2BCDMOV BUFFER+5,10H ;高 3 位不需要顯示MOV BUFFER+6,10HMOV BUFFER+7,10H MOV BUFFER+4,10HLEA SI,BUFFERCALL Display8RETLedDisplay ENDPRandNum PROC NEAR ;產(chǎn)生
30、隨機數(shù) 03,決定哪個燈亮 MOV AX,0C49H IMUL SEED ADD AX,05E1H18 MOV SEED,AX ;保存種子以便下次調(diào)用 MOV CL,4 ROR AX,CL MOV AH,03H ;防止溢出 MOV DL,4 DIV DL ;產(chǎn)生 03 之間一隨機數(shù)至 AH MOV RND,AH ;AX 除 DL,商放 AL,余數(shù)放 AH MOV AL,7FH MOV CL,RND ROR AL,CL MOV DX,PB_ADD;LED 低電平有效 ;RND=0,AL=0111 1111-60H,亮 D7 OUT DX,AL ;RND=7,AL=1111 1110-60H,亮
31、D0 TEST AL,10H MOV NUM1,1 JZ EXIT TEST AL,20H MOV NUM1,2 JZ EXIT TEST AL,40H MOV NUM1,3 JZ EXIT TEST AL,80H MOV NUM1,4EXIT: RET RandNum ENDPHEX2BCD PROC NEARMOV CX,16;共轉(zhuǎn)換 16 位數(shù)H2B:CLC;進位標(biāo)志置 0SHL DX,1;邏輯右移MOV AL,BUFFER+4ADC AL,BUFFER+4DAAMOV BUFFER+4,ALMOV AL,BUFFER+3ADC AL,BUFFER+3DAAMOV BUFFER+3,AL
32、MOV AL,BUFFER+2ADC AL,BUFFER+219DAAMOV BUFFER+2,ALLOOP H2BMOV AL,BUFFER+4XOR AH,AHMOV BL,16DIV BLMOV BUFFER+1,AL;存放十位MOV BUFFER+0,AH;存放個位MOV AL,BUFFER+2MOV BUFFER+4,AL;存放萬位MOV AL,BUFFER+3MOV BL,16XOR AH,AHDIV BLMOV BUFFER+3,AL;存放千位OR AH,80H ;百位加上小數(shù)點MOV BUFFER+2,AH;存放百位RETHEX2BCD ENDPDL500ms PROC NEA
33、RPUSH CXMOV CX,60000DL500ms1:LOOP DL500ms1POP CXRETDL500ms ENDPDL3S PROC NEARMOV CX,6DL3S1:CALL DL500msLOOP DL3S1RETENDPEND START四四上機調(diào)試過程上機調(diào)試過程1 .硬件調(diào)試硬件調(diào)試此次課程設(shè)計中出現(xiàn)的硬件問題有:(1)片選信號沖突(2)可編程并行接口 8255 故障20(3)按鍵故障以上問題的解決:(1)可編程并行接口 8253 和可編程專用接口 8279 起初同時接入的片選信號時 CS5,此時出現(xiàn)計時錯誤的問題,為了解決這一問題,我重新試驗了方波發(fā)生器的實驗,時鐘正
34、確無誤的,所以做出了大膽的嘗試,將其片選信號由 CS5 改至 CS2,此時所有芯片的工作不會出現(xiàn)干擾,測試結(jié)果正確無誤。(2)發(fā)現(xiàn)按鍵沒有反應(yīng),起初我們以為是按鍵問題,所以直接將按鍵接入測試口,當(dāng)按鍵被按下時,邏輯信號由高變?yōu)榈停覀儼l(fā)現(xiàn)時 8255 錯,為了更加確信,我們試驗了交通燈實驗,發(fā)現(xiàn)無法完成交通燈實驗(軟件是正確的) ,故我們將矛頭指向了可編程并行接口 8255,換了一個芯片后,一切正常。(3)在測試產(chǎn)生隨機數(shù)模塊的軟件是正確的,而測試卻一直無法正確通過,擊鍵一直沒有反應(yīng),所以用我隊友的試驗箱做同一個實驗,而他的卻可以,故我們選擇交換了試驗箱。2. 軟件調(diào)試軟件調(diào)試此次課程設(shè)計中出
35、現(xiàn)的軟件故障有:(1)計數(shù)器初值讀出錯誤(2)16 進制轉(zhuǎn)換為 BCD 碼的二次錯誤以上問題的解決方案:(1)初始的方案是以計數(shù)器 0 產(chǎn)生 0.01s 的時鐘信號作為計數(shù)器 1 的 CLK 信號,此時只要不斷讀出計數(shù)器一的計數(shù)值,即可得到當(dāng)前的反應(yīng)時間,但是事實上,讀入的 AL 值卻一直呈現(xiàn)高阻態(tài),在查閱了大量的資料發(fā)現(xiàn)了一個規(guī)律,不同版本的資料,對計數(shù)器值得讀出,僅僅是對計數(shù)器 0 而言,故將二者的功能調(diào)換,發(fā)現(xiàn)正常。(2)當(dāng)讀入的數(shù)值正確后,同樣另一個問題接踵而至,那就是轉(zhuǎn)換錯誤,不能講 16 進制轉(zhuǎn)換為正確的 BCD 碼,主要是第二次錯誤,第一次是正確的,通過軟件跟蹤調(diào)試,發(fā)現(xiàn)每次的轉(zhuǎn)換結(jié)果存于 BUFFER 中,而 BUFFER 的初值必須是 0,經(jīng)過一次轉(zhuǎn)換后,初值已經(jīng)改變,故第二次的轉(zhuǎn)換出錯。3 .聯(lián)機調(diào)試聯(lián)機調(diào)試聯(lián)機調(diào)試中單步運行能得出正確結(jié)果,在全速運行中結(jié)果正確顯示。因為按鍵時一個突發(fā)Comment t12: 缺少功能測試,沒有測試怎么進行結(jié)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 9755-2024合成樹脂乳液墻面涂料
- 工廠整改報告-企業(yè)管理
- 銀行信息系統(tǒng)安全管理制度
- 銀行合規(guī)管理制度優(yōu)化
- 酒店餐飲服務(wù)規(guī)范及質(zhì)量控制制度
- 零售媒體化專項研究報告(2024年)
- 《信號形成處理記錄》課件
- 克萊斯勒鉑銳不啟動防盜系統(tǒng)診斷案例
- 《議論文結(jié)構(gòu)布局》課件
- 全國百強名校2025屆高考英語三模試卷含解析
- 小學(xué)數(shù)學(xué)每日100道口算題(每頁100題)
- 幼兒園小班主題《我會排隊》微課件
- 2024至2030年中國魔方行業(yè)市場前景調(diào)查及投融資戰(zhàn)略研究報告
- 園林工程智慧樹知到答案2024年浙江農(nóng)林大學(xué)
- 游泳社會指導(dǎo)專項理論知識題庫及參考答案
- 2025屆高考語文一輪總復(fù)習(xí):120個文言實詞
- ICU常用的鎮(zhèn)靜鎮(zhèn)痛藥物特點和應(yīng)用培訓(xùn)課件
- 2024-2030年中國飛行時間(ToF)傳感器行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 2024年新蘇教版科學(xué)六年級上冊全冊知識點
- 砼結(jié)構(gòu)構(gòu)件制造行業(yè)產(chǎn)業(yè)鏈協(xié)同與價值鏈優(yōu)化
- 人教版五年級數(shù)學(xué)上冊第四單元《可能性》全部集體備課教學(xué)設(shè)計
評論
0/150
提交評論