




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
沈陽航空航天大學(xué)課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)名稱:單片機(jī)系統(tǒng)綜合課程設(shè)計(jì)課程設(shè)計(jì)題目:簡易計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)院(系):專業(yè):班級(jí):學(xué)號(hào):姓名:指導(dǎo)教師:完成日期:目錄TOC\o"1-3"\h\z第1章 總體設(shè)計(jì)方案 11.1設(shè)計(jì)內(nèi)容 11.2設(shè)計(jì)原理 11.3設(shè)計(jì)思路 21.4實(shí)驗(yàn)環(huán)境 2第2章詳細(xì)設(shè)計(jì)方案 32.1硬件電路設(shè)計(jì) 32.2主程序設(shè)計(jì) 72.2功能模塊的設(shè)計(jì)與實(shí)現(xiàn) 8第3章結(jié)果測試及分析 113.1結(jié)果測試 113.2結(jié)果分析 11參考文獻(xiàn) 12附錄1元件清單 13附錄2總電路圖 14附錄3程序代碼 15總體設(shè)計(jì)方案1.1設(shè)計(jì)內(nèi)容本設(shè)計(jì)是基于51系列的單片機(jī)進(jìn)行的十進(jìn)制計(jì)算器系統(tǒng)設(shè)計(jì),可以完成計(jì)算器的鍵盤輸入,進(jìn)行加、減、乘、除1位無符號(hào)數(shù)字的簡單四則運(yùn)算,并在6位8段數(shù)碼管上顯示相應(yīng)的結(jié)果。設(shè)計(jì)過程在硬件與軟件方面進(jìn)行同步設(shè)計(jì)。硬件方面從功能考慮,首先選擇內(nèi)部存儲(chǔ)資源豐富的8751單片機(jī),輸入采用4×4矩陣鍵盤。顯示采用6位8段共陽極數(shù)碼管動(dòng)態(tài)顯示。軟件方面從分析計(jì)算器功能、流程圖設(shè)計(jì),再到程序的編寫進(jìn)行系統(tǒng)設(shè)計(jì)。編程語言方面從程序總體設(shè)計(jì)以及高效性和功能性對(duì)C語言和匯編語言進(jìn)行比較分析,最終選用匯編語言進(jìn)行編程,并用protel99se涉及硬件電路。1.2設(shè)計(jì)原理在該課程設(shè)計(jì)中,主要用到一個(gè)8751芯片和串接的共陽數(shù)碼管,和一組陣列式鍵盤。作為該設(shè)計(jì)的主要部分,下面將對(duì)它們的原理及功能做詳細(xì)介紹和說明。提出方案以8751為核心,和數(shù)碼管以及鍵盤用實(shí)驗(yàn)箱上已有的器件實(shí)現(xiàn)計(jì)算器的功能。2)總體方案實(shí)現(xiàn)(1)要解決鍵值得讀入。先向鍵盤的全部列線送低電平,在檢測鍵盤的行線,如果有一行為低電平,說明可能有按鍵按下,則程序轉(zhuǎn)入抖動(dòng)檢測就是延時(shí)10ms再讀鍵盤的行線,如讀得的數(shù)據(jù)與第一次的相同,說明真的有按鍵按下,程序轉(zhuǎn)入確認(rèn)哪一鍵按下的程序,該程序是依次向鍵盤的列線送低電平,然后讀鍵盤的行線,如果讀的值與第一次相同就停止讀,此時(shí)就會(huì)的到鍵盤的行碼與列碼查表可的鍵值。并且將鍵值送入緩沖區(qū)。(2)計(jì)算。從緩沖區(qū)中取出數(shù)據(jù)按照括號(hào)配匹算法解決符號(hào)優(yōu)先級(jí)問題,如果有鍵值為“F”則清空緩沖區(qū)跳至開始處,否則調(diào)用匯編指令進(jìn)行計(jì)算,結(jié)果送入緩沖區(qū)。(3)顯示。從緩沖區(qū)中取出數(shù)據(jù)查找段碼表,將段碼送入段碼管。1.3設(shè)計(jì)思路采用匯編語言程序設(shè)計(jì)的方法結(jié)合硬件電路設(shè)計(jì)方法,利用Lab6000實(shí)驗(yàn)箱上已有芯片來實(shí)現(xiàn)計(jì)算器的各項(xiàng)功能。1.4實(shí)驗(yàn)環(huán)境硬件環(huán)境:Lab6000實(shí)驗(yàn)箱,PC機(jī)。軟件環(huán)境:WAVE應(yīng)用軟件。第2章詳細(xì)設(shè)計(jì)方案2.1硬件電路設(shè)計(jì)1)單片機(jī)8751P0口作為存儲(chǔ)器地址線的低8位,p2口作為地址線的高8位,采用定時(shí)器0作為鍵盤抖動(dòng)時(shí)的10ms延時(shí),采用外部設(shè)備與存儲(chǔ)器統(tǒng)一編制方式。如圖2.1所示。圖2.1單片機(jī)8751圖2)8段共陽極數(shù)碼管圖為八段共陽極數(shù)碼管的引腳圖,從左到右數(shù)碼管的段碼分別為a,b,c,d,e,f,g和小數(shù)點(diǎn)dp,高電平時(shí)點(diǎn)亮,這八位分別74LS374的Q0~Q7接,作為數(shù)碼管的段碼鎖存器,其CPU訪問地址位09004。下邊為位選端和陽極端,6個(gè)位選端分別與另一片74LS374的Q0~Q5,與此同時(shí)為了體現(xiàn)總線的復(fù)用性和硬件電路的簡單性這6位位選線作為鍵盤的列線,CPU訪問地址為09002H。如圖2.2所示。圖2.2 共陽極8段數(shù)碼管圖3)鍵盤鍵盤可分為兩類:編碼鍵盤和非編碼鍵盤。編碼鍵盤是較多按鍵(20個(gè)以上)和專用驅(qū)動(dòng)芯片的組合,當(dāng)按下某個(gè)按鍵時(shí),它能夠處理按鍵抖動(dòng)、連擊等問題,直接輸出按鍵的編碼,無需系統(tǒng)軟件干預(yù)。通用計(jì)算機(jī)使用的標(biāo)準(zhǔn)鍵盤就是編碼鍵盤。當(dāng)系統(tǒng)功能比較復(fù)雜,按鍵數(shù)量很多時(shí),采用編碼鍵盤可以簡化軟件設(shè)計(jì)。但大多數(shù)智能儀器和電子產(chǎn)品的按鍵數(shù)目都不太多(20個(gè)以內(nèi)),為了降低成本和簡化電路通常采用非編碼鍵盤。非編碼鍵盤的接口電路有設(shè)計(jì)者根據(jù)需要自行決定,按鍵信息通過接口軟件來獲取。本課題需要的是16個(gè)按鍵,故選擇用非編碼鍵盤。鍵盤的行線與一片74LS245相連接作為鍵盤的掃描碼,其CPU訪問地址09001H。如圖2.3所示。圖2.3 簡易計(jì)算器數(shù)據(jù)輸入鍵盤圖4)74LS37474LS374是地址鎖存器,一片用來鎖存鍵盤,數(shù)碼管的地址,另一片用來鎖存數(shù)碼管的段碼。如圖2.4所示。圖2.474LS374圖5)74LS24574LS245用來讀取鍵盤的行碼A0-A3分別與鍵盤的行線相連接;B0-B7分別與數(shù)據(jù)總線相連接。如圖2.5所示。圖2.574LS245圖6)UNL2003AUNL2003A相當(dāng)于7個(gè)非門IN輸入OUT輸出,其中IN端接鍵盤的列線,OUT端接數(shù)碼管。如圖2.6所示。圖2.6ULN2003A圖2.2主程序設(shè)計(jì)主程序模塊是邊檢測邊顯示的模塊,一旦有按鍵按下(無論是按鍵抖動(dòng)還是真的有按鍵按下)就轉(zhuǎn)入鍵值讀取模塊,如果沒有按鍵按下或是已經(jīng)從鍵值讀取模塊返回,就繼續(xù)從一個(gè)以30H為首地址的緩沖區(qū)中取出數(shù)據(jù)并轉(zhuǎn)換成數(shù)碼管的段碼顯示出來。主模塊是一個(gè)死循環(huán)函數(shù)沒有結(jié)束直至人為終止。主程序流程圖如圖2.7所示。 圖2.7主程序流程圖2.2功能模塊的設(shè)計(jì)與實(shí)現(xiàn)1)鍵值讀取模塊。鍵只讀取模塊是,當(dāng)主模塊中有按鍵時(shí),才被調(diào)用的。其功能是首先延時(shí)10ms已消除鍵盤抖動(dòng),繼續(xù)讀寫,若讀得的數(shù)據(jù)與主模塊中的鍵值一樣則真的有按鍵按下,若是“F”鍵則清空緩沖區(qū)若是“E”鍵則調(diào)用計(jì)算模塊,否則將鍵值寫入緩沖區(qū)返回主函數(shù)。流程圖如2.8所示。圖2.8鍵值讀取模塊圖圖2.8鍵值讀取模塊圖2)計(jì)算模塊計(jì)算模塊是從緩沖區(qū)中取得數(shù)據(jù)并且壓棧,如遇到“*”或是“/”就出棧同時(shí)進(jìn)行乘除運(yùn)算;至到遇到等號(hào)為止,再從棧中取得數(shù)據(jù)進(jìn)行加減運(yùn)算。并將計(jì)算的結(jié)果送入緩沖區(qū)中。具體流程圖如圖2.9所示。圖2.9計(jì)算模塊圖2.9計(jì)算模塊圖第3章結(jié)果測試及分析3.1結(jié)果測試計(jì)算器實(shí)現(xiàn)了0–F內(nèi)的加減乘除法運(yùn)算,并將表達(dá)式以及結(jié)果顯示在六位八段數(shù)碼管上,其中A鍵為加號(hào),B鍵為減號(hào),C鍵為乘號(hào)D鍵為除號(hào),F(xiàn)鍵為清零,還可以實(shí)現(xiàn)表達(dá)式的運(yùn)算,例如1+2*3/4-5=-2.75的表達(dá)式。3.2結(jié)果分析鍵值的讀取是本次課程設(shè)計(jì)最關(guān)鍵的一部分,因?yàn)橹挥袕逆I盤取得數(shù)據(jù)才能進(jìn)行計(jì)算和顯示,否則該題目無法繼續(xù)進(jìn)行下去,按鍵的讀取邏輯方面并不是很難,但是邊讀取邊顯示就顯得不那么簡單了,所以存在一個(gè)延時(shí)問題。延時(shí)得當(dāng)則讀取和顯示可完美結(jié)合。計(jì)算也是一個(gè)很關(guān)鍵部分,本來想做一個(gè)任意位數(shù)的任意數(shù)學(xué)表達(dá)式的計(jì)算器可是由于時(shí)間限制,只能完成了計(jì)算任意數(shù)學(xué)表達(dá)式計(jì)算器。顯示模塊比較簡單實(shí)現(xiàn)起來也比較容易。參考文獻(xiàn)[1]王愛英.計(jì)算機(jī)組成與設(shè)計(jì)[M].北京:教育出版社,2003[2]楊素行.微型計(jì)算機(jī)系統(tǒng)原理及應(yīng)用[M].北京:清華大學(xué)出版社,1996[3]張雪蘭.匯編語言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2006[4]龔尚福.微機(jī)原理與接口技術(shù)[M].西安:西安電子科技大學(xué)出版社,2003[5]王中民.微型計(jì)算機(jī)原理[M].西安:西安電子科技大學(xué)出版社,2003[6]沈美明,溫冬嬋.IBM-PC匯編語言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2001附錄1元件清單名稱數(shù)量(個(gè))型號(hào)備注電阻68段數(shù)碼管6DPY開關(guān)24BUTTON單片機(jī)18751與非門3電源3電容330pf(2個(gè)),10uf(1個(gè))晶振1CRYSTAL芯片574LS系列ULN2003A74LS138,74LS245,74LS373(2)74LS374附錄2總電路圖附錄3程序代碼ORG0000HLJMPMAINORG000BHLJMPINTORG00FFHMAIN:MOVR7,#30HMOVR6,#00HCALLRESETJMPMAINRESET:MOVA,R7MOVR0,AMOVR1,#01HMOVA,#06HSUBBA,R6JBPSW.7,MAXMOVA,R6XRLA,#00HJZCCMOVA,R6MOVR3,AJMPLOOP5MAX:MOVR3,#06HLOOP5:MOVA,@R0MOVR5,ACALLCHACKTABLECALLDISPLAYMOVA,R1RLAMOVR1,ADECR0DJNZR3,LOOP5CC:MOVDPTR,#09004HMOVA,#00HMOVX@DPTR,AMOVR1,#00HCALLREADXRLA,#0FHJZRESETCALLCHACKJMPRESETRETCHACK:CALLDELAYMOVXA,@DPTRMOVR2,AxrlA,R0JZHAVEAJMPCHACKHAVE:MOVR1,#0FBHLOOP:CALLREADxrlA,R2JZEQUALMOVA,R1RLAMOVR1,AAJMPLOOPEQUAL:CALLDELAYCALLDELAYLOOP2:MOVXA,@DPTRXRLA,#0FHJZLOOP3JMPLOOP2LOOP3:CALLCHACKTABCALLCHACKTABLECALLRESOLVERETCHACKTAB:MOVDPTR,#TABMOVA,#00HMOVR5,#00HLOOP4:RLAMOVR4,AMOVCA,@A+DPTRXRLA,R1JNZNEXTMOVA,R4INCAMOVCA,@A+DPTRXRLA,R0JNZNEXTAJMPENDDNEXT:INCR5MOVA,R5SJMPLOOP4ENDD:RETCHACKTABLE:MOVDPTR,#TABLEMOVA,R5MOVCA,@A+DPTRMOVR4,ARETDISPLAY:MOVDPTR,#09002HMOVA,R1MOVX@DPTR,AMOVDPTR,#09004HMOVA,R4MOVX@DPTR,AMOVR2,#0FFHDJNZR2,$RETREAD:MOVDPTR,#09002HMOVA,R1MOVX@DPTR,AMOVDPTR,#09001HMOVXA,@DPTRMOVR0,ARETRESOLVE:INCR7MOVA,R7MOVR0,AMOVA,R5INCR6MOV@R0,AMOVA,R5XRLA,#0FHJZCLEARMOVA,R5XRLA,#0EHJZMJMPMMM:LCALLJISUANGMM:RETCLEAR:LJMPMAINDELAY:MOVTH0,#3CHMOVTL0,#0B0HMOVTMOD,#01HSETBEASETBET0SETBTR0JBTR0,$JMPRRRINT:CLRTR0RETIRRR:RETTAB:DW0DF0EH,0DF0DH,0EF0DH,0F70DH,0DF0BH,0EF0BH,0F70BHDW0DF07H,0EF07H,0F707H,0FB07H,0FB0BH,0FB0DH,0FB0EHDW0F70EH,0EF0EHTABLE:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,6FH,77H,7CH,39H,5EH,79H,71HJISUANG:MOVR0,#31HMOVR1,#50HCHENGCHU:MOVA,@R0XRLA,#0CHJZCHENGMOVA,@R0XRLA,#0DHJZCHENGMOVA,@R0XRLA,#0EHJZOVERMOVA,@R0MOV@R1,AINCR0INCR1JMPCHENGCHUCHENG:MOVA,@R0MOVR3,ADECR1MOVA,@R1MOVR2,AINCR0MOVA,@R0INCR0MOVR4,ACALLMATHMOVA,R5MOV@R1,AINCR1MOVA,R5MOV@R1,AJMPCHENGCHUCHU:MATH:MOVA,R3XRLA,#0AHJZADDDMOVA,R3XRLA,#0BHJZSUBBBMOVA,R3XRLA,#0CHJZMULLJMPOVERADDD:MOVA,R2ADDA,R4MOVR5,AJMPRETTSUBBB:MOVA,R2SUBBA,R4MOVR5,AJMPRETTMULL:MOVA,R2MOVB,R4MULABMOVR5,ARETT:RETOVER:INCR0MOVA,#0EHMOV@R1,AMOVR1,#50HLOOP8:MOVA,@R1XR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貨物運(yùn)輸保險(xiǎn)企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 籃球運(yùn)動(dòng)用品和器械企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 山東省2025年度新建商品房買賣合同預(yù)售與社區(qū)綠化養(yǎng)護(hù)協(xié)議
- 2025年度施工合同糾紛免責(zé)責(zé)任合同
- 二零二五年度新能源汽車多人合伙股東協(xié)議書
- 二零二五年度酒吧會(huì)員積分體系合作協(xié)議
- 二零二五年度生物制藥原材料進(jìn)口代理服務(wù)合同
- 二零二五年度購物中心大廳品牌租賃合同及廣告宣傳服務(wù)協(xié)議
- 二零二五年度網(wǎng)絡(luò)安全防護(hù)專家聘用協(xié)議
- 二零二五年度航空餐食供應(yīng)的食品供貨合同
- 大班健康《愛是什么》課件
- 特種作業(yè)(鍋爐工)安全培訓(xùn)
- 鋼梁現(xiàn)場安裝檢驗(yàn)批質(zhì)量檢驗(yàn)記錄
- (完整word版)中醫(yī)病證診斷療效標(biāo)準(zhǔn)
- 生產(chǎn)建設(shè)項(xiàng)目土壤流失量測算導(dǎo)則計(jì)算程序
- GB/T 28621-2023安裝于現(xiàn)有建筑物中的新電梯制造與安裝安全規(guī)范
- 煤矸石填溝造地項(xiàng)目實(shí)施方案
- 大課間跑操評(píng)分表
- 《義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)(2022年版)》解讀
- 控制系統(tǒng)基本概念
- 中小學(xué)生心理健康診斷測驗(yàn)MHT(附測試量表及評(píng)分細(xì)則)
評(píng)論
0/150
提交評(píng)論