版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、- 21 -計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院2006級(jí)硬件課程設(shè)計(jì)報(bào)告計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院硬件課程設(shè)計(jì)報(bào)告姓 名: 學(xué) 號(hào): 專(zhuān) 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí): 計(jì)算機(jī)06-5 設(shè)計(jì)題目: 電子計(jì)算器 成 員: 指導(dǎo)教師: 職 稱(chēng): 2007年6月30日 課程設(shè)計(jì)指導(dǎo)教師評(píng)閱書(shū)指導(dǎo)教師評(píng)語(yǔ):成 績(jī): 指導(dǎo)教師簽字: 年 月 日摘 要本課程設(shè)計(jì)采用8086cpu、8255a、4*4小鍵盤(pán)和led顯示器,實(shí)現(xiàn)十以?xún)?nèi)數(shù)的加法,且具有清零功能和簡(jiǎn)單的報(bào)錯(cuò)功能。關(guān)鍵詞:8255a;4*4小鍵盤(pán);十以?xún)?nèi)數(shù)加法;目 錄一、 設(shè)計(jì)任務(wù)與要求 4二、 總體方案與說(shuō)明 41、 硬件部分 52、 軟件部分 6三、 電路原理圖
2、 8四、 軟件主要模塊流程圖 9五、 問(wèn)題分析與解決方案13六、 實(shí)驗(yàn)體會(huì)14參考資料14一、 設(shè)計(jì)任務(wù)與要求我們組選擇的課程設(shè)計(jì)題目是電子計(jì)算器。在經(jīng)過(guò)長(zhǎng)時(shí)間的考慮之后,分析了任務(wù)的難易,我們決定只考慮最簡(jiǎn)易的情況,即只實(shí)現(xiàn)個(gè)位數(shù)的加法運(yùn)算。為此,我們需要用到以下硬件:8086 cpu8255a4*4小鍵盤(pán)led顯示器二、 總體方案與說(shuō)明本系統(tǒng)功能為實(shí)現(xiàn)個(gè)位數(shù)的加法運(yùn)算,即在鍵盤(pán)上按下一個(gè)數(shù)字鍵,在led上顯示其對(duì)應(yīng)的數(shù)值,按下+,再按下一個(gè)數(shù)字鍵,在led上顯示其數(shù)值,按下=,則調(diào)用軟件的運(yùn)算模塊,進(jìn)行運(yùn)算,并回顯結(jié)果,輸出到led顯示器上。此電子計(jì)算器是基于8255a的并行輸入輸出的工作
3、模式,實(shí)現(xiàn)簡(jiǎn)單的十進(jìn)制運(yùn)算功能。8255a工作于方式1,兩個(gè)數(shù)據(jù)端口的輸入輸出數(shù)據(jù)都能鎖存,并能通過(guò)一些聯(lián)絡(luò)信號(hào)的控制完成計(jì)算器的輸入輸出操作。1、 硬件部分硬件電路應(yīng)分為兩個(gè)模塊,一為鍵盤(pán)接口電路,二為led顯示模塊。4*4小鍵盤(pán):鍵盤(pán)應(yīng)包含數(shù)字鍵0-9,運(yùn)算符+、=及c(清零)鍵。通過(guò)對(duì)鍵盤(pán)的掃描實(shí)現(xiàn)對(duì)計(jì)算器的輸入操作,利用8255的輸入數(shù)據(jù)鎖存功能實(shí)現(xiàn)對(duì)鍵盤(pán)的掃描。16個(gè)鍵排成4*4的矩陣,接到8255a的一對(duì)端口上,其中端口a做輸出,端口b做輸入。矩陣的4條行線接到輸出端口a的pa3-pa0,用程序能改變著4條行線上的電平。4條列線連到輸入端口b的pb3-pb0,4條行線還同時(shí)接到輸入
4、端口b的pb7-pb4上。這樣,用輸入指令讀取b口狀態(tài)時(shí),可同時(shí)讀取鍵盤(pán)的行列信號(hào)。在無(wú)鍵壓下時(shí),由于接到+5v上的上拉電阻的作用,列線被置成高電平。壓下某一鍵后,該鍵所在的行線和列線接通。這時(shí),如果向被壓下鍵所在的行線上輸出一個(gè)低電平信號(hào),則對(duì)應(yīng)的列線也呈現(xiàn)低電平。當(dāng)從b口讀取列線信號(hào)時(shí),便能檢測(cè)到該列線上的低電平。讀取b口的狀態(tài)時(shí),還能讀到行線上的低電平信號(hào)。這樣,根據(jù)讀入的行和列狀態(tài)中低電平的位置,便能確定哪個(gè)鍵被壓下了。上述鍵盤(pán)掃描包含以下幾步:(1) 檢測(cè)是否所有鍵都松開(kāi)了,若沒(méi)有則反復(fù)檢測(cè)。(2) 當(dāng)所有鍵都松開(kāi)了,再檢測(cè)是否有鍵壓下,若無(wú)鍵壓下則反復(fù)檢測(cè)。(3) 若有鍵壓下,要消
5、除鍵抖動(dòng),確認(rèn)有鍵壓下。(4) 對(duì)壓下的鍵進(jìn)行編碼,將該鍵的行列信號(hào)轉(zhuǎn)換成16進(jìn)制碼,由此確定哪個(gè)鍵被壓下了。如果出現(xiàn)多鍵重按的情況,只有在其他鍵均釋放后,僅剩一個(gè)鍵閉合時(shí),才把此鍵當(dāng)作本次壓下的鍵。(5) 該鍵釋放后,再回到(2)。七段led顯示器:七段led顯示器由七個(gè)發(fā)光段構(gòu)成,每段均是一個(gè)led二極管。這七個(gè)發(fā)光段分別稱(chēng)為a,b,c,d,e,f,g,通過(guò)控制不同段的點(diǎn)亮和熄滅,以顯示所要得到的數(shù)字。七段led的輸出功能也是通過(guò)8255的并行輸出實(shí)現(xiàn)。首先,通過(guò)8255對(duì)led對(duì)七段led顯示器的控制實(shí)現(xiàn)8255的參數(shù)初始化,再通過(guò)輸入指令從8255的輸入鎖存器中取顯示數(shù)據(jù),傳送到數(shù)碼管
6、進(jìn)行輸出操作。其次,通過(guò)指令輸出選通信號(hào),延時(shí)一段時(shí)間后,再對(duì)位選通信號(hào)移位并指向下一個(gè)需要顯示的數(shù)據(jù)。最后,通過(guò)取符號(hào)指令實(shí)現(xiàn)數(shù)字的簡(jiǎn)單運(yùn)算。2、 軟件部分計(jì)算器實(shí)現(xiàn)的運(yùn)算功能如下:首先,通過(guò)8255對(duì)參數(shù)的初始化并送到led顯示后,繼續(xù)檢查是否有鍵碼輸入,并通過(guò)比較指令判斷鍵碼是哪個(gè)鍵,若是數(shù)字鍵和清零鍵,則執(zhí)行相應(yīng)的操作(輸入數(shù)值和狀態(tài)清零)后將其送入顯示緩沖器中。若是功能鍵,則根據(jù)上次功能鍵和輸入的數(shù)據(jù)計(jì)算結(jié)果,如果功能鍵為=,送顯示緩沖等待數(shù)值輸入后送到led顯示。如果是其他鍵,則保存上次運(yùn)算結(jié)果和功能鍵送到顯示緩沖,并由led顯示數(shù)值。利用xlat指令進(jìn)行查表,區(qū)分按下的是數(shù)字還是
7、操作符,如果是數(shù)字,則用專(zhuān)用變量紀(jì)錄該數(shù)字,如果是“+”符號(hào),則用變量記錄該操作符,如果是“=”,則從上兩個(gè)變量中讀取數(shù)據(jù)進(jìn)行計(jì)算,如果是復(fù)位鍵,則將所有數(shù)據(jù)清空。另外,當(dāng)運(yùn)算數(shù)據(jù)超出顯示范圍,或不符合數(shù)學(xué)計(jì)算規(guī)律時(shí),報(bào)錯(cuò)。三、 電路原理圖四、 軟件主要模塊流程圖1、 led數(shù)碼管顯示程序框圖2、 讀鍵輸入子程序框圖3、 鍵盤(pán)掃描主程序框圖4、 數(shù)值送顯示器緩沖子程序框圖5、 主程序框圖五、 問(wèn)題分析與解決方案本次硬件設(shè)計(jì)主要實(shí)現(xiàn)計(jì)算器加法運(yùn)算的功能。硬件電路應(yīng)分為兩個(gè)模塊,一為鍵盤(pán)接口電路,二為led顯示模塊。通過(guò)程序?qū)︽I盤(pán)的掃描和對(duì)led的初始化后實(shí)現(xiàn)加法運(yùn)算,本次實(shí)驗(yàn)主要由8255和計(jì)算
8、機(jī)來(lái)控制計(jì)算器的實(shí)現(xiàn)。8255是可并行輸入輸出芯片,8255主要由數(shù)據(jù)端口a、b、c三個(gè)端口,a組和b組控制邏輯,數(shù)據(jù)總路線緩沖器和讀寫(xiě)控制邏輯組成。8255具有三種基本的工作方式:方式0:基本輸入輸出方式方式1:選通輸入輸出方式方式3:雙向總線i/o方式本次實(shí)驗(yàn)主要是基于8255工作在方式0的方式下實(shí)現(xiàn)的加法運(yùn)算。鍵盤(pán)的設(shè)計(jì)如下:鍵盤(pán)為44的小鍵盤(pán),其中設(shè)09共10各數(shù)字鍵,其他為命令鍵,具體命令為加、等于和清零。led顯示器的設(shè)計(jì)如下:顯示為7段led數(shù)碼管。由鍵盤(pán)讀入數(shù)據(jù)和命令,在數(shù)碼管正確顯示結(jié)果及格式,同時(shí)刷新顯示數(shù)據(jù)。六、 實(shí)驗(yàn)體會(huì)通過(guò)此次實(shí)驗(yàn),我們對(duì)實(shí)驗(yàn)的設(shè)計(jì)有了初步的了解,知道
9、了怎么樣把自己在大學(xué)所學(xué)的知識(shí)運(yùn)用到實(shí)際中來(lái),也知道了電子計(jì)算器是的實(shí)現(xiàn)主要是在并行的輸入輸出的方式下實(shí)現(xiàn)的。此實(shí)驗(yàn)也加深了我們對(duì)8255的工作原理和實(shí)際運(yùn)用的了解,還對(duì)我們經(jīng)常接觸到的鍵盤(pán)的工作原理和led的初始化有了更加充分的了解。了解其工作原理使我們對(duì)所做的實(shí)驗(yàn)更加容易地順利完成,只要我們?cè)趯?shí)驗(yàn)之前把工作原理掌握好,實(shí)驗(yàn)就會(huì)順利完成。參考資料微型計(jì)算機(jī)原理與接口技術(shù)中國(guó)科學(xué)技術(shù)大學(xué)出版社 周荷琴 吳秀清編著附錄:源程序porta equ 0ff9hportb equ 0ffbhportctl equ 0fffhcount equ axdata segmenttable1 db 77h,7
10、bh,7dh,7eh,0b7h,0bbh,0bdh,0beh db 0d7h,0dbh,0ddh,0deh,0e7h,0ebh,0edh,0eehtable2 db 40h,79h,24h,30h,19h,12h,02h,78h db 00h,18h,08h,03h,46h,21h,06h,0ehdata endsstack segment stack dw 50 dup (0)topstack label wordstack endscode segment assume cs:code,ds:data,ss:stackmain proc farstart:mov ax,stack mov
11、ss,ax lea sp,topstack mov ax,data mov ds,ax mov dx,portctl mov al,10001011b out dx,al mov dx,porta mov al,00h out dx,alloop1:call scan cmp ah,00h jnz loop1 cmp al,0ah jl output cmp al,0ah je resetoutput:push ax call dispy jmp loop1reset:mov al,00h call dispy jmp loop1 cmp al,0ch je sumsum:pop ax mov
12、 bx,ss add ax,bx call dispy ret main endpscan proc mov dx,porta mov al,00h out dx,al mov dx,portbwaitopen:in al,dx and al,0fh cmp al,0fh jnz waitopenwaitpres:in al,dx and al,0fh cmp al,0fh je waitpres mov cx,16eahdelay:loop delay in al,dx and al,0fh cmp al,0fh je waitpres mov al,0feh mov cl,alnextrow:mov dx,portaout dx,al mov dx,portb in al,dx and al,0fh cmp al,0fh jne encode rol cl,01 mov al,cl jmp nextrowencode:mov bx,000fh in al,dxnexttry:cmp al,table1bx j
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024新疆瓜果種植戶(hù)與收購(gòu)商合作保障合同3篇
- 2024年項(xiàng)目授權(quán)代表協(xié)議3篇
- 助學(xué)貸款合同(2篇)
- 勞務(wù)派遣合同履行的監(jiān)督協(xié)議書(shū)
- 2024版施工方廉潔自律保障協(xié)議版B版
- 2024年采購(gòu)談判關(guān)鍵環(huán)節(jié)與協(xié)議執(zhí)行策略版B版
- 2024版衛(wèi)星通信技術(shù)研究合同
- 2024年財(cái)產(chǎn)貸款抵押協(xié)議版本3篇
- 二零二五年度個(gè)人借款合同書(shū)法律適用3篇
- 二零二五年度二手房產(chǎn)交易稅費(fèi)籌劃及申報(bào)合同
- 手繪pop教學(xué)課件
- 2024腦血管病指南
- 2022年海南公務(wù)員考試申論試題(B卷)
- 企業(yè)三年?duì)I銷(xiāo)規(guī)劃
- 教師資格考試高中歷史面試試題及解答參考
- 2024年社區(qū)工作者考試試題庫(kù)
- 工廠設(shè)備工程師年終總結(jié)
- 福建省廈門(mén)市2024-2025學(xué)年新人教版九年級(jí)語(yǔ)文上學(xué)期期末質(zhì)量檢測(cè)試題
- 辦公室行政培訓(xùn)
- (完整版)python學(xué)習(xí)課件024600
- 湖南省岳陽(yáng)市2023-2024學(xué)年高一上學(xué)期1月期末質(zhì)量監(jiān)測(cè)試題+物理 含答案
評(píng)論
0/150
提交評(píng)論