




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
菏澤學(xué)院本科課程設(shè)計(jì)(論文)簡易計(jì)算機(jī)系統(tǒng)設(shè)計(jì)PAGE20PAGE19目錄課程設(shè)計(jì)任務(wù)書………………………I摘要……………………1關(guān)鍵詞…………………1引言………………………21課程設(shè)計(jì)用的儀器和器件………31.1單片機(jī)的選擇方案和論證………31.2顯示器的選擇方案和論證………31.3按鍵部分的選擇方案和論證……………………32課程設(shè)計(jì)方法和內(nèi)容……………33元件介紹……………43.1STC89C51單片機(jī)特點(diǎn)及引腳圖…………………43.2LCD1602液晶顯示器……………53.2.1LCD16023.2.2LCD16023.2.3LCD16024系統(tǒng)概述…………74.1系統(tǒng)設(shè)計(jì)結(jié)構(gòu)圖………………74.2簡易計(jì)算器工作流程……………75系統(tǒng)硬件設(shè)計(jì)……………………75.1時(shí)鐘電路……………………85.2復(fù)位電路………………………85.3鍵盤電路……………………95.4顯示電路……………………96程序流程圖………………………107.課程設(shè)計(jì)總結(jié)………………11參考文獻(xiàn)……………12附錄……………13
簡易計(jì)算器系統(tǒng)設(shè)計(jì)2010級自動(dòng)化專業(yè)學(xué)生張高強(qiáng)指導(dǎo)教師龔長青摘要:本文主要介紹了簡易計(jì)算器系統(tǒng)設(shè)計(jì),用51單片機(jī)作為主控芯片,通過矩陣鍵盤作為輸入,計(jì)算器可以進(jìn)行2位數(shù)的四則運(yùn)算。在設(shè)計(jì)過程中,選擇STC89C51系列單片機(jī),單片機(jī)通過采集鍵盤上的輸入,自行判斷運(yùn)算數(shù)字和運(yùn)算法則。同時(shí)將輸入的結(jié)果和運(yùn)算結(jié)果通過1602顯示屏輸出。簡易計(jì)算器的設(shè)計(jì),極大的降低了人們的計(jì)算量,尤其在大數(shù)據(jù)的計(jì)算上有明顯的優(yōu)勢,計(jì)算器還具有連續(xù)計(jì)算功能,能提高人們的工作效率。關(guān)鍵詞:單片機(jī);矩陣鍵盤;1602顯示;TheDesignOfSimpleCalculatorSystemStudentmajoringinautomationZhangGaoqiangTutorGongChangqingAbstract:Thispapermainlyintroducesthedesignofsimplecalculatorsystem,thesystemchoosesthe51singlechipmicrocomputerasmaincontrolchipandusesthematrixkeyboardasinput,thecalculatorcancomputein2digits.ThedesignprocesschoosesSTC89C51microcontrollerseriesandthesingle-chipmicrocomputerjudgecrunchingNumbersandalgorithmsautomaticallythroughacquisitiononthekeyboardinput,.Atthesametime1602displaycanoutputtheinputresultsandcomputationresults.Thedesignofsimplecalculatorgreatlyreducestheburdenofthehuman’scomputingespeciallyinthebigdata’computionandthecalculatorcanalsocomputecontinuouslyinthatenhancepeople'sworkingefficiency.Keywords:singlechip;matrixkeyboard;1602display;
引言當(dāng)今時(shí)代,是一個(gè)新技術(shù)層出不窮的時(shí)代。在電子領(lǐng)域,尤其是自動(dòng)化智能控制領(lǐng)域,傳統(tǒng)的分立元件或數(shù)字邏輯電路構(gòu)成的控制系統(tǒng)正以前所未見的速度被單片機(jī)智能控制系統(tǒng)所取代。單片機(jī)具有體積小、功能強(qiáng)、成本低、應(yīng)用面廣等優(yōu)點(diǎn),可以說,智能控制與自動(dòng)控制的核心就是單片機(jī)。目前,一個(gè)學(xué)習(xí)與應(yīng)用單片機(jī)的高潮正在工廠、學(xué)校及企事業(yè)單位大規(guī)模地興起。過去習(xí)慣于傳統(tǒng)電子領(lǐng)域的工程師、技術(shù)員正面臨著全新的挑戰(zhàn),如不能在較短時(shí)間內(nèi)學(xué)會(huì)單片機(jī),勢必會(huì)被時(shí)代所遺棄,只有勇敢地面對現(xiàn)實(shí),挑戰(zhàn)自我,加強(qiáng)學(xué)習(xí),爭取在較短的時(shí)間內(nèi)將單片機(jī)技術(shù)融會(huì)貫通,才能跟上時(shí)代的步伐。它所給人帶來的方便也是不可否定的,它在一塊芯片內(nèi)集成了計(jì)算機(jī)的各種功能部件,構(gòu)成一種單片式的微型計(jì)算機(jī)。20世紀(jì)80年代以來,國際上單片機(jī)的發(fā)展迅速,其產(chǎn)品之多令人目不暇接,單片機(jī)應(yīng)用不斷深入,新技術(shù)層出不窮。20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。本次做的計(jì)算器是以單片機(jī)STC89C51為核心結(jié)合相關(guān)的元器件LCD1602液晶、矩陣鍵盤等再配以相關(guān)的程序達(dá)到制作計(jì)算器的目的電子計(jì)算器是日常生活中常用的電子計(jì)算儀器廣泛應(yīng)用于超市、大中型商場、大小企業(yè)。電子計(jì)算器具有精度高、體積小、應(yīng)用范圍廣、易于操作使用等優(yōu)點(diǎn)。目前科技的進(jìn)步告別了以前復(fù)雜的模擬電路一塊幾平方厘米的單片機(jī)可以省去很多繁瑣的電路?,F(xiàn)在應(yīng)用較廣泛的是科學(xué)計(jì)算器與我們?nèi)粘K玫暮唵斡?jì)算器有較大差別除了能進(jìn)行加減乘除科學(xué)計(jì)算器還可以進(jìn)行正數(shù)的四則運(yùn)算和乘方、開方運(yùn)算具有指數(shù)、對數(shù)、三角函數(shù)、反三角函數(shù)及存儲(chǔ)等計(jì)算功能。未來的智能化計(jì)算器將是我們的發(fā)展方向,所以對計(jì)算器的研究十分有意義。綜述國內(nèi)外有關(guān)本課題的研究進(jìn)展?fàn)顩r。隨著社會(huì)的不斷發(fā)展科技的不斷創(chuàng)新。計(jì)算器已在數(shù)十年間遍布千家萬戶。計(jì)算器擁有幾百年歷史,1946年2月15日在美國賓夕法尼亞大學(xué)世界上第一臺(tái)電子計(jì)算器ENIAC正式投入了運(yùn)行。數(shù)學(xué)家把“智慧”給了電子計(jì)算器,電子計(jì)算器將使數(shù)學(xué)家變得更加聰明。而且電子計(jì)算器不僅是一種工具,它與其它的工具都不相同,電子計(jì)算器是人腦的一個(gè)側(cè)面的延伸。因?yàn)殡娮佑?jì)算器不僅具有非凡的計(jì)算能力,速度之快令人望塵莫及而且還能夠仿真人的某些思維功能按照一定的規(guī)則進(jìn)行邏輯判和邏輯推理代替人的部分腦力勞動(dòng)。1976計(jì)算器的未來是小型化和輕便化,現(xiàn)在市面上出現(xiàn)的使用太陽能電池的計(jì)算器,使用ASCII碼設(shè)計(jì)的計(jì)算器,如使用純軟件實(shí)現(xiàn)的計(jì)算器等未來的智能化計(jì)算器將是我們的發(fā)展方向更希望成為應(yīng)用廣泛的計(jì)算工具。
1課程設(shè)計(jì)用的儀器和器件1.1單片機(jī)的選擇方案與論證方案一:采用STC89C51單片機(jī)。STC89C51單片機(jī)是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器,而且價(jià)格優(yōu)惠。STC89C51使用高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C51單片機(jī)為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。方案二:采用STC12C5A60S2系列單片機(jī)。STC12C5A60S2系列單片機(jī)是高速、低功耗、超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容8051,但速度快8~12倍。內(nèi)部集成MAX810專用復(fù)用電路,2路PWM,8路10位高速A/D轉(zhuǎn)換(80K/S),針對電機(jī)控制,強(qiáng)干擾場合。STC12C由于STC89C51價(jià)格實(shí)惠,又可實(shí)現(xiàn)系統(tǒng)需要,因此采用方案一。1.2顯示器的選擇方案和論證方案一:使用8位LED數(shù)碼管來做顯示。LED顯示器是由發(fā)光二極管顯示字段組成的顯示器件,在單片機(jī)應(yīng)用系統(tǒng)中通常使用的是七段LED,這種顯示器有共陰極和共陽極兩種,它具有成本低廉、配置靈活和單片機(jī)接口方便等特點(diǎn)。方案二:使用LCD1602液晶顯示器來顯示。液晶是介于固態(tài)和液態(tài)間的有機(jī)化合物,將其加熱會(huì)變成透明液態(tài),冷卻后變成結(jié)晶的混作固態(tài)。在電極的作用下,產(chǎn)生冷熱變化,從而影響它的透光性,來達(dá)到顯示的目的。LCD1602液晶顯示器還具有以下幾個(gè)優(yōu)點(diǎn):低壓、微功耗、顯示信息量大、長壽命、無輻射、無污染。考慮到是否能清晰地實(shí)現(xiàn)本系統(tǒng)的要求,我們決定采用方案二實(shí)現(xiàn)本系統(tǒng)的顯示功能。1.3按鍵部分的選擇方案和論證方案一:使用獨(dú)立式鍵盤。對于獨(dú)立式鍵盤來說,當(dāng)某個(gè)按鍵按下時(shí),對應(yīng)的單片機(jī)I/O口線為低電平,反之為高電平,但會(huì)占用大量的I/O口。方案二:使用矩陣式鍵盤。矩陣式鍵盤不會(huì)占用很多的I/O口,是一種比較節(jié)省資源的方法。為了能減少所占用的I/O口,我們采用方案二。2課程設(shè)計(jì)方法和內(nèi)容設(shè)計(jì)一個(gè)可以進(jìn)行2位數(shù)四則運(yùn)算的計(jì)算器,要求:1、用按鍵輸入數(shù)和運(yùn)算符號;2、用LED顯示運(yùn)算過程和結(jié)果(十進(jìn)制數(shù));3、可以表示出當(dāng)前的運(yùn)算類型;4、具有清零和復(fù)位功能;5、具有連續(xù)運(yùn)算功能。3元件介紹3.1STC89C51單片機(jī)特點(diǎn)及引腳圖STC89C51是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。STC89C51使用高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,STC89C51擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使STC89C51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。STC89C51具有以下標(biāo)準(zhǔn)功能:與MCS51兼容;8K支持在線編程(ISP)的FLASH結(jié)構(gòu)程序存儲(chǔ)器,1000次擦寫壽命;工作電壓為4.0V~5.5V;全靜態(tài)工作:0~24MHz;3級程序安全加密保護(hù);256*8位內(nèi)部RAM;32個(gè)可編程I/O端口;3個(gè)16位定時(shí)器/計(jì)數(shù)器;8個(gè)中斷源;一個(gè)全雙工異步串口;支持低功耗及掉電模式;高抗靜電(ESD保護(hù));寬溫度范圍,-40~85;典型功耗低<0.1ua;掉電模式可由外部中斷喚醒支持中斷從掉電模式喚醒;內(nèi)置看門狗;雙數(shù)據(jù)指針;工業(yè)級產(chǎn)品,溫度范圍(-40°C到85°C),PU為無鉛環(huán)保產(chǎn)品。另外,STC89C51可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。其PDIP圖如下圖3-1所示:圖3-1單片機(jī)示意圖3.2LCD1602液晶顯示器3.2.1LCD1602基本組成LCD1602液晶顯示器用5*7點(diǎn)陣圖形來顯示西文字符,有阿拉伯?dāng)?shù)字、英文字母的大小寫、常用符號等。單片機(jī)通過寫控制方式訪問驅(qū)動(dòng)控制器來實(shí)現(xiàn)對顯示屏的控制。LCD主要由3個(gè)部分組成:LCD控制器、LCD驅(qū)動(dòng)器、LCD顯示裝置。如圖3-2所示。LLCD控制器LCD驅(qū)動(dòng)器LCD顯示裝置VSSVDDVLRSR/WEDB0~DB7圖3-2LCD示意圖3.2.2LCD1602基本參數(shù)及引腳功能LCD1602分為帶背光和不帶背光兩種,基控制器大部分為HD44780。1、主要技術(shù)參數(shù)顯示容量:16×2個(gè)字符芯片工作電壓:4.5—5.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.95×4.35(W×H)mm在對液晶模塊的初始化中要先設(shè)置其顯示模式,在液晶模塊顯示字符時(shí)光標(biāo)是自動(dòng)右移的,無需人工干預(yù)。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A”。2、引腳功能說明LCD1602采用標(biāo)準(zhǔn)的16腳(帶背光)接口,各引腳接口說明如表3-1所示。表3-1LCD1602引腳功能說明引腳編號名稱功能操作1VSS電源接地0V2VDD電源正極+5V3VEELCD亮度調(diào)整電壓輸入電壓越低,屏幕越亮4RS寄存器選擇信號1=選擇數(shù)據(jù)寄存器0=選擇指令寄存器5R/W讀/寫信號1=讀取0=寫入6ELCD響應(yīng)信號1=響應(yīng)LCD0=禁用LCD7~10DB0~DB3低4位總線可用4位輸入數(shù)據(jù)、命令及地址11~14DB4~DB7高4位總線配合DB0~DB3的8位輸入數(shù)據(jù)、命令及地址15LED+背光源正極+5V16LED-背光源負(fù)極0V3.23LCD1602的指令說明及時(shí)序1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表3-2所示。表3-2控制命令表序號指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L**6置功能00001DLNF**7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10寫數(shù)到CGRAM或DDRAM)10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容4系統(tǒng)概述4.1系統(tǒng)設(shè)計(jì)結(jié)構(gòu)圖時(shí)鐘電路復(fù)位電路主控制器顯示電路鍵盤電路電源電路簡易計(jì)算器主要由STC89C51主控制器、鍵盤電路、顯示電路等部分組成。其中鍵盤電路用于數(shù)字法號的輸入,進(jìn)行加減乘除運(yùn)算。簡易計(jì)算器的系統(tǒng)設(shè)計(jì)結(jié)構(gòu)圖如4-1所示。時(shí)鐘電路復(fù)位電路主控制器顯示電路鍵盤電路電源電路圖4-1系統(tǒng)結(jié)構(gòu)圖4.2簡易計(jì)算器工作流程1、上電后,屏幕初始化,顯示W(wǎng)elcomecommentsofteachers。2、5S后清屏,開始進(jìn)入計(jì)算。3、計(jì)算。按下0~9中的數(shù)字鍵,屏幕顯示要運(yùn)算的第一個(gè)數(shù)值,再按下“+-*/”中一個(gè)符號鍵,然后再按下數(shù)字鍵,屏幕顯示要運(yùn)算的第二個(gè)數(shù)值,最后按下“=”鍵,屏幕顯示計(jì)算結(jié)果。4、再次計(jì)算時(shí),先按下清除鍵“ON/C”,清除屏幕上的計(jì)算結(jié)果,再重新計(jì)算。5系統(tǒng)硬件設(shè)計(jì)簡易計(jì)算器電路由單片機(jī)最小系統(tǒng)、時(shí)鐘電路、4*4矩陣式鍵盤、LCD1602液晶顯示器等組成。其原理圖如圖5-1所示。圖5-1計(jì)算器電路圖5.1時(shí)鐘電路在MCS-51單片機(jī)片內(nèi)有一個(gè)高增益的反相放大器,反相放大器的輸入端為XTAL1,輸出端為XTAL2,由該放大器構(gòu)成的振蕩電路和時(shí)鐘電路一起構(gòu)成了單片機(jī)的時(shí)鐘方式。根據(jù)硬件電路的不同,單片機(jī)的時(shí)鐘連接方式可分為內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。我們采用內(nèi)部時(shí)鐘方式,如圖5-2所示。圖5-2晶振振蕩電路在內(nèi)部方式時(shí)鐘電路中,必須在X1和X2引腳兩端跨接石英晶體振蕩器和兩個(gè)微調(diào)電容構(gòu)成振蕩電路,C1和C2取30pF左右,晶振的頻率取值范圍1.2MHz~12MHz。根據(jù)實(shí)際情況,本設(shè)計(jì)采用12MHz作為系統(tǒng)的外部晶振,電容值取22pF。5.2復(fù)位電路單片機(jī)復(fù)位是使CPU和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。無論是單片機(jī)剛開始接上電源時(shí),還是斷電后或者發(fā)生故障后都要復(fù)位。所以,必須弄清楚MCS-51單片機(jī)復(fù)位的條件、復(fù)位電路和復(fù)位后的狀態(tài)。如圖5-3圖5-3復(fù)位電路單片機(jī)復(fù)位的條件是:必須使RST/Vpd或RST引腳(9腳)加上持續(xù)兩個(gè)機(jī)器周期(即24個(gè)振蕩周期)的高電平。例如,若時(shí)鐘頻率為12MHz,每機(jī)器周期為1us,則只需2us以上時(shí)間的高電平。在RST引腳出現(xiàn)高電平后的第二個(gè)周期執(zhí)行復(fù)位。單片機(jī)常見的復(fù)位電路有上電復(fù)位電路和按鍵復(fù)位電路。為了方便系統(tǒng)的硬件初始化,我們采用按鍵復(fù)位電路。按鍵復(fù)位電路除具有上電復(fù)位功能外,若要復(fù)位,只需要按下S22鍵,在RST端產(chǎn)生一個(gè)復(fù)位高電平。5.3鍵盤電路在鍵盤中按鍵數(shù)量較多時(shí),為了減少I/O口的占用,通常將按鍵排列成矩陣形式,如圖5-4所示。圖5-4矩陣鍵盤電路在矩陣式鍵盤電路中,行連接線和列連接線分別占用4條I/O口線,共連接16個(gè)按鍵。行線連接的接口為輸入口,用于輸入按鍵的行位置信息,列線連接的接口為輸出口,用于輸出掃描電平。5.4顯示電路顯示電路由液晶顯示器LCD1602取代普通的數(shù)碼管完成。P0口作為液晶顯示的數(shù)據(jù)端口,P3.4、P3.5、P3.6作為其控制端口,控制LCD液晶顯示屏顯示輸出數(shù)據(jù)。其電路如圖5-5所示。圖5-5LCD電路6程序流程圖系統(tǒng)軟件設(shè)計(jì)設(shè)計(jì)程序時(shí),首先初始化參數(shù),送LED低位顯示“Welcomecommentsofteachers”,高位不顯示。延時(shí)5S后清屏,按下數(shù)字鍵輸入數(shù)值,在LCD1602顯示,然后按下“+-/*”符號鍵,再輸入數(shù)值并在LED顯示器上顯示,最后按下“=”鍵得出運(yùn)算結(jié)果。若再次計(jì)算,需按下清除鍵“ON/C”清屏后再按數(shù)字鍵輸入數(shù)值開始計(jì)算。程序流程圖如6-1所示。圖6-1程序流程圖
7課程設(shè)計(jì)總結(jié)本課程設(shè)計(jì)實(shí)現(xiàn)了一個(gè)簡易計(jì)算器設(shè)計(jì)與制作,利用到了STC89C51、矩陣鍵盤、LCD1602顯示器等,通過C語言編譯的程序?qū)崿F(xiàn)計(jì)算功能。計(jì)算器實(shí)現(xiàn)的是將輸入的數(shù)字及四則運(yùn)算顯示在LCD中。這是一個(gè)非?;A(chǔ)的實(shí)驗(yàn),在很多中型或大型的實(shí)驗(yàn)中,例如倒計(jì)時(shí)鐘、交通燈實(shí)驗(yàn)中都需要實(shí)現(xiàn)這一部分的功能。因此力求做到簡潔和容易實(shí)現(xiàn),并需要有較好的可移植性,可以比較容易的移植到其它復(fù)雜的程序。這次課程設(shè)計(jì)鍛煉了我多方面的能力。在考慮邏輯圖的具體設(shè)計(jì)方案時(shí),經(jīng)過查找各種資料先選出可用的芯片,最后通過比較他們的技術(shù)參數(shù)、特點(diǎn)及性價(jià)比等選出最適合本設(shè)計(jì)的硬件搭配。簡易計(jì)算器的設(shè)計(jì),掌握了單片機(jī)中常用接口電路的應(yīng)用和設(shè)計(jì)技術(shù),了解了LCD顯示器的顯示原理。在寫控制程序前,首先應(yīng)該準(zhǔn)備好設(shè)計(jì)思路和畫流程圖,流程圖的設(shè)計(jì)可以使我更有針對性的編寫程序,可以有效的避免和及時(shí)發(fā)現(xiàn)錯(cuò)誤。通過本次設(shè)計(jì),我最深的感觸就是處理問題不要急于求成,要不斷的對問題進(jìn)行思考,以減少失敗的概率。對任何實(shí)際問題的處理,都是建立在我們所學(xué)的基礎(chǔ)知識之上,只有牢固熟練的掌握了基礎(chǔ)知識,才能夠?qū)栴}的解決有個(gè)宏觀準(zhǔn)確的把握,找到解決問題的切入點(diǎn),攻克難點(diǎn)。同時(shí)要有嚴(yán)謹(jǐn)?shù)膽B(tài)度,對問題的思考不要畏難,因?yàn)槿魏我稽c(diǎn)小的思路的錯(cuò)誤或者語法的錯(cuò)誤,都會(huì)導(dǎo)致功能不能實(shí)現(xiàn)。同時(shí)查閱參考書,在網(wǎng)上查找相關(guān)資料都能夠給我們提供很多寶貴的信息。最重要的是,在找不到突破的時(shí)候要向老師請教,龔老師的指導(dǎo)言簡意賅,給我的設(shè)計(jì)帶來了極大的幫助,最后在此再次感謝龔老師對我的課程設(shè)計(jì)的支持。
參考文獻(xiàn):[1]張永格.單片機(jī)C語言應(yīng)用技術(shù)與實(shí)踐[M].2版.北京:北京交通大學(xué)出版社,2009[2]胡輝.單片機(jī)原理與應(yīng)用[M].第6版.北京中國水利水電出版社.2007年[3]王東鋒,董冠強(qiáng).單片機(jī)C語言應(yīng)用100例[M].第2版.電子工業(yè)出版社.2009年[4]郭惠,吳迅.單片機(jī)C語言程序設(shè)計(jì)完全自學(xué)手冊[M].第3版.電子工業(yè)出版社.2008年.[5]國兵.模擬電子技術(shù)[M].第2版.高等教育出版社.2008.
附錄#include"reg52.h"#defineucharunsignedchar#defineuintunsignedintucharcodetable2[]="Welcomecomments";//“歡迎老師點(diǎn)評!”英文字樣ucharcodetable3[]="ofteachers!";//“歡迎老師點(diǎn)評!”英文字樣ucharcodetable4[]="0";//初始化sbitbusy=P0^7;voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}chari,j,temp,num;longa,b,c;//a,第一個(gè)數(shù)b,第二個(gè)數(shù)c,得數(shù)ucharflag,fuhao;//flag表示是否有符號鍵按下,fuhao表征按下的是哪個(gè)符號ucharcodetable[]={7,8,9,0,4,5,6,0,1,2,3,0,0,0,0,0};ucharcodetable1[]={7,8,9,0x2f-0x30,4,5,6,0x2a-0x30,1,2,3,0x2d-0x30,0x01-0x30,0,0x3d-0x30,0x2b-0x30};//按鍵顯示編碼表sbitlcden=P3^6;sbitlcdwrite=P3^5;sbitlcdrs=P3^4;//lcd的寫指令voidwrite_com(ucharcom){ lcdrs=0; lcden=0; P0=com; delay(1); lcden=1; delay(1); lcden=0;}//lcd的寫數(shù)據(jù)voidwrite_date(ucharda){ lcdrs=1; lcden=0; P0=da; delay(1); lcden=1; delay(1); lcden=0;}//初始化voidinit()//初始化{ucharnum;num=-1;lcdwrite=0;lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);for(num=0;num<16;num++){write_date(table2[num]);delay(5);}write_com(0x80+0x40);for(num=0;num<16;num++){write_date(table3[num]);delay(5);}delay(5000);//延時(shí)5swrite_com(0x01);i=0;j=0;a=0;//第一個(gè)參與運(yùn)算的數(shù)b=0;//第二個(gè)參與運(yùn)算的數(shù)c=0;flag=0;//flag表示是否有符號鍵按下,fuhao=0;//fuhao表征按下的是哪個(gè)符號}voidkeyscan()//鍵盤掃描程序{P1=0xfe;if(P1!=0xfe){delay(10);//延遲20msif(P1!=0xfe){temp=P1&0xf0;switch(temp){case0xe0:num=0;break;case0xd0:num=1;break;case0xb0:num=2;break;case0x70:num=3;break;}}while(P1!=0xfe);if(num==0||num==1||num==2)//如果按下的是'7','8'或'9{ if(j==1)//確認(rèn)一次計(jì)算完畢,清屏{write_com(0x01);j=0;}if(flag==0)//沒有按過符號鍵{ a=a*10+table[num];}else//如果按過符號鍵{ b=b*10+table[num];}}else//如果按下的是'/'{ flag=1;fuhao=4;//4表示除號已按}i=table1[num];write_date(0x30+i);}P1=0xfd;if(P1!=0xfd){delay(5);if(P1!=0xfd){ temp=P1&0xf0;switch(temp){ case0xe0:num=4;break;case0xd0:num=5;break;case0xb0:num=6;break;case0x70:num=7;break;}}while(P1!=0xfd);if(num==4||num==5||num==6)//如果按下的是'4','5'或'6'{ if(j==1){write_com(0x01);j=0;}if(flag==0)//沒有按過符號鍵{ a=a*10+table[num];}else//如果按過符號鍵{ b=b*10+table[num];}}else//如果按下的是'X'{flag=1;fuhao=3;//3表示乘號已按}i=table1[num];write_date(0x30+i);}P1=0xfb;if(P1!=0xfb){delay(10);if(P1!=0xfb){ temp=P1&0xf0;switch(temp){case0xe0:num=8;break;case0xd0:num=9;break;case0xb0:num=10;break;case0x70:num=11;break;}}while(P1!=0xfb);if(num==8||num==9||num==10)//如果按下的是'1','2'或'3'{if(j==1){write_com(0x01);j=0;}if(flag==0)//沒有按過符號鍵{a=a*10+table[num];}else//如果按過符號鍵{b=b*10+table[num];}}elseif(num==11)//如果按下的是'-'{flag=1;fuhao=2;//2表示減號已按}i=table1[num];write_date(0x30+i);}P1=0xf7;if(P1!=0xf7){delay(5);if(P1!=0xf7){temp=P1&0xf0;switch(temp){case0xe0:num=12;break;case0xd0:num=13;break;case0xb0:num=14;break;case0x70:num=15;break;}}while(P1!=0xf7);switch(num){case12://按下的是"清零"{ write_com(0x01);a=0;b=0;flag=0;fuhao=0;}break;case13://按下的是"0"{ if(flag==0)//沒有按過符號鍵{ a=a*10;write_date(0x30);}if(flag==1)//如果按過符號鍵{ b=b*10;write_date(0x30);}}break;case14:{ j=1;if(fuhao==1){write_com(0x80+0x4f);//按下加號鍵,光標(biāo)前進(jìn)至第二行最后一個(gè)顯示處write_com(0x04);//設(shè)置從后住前寫數(shù)據(jù)c=a+b;while(c!=0){write_date(0x30+c%10);c=c/10;}write_date(0x3d);//寫"="a=0;b=0;flag=0;fuhao=0;}elseif(fuhao==2){write_com(0x80+0x4f);//按下減號按鍵write_com(0x04);//設(shè)置從后住前寫數(shù)據(jù)if(a-b>0)c=a-b;elsec=b-a;while(c!=0){write_date(0x30+c%10);c=c/10;}if(a-b<0)write_date(0x2d);//寫負(fù)號"-"write_date(0x3d);//再寫"="a=0;b=0;flag=0;fuhao=0;}elseif(fuhao==3)//按下乘號按鍵{write_com(0x80+0x4f);write_com(0x04);c=a*b;while(c!=0){write_date(0x30+c%10);c=c/10;}write_date(0x3d);a=0;b=0;flag=0;fuhao=0;}elseif(fuhao==4)//按下除號按鍵{write_com(0x80+0x4f);write_com(0x04);i=0;c=(long)(((float)a/b)*1000);while(c!=0){write_date(0x30+c%10);c=c/10;i++;if(i==3)//精確到小數(shù)點(diǎn)后三位write_date(0x2e);//寫小數(shù)點(diǎn)}if(a/b<=0)write_date(0x30);write_date(0x3d);a=0;b=0;flag=0;fuhao=0;}}break;case15:{write_date(0x30+table1[num]);flag=1;fuhao=1;}break;}}}main(){init();while(1){keyscan();}}基于C8051F單片機(jī)直流電動(dòng)機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動(dòng)監(jiān)測系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動(dòng)控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測試儀的研制基于單片機(jī)的自動(dòng)找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動(dòng)力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺(tái)控制器的研制基于單片機(jī)的軟起動(dòng)器的研究和設(shè)計(jì)基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時(shí)內(nèi)核設(shè)計(jì)及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機(jī)的液體點(diǎn)滴速度自動(dòng)檢測儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機(jī)的電能采集終端的設(shè)計(jì)和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機(jī)控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機(jī)的多生理信號檢測儀基于單片機(jī)的電機(jī)運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)Pico專用單片機(jī)核的可測性設(shè)計(jì)研究基于MCS-51單片機(jī)的熱量計(jì)基于雙單片機(jī)的智能遙測微型氣象站MCS-51單片機(jī)構(gòu)建機(jī)器人的實(shí)踐研究基于單片機(jī)的輪軌力檢測基于單片機(jī)的GPS定位儀的研究與實(shí)現(xiàn)基于單片機(jī)的電液伺服控制系統(tǒng)用于單片機(jī)系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機(jī)的時(shí)控和計(jì)數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機(jī)和CPLD的粗光柵位移測量系統(tǒng)研究單片機(jī)控制的后備式方波UPS提升高職學(xué)生單片機(jī)應(yīng)用能力的探究基于單片機(jī)控制的自動(dòng)低頻減載裝置研究基于單片機(jī)控制的水下焊接電源的研究基于單片機(jī)的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機(jī)的氚表面污染測量儀的研制基于單片機(jī)的紅外測油儀的研究96系列單片機(jī)仿真器研究與設(shè)計(jì)基于單片機(jī)的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機(jī)的溫度智能控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)基于MSP430單片機(jī)的電梯門機(jī)控制器的研制基于單片機(jī)的氣體測漏儀的研究基于三菱M16C/6N系列單片機(jī)的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機(jī)和DSP的變壓器油色譜在線監(jiān)測技術(shù)研究基于單片機(jī)的膛壁溫度報(bào)警系統(tǒng)設(shè)計(jì)基于AVR單片機(jī)的低壓無功補(bǔ)償控制器的設(shè)計(jì)基于單片機(jī)船舶電力推進(jìn)電機(jī)監(jiān)測系統(tǒng)基于單片機(jī)網(wǎng)絡(luò)的振動(dòng)信號的采集系統(tǒng)基于單片機(jī)的大容量數(shù)據(jù)存儲(chǔ)技術(shù)的應(yīng)用研究基于單片機(jī)的疊圖機(jī)研究與教學(xué)方法實(shí)踐基于單片機(jī)嵌入式Web服務(wù)器技術(shù)的研究及實(shí)現(xiàn)基于AT89S52單片機(jī)的通用數(shù)據(jù)采集系統(tǒng)基于單片機(jī)的多道脈沖幅度分析儀研究機(jī)器人旋轉(zhuǎn)電弧傳感角焊縫跟蹤單片機(jī)控制系統(tǒng)基于單片機(jī)的控制系統(tǒng)在PLC虛擬教學(xué)實(shí)驗(yàn)中的應(yīng)用研究基于單片機(jī)系統(tǒng)的網(wǎng)絡(luò)通信研究與應(yīng)用基于PIC16F877單片機(jī)的莫爾斯碼自動(dòng)譯碼系統(tǒng)設(shè)計(jì)與研究基于單片機(jī)的模糊控制器在工業(yè)電阻爐上的應(yīng)用研究基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究與開發(fā)基于Cygnal單片機(jī)的μC/OS-Ⅱ的研究基于單片機(jī)的一體化智能差示掃描量熱儀系統(tǒng)研究基于TCP/IP協(xié)議的單片機(jī)與Internet互聯(lián)的研究與實(shí)現(xiàn)變頻調(diào)速液壓電梯單片機(jī)控制器的研究基于單片機(jī)γ
溫馨提示
- 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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 混凝土濕接縫處理方案
- 考點(diǎn)攻克人教版八年級上冊物理《長度和時(shí)間的測量》章節(jié)測評練習(xí)題(含答案詳解)
- 基于Kano模型的中職音樂欣賞智能化教材建設(shè)探析
- 考點(diǎn)解析-人教版八年級上冊物理《聲現(xiàn)象》定向測試試題(解析版)
- 高性能氫氧化鋁生產(chǎn)線項(xiàng)目技術(shù)方案
- 八年級歷史上冊 第一單元 中國開始淪為半殖民地半封建社會(huì) 第1課 鴉片戰(zhàn)爭說課稿 新人教版
- 考點(diǎn)解析-蘇科版八年級物理光的折射透鏡綜合訓(xùn)練試卷(附答案詳解)
- 難點(diǎn)解析-人教版八年級上冊物理《聲現(xiàn)象》難點(diǎn)解析試題(詳解)
- 智能建模與勘察數(shù)據(jù)整合方案
- 難點(diǎn)解析人教版八年級上冊物理《物態(tài)變化》單元測評試卷(附答案詳解)
- 監(jiān)控運(yùn)維:方案與實(shí)施
- 種養(yǎng)結(jié)合生態(tài)循環(huán)農(nóng)業(yè)項(xiàng)目可行性研究報(bào)告
- 河南歷史課件
- 全國青少年“學(xué)憲法、講憲法”知識競賽題庫及答案
- 單元四-一般道路駕駛(教案)
- 油庫消防培訓(xùn)課件
- 2025年華醫(yī)網(wǎng)選修課(廣東省衛(wèi)生系統(tǒng)繼續(xù)教育-選修課18學(xué)時(shí))考試答案
- 2025-2030空氣壓縮機(jī)市場發(fā)展現(xiàn)狀調(diào)查及供需格局分析預(yù)測報(bào)告
- 流量計(jì)考試試題及答案
- 電子商務(wù)案例分析-京東商城
- 限價(jià)保供協(xié)議書范本
評論
0/150
提交評論