




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告目錄課程設(shè)計(jì)目的……………硬件電路設(shè)計(jì)……………2.1AT89C51的功能介紹……………2.1.1簡(jiǎn)單概述…………2.1.2主要功能特性·……………………2.1.3AT89C51的引腳介紹………………2.2顯示電路·………………2.2.1LM016L的結(jié)構(gòu)及功能……………2.2.2LM016L的引腳功能介紹…………2.2.3LM016L的電路接線圖……………2.3振蕩電路設(shè)計(jì)………………………2.4鍵盤電路設(shè)計(jì)………………2.5鍵盤掃描子程序設(shè)計(jì)…………………2.6總電路……………程序設(shè)計(jì)與說明…………3.1程序主流程圖………………結(jié)論……………體會(huì)與收獲……………………參考文獻(xiàn)……………單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告全文共11頁(yè),當(dāng)前為第1頁(yè)。單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告全文共11頁(yè),當(dāng)前為第1頁(yè)。一.課程設(shè)計(jì)的目的
單片機(jī)的出現(xiàn)是計(jì)算機(jī)制造技術(shù)高速發(fā)展的產(chǎn)物,它是嵌入式控制系統(tǒng)的核心,如今,它已廣泛的應(yīng)用到我們生活的各個(gè)領(lǐng)域,電子、科技、通信、汽車、工業(yè)等。本次設(shè)計(jì)是設(shè)計(jì)一個(gè)簡(jiǎn)易計(jì)算器,能夠進(jìn)行多位簡(jiǎn)單的加減運(yùn)算,同時(shí)它能支持2位整數(shù)運(yùn)算。它主要由STC89C52單片機(jī)、數(shù)碼管,鍵盤等模塊組成。本計(jì)算器是將鍵盤輸入信息經(jīng)處理通過緩存,送入數(shù)碼管顯示,鍵盤采用行列式,數(shù)碼管采用動(dòng)態(tài)掃描方式,計(jì)算功能通過軟件實(shí)現(xiàn),用匯編語言對(duì)單片機(jī)可編
芯片進(jìn)行編程,實(shí)現(xiàn)對(duì)計(jì)算器的設(shè)計(jì)。二、硬件電路設(shè)計(jì)2.1AT89C51的功能介紹2.1.1簡(jiǎn)單概述AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器FPEROM—FlashProgrammableandErasableReadOnlyMemory的低電壓、高性能CMOS8位微處理器俗稱單片機(jī)。AT89C51是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造與工業(yè)標(biāo)準(zhǔn)MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中ATMEL的AT89C51是一種高效微控制器AT89C2051是它的一種精簡(jiǎn)版本AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。外形及引腳排列如圖2.1所示。圖2.1AT89C51芯片模型2.1.2主要功能特性(1)4K字節(jié)可編程閃爍存儲(chǔ)器。單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告全文共11頁(yè),當(dāng)前為第2頁(yè)。(2)32個(gè)雙向I/O口128×8位內(nèi)部RAM。單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告全文共11頁(yè),當(dāng)前為第2頁(yè)。(3)2個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷時(shí)鐘頻率0-24MHz。(4)可編程串行通道。(5)5個(gè)中斷源。(6)2個(gè)讀寫中斷口線。(7)低功耗的閑置和掉電模式。(8)片內(nèi)振蕩器和時(shí)鐘電路。2.1.3AT89C51的引腳介紹(1)電源引腳。電源引腳接入單片機(jī)的工作電源。VCC(40引腳)電源。GND(20引腳)接地。(2)時(shí)鐘引腳。XTAL1(19引腳)反相放大器和時(shí)鐘發(fā)生器電路的輸入端。XTAL2(20引腳)片內(nèi)振蕩器反相放大器的輸出端。(3)復(fù)位RST(9引腳)。在振蕩器運(yùn)行時(shí)有兩個(gè)機(jī)器周期24個(gè)振蕩周期以上的高電平出現(xiàn)在此引腳時(shí)將使單片機(jī)復(fù)位只要這個(gè)腳保持高電平,51芯片便循環(huán)復(fù)位。(4)EA/Vpp(31引腳)。EA為外部程序存儲(chǔ)器訪問允許控制端。當(dāng)它為高電平時(shí)單片機(jī)讀片內(nèi)程序存儲(chǔ)器在PC值超過0FFFH后將自動(dòng)轉(zhuǎn)向外部程序存儲(chǔ)器。當(dāng)它為低電平時(shí)只限定在外部程序存儲(chǔ)器地址為0000H~FFFFH。Vpp為該引腳的第二功能為編程電壓輸入端。(5)ALE/PROG(30引腳)。ALE為低八位地址鎖存允許信號(hào)。在系統(tǒng)擴(kuò)展時(shí)ALE的負(fù)跳沿將發(fā)出的第八位地址鎖存在外接的地址鎖存器然后再作為數(shù)據(jù)端口。PROG為該引腳的第二功能在對(duì)片外存儲(chǔ)器編程時(shí)此引腳為編程脈沖輸入端。(6)PSEN(29引腳)。片外程序存儲(chǔ)器的讀選通信號(hào)。在單片機(jī)讀片外程序存儲(chǔ)器時(shí)此引腳輸出脈沖的負(fù)跳沿作為讀片外程序存儲(chǔ)器的選通信號(hào)。(7)pin39-pin32為P0.0-P0.7輸入輸出腳稱為P0口。P0是一個(gè)8位漏極開路型雙向I/O口。內(nèi)部不帶上拉電阻,當(dāng)外接上拉電阻時(shí)P0口能以吸收電流的方式驅(qū)動(dòng)八個(gè)LSTTL負(fù)載電路。通常在使用時(shí)外接上拉電阻用來驅(qū)動(dòng)多個(gè)數(shù)碼管。在訪問外部程序和外部數(shù)據(jù)存儲(chǔ)器時(shí)P0口是分時(shí)轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線不需要外接上拉電阻。(8)Pin1-Pin8為P1.0-P1.7輸入輸出腳稱為P1口。P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/0口。P1口能驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告全文共11頁(yè),當(dāng)前為第3頁(yè)。(9)Pin21-Pin28為P2.0-P2.7輸入輸出腳稱為P2口。P2口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口P2口能驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。端口置1時(shí)內(nèi)部上拉電阻將端口拉到高電平作輸入用。對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí)接收高8位地址和控制信息。在訪問外部程序和16位外部數(shù)據(jù)存儲(chǔ)器時(shí)P2口送出高8位地址。而在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí)其引腳上的內(nèi)容在此期間不會(huì)改變。單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告全文共11頁(yè),當(dāng)前為第3頁(yè)。(10)Pin10-Pin17為P3.0-P3.7輸入輸出腳稱為P3口。P3口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口P2口能驅(qū)動(dòng)4個(gè)LSTTL負(fù)載這8個(gè)引腳還用于專門的第二功能。端口置1時(shí)內(nèi)部上拉電阻將端口拉到高電平作輸入用。對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí)接控制信息。2.2顯示電路2.2.1LM016L的結(jié)構(gòu)及功能LM016L液晶模塊采用HD44780控制器,HD44780具有簡(jiǎn)單而功能較強(qiáng)的指令集,可以實(shí)現(xiàn)字符移動(dòng)閃爍等功能,LM016L與單片機(jī)MCU通訊可采用8位或4位并行傳輸兩種方式,HD44780控制器由兩個(gè)8位寄存器,指令寄存器IR和數(shù)據(jù)寄存器DR。IR用于寄存指令碼只能寫入不能讀出DR用于寄存數(shù)據(jù),數(shù)據(jù)由內(nèi)部操作自動(dòng)寫入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM讀出的數(shù)據(jù),BF為1時(shí)液晶模塊處于內(nèi)部模式,不響應(yīng)外部操作指令和接受數(shù)據(jù),DDTAM用來存儲(chǔ)顯示的字符能存儲(chǔ)80個(gè)字符碼,CGROM由8位字符碼生成5*7點(diǎn)陣字符160中和5*10點(diǎn)陣字符32種。CGRAM是為用戶編寫特殊字符留用的,它的容量?jī)H64字節(jié),可以自定義8個(gè)5*7點(diǎn)陣字符或者4個(gè)5*10點(diǎn)陣字符,AC可以存儲(chǔ)DDRAM和CGRAM的地址。如果地址碼隨指令寫入IR,則IR自動(dòng)把地址碼裝入AC同時(shí)選擇DDRAMCGRAM單元。2.2.2LM016L的引腳功能介紹1602字符型LCD通常有14條引腳線或16條引腳線的LCD多出來的2條線是背光電源線。VCC(15腳)和地線GND(16腳)其控制原理與14腳的LCD完全一樣其中。(1)VSS一般接地。(2)VDD接電源+5V。(3)V0液晶顯示器對(duì)比度調(diào)整端接正電源時(shí)對(duì)比度最弱接地電源時(shí)對(duì)比度最高對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度。(4)RSRS為寄存器選擇高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。(5)R/WR/W為讀寫信號(hào)線高電平(1)時(shí)進(jìn)行讀操作低電平(0)時(shí)進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫入指令或者顯示地址。當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào)。當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù)。(6)EE(或EN)端為使能(enable)端下降沿使能。單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告全文共11頁(yè),當(dāng)前為第4頁(yè)。單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告全文共11頁(yè),當(dāng)前為第4頁(yè)。2.2.3LM016L的電路接線圖2.3振蕩電路設(shè)計(jì)單片機(jī)內(nèi)部有一個(gè)高增益、反相放大器其輸入端為芯片引腳XTAL1其輸出端為引腳XTAL2。通過這兩個(gè)引腳在芯片外并接石英晶體振蕩器。大小為1MHZ和兩只電容電容和一般取30pF。這樣就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。振蕩電路脈沖經(jīng)過二分頻后作為系統(tǒng)的時(shí)鐘信號(hào)再在二分頻的基礎(chǔ)上三分頻產(chǎn)生ALE信號(hào)此時(shí)得到的信號(hào)時(shí)機(jī)器周期信號(hào)。2.4鍵盤電路設(shè)計(jì)計(jì)算器所需按鍵有:
數(shù)字鍵:’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,’0’,’.’
功能鍵:‘+’,‘-’,‘*’‘/’‘=’
單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告全文共11頁(yè),當(dāng)前為第5頁(yè)。共計(jì)16個(gè)按鍵,采用4*4矩陣鍵盤,鍵盤的行和列之間都有公共端相連,四行和四列的8個(gè)公共端分別接P3.0~P3.7,這樣掃描P3口就可以完成對(duì)矩陣鍵盤的掃描,通過對(duì)16個(gè)按鍵進(jìn)行編碼,從而得到鍵盤的口地址,對(duì)比P3口的掃描結(jié)果和各按鍵的地址,我們就可以得到是哪個(gè)鍵按下,從而完成鍵盤掃描的功能。單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告全文共11頁(yè),當(dāng)前為第5頁(yè)。2.5鍵盤掃描子程序設(shè)計(jì)要進(jìn)行數(shù)據(jù)的計(jì)算就必須先進(jìn)行數(shù)據(jù)的輸入,也就必須確定按鍵輸入的數(shù)值是什么,這就需要對(duì)鍵盤進(jìn)行掃描,從而確定究竟是哪個(gè)鍵按下。
對(duì)于鍵盤的掃描,這里采用行列掃描的方法來完成對(duì)鍵盤的掃描。原理就是先確定按鍵在哪一行,接著再確定是哪一列,這樣就可以知道是哪個(gè)按鍵被按下了。我是將P3口作為按鍵掃描口的,比如,先使行線輸出全“0”,讀列線,再使列線輸出全為“0”,讀行線。兩次結(jié)果再相與,則得到一個(gè)值為鍵值。同理,每個(gè)按鍵都會(huì)有一個(gè)對(duì)應(yīng)的十六進(jìn)制值,我把它們列出來進(jìn)行一一對(duì)應(yīng)就行了,下面是掃描按鍵圖。
單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告全文共11頁(yè),當(dāng)前為第6頁(yè)。2.6總電路單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告全文共11頁(yè),當(dāng)前為第6頁(yè)。三、程序設(shè)計(jì)與說明單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告全文共11頁(yè),當(dāng)前為第7頁(yè)。3.1程序主流程圖單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告全文共11頁(yè),當(dāng)前為第7頁(yè)。單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告全文共11頁(yè),當(dāng)前為第8頁(yè)。程序主流程圖單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告全文共11頁(yè),當(dāng)前為第8頁(yè)。四、結(jié)論完成硬件和軟件的設(shè)計(jì)和制作后,進(jìn)行系統(tǒng)的調(diào)試,并處理不斷出現(xiàn)的問題。對(duì)于計(jì)算器的性能,主要的衡量指標(biāo)就在于計(jì)算的精度,本次制作的計(jì)算器性能情況如下:加法運(yùn)算:四位整數(shù)加法運(yùn)算,和值不超過999999,若超過上限,則顯示錯(cuò)誤提示。單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告全文共11頁(yè),當(dāng)前為第9頁(yè)。減法運(yùn)算:四位正整數(shù)減法運(yùn)算。單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告全文共11頁(yè),當(dāng)前為第9頁(yè)。乘法運(yùn)算:積不超過999999的整數(shù)乘法運(yùn)算,若超出上限,顯示錯(cuò)誤提示。除法運(yùn)算:整數(shù)除法,既計(jì)算結(jié)果為可顯示小數(shù)。五、體會(huì)與收獲通過這次課程設(shè)計(jì),最大的一點(diǎn)體會(huì)是單片機(jī)學(xué)的不夠扎實(shí),不會(huì)的很多啊,當(dāng)然這次的課程設(shè)計(jì)做計(jì)算器程序用的是c語言,不是課上初學(xué)的匯編,所以很難適應(yīng),盡管大家都知道匯編編這個(gè)程序也很困難,但還是互相學(xué)習(xí),到處找資料看,問同學(xué),所以我的軟件主程序才能編譯成功,系統(tǒng)才能調(diào)試出結(jié)果。很感謝那些熱心教導(dǎo)我的同學(xué)和指導(dǎo)我的老師。首先在硬件電路的制作中,也就是焊板子,由于我的粗心,我芯片插槽的一個(gè)管腳沒焊進(jìn)去,別的都好了,就這個(gè)腳沒有用了,后來在老師的幫助下,我將插槽里德那個(gè)管腳拔出來,換了個(gè)腳在插進(jìn)去,然后用萬用表測(cè)試后證明是有效的,心里還是很高興的。整個(gè)硬件電路還是做得令自己比較滿意的。單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)報(bào)告全文共11頁(yè),當(dāng)前為第10頁(yè)。在軟件方面,感覺困難更多一些,一開始真的很著急,毫無頭緒啊,一時(shí)間,百度,論壇,貼吧逛了個(gè)遍,找了很多資料,也參考了同學(xué)的程序,其中每一個(gè)子程序模塊都認(rèn)真去讀,去分析,化為己用,最重要的按鍵掃描和顯示程序,還有包括加減乘除的運(yùn)算程序,還了解了c語言在單片機(jī)編程中的一些特點(diǎn),包括函數(shù)的聲明和調(diào)用等等。而且在用uvison編譯的時(shí)候出了很多問題,其中一個(gè)就是關(guān)于頭文件的,要加上“#include<STC12C5410AD.H>”,不僅如此,還要將有關(guān)STC12C5410AD的文件覆蓋在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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花卉交易合同
- 限制性心肌病的健康宣教
- 2025技術(shù)人員正式聘用合同模板
- 防救轉(zhuǎn)換工作機(jī)制
- 團(tuán)隊(duì)和管理培訓(xùn)
- 2025年青海貨運(yùn)資格證答案
- 下肢動(dòng)脈粥樣硬化的健康宣教
- 2025【中交】合同交底書
- 2025年許昌道路貨運(yùn)運(yùn)輸從業(yè)資格證模擬考試
- 企業(yè)財(cái)務(wù)培訓(xùn)課程
- GB/T 25745-2010鑄造鋁合金熱處理
- 校外租房學(xué)生走訪記錄
- GB/T 1420-2015海綿鈀
- 鍵盤顯示器接口課件
- 良性前列腺增生診療指南
- 預(yù)防校園欺凌-共創(chuàng)和諧校園-模擬法庭劇本
- 中國(guó)火車發(fā)展歷程課件
- 執(zhí)行力、心態(tài)管理培訓(xùn)課件
- 河北省廊坊市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)及行政區(qū)劃代碼
- 不甘屈辱奮勇抗?fàn)幍谌n時(shí)甲午風(fēng)云課件五年級(jí)道德與法治
- 家具廠安全生產(chǎn)臺(tái)帳
評(píng)論
0/150
提交評(píng)論