




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2013 - 2014 學(xué)年_ _學(xué)期山東科技大學(xué)電工電子實(shí)驗(yàn)教學(xué)中心創(chuàng)新性實(shí)驗(yàn)研究報(bào)告實(shí)驗(yàn)項(xiàng)目名稱 基于51單片機(jī)的簡易計(jì)算器設(shè)計(jì)2013年12 月 27 日一、實(shí)驗(yàn)摘要通過對51單片機(jī)匯編指令、STC89C52RC單片機(jī)片上各功能模塊、> 用外部可編程芯片的學(xué)習(xí)和應(yīng)用訓(xùn)練, 進(jìn)一步熟悉51單片機(jī)匯編程序設(shè)計(jì), 串行總線接口程序設(shè)計(jì)以及外部可編程芯片的使用方法。學(xué)習(xí)創(chuàng)新性實(shí)驗(yàn)報(bào)告的撰寫方法。、實(shí)驗(yàn)?zāi)康?、基于STC89C52RC單片機(jī)設(shè)計(jì)制作簡易計(jì)算器,能完成絕對值小于 100的有符號整數(shù)的加減乘除四則運(yùn)算,運(yùn)算結(jié)果均保留小數(shù)點(diǎn)后一位。2、要求有加、減、乘、除、負(fù)號、歸零、等號鍵。3、
2、利用6位LED顯示參加運(yùn)算的數(shù)據(jù)和運(yùn)算結(jié)果,顯示運(yùn)算結(jié)果超限 提示,消隱未使用位。4、鼓勵(lì)進(jìn)行探索??稍诹私鈱?shí)驗(yàn)室器材并能實(shí)現(xiàn)題目基本要求的情況 下,對題目進(jìn)行創(chuàng)新設(shè)計(jì)三、實(shí)驗(yàn)場地及儀器、設(shè)備和材料:1、實(shí)驗(yàn)場地:J11-3242、實(shí)驗(yàn)儀器、設(shè)備和材料:PC兼容機(jī)一臺、80C52單片機(jī)實(shí)驗(yàn)箱一臺、2*8 鍵盤一個(gè)、6個(gè)共陽極的數(shù)碼管、連線若干四、實(shí)驗(yàn)內(nèi)容 1、實(shí)驗(yàn)原理根據(jù)功能和指標(biāo)要求,本系統(tǒng)選用 MCS-51系列單片機(jī)為主控機(jī)。通過 擴(kuò)展必要的外圍接口電路,實(shí)現(xiàn)對計(jì)算器的設(shè)計(jì)。具體設(shè)計(jì)如下:(1)由于要設(shè)計(jì)的是簡單的計(jì)算器,可以進(jìn)行四則運(yùn)算,為了得到較好的 顯示效果,采用LED顯示數(shù)據(jù)和結(jié)果
3、。(2)另外鍵盤包括數(shù)字鍵(09)、符號鍵(+、-、又與、清除鍵和等 號鍵,故只需要16個(gè)按鍵即可,設(shè)計(jì)中采用集成的計(jì)算鍵盤。(3)執(zhí)行過程:開機(jī)顯示零,等待鍵入數(shù)值,當(dāng)鍵入數(shù)字,通過 LED顯示 出來,當(dāng)鍵入+、-、*、/運(yùn)算符,計(jì)算器在內(nèi)部執(zhí)行數(shù)值轉(zhuǎn)換和存儲,并等 待再次鍵入數(shù)值,當(dāng)再鍵入數(shù)值后將顯示鍵入的數(shù)值,按等號就會(huì)在LED上輸出運(yùn)算結(jié)果。系統(tǒng)模塊圖:圖1系統(tǒng)方案圖2、實(shí)驗(yàn)內(nèi)容(一)、總體硬件設(shè)計(jì)本設(shè)計(jì)選用AT89C5彈片機(jī)為主控單元。顯示部分:采用六位LED動(dòng) 態(tài)數(shù)碼管顯示。按鍵部分:采用 2*8鍵盤;利用2*8的鍵盤掃描子程序,讀 取輸入的鍵值。(二)、鍵盤接口電路計(jì)算器輸入數(shù)字
4、和其他功能按鍵要用到很多按鍵,如果采用獨(dú)立按鍵的方式,在這種情況下,編程會(huì)很簡單,但是會(huì)占用大量的 I/O 口資源,因此 在很多情況下都不采用這種方式,而是采用矩陣鍵盤的方案。矩陣鍵盤采用 兩條I/O線作為行線,八條I/O線作為列線組成鍵盤,在行線和列線的每個(gè) 交叉點(diǎn)上設(shè)置一個(gè)按鍵。這樣鍵盤上按鍵的個(gè)數(shù)就為 2X 8個(gè)。這種行列式鍵 盤結(jié)構(gòu)能有效地提高單片機(jī)系統(tǒng)中I/O 口的利用率。矩陣鍵盤的工作原理:計(jì)算器的鍵盤布局如圖2所示:一般有16個(gè)鍵組成,在單片機(jī)中正好可 以用一個(gè)P口和另一個(gè)P口的兩個(gè)管腳實(shí)現(xiàn)16個(gè)按鍵功能,這種形式在單片機(jī) 系統(tǒng)中也最常用。矩陣鍵盤布局圖:矩陣鍵盤內(nèi)部電路圖如下圖
5、所示:(四)運(yùn)算模塊(單片機(jī)控制)MCS-51單片機(jī)是在一塊芯片中集成了 CPU RAM ROM定時(shí)器/計(jì)數(shù)器 和多功能I/O等一臺計(jì)算機(jī)所需要的基本功能部件。如果按功能劃分,它由 如下功能部件組成,即微處理器(CPU、數(shù)據(jù)存儲器(RAM、程序存儲器 (ROM/EPROM并行I/O 口、串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)及特殊功 能寄存器(SFR 。單片機(jī)是靠程序運(yùn)行的,并且可以修改。通過不同的程序?qū)崿F(xiàn)不同的功 能,尤其是特殊的獨(dú)特的一些功能,通過使用單片機(jī)編寫的程序可以實(shí)現(xiàn)高 智能,高效率,以及高可靠性!因此我們采用單片機(jī)作為計(jì)算器的主要功能 部件,可以很快地實(shí)現(xiàn)運(yùn)算功能。3、實(shí)驗(yàn)步驟 總流程
6、圖:LED顯示詳細(xì)算術(shù)運(yùn)算程序設(shè)計(jì)流程圖:加乘降夠藪值送顯示緩沖五、實(shí)驗(yàn)結(jié)果與分析1、實(shí)驗(yàn)現(xiàn)象、數(shù)據(jù)記錄經(jīng)過反復(fù)測試調(diào)整,該計(jì)算器可簡單進(jìn)行 100以內(nèi)的加減乘除計(jì)算,以及清零功 能,結(jié)果能保留小數(shù)點(diǎn)后一位,能顯示計(jì)算結(jié)果的正負(fù),完成了實(shí)驗(yàn)要求。測試結(jié)果記錄:加法運(yùn)算:15+23=382、對實(shí)驗(yàn)現(xiàn)象、數(shù)據(jù)及觀察結(jié)果的分析與討論:該實(shí)驗(yàn)達(dá)到了實(shí)驗(yàn)的基本要求,但是需要改進(jìn)和提高的還有很多,設(shè)計(jì)的計(jì)算器能 進(jìn)行100以內(nèi)的加減乘除計(jì)算,以及清零功能,結(jié)果能保留小數(shù)點(diǎn)后一位,能顯示計(jì)算 結(jié)果的正負(fù),但是只能進(jìn)行兩個(gè)操作數(shù)的操作,而不能進(jìn)行連續(xù)計(jì)算,比如連加、連乘, 并且不能進(jìn)行有符號數(shù)的計(jì)算,即輸入的
7、兩個(gè)操作數(shù)必須是正號的,也不能輸入帶小數(shù) 點(diǎn)的操作數(shù),對此,我會(huì)課下繼續(xù)對它進(jìn)行研究改進(jìn),爭取做出具有更多功能的更先進(jìn) 的計(jì)算器。3、關(guān)鍵點(diǎn):實(shí)驗(yàn)過程中由于對單片機(jī)的了解的不徹底,想法太簡單遇到了很多的阻礙,開始 只是簡單的覺得只有顯示和鍵盤這兩個(gè)模塊不了解,很難弄,其余的部分只是簡單的加 減乘除,幾句簡單程序就行,結(jié)果后來在四位數(shù)的顯示上出了問題,跟本就不是簡單的 結(jié)果除以1000得出千位,于是又重新編制計(jì)算部分,后來在同學(xué)的幫助下做出了覺得 很正確的程序,不過試驗(yàn)還是失敗,最后從頭重來,一步步研究,一步步計(jì)算,終于顯 示出了正確結(jié)果,該程序的邏輯性很強(qiáng),每個(gè)細(xì)節(jié)都要考慮到,需要一遍遍測試顯
8、示結(jié) 果,知道得出最終正確的答案。六、實(shí)驗(yàn)結(jié)論課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐 能力的重要環(huán)節(jié),是對學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握單片機(jī)的開發(fā)技術(shù)是十分重要的?;仡櫰鸫舜螁纹瑱C(jī)課程設(shè)計(jì),我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,可以說得是苦多于甜,但是可以學(xué)到很多很多的的東西。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出
9、結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。通過這次課程設(shè)計(jì)使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。使我們在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編 程設(shè)計(jì)思路技巧(特別是匯編語言)的掌握方面都能向前邁了一大步,為日后成為合格 的 應(yīng)用型人才打下良好的基礎(chǔ)。七、指導(dǎo)老師評語及得分:簽名:年 月 日附件:源程序等。YSEQU20H;第一個(gè)數(shù)十位JFEQU26H;結(jié)果負(fù)號位YGEQU21H;第一個(gè)數(shù)個(gè)位JQEQU27H;結(jié)果千位ERSEQU22H;第二個(gè)數(shù)十位JBAEQU28H;結(jié)果白位EGEQU23H;第二個(gè)數(shù)個(gè)位JSEQU29H;
10、結(jié)果十位YIEQU24HJGEQU30H;結(jié)果個(gè)位EREQU25HJXEQU31H;結(jié)果小數(shù)位MAIN: MOV20H,#00HONE31: MOV R5,A ;R5 為符號位,MOV21H,#00H減或乘或除MOV22H,#00HONE4: ACALL XS2MOV23H,#00HACALL KEYSCANMOV24H,#00HJB PSW.5,ONE4MOV25H,#00HCJNE A,#11,ONE44MOV26H,#0C0HSJMP MAINMOV27H,#00HONE44:CJNE A,#10,ONE45MOV28H,#00HSJMP ONE4MOV29H,#00HONE45:JNC
11、 ONE4MOV30H,#00HMOV 23H,AMOV31H,#00HACALL DELAYMOV32H,#00HONE5: ACALL XS4ONE1: CLR CACALLKEYSCANACALL KEYSCANJB PSW.5,ONE5JB PSW.5,ONE1CJNE A,#11,ONE55CJNEA,#11,ONE11LJMP MAINSJMP MAINONE55:CJNE A,#10,ONE56ONE11:CJNEA,#10,ONE12SJMP ONE66SJMP ONE1ONE56:JNC ONE5ONE12:JNCONE1MOV 22H,23HMOV21H,AMOV 23H,
12、AORGONE30:JC ONE30000HACALL DELAYACALL DELAY表不加或EQU 32HSJMP ONE3JG1ONE2: ACALL XS1ACALL KEYSCANONE6: ACALL XS5JB PSW.5,ONE2CJNE A,#11,ONE22SJMP MAINONE22:CJNE A,#10,ONE23SJMP ONE2ONE23:JNC ONE31MOV 20H,21HMOV 21H,AACALL DELAYJB PSW.5,ONE6 CJNE A,#11,ONE66 LJMP MAINONE66:CJNE A,#10,ONE6 ACALL GNONE61
13、:ACALL KEYSCAN JB PSW.5,ONE60 LJMP MAINONE60:ACALL XS3ACALL KEYSCANONE3: ACALL XS2 ACALL KEYSCAN JB PSW.5,ONE3 CJNE A,#11,ONE33 SJMP MAINONE33:CJNE A,#10,ONE30ACALL DELAYACALL XS1SJMP ONE61KEYSCAN:LCALL KAP ;掃描鍵子程序JNZ KP1SETBPSW.5 ;置無鍵標(biāo)志RETKP1:LCALL DELY ;去抖LCALL KAP;再次掃描鍵盤JNZ KP2;轉(zhuǎn)識鍵碼程序SETBPSW.5 ;置
14、無鍵標(biāo)志RETRET.* ;KP2:CLRPSW.5;置有鍵操作標(biāo)志*計(jì)算加減乘除MOVR0,#0FEH;逐歹U掃描初始值GN: MOV A,20HMOVR4,#00H;0列加數(shù)MOV B,#10KP4:MUL ABMOVA,R0ADD A,21HMOVP0,A;送列掃描仿號MOV 24H,AMOVA,P2;回讀行信號;*得至個(gè)數(shù)JBACC.0,L1 ;不是A行,轉(zhuǎn)第二行MOV A,22HMOVA,#00H ;是 A行,行嗎=0MOV B,#10AJMPKP5MUL ABL1:JBACC.1,NEXT ;不是第二行,轉(zhuǎn)下一ADD A,23H列MOV 25H,AMOVA,#08H ;是第二行,行
15、碼二8;*得至 ij第二個(gè)數(shù)AJMPKP5MOV A,R5KP5:ADDA,R4;對應(yīng)的行碼+對應(yīng)的列碼=J0: CJNE A,#12,J1鍵碼SJMP JIAPUSHACC ;保護(hù)已經(jīng)得到的鍵碼LJMP XS3KP3:LCALLDELYRETLCALLKAP ;繼續(xù)掃描J1: CJNE A,#13,J2JNZKP3 ;A 值小等丁 0,表小手未SJMP JIAN松開!LJMP XS3POPACC ;A值等于0,手已經(jīng)松開,RET彈回鍵碼!J2: CJNE A,#14,J3RETSJMP CHENGNEXT:INCR4;下一列列碼加1LJMP XS3MOVA,R0RETJNBACC.7,KEY
16、SCAN;列到最后列J3: LJMP CHU了嗎?LJMP XS3RLARETMOVR0,A;下一列JIA: MOV A,24HAJMPKP4;掃而F 一列ADD A,25HKAP:MOVA,#00H;全掃描字(列)MOV JG1,AMOVP0,A;送全掃描字LJMP AAAAMOVA,P2;回讀行信息RETCPLAJIAN:MOV A,24HANLA,#0FH;得到 A 值,=0,CLR C無鍵;*0,有鍵SUBB A,25HRETMOV JG1,ADELY:MOVR6,#14H;去抖!JNC JIAN1DL:MOVR7,#0FFHMOV JF,#0BFHDJNZR7,$MOV A,#255
17、DJNZR6,DLCLR CSUBB A,32HINC AMOV JG1,AJIAN1: LJMP AAAARETCHENG:CLR C ;個(gè)位與個(gè)位相乘MOV A,21HMOV B,23HMUL ABMOV B,#10DIV ABMOV JG,BMOV JS,AMOV A,20H;十位與個(gè)位相乘MOV B,23HMUL ABMOV B,#10DIV ABMOV JBA,AMOV A,BADDC A,JSCJNE A,#10,CH1SJMP CH2CH1: JC CH3CH2: CLR CSUBB A,#10MOV JS,AMOV A,JBAINC AMOV JBA,ASJMP CH4CH3:
18、 MOV JS,ACH4: MOV A,22H;個(gè)位與十位相乘MOV B,21HMUL ABMOV B,#10DIV ABADDC A,JBAMOV JBA,AMOV A,BADDC A,JSCJNE A,#10,CH5SJMP CH6CH5:JC CH7CH6:CLR CSUBB A,#10MOV JS,AMOV A,JBAINC AMOV JBA,ASJMP CH8CH7: MOVJS,ACH8: MOV A,20H;十位與十位相乘MOV B,22HMUL ABMOV B,#10DIV ABMOV JQ,AMOV A,BADDC A,JBACJNE A,#10,CH9SJMP CH10CH
19、9: JC CH11CH10:CLR CSUBB A,#10MOV JBA,AMOV A,JQINC AMOV JQ,ASJMP CH12CH11:MOV JBA,ACH12:RETCHU: MOV A,24HMOV B,25HDIV ABMOV JG1,AMOV A,B ;余數(shù)MOV B,#10MUL ABMOV B,25HDIV ABMOV JX,A;小數(shù)SJMP AAAARETAAAA:MOV A,JG1MOV B,#10DIV ABMOV JG,B;得到JG1個(gè)位MOV B,#10MOVA,23HDIV ABMOVP1,#0FFH;共陽火碼MOV JS,B彳導(dǎo)至U JG1十位MOVP0
20、,#20HMOV JBA ,A;得到JG1百位MOVDPTR,#TABRETMOVCA,A+DPTR;查出字形代碼.* ;MOVP1,A;送個(gè)位XS1: MOVA,21HMOV P1,#0FFH洪陽火他ACALLRETDELAYMOV P0,#20H* ;MOV DPTR,#TABXS3: MOVP1,#0FFH;共陽火碼MOVCA,A+DPTR ;查出字形代碼MOVP0,#01H;送位控佶號MOV P1,A;送個(gè)位MOVA,JFACALLDELAYMOVP1,A;送負(fù)號位RETACALLDELAY ;穩(wěn)定顯示信息XS2: MOV A,20H ;顯示輸入的第一個(gè)數(shù)MOVP1,#0FFH;共陽火碼MOV P1,#0FFH洪陽火他MOV P0,#02HMOV P0,#10H;送位控佶號MOVA,JQMOV DPTR,#TABMOVDPTR,#TABMOVCA,A+DPTR ;查出字形代碼MOVCA,A+DPTR ;查出字形代碼MOV P1,A;0 位MOVP1,A ;送千位ACALLDELAY ;穩(wěn)定顯示信息ACALLDELAY ;穩(wěn)定顯示信息MOV A,21HMOVP1,#0FFH;共陽火碼MOV P1,#0FFH洪陽火他MOVP0,#04HMOV P0,#20HMOVA,JBAMOV DPTR,#TABMOVDPTR,#TABMOVCA,A+D
溫馨提示
- 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)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025太陽能槽式復(fù)合拋物面聚光集熱土壤儲熱技術(shù)
- 個(gè)人勞動(dòng)法權(quán)益保障合同
- 個(gè)人抵押借款擔(dān)保合同
- 分期付款購買機(jī)動(dòng)車合同書
- 醫(yī)療器械藥品購銷合同
- 醫(yī)院場地租賃合同書樣本
- 五金電器銷售合同6篇
- 2025年紅河b2貨運(yùn)上崗證模擬考試
- 合同范本銷售人員聘用合同7篇
- 面板自動(dòng)檢測機(jī)競爭策略分析報(bào)告
- (人教PEP2024版)英語一年級上冊Unit 3 教學(xué)課件(新教材)
- 小小演說家演講技巧教學(xué)設(shè)計(jì)
- 住院患者跌倒、墜床、壓力性損傷的風(fēng)險(xiǎn)評估及管理
- 2024移動(dòng)電源車運(yùn)維管理技術(shù)規(guī)范柴油機(jī)類
- 2024年中國端側(cè)大模型行業(yè)研究:算力優(yōu)化與效率革命+如何重塑行業(yè)生態(tài)-22正式版
- 學(xué)校臨聘人員規(guī)范管理自查報(bào)告
- (高清版)DB37T 5271-2024 建設(shè)工程造價(jià)指標(biāo)采集與發(fā)布標(biāo)準(zhǔn)
- 投訴法官枉法裁判范本
- 食材配送服務(wù)方案投標(biāo)方案(技術(shù)方案)
- 新能源充電樁安全管理與防護(hù)
- 借用資質(zhì)投標(biāo)合作協(xié)議模板
評論
0/150
提交評論