8位四則運(yùn)算計(jì)算器設(shè)計(jì)報告_第1頁
8位四則運(yùn)算計(jì)算器設(shè)計(jì)報告_第2頁
8位四則運(yùn)算計(jì)算器設(shè)計(jì)報告_第3頁
8位四則運(yùn)算計(jì)算器設(shè)計(jì)報告_第4頁
8位四則運(yùn)算計(jì)算器設(shè)計(jì)報告_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上單片機(jī)應(yīng)用課程設(shè)計(jì)報告 設(shè)計(jì)題目8位四則運(yùn)算計(jì)算器姓 名胡成、柏壯壯、王慶安、杜威、孫潤學(xué) 號Z、ZZ、Z、Z年 級2014級專 業(yè)自動化指導(dǎo)教師張道信、張德祥考核成績電氣工程與自動化學(xué)院2017 年 6 月 28 日專心-專注-專業(yè)8位四則運(yùn)算計(jì)數(shù)器摘要隨著時代的發(fā)展,單片機(jī)在生活中應(yīng)用越來越廣泛。而生活中,用到計(jì)算的場合十分之多,有時候計(jì)算較復(fù)雜時,人工計(jì)算遠(yuǎn)遠(yuǎn)不及計(jì)算器的快速性、準(zhǔn)確性。因此計(jì)算器的出現(xiàn)大大便捷了人類生活。本文介紹用STC89C52RC單片機(jī)來設(shè)計(jì)簡單四則運(yùn)算計(jì)算器。關(guān)鍵詞:STC89C52RC、硬件電路、軟件程序8 Bit Arithmetic

2、s CalculatingAbstractWith the development of the era, MCU becomes more and more general in life. And calculation applies to many occasions in life, sometimes calculate by self can not be comparable to calculating in complex occasions, especially in the aspect of rapidity and accuracy. So, the appear

3、ance of calculating has convenient peoples lives. This writings introduces how to design simple arithmetics calculating with STC89C52RC MCU. Keywords: MCU、Hardware circuit、Software program 目錄第1章 單片機(jī)的基本概述1.1 基本概述單片機(jī)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機(jī)存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計(jì)數(shù)器等功能集成到一

4、塊硅片上構(gòu)成的一個小而完善的微型計(jì)算機(jī)系統(tǒng)。經(jīng)過40多年的發(fā)展,單片機(jī)以其成本低、體積小、可靠性高、系統(tǒng)結(jié)構(gòu)簡單、性能價格比高的特點(diǎn),在工業(yè)測控、儀器儀表、航天航空、武器準(zhǔn)備、家用電器等領(lǐng)域中得到了廣泛應(yīng)用。本次課設(shè)所采用的STC89C52單片機(jī)是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash存儲器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標(biāo)準(zhǔn)功能

5、: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個16 位定時器/計(jì)數(shù)器,4個外部中斷,一個7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷結(jié)構(gòu)),全雙工串行口。另外 STC89X52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選。第2章 單片機(jī)應(yīng)用課程設(shè)計(jì)的目的和意義2.1 設(shè)計(jì)的目的和

6、意義為了進(jìn)一步鞏固學(xué)習(xí)的理論知識,增強(qiáng)我們對所學(xué)知識的實(shí)際應(yīng)用能力和運(yùn)用所學(xué)的知識解決實(shí)際問題的能力,開始為期5至14天的單片機(jī)課程設(shè)計(jì)。單片機(jī)課程設(shè)計(jì)中,通過查閱資料,接口設(shè)計(jì),程序設(shè)計(jì),安裝調(diào)試等環(huán)節(jié),完成一個簡單8位計(jì)算器的設(shè)計(jì)編程應(yīng)用。使我們不但能夠?qū)⒗碚撆c實(shí)踐結(jié)合,且能夠進(jìn)一步認(rèn)識電子電路、電子元器件、PCB板。同時提高自己軟件編程,出錯調(diào)試等技巧。通過實(shí)訓(xùn)使我們在鞏固所學(xué)知識的基礎(chǔ)之上具有初步的單片機(jī)系統(tǒng)設(shè)計(jì)與應(yīng)用能力。第3章 系統(tǒng)的硬件電路設(shè)計(jì)3.1 系統(tǒng)的整體設(shè)計(jì)框架圖3.1 系統(tǒng)總體設(shè)計(jì)框架3.2 系統(tǒng)的硬件設(shè)計(jì)模塊3.2.1 晶振電路 本系統(tǒng)采取11.0592MHz晶振為振

7、蕩源,為單片機(jī)提供時鐘信號,如圖3.2所示。圖3.2 晶振電路3.2.2 復(fù)位電路系統(tǒng)復(fù)位電路如圖3.3所示圖3.3 復(fù)位電路3.2.3 矩陣鍵盤電路共計(jì)16個按鍵,采用4*4矩陣鍵盤,鍵盤的行和列之間都有公共端相連,四行和四列的8個公共端分別接P3.0P3.7,這樣掃描P3口就可以完成對矩陣鍵盤的掃描,通過對16個按鍵進(jìn)行編碼,從而得到鍵盤按鍵地址,對比P3口的掃描結(jié)果和各按鍵的地址,我們就可以得到是哪個鍵按下。如圖3.4所示。圖3.4 矩陣鍵盤電路3.2.4 蜂鳴器電路蜂鳴器電路就是在計(jì)算結(jié)果出現(xiàn)錯誤(溢出)時或輸入數(shù)據(jù)出現(xiàn)錯誤時,發(fā)出聲音警報,提示使用者錯誤出現(xiàn)。在編寫程序時,報警電路實(shí)

8、現(xiàn)的功能是:當(dāng)計(jì)算正常時使P2.3口輸出高電平時,蜂鳴器不會響應(yīng)。當(dāng)計(jì)算出現(xiàn)錯誤(例如0作為被除數(shù)時)此時給P2.3輸出低電平,使蜂鳴器響應(yīng),達(dá)到報警功能。如圖3.5所示。圖3.5 蜂鳴器電路3.2.5 LCD顯示電路本設(shè)計(jì)采用LCD液晶顯示器來顯示輸出數(shù)據(jù)通過D0-D7引腳向LCD寫指令字或?qū)憯?shù)據(jù)以使LCD實(shí)現(xiàn)不同的功能或顯示相應(yīng)數(shù)據(jù)。如圖3.6所示。圖3.6 LCD顯示電路第4章 系統(tǒng)的軟件設(shè)計(jì)4.1 矩陣鍵盤掃描程序掃描鍵盤看是否有鍵輸入,先消除抖動,然后確認(rèn)是否真的有按鍵按下,最后確認(rèn)哪個鍵被按下得出鍵值。流程圖如圖4.1所示。圖4.1 鍵盤掃描流程圖這里采用行掃描的方法來完成對鍵盤的

9、掃描。行掃描就是逐行掃描鍵盤,看是哪一行有鍵按下,再通過返回的鍵碼來確定究竟是哪個按鍵按下。如對第一行掃描就令P3.0為低,P3口其余為高,這樣若第一行有鍵按下,則P3口的值就會由0xfe變?yōu)槠渌?,再由這個值來確定是哪個鍵按下。部分程序如下(此處為掃描第一行鍵盤):void keyscan() uchar temp; P3=0xfe; temp=P3; temp=temp&0xf0; while(temp!=0xf0) delay(5); temp=P3; temp=temp&0xf0; while(temp!=0xf0) temp=P3; switch(temp) case

10、 0xee:num=0; break; case 0xde:num=1; break; case 0xbe:num=2; break; case 0x7e:num=3; break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; 4.2 LCD程序LCD顯示流程圖如圖4.2所示:圖4.2 LCD顯示流程圖部分程序:初始化程序:void write_com(uchar com) RS=0; RW=0; E=1; P0=com; delay(5); E=0;void write_dat(uchar dat) RS=1; RW=0; E=1; P0=d

11、at; delay(5); E=0;void init() delay(15); write_com(0x38); delay(6); write_com(0x38); delay(6); write_com(0x38); write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01);顯示程序(以執(zhí)行減法為例): if(fuhao=2) write_com(0x80+0x4f); write_com(0x04); if(a>=b) c=a-b;if(c>) bg=0; delay(100); bg=1; wri

12、te_dat(0x52); write_dat(0x4f); write_dat(0x52); write_dat(0x52); write_dat(0x45); while(c!=0&&c<=&&c>=-) write_dat(0x30+c%10); c=c/10; else if(a<b) c=b-a; if(c<) bg=0; delay(100); bg=1; write_dat(0x52); write_dat(0x4f); write_dat(0x52); write_dat(0x52); write_dat(0x45); while(c!=0&&c<=&&c>=-) write_dat(0x30+c%10); c=c/10; write_dat(0x2d); write_dat(0x3d); a=0;b=0;flag=0;fuhao=0;第5章 功能分析5.1 功能分析加:結(jié)果8位內(nèi)加法運(yùn)算,結(jié)果超出8位蜂鳴器報警,LCD顯示ERROR。減:結(jié)果8位內(nèi)減法運(yùn)算,結(jié)果可為負(fù)(負(fù)數(shù)顯示帶負(fù)號),超出8位蜂鳴器報警,LCD顯示ERROR乘:結(jié)果8位內(nèi)乘法運(yùn)算,結(jié)果超出8位蜂鳴器報警,LCD顯示ERROR。除:結(jié)果帶四位小數(shù)除法運(yùn)算,0為除數(shù)或

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論