![微機(jī)原理與接口技術(shù)課程設(shè)計(jì)評(píng)分系統(tǒng)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/0babd8d0-0303-4bde-8dea-856d371122e2/0babd8d0-0303-4bde-8dea-856d371122e21.gif)
![微機(jī)原理與接口技術(shù)課程設(shè)計(jì)評(píng)分系統(tǒng)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/0babd8d0-0303-4bde-8dea-856d371122e2/0babd8d0-0303-4bde-8dea-856d371122e22.gif)
![微機(jī)原理與接口技術(shù)課程設(shè)計(jì)評(píng)分系統(tǒng)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/0babd8d0-0303-4bde-8dea-856d371122e2/0babd8d0-0303-4bde-8dea-856d371122e23.gif)
![微機(jī)原理與接口技術(shù)課程設(shè)計(jì)評(píng)分系統(tǒng)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/0babd8d0-0303-4bde-8dea-856d371122e2/0babd8d0-0303-4bde-8dea-856d371122e24.gif)
![微機(jī)原理與接口技術(shù)課程設(shè)計(jì)評(píng)分系統(tǒng)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/15/0babd8d0-0303-4bde-8dea-856d371122e2/0babd8d0-0303-4bde-8dea-856d371122e25.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計(jì)報(bào)告2012 2013學(xué)年第 一 學(xué)期課程名稱微機(jī)原理與接口技術(shù)課程設(shè)計(jì) 設(shè)計(jì)題:評(píng)分系統(tǒng) 學(xué)生姓名 學(xué) 號(hào) 專業(yè)班級(jí) 指導(dǎo)教師 2012年12月 29日 目 錄1 設(shè)計(jì)思路 1.1 硬件部分 1.2 軟件部分2 硬件設(shè)計(jì) 2.1 芯片8279 2.2 芯片LED 2.3 小鍵盤 2.4 74LS240 2.5 硬件總邏輯圖及其說明3 程序流程圖 3.1流程圖 3.2程序及注釋4 總結(jié)與展望參考文獻(xiàn)附錄1設(shè)計(jì)題目:評(píng)分系統(tǒng)設(shè)計(jì)要求: 用8086系統(tǒng)的接口芯片, 設(shè)計(jì)一個(gè)四個(gè)評(píng)委使用的評(píng)分系統(tǒng),最高得分10分,編程求其平均得分,并顯示其最后得分。設(shè)計(jì)目的: 評(píng)委們接到打分指令后即可為選手
2、輸入分?jǐn)?shù)接收所有評(píng)委的打分,數(shù)據(jù)進(jìn)行處理,求出平均分。設(shè)計(jì)方案: 基于以上問題分析此評(píng)分系統(tǒng)是由四個(gè)評(píng)委組成的一個(gè)評(píng)分系統(tǒng)。對(duì)每位評(píng)委給出的分?jǐn)?shù)進(jìn)行累加,并求出平均分。評(píng)委分?jǐn)?shù)范圍是010的整數(shù),將4位評(píng)委給出的分?jǐn)?shù)累加,由于最高分為10分,則用4位二進(jìn)制就可以表示每位評(píng)委的分?jǐn)?shù),用8279的RL0RL7八位連接小鍵盤,將評(píng)委的分?jǐn)?shù)保存到8279的緩沖寄存器中,可同時(shí)將4位評(píng)委的分?jǐn)?shù)同時(shí)輸入。對(duì)求得平均分進(jìn)行分析,將4位評(píng)委累加后除以4即得到平均分?jǐn)?shù),除以4后將會(huì)出現(xiàn)小數(shù)部分如:0.0、0.25、0.50、0.75這4種情況,要將最后得分顯示在LED上,就要用4個(gè)LED顯示,其中第二個(gè)LED存
3、在小數(shù)點(diǎn),故用八段LED顯示,3個(gè)顯示要分別進(jìn)行輸出,通過位選碼對(duì)每一位的顯示進(jìn)行控制,還要通過段選碼對(duì)每一個(gè)LED的每一段進(jìn)行控制。這樣,就能將整個(gè)最后得分顯示出來了,還要考慮在顯示后一位時(shí)前一位會(huì)不會(huì)消失的情況。以上四個(gè)問題解決可以用硬件完成,而數(shù)據(jù)處理部分需由軟件來完成。1.1 硬件部分問題(1)可以利用小鍵盤上的任意一位輸入或邏輯開關(guān)的一位來實(shí)現(xiàn)。問題(2)評(píng)委可通過很多設(shè)備進(jìn)行數(shù)據(jù)輸入,如小鍵盤、邏輯開關(guān)等,小鍵盤做輸入設(shè)備其電路簡單,但對(duì)其編程接受輸入數(shù)據(jù)相對(duì)復(fù)雜。邏輯開關(guān)的電路相對(duì)復(fù)雜,但編程接受輸入數(shù)據(jù)的程序簡單,且兼于實(shí)驗(yàn)室設(shè)備,故選擇小鍵盤作為輸入設(shè)備。輸入數(shù)據(jù)會(huì)很方便。問
4、題(4)輸出設(shè)備既可用發(fā)光二極管也可用LED顯示器,但相對(duì)于前者,后者對(duì)結(jié)果的顯示一目了然,故本設(shè)計(jì)選擇LED顯示器作輸出設(shè)備。1.2 軟件部分 (1)讀數(shù)據(jù)程序:采用小鍵盤與8279芯片相結(jié)合,故可8279的相應(yīng)端口進(jìn)行合適的參數(shù)設(shè)置,數(shù)據(jù)端口地址為0B0H,控制端口的地址為0B1H。RL0RL7八位中最高位作為指令開關(guān)。(2)數(shù)據(jù)處理:每次讀數(shù)據(jù)累加求和,并取數(shù)據(jù)整數(shù)和小數(shù)部分,從OUTA0OUTA3輸出到LED顯示器.當(dāng)四個(gè)評(píng)委均輸入完畢,將累加和采用邏輯右移2位的方式求平均分.在計(jì)算輸入的時(shí)候,用兩位輸入來控制一位數(shù)的輸入,將AL的值賦給中間變量TEMP,然后將TEMP*10,然后累加
5、,求出輸入的數(shù),進(jìn)行和的累加。(3)數(shù)據(jù)輸出:平均分整數(shù)和小數(shù)部分分別輸出到LED.分析整數(shù)0-40之間的數(shù)除以4的小數(shù)部分, 平均分處理方法,(也可采用四舍五入的方法保留一位小數(shù))。 表1-1:小數(shù)部分的求解方法見下表:十進(jìn)制和二進(jìn)制和右移二位平均值十進(jìn)制整數(shù)二進(jìn)制整數(shù)小數(shù)部分00000001100.2500321000.500531100.75008410011110510111.25113611011.5115711111.7511881000102210091001102.252103十進(jìn)制和二進(jìn)制和右移二位平均值十進(jìn)制整數(shù)二進(jìn)制整數(shù)小數(shù)部分101010102.521051110111
6、02.752108151111113.2531132010100101551010351000114010100010101010101002 硬件設(shè)計(jì)2.1 選擇芯片8279芯片8279在本設(shè)計(jì)中的作用8279連接4*4的鍵盤及8位顯示器的電路,即可顯示按下鍵對(duì)應(yīng)的鍵值。芯片8279的功能分析8279內(nèi)部邏輯框圖 INTEL8279是一種通用可編程鍵盤/顯示接口芯片,它能同時(shí)完成鍵盤輸入和顯示控制兩種功能。鍵盤接口電路可最多控制64個(gè)按鍵或傳感器組成的陣列,可自動(dòng)消除開關(guān)抖動(dòng)、自動(dòng)識(shí)別鍵碼并具有多鍵同時(shí)按下保護(hù)功能。顯示接口電路采用自動(dòng)掃描方式工作,最多可連接16位LED顯示器。采用該芯片設(shè)
7、計(jì)鍵盤與顯示接口電路可簡化程序,從而減少CPU運(yùn)行時(shí)間,提高工作效率?!?、8279內(nèi)部結(jié)構(gòu)及基本工作原理1)數(shù)據(jù)緩沖器及I/O控制 數(shù)據(jù)緩沖器為雙向緩沖器,連接內(nèi)、外總線,用于傳送CPU和8279之間的命令或數(shù)據(jù)。I/O控制線實(shí)現(xiàn)CPU對(duì)8279內(nèi)部各種寄存器、緩沖器讀寫數(shù)據(jù)和讀寫控制命令進(jìn)行控制。2)控制與定時(shí)寄存器及定時(shí)控制 控制與定時(shí)寄存器用于寄存鍵盤及顯示工作方式控制字以及其它操作方式控制字。該寄存器接收并鎖存CPU送來的命令,然后通過譯碼產(chǎn)生相應(yīng)的控制信號(hào),從而完成相應(yīng)的控制功能。定時(shí)與控制電路由N個(gè)基本計(jì)數(shù)器組成,其中,第一個(gè)計(jì)數(shù)器是一個(gè)可編程N(yùn)級(jí)分頻器,N可由軟件編程在231間
8、取值。該分頻器將外部時(shí)鐘CLK分頻得到內(nèi)部所需的100kHz時(shí)鐘,再經(jīng)分頻為鍵盤提供適當(dāng)?shù)膾呙桀l率和顯示時(shí)間。 3)掃描計(jì)數(shù)器該電路為鍵盤和顯示器提供掃描信號(hào),有兩種工作方式:編碼方式和譯碼方式。按編碼方式工作時(shí),計(jì)數(shù)器進(jìn)行二進(jìn)制計(jì)數(shù)并由掃描線SL0SL3輸出,經(jīng)外部譯碼器譯碼后,為鍵盤和顯示器提供掃描信號(hào)。按譯碼方式工作時(shí),掃描計(jì)數(shù)器的最低兩位被譯碼后,從SL0SL3輸出,提供了4選1的掃描譯碼。4)回復(fù)緩沖器、鍵盤去抖動(dòng)及控制 (1)在鍵盤工作方式中,從SL0SL3送出的掃描信號(hào),將會(huì)去掃描鍵盤,如有按鍵被按下時(shí),去抖電路被置位,延時(shí)等待10ms后,再檢查該鍵是否仍處在閉合狀態(tài)。若不閉合,
9、則視作干擾信號(hào);若仍閉合,則將該鍵的地址和附加的移位、控制狀態(tài)一起形成鍵盤數(shù)據(jù)送入8279內(nèi)部的FIFO(先入先出)存儲(chǔ)器,數(shù)據(jù)格式如下: 表2-1 D7D6D5D4D3D2D1D0控制移位掃描回復(fù)(2)在傳感器開關(guān)狀態(tài)矩陣方式中,回復(fù)線的內(nèi)容直接被送往相應(yīng)的傳感器RAM(即FIFO存儲(chǔ)器)中。(3)在選通輸入方式工作時(shí),回復(fù)線的內(nèi)容在CNTL/STB線的脈沖上升沿被送入FIFO存儲(chǔ)器。5)FIFO/傳感器RAM及其狀態(tài)寄存器FIFO/傳感器RAM是一個(gè)雙重功能的8×8位RAM。在鍵盤或選通工作方式時(shí),它是FIFO RAM,其輸入/輸出遵循先入后出的原則。此時(shí),F(xiàn)IFO狀態(tài)寄存器存放
10、FIFO的工作狀態(tài),若FIFO不空,IRQ信號(hào)為高電平,向CPU申請(qǐng)中斷。在傳感器矩陣方式工作時(shí),該存儲(chǔ)器用于存放傳感器矩陣中每一個(gè)傳感器的狀態(tài)。在此方式中,若檢出傳感器發(fā)生變化,則IRQ信號(hào)變?yōu)楦唠娖?,向CPU申請(qǐng)中斷。6)顯示RAM和顯示地址寄存器顯示RAM用于存儲(chǔ)顯示數(shù)據(jù),容量為16×8。在顯示過程中,存儲(chǔ)的顯示數(shù)據(jù)輪流從顯示寄存器輸出。顯示寄存器分為A、B兩組,OUTA30、OUTB30。它們即可以單獨(dú)送數(shù),也可以組成一個(gè)8位的字,OUT A輸出高4位,OUTB輸出低4位。顯示寄存器的輸出與顯示掃描配合,輪流驅(qū)動(dòng)被選中的顯示器件,實(shí)現(xiàn)穩(wěn)定的動(dòng)態(tài)顯示。顯示地址寄存器用來寄存CP
11、U讀/寫顯示RAM的地址,它可以由命令設(shè)定,也可以設(shè)置成在每次讀出或?qū)懭胫笞詣?dòng)遞增。2、8279工作方式 1)鍵盤工作方式通過命令字可將鍵盤工作方式設(shè)定為雙鍵互鎖與N鍵巡回兩種工作方式。1)雙鍵互鎖:若有兩個(gè)鍵或多個(gè)鍵同時(shí)按下,8279電路只識(shí)別最后一個(gè)釋放的鍵,并把鍵值送入FIFO/傳感器RAM中。2)N鍵巡回:若有多個(gè)按鍵同時(shí)按下時(shí),鍵盤掃描將各鍵鍵值依按下順序依次存入FIFO/傳感器RAM中。2)顯示器工作方式通過設(shè)置鍵盤/顯示命令字和寫顯示RAM命令字,顯示數(shù)據(jù)寫入顯示緩沖器時(shí)可置為左端送入和右端送入兩種方式。左端送入為依次填入方式,右端送入為移入方式。3)傳感器矩陣方式 通過設(shè)置讀
12、FIFO/傳感器命令字,8279可工作于傳感器矩陣方式,此時(shí)傳感器的開關(guān)狀態(tài)直接送到傳感器RAM。CPU對(duì)傳感器陣列掃描時(shí),如果檢測到某個(gè)傳感器狀態(tài)發(fā)生變化,則產(chǎn)生中斷請(qǐng)求信號(hào)IRQ。3、8279命令字1)鍵盤/顯示方式設(shè)置命令 表D7D6D5D4D3D2D1D0000DDKKK D7、D6、D5是方式設(shè)置的特征位。D4、D3為顯示方式設(shè)定位,D2、D1、D0位鍵盤/顯示工作方式設(shè)定位。2)時(shí)鐘編程命令 表D7D6D5D4D3D2D1D0001PPPPPD7、D6、D5是時(shí)鐘編程命令的特征位,D4、D3、D2、D1用于設(shè)定對(duì)CLK輸入端輸入的外部時(shí)鐘信號(hào)進(jìn)行分頻的分頻系數(shù)N。3)讀FIFO/傳
13、感器RAM命令 表D7D6D5D4D3D2D1D0010AI×AAAD7、D6、D5是讀FIFO/傳感器RAM命令的特征位,D4自動(dòng)遞增設(shè)置位,D2、D1、D0為FIFO/傳感器RAM地址。4)讀顯示RAM命令 表D7D6D5D4D3D2D1D0011AIAAAAD7、D6、D5是讀顯示RAM命令的特征位,D4自動(dòng)遞增設(shè)定位,D3、D2、D1、D0為顯示RAM的存儲(chǔ)單元地址。5)寫顯示RAM命令 表D7D6D5D4D3D2D1D0100AIAAAAD7、D6、D5是寫顯示RAM命令的特征位,D3、D2、D1、D0為寫入顯示RAM的存儲(chǔ)單元地址。6)顯示禁止寫入/消隱命令 表D7D6D
14、5D4D3D2D1D0101×IWAIWBBLABLBD7、D6、D5是顯示禁止寫入/消隱命令的特征位,D3、D2為A、B組顯示RAM寫入屏蔽位,當(dāng)D3=1時(shí),A組的顯示RAM禁止寫入,從CPU寫入顯示RAM數(shù)據(jù)時(shí),這種情況通常用于雙4位顯示器,當(dāng)D2=1時(shí),可屏蔽B組顯示器。D1、D0位A 、B組的消隱設(shè)置位。7)清除命令 表D7D6D5D4D3D2D1D0110CDCDCDCFCAD7、D6、D5是清除命令的特征位,D4、D3、D2為清除顯示RAM方式設(shè)定位,D1為置空FIFO存儲(chǔ)器設(shè)定位,D0為總清楚設(shè)定位。8)結(jié)束中斷/出錯(cuò)方式設(shè)置命令 表D7D6D5D4D3D2D1D011
15、1E××××D7、D6、D5為111是結(jié)束中斷/出錯(cuò)方式設(shè)置命令的特征位,D4為1時(shí),N鍵輪回工作方式可工作得特殊出錯(cuò)方式,對(duì)傳感器工作方式,此命令使IRQ變低,結(jié)束中斷,并允許對(duì)RAM進(jìn)一步寫入。2.2 選擇芯片LEDLED在本設(shè)計(jì)中的作用顯示最后得分,共三塊,一塊用來顯示其整數(shù)部分的十位,一塊用來顯示其整數(shù)部分個(gè)位,另一塊用來顯示其小數(shù)部分(保留一位小數(shù))。LED的功能分析LED顯示電路較為簡單,成本也較低,在功能單一的儀器儀表與機(jī)電設(shè)備中應(yīng)用較廣。但當(dāng)設(shè)備顯示的點(diǎn)或位較多時(shí),就需要采用一定的驅(qū)動(dòng)電路與相應(yīng)的驅(qū)動(dòng)方式。利用專用接口芯片如8255作為計(jì)
16、算機(jī)芯片的端口擴(kuò)展,并通過軟件編程加外部驅(qū)動(dòng)實(shí)現(xiàn)。圖2-2:表2-11共陽極數(shù)字Dpgfedcba二進(jìn)制編碼011000000C0H111111001F9H 210100100A4H310110000B0H41001100199H51001001092H61000001082H711111000F8H81000000080H91000011090H表2-2. LED顯示管段選碼編碼表LED數(shù)碼管的顯示方式(1)靜態(tài):數(shù)碼管顯示過程持續(xù)得到信號(hào),與數(shù)碼管接口的I/O口線為專用。特點(diǎn)是無閃爍,元器件多,占I/O線多,無須掃描,節(jié)省CPU時(shí)間,編程簡單。(2)動(dòng)態(tài):數(shù)碼管顯示過程輪流得到信號(hào),與各數(shù)
17、碼管接口的I/O口線為共用。特點(diǎn)是有閃爍,元器件少,占I/O線少,必須掃描,花費(fèi)CPU時(shí)間,編程復(fù)雜 (有多個(gè)LED時(shí)尤為突出)。芯片LED的技術(shù)參數(shù) 芯片LED的技術(shù)參數(shù)PcwIfVrIrIfp對(duì)應(yīng)型號(hào)散射顏色BT2352702551.52.5200SEL-10紅色BT14415291004050.52.5565綠色BT13415291004050.52.5585藍(lán)色消耗功率 PM150mW 最大工作電流 IFM100mA 正常工作電流 IF40mA 正向壓降 VF 1.8V 燃亮電壓為5v共陰極LED的PM300mW,IFM200 mA,IF60mA,VF 1.8V,VR5V,發(fā)紅光。LE
18、D的技術(shù)參數(shù)分析LED發(fā)光二極管的壓降一般為1.5-2.0V,其工作電流一般取10-20Ma,發(fā)光二極管可應(yīng)用于直流驅(qū)動(dòng)電路、交流驅(qū)動(dòng)電路和脈沖驅(qū)動(dòng)電路。2.3 小鍵盤小鍵盤在本設(shè)計(jì)中的作用評(píng)委通過小鍵盤置數(shù),輸入分?jǐn)?shù)。四個(gè)評(píng)委各個(gè)依次打分,系統(tǒng)讀取開關(guān)量,再將處理后的數(shù)據(jù)在LED上顯示出來。 圖2-3小鍵盤的邏輯圖 如右圖: 2.4 74LS240芯片引腳及真值表圖2-42.5 硬件總邏輯圖及其說明實(shí)驗(yàn)硬件原理圖圖 2-5 實(shí)驗(yàn)硬件原理圖說明:由于實(shí)驗(yàn)室設(shè)備中很多芯片已經(jīng)集成,故給連線帶來很大方便性,使的連線簡單了許多。8279的RL0RL7連接4*4鍵盤,SL0SL2三位用來74L138的
19、輸入,輸出的8位作為LED的段選,OUTA0OUTA3四位作為芯片4511的輸入,輸出的7位作為LED的位選,8279的數(shù)據(jù)DB0DB7與PCI卡的數(shù)據(jù)線連接,其中A0連接A0,CS連接CS0,讀寫信號(hào)的連接如圖。 3 程序流程圖3.1 主程序流程圖:開始初始化8279掃描按鍵KEYCOUNT+KEYCOUNT?=9按鍵轉(zhuǎn)換為鍵號(hào)CX加1CX?=2SUM=TEMP+ALCX=0TEMP=TEMP*10將分?jǐn)?shù)進(jìn)行比較,計(jì)算最大,最小值顯示平均分顯示最大,最小值結(jié)束 N Y Y NN Y 主程序流程圖計(jì)算最大,最小值程序:開始將10位上的數(shù)與1比較當(dāng)有1的數(shù)時(shí),F(xiàn)LAG1Y結(jié)束FLAG與4比較將最
20、大值,最小值都賦為10NFLAG與1比較將最大值賦為10YN循環(huán)比較,算出最大值循環(huán)比較,算出最小值處理小數(shù)子程序掃描按鍵子過程:讀入數(shù)據(jù)后3位?為1讀FIFO RAMCF=1返回CF=0進(jìn)入讀狀態(tài) 掃描按鍵子過程進(jìn)入設(shè)置清除命令清除顯示RAM清除完畢嗎?返回清除子過程:24清除子過程 3.2程序清單及注釋: 8279 鍵盤顯示器接口芯片;1.查詢控制方式 2.輸入時(shí)鐘2MHZ 3.8279內(nèi)部20分頻(100KHZ) ;4.掃描計(jì)數(shù)器采用編碼工作方式(通過外部138譯碼);5.顯示按鍵值,第九次按鍵,清除顯示;8279 查詢工作方式.MODELTINYPCIBAR3EQU1CH;8位I/O空
21、間基地址(它就是實(shí)驗(yàn)儀的基地址,也為DMA & 32 BIT RAM板卡上的8237提供基地址)Vendor_IDEQU10EBH;廠商ID號(hào)Device_IDEQU8376;設(shè)備ID號(hào).STACK100.DATAIO_Bit8_BaseAddress DW?msg0DB'BIOS不支持訪問PCI $'msg1DB'找不到Star PCI9052板卡 $'msg2DB'讀8位I/O空間基地址時(shí)出錯(cuò)$'KEYCOUNT DB ?LED_TABDB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,080H,90H,8
22、8H,83H,0C6H,0A1H,86H,8EHCMD_8279 DW 00B1H;8279命令字、狀態(tài)字地址DATA_8279 DW 00B0H;8279讀寫數(shù)據(jù)口的地址MARKDB 8 DUP(?)SUM DB 0000H ;評(píng)委總和TENDB10FOURDB4HUNDREDDB100SUM_1 DB 0BUFFER DB 8 dup(?)FLAG DB 0.CODESTART: MOVAX,DATAMOVDS,AXCALLInitPCINOPCALLModifyAddress;根據(jù)PCI提供的基地址,將偏移地址轉(zhuǎn)化為實(shí)地址START100:CALL INIT8279 ;初始化子程序 MO
23、V KEYCOUNT,0 MOV AX,0 MOV SUM,0LEADI,MARK ;獲取MARK首地址START1:CALLIfExit ;判斷是否有鍵盤輸入JZSTART12JMPExitSTART12:CALL SCAN_KEY ;鍵掃描 JNC START1 ;沒有按鍵 CALL IfStart ;判斷是否開始START11:CALL SCAN_KEY ;數(shù)據(jù)錄入JNCSTART11 XCHG AL,KEYCOUNT INC AL CMP AL,9 JNZ START2 MOV KEYCOUNT,0 CALL INIT8279_1 MOVCX,4MOVSI,0ANDAH,0CALLIN
24、IT8279LOOP_1:MOVAL,MARKSIMOV BUFFERSI,ALMULTENADDSUM,ALINCSIMOV AL,0ADDAL,MARKSIMOV BUFFERSI,ALADDSUM,ALINCSILOOPLOOP_1CALL BIJIAO_1LOOP_2:MOV AX,0MOVAL,SUMDIVFOURCALLSHOWSTART200:CALLSCAN_KEYJNCSTART200CMPAL,0CFHJNESTART2JMP START100START2: XCHG AL,KEYCOUNT CALL KEY_NUM;鍵值轉(zhuǎn)換為鍵號(hào) STOSBPUSH AXXCHGAL,K
25、EYCOUNTTEST AL,01HJZGEWEIXCHG AL,KEYCOUNTMUL TENMOVSUM_1,ALPOPAXJMPSHOW_4GEWEI:XCHG AL,KEYCOUNTADDSUM_1,ALCMP AL,9JAQINGCHUCMP SUM_1,10POPAXJA QINGCHUJMPSHOW_4QINGCHU:CALL INIT8279_1MOV AL,0EHXLATCALL WRITE_DATALURU:CALLSCAN_KEYJNCLURUJMPSTART100CMPAL,0CFHJNELURUJMPSTART100SHOW_4: LEA BX,LED_TAB;字型碼
26、表 XLATCALL WRITE_DATA JMPSTART11START_EXIT:JMP$BIJIAO_1 PROC NEAR MOV DX,0 MOV CX,4 MOV SI,0 MOV FLAG,0BIJIAO_3: CMP BUFFERSI,1 JZ BIJIAO_2BIJIAO_32: ADD SI,2 LOOP BIJIAO_3 MOV AL,0 MOV AL,FLAG CMP AL,4 JZ BIJIAO_31 CMP AL,0 JNZ BIJIAO_4 MOV DH,BUFFER0 MOV DL,BUFFER1 MOV CX,3 MOV SI,2BIJIAO_6: MOV A
27、H,BUFFERSI ;求最大值 MOV AL,BUFFERSI+1 CMP DX,AX JB BIJIAO_61BIJIAO_62: ADD SI,2 LOOP BIJIAO_6 BIJIAO_100: MOV BH,BUFFER0 MOV BL,BUFFER1 MOV CX,3 MOV SI,2 BIJIAO_5: MOV AH,BUFFERSI ;求最小值 MOV AL,BUFFERSI+1 CMP BX,AX JA BIJIAO_51 BIJIAO_52: ADD SI,2 LOOP BIJIAO_5 MOV BUFFER0,DH ;最大值 MOV BUFFER1,DL MOV BUF
28、FER2,BH ;最小值 MOV BUFFER3,BL JMP LOOP_2BIJIAO_2: INC FLAG JMP BIJIAO_32BIJIAO_4: MOV DH,1 MOV DL,0 JMP BIJIAO_100 BIJIAO_31: JMP LOOP_2 BIJIAO_61: XCHG DX,AX JMP BIJIAO_62 BIJIAO_51: XCHG BX,AX JMP BIJIAO_52 BIJIAO_1 ENDP;8279初始化INIT8279 PROC NEAR MOV DX,CMD_8279;CMD_8279為寫命令地址、讀狀地址 MOV AL,34H ;可編程時(shí)鐘
29、設(shè)置,設(shè)置分頻系數(shù)(20分頻) OUT DX,AL MOV AL,0;8*8字符顯示,左邊輸入,外部譯碼鍵掃描方式 OUT DX,AL CALL INIT8279_1 RETINIT8279 ENDPINIT8279_1 PROC NEAR PUSH AX CALL CLEAR;清顯示 MOV AL,90H;從第一個(gè)數(shù)碼管開始移位顯示 OUT DX,AL POP AX RETINIT8279_1 ENDPCLEAR PROC NEAR MOV DX,CMD_8279 MOV AL,0DEH ; 清除命令 OUT DX,ALWAIT1: IN AL,DX TEST AL,80H JNZ WAIT
30、1; 顯示RAM清除完畢嗎? RETCLEAR ENDPSCAN_KEY PROC NEARMOV DX,CMD_8279 IN AL,DX;讀狀態(tài)READ_FIFO:ANDAL,7 JZ NO_KEY ;是否有鍵按下READ:MOV AL,40HOUT DX,AL;讀FIFO RAM MOV DX,DATA_8279IN AL,DX STC;有鍵SCAN_KEY1:RETNO_KEY: CLC;無鍵按下,清CY JMP SCAN_KEY1SCAN_KEY ENDPKEY_NUM PROC NEAR AND AL,3FH RET KEY_NUM ENDPSHOWPROCNEAR PUSHAXM
31、OVAH,0CMPAL,10JBSHOW_1MOVAL,1XLATCALLWRITE_DATAMOVAL,0XLATANDAL,07FHCALLWRITE_DATAPOPAXJMPSHOW_2SHOW_1:PUSHAXMOVAL,0LEABX,LED_TABXLATCALLWRITE_DATAPOPAXXLATANDAL,07FHCALLWRITE_DATA POPAX SHOW_2:XCHGAH,ALMOVAH,0MULHUNDREDDIVFOURMOVAH,0DIVTENPUSHAXXLATCALLWRITE_DATAPOPAXMOVAL,AHXLATCALLWRITE_DATASHOW_
32、3: MOV AL,0 MOV AL,BUFFER2 CMP AL,1 JZ SHOW_5 MOV AL,BUFFER2 XLAT CALLWRITE_DATA MOV AL,BUFFER3 XLAT CALLWRITE_DATA MOV AL,0 MOV AL,BUFFER0 XLAT CALLWRITE_DATA MOV AL,BUFFER1 XLAT CALLWRITE_DATARETSHOW_5: MOV AL,1 XLAT CALL WRITE_DATA MOV AL,0 XLAT CALL WRITE_DATA MOV AL,1 XLAT CALL WRITE_DATA MOV AL,0 XLAT CALL WRITE_DATA JMP START200
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年岳陽貨運(yùn)從業(yè)資格考試
- 2025年晉城貨運(yùn)資格證考試有哪些項(xiàng)目
- 2025年南京貨運(yùn)資格考試答案
- 2025年天津貨運(yùn)從業(yè)資格證考試題技巧答案詳解
- 電梯維護(hù)保養(yǎng)合同(2篇)
- 電力用戶協(xié)議(2篇)
- 2025年市婦聯(lián)執(zhí)委會(huì)議上的工作報(bào)告
- 浙教版數(shù)學(xué)七年級(jí)上冊(cè)2.5《有理數(shù)的乘方》聽評(píng)課記錄1
- 徐州報(bào)關(guān)委托協(xié)議
- 幼兒園后勤總務(wù)工作計(jì)劃范本
- 北京市房山區(qū)2024-2025學(xué)年七年級(jí)上學(xué)期期末英語試題(含答案)
- 2025年南陽科技職業(yè)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點(diǎn)試題含答案解析
- 加油站復(fù)工復(fù)產(chǎn)方案
- 2025-2030年中國增韌劑(MBS高膠粉)行業(yè)發(fā)展現(xiàn)狀及前景趨勢分析報(bào)告
- 《鋼筋焊接及驗(yàn)收規(guī)程》(JGJ18)
- 2025年高考物理復(fù)習(xí)新題速遞之萬有引力與宇宙航行(2024年9月)
- 2025年首都機(jī)場集團(tuán)公司招聘筆試參考題庫含答案解析
- 2025云南省貴金屬新材料控股集團(tuán)限公司面向高校畢業(yè)生專項(xiàng)招聘144人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 蘇州市區(qū)2024-2025學(xué)年五年級(jí)上學(xué)期數(shù)學(xué)期末試題一(有答案)
- 暑期預(yù)習(xí)高一生物必修二知識(shí)點(diǎn)
- 醫(yī)院人體器官捐獻(xiàn)及獲取流程
評(píng)論
0/150
提交評(píng)論