邵陽(yáng)學(xué)院信息工程系 吳 洋 許建明 陳炯明
?
基于單片機(jī)的電子計(jì)算器的設(shè)計(jì)
邵陽(yáng)學(xué)院信息工程系 吳 洋 許建明 陳炯明
【摘要】本設(shè)計(jì)是選用STC89C52單片機(jī)為核心的計(jì)算器系統(tǒng),計(jì)算器數(shù)字輸入采用4×4的矩陣鍵盤,可以進(jìn)行加、減、乘、除7位帶符號(hào)數(shù)字的運(yùn)算,然后在LCD1602上顯示輸入的表達(dá)式和計(jì)算結(jié)果。設(shè)計(jì)重點(diǎn)在于設(shè)計(jì)方法及流程,首先根據(jù)原理設(shè)計(jì)出系統(tǒng)電路原理圖,然后利用keil軟件編程,通過實(shí)驗(yàn)開發(fā)平臺(tái)進(jìn)行仿真,再利用altium designer軟件設(shè)計(jì)PCB,最后再到元器件的焊接和調(diào)試成功。該電子計(jì)算器經(jīng)過測(cè)試具有電路簡(jiǎn)單、計(jì)算速度快、操作方便等諸多特點(diǎn)。
【關(guān)鍵詞】單片機(jī);計(jì)算器;LCD1602
該系統(tǒng)采用4*4的矩陣鍵盤作為數(shù)字和功能按鍵的輸入,單片機(jī)采用循環(huán)掃描的方式對(duì)矩陣鍵盤進(jìn)行驅(qū)動(dòng),獲得用戶輸入的信息,并且實(shí)時(shí)的顯示到1602液晶屏幕上,每一次有按鍵按下時(shí),通過軟件預(yù)先設(shè)計(jì)好的方法對(duì)輸入的信息經(jīng)行處理、計(jì)算、顯示,輸入結(jié)束以“=”為標(biāo)志。最后將運(yùn)算出的結(jié)果顯示到液晶屏幕上。該設(shè)備的系統(tǒng)框圖如圖1所示。
圖1 系統(tǒng)框圖
2.1液晶顯示電路設(shè)計(jì)
LCD1602是本系統(tǒng)的重要組成部分,主要用在顯示用戶的輸入和計(jì)算結(jié)果的輸出。LCD1602的并行數(shù)據(jù)端與單片機(jī)的P0口相連,控制端與單片機(jī)的P2.7~P2.5連接,其中10k的電位器用于液晶的對(duì)比度調(diào)節(jié)。該系統(tǒng)顯示及整體的電路原理圖如圖2所示。
圖2 系統(tǒng)電路原理圖
2.2按鍵電路設(shè)計(jì)
該系統(tǒng)使用的是4*4的矩陣鍵盤,一共16個(gè)按鍵,用來作為計(jì)算器的輸入設(shè)備,是該系統(tǒng)的人機(jī)交互接口之一。B1~B15一共16個(gè)按鍵為一個(gè)4*4的矩陣鍵盤,該鍵盤行陣列的第1行到第4行分別接在單片機(jī)的P1.4~P1.7口,該鍵盤的列陣列的第1列到第4列分別接在單片機(jī)的P1.0~P1.3口,這樣通過單片機(jī)的P1口就完成了對(duì)4*4矩陣鍵盤的驅(qū)動(dòng)。由此可見驅(qū)動(dòng)16個(gè)矩陣按鍵只用了8個(gè)I/O接口,矩陣鍵盤相對(duì)獨(dú)立按鍵來講更節(jié)省I/O口。
該項(xiàng)目采用的軟件編程平臺(tái)為常用的keil軟件。該程序并沒有涉及到系統(tǒng)底層的驅(qū)動(dòng)的問題,所以選擇了方便和快捷的C語言編寫程序。在該程序中,分為四個(gè)主要的函數(shù)模塊:延時(shí)函數(shù)、1602液晶驅(qū)動(dòng)和顯示函數(shù)、按鍵驅(qū)動(dòng)程序、算數(shù)運(yùn)算處理函數(shù)。該程序采用模塊化程序設(shè)計(jì)的思想,方便調(diào)試和理解。該程序以按鍵掃描為主線,其他模塊為輔組成整個(gè)程序?qū)崿F(xiàn)了電子計(jì)算器的基本功能。開機(jī)上電后執(zhí)行初始化程序,即LCD1602液晶初始化和按鍵初始化等,初始化成功后循環(huán)執(zhí)行按鍵掃描程序用于檢測(cè)用戶是否有輸入,當(dāng)有按鍵按下時(shí)則進(jìn)入運(yùn)算和處理函數(shù)對(duì)用戶的輸入數(shù)據(jù)進(jìn)行分析。一個(gè)運(yùn)算表達(dá)式的結(jié)束以“=”符號(hào)為結(jié)束標(biāo)記,當(dāng)用戶輸入“=”符號(hào)后就把計(jì)算結(jié)果顯示到液晶屏幕上來。經(jīng)過實(shí)際實(shí)驗(yàn)測(cè)試該程序長(zhǎng)時(shí)間工作穩(wěn)定,計(jì)算結(jié)果準(zhǔn)確符合該項(xiàng)目的設(shè)計(jì)要求。
通過的一系列仿真與設(shè)計(jì),基于51單片機(jī)的電子計(jì)算器的設(shè)計(jì)成功完成。雖然計(jì)算器的電路簡(jiǎn)單,但程序設(shè)計(jì)比較復(fù)雜,只要程序設(shè)計(jì)合理,計(jì)算器的功能和效率就會(huì)符合設(shè)計(jì)要求,經(jīng)測(cè)試驗(yàn)證本系統(tǒng)性能優(yōu)良、結(jié)構(gòu)簡(jiǎn)單、成本低廉,是一款非常有應(yīng)用價(jià)值的計(jì)算器。
參考文獻(xiàn)
[1]江世明,許建明,朱群峰,申壽云.單片機(jī)原理及應(yīng)用[M].上海:上海交通大學(xué)出版社,2013.
[2]王東鋒,王會(huì)良等.單片機(jī)C語言應(yīng)用100例[M].西安:電子工業(yè)出版社,2009.
[3]張毅剛.單片機(jī)原理及應(yīng)用(C51+PROTEUS仿真)[M].北京:高等教育出版社,2012.
吳洋(1992—),男,貴州安順人,大學(xué)本科,現(xiàn)就讀于邵陽(yáng)學(xué)院信息工程系電子科學(xué)與技術(shù)專業(yè)。
許建明(1977—),男,湖南武岡人,碩士,副教授,主要從事電子技術(shù)研究。
通信作者:
作者簡(jiǎn)介: