邵陽學院信息工程系 吳 洋 許建明 陳炯明
?
基于單片機的電子計算器的設計
邵陽學院信息工程系 吳 洋 許建明 陳炯明
【摘要】本設計是選用STC89C52單片機為核心的計算器系統,計算器數字輸入采用4×4的矩陣鍵盤,可以進行加、減、乘、除7位帶符號數字的運算,然后在LCD1602上顯示輸入的表達式和計算結果。設計重點在于設計方法及流程,首先根據原理設計出系統電路原理圖,然后利用keil軟件編程,通過實驗開發平臺進行仿真,再利用altium designer軟件設計PCB,最后再到元器件的焊接和調試成功。該電子計算器經過測試具有電路簡單、計算速度快、操作方便等諸多特點。
【關鍵詞】單片機;計算器;LCD1602
該系統采用4*4的矩陣鍵盤作為數字和功能按鍵的輸入,單片機采用循環掃描的方式對矩陣鍵盤進行驅動,獲得用戶輸入的信息,并且實時的顯示到1602液晶屏幕上,每一次有按鍵按下時,通過軟件預先設計好的方法對輸入的信息經行處理、計算、顯示,輸入結束以“=”為標志。最后將運算出的結果顯示到液晶屏幕上。該設備的系統框圖如圖1所示。

圖1 系統框圖
2.1液晶顯示電路設計
LCD1602是本系統的重要組成部分,主要用在顯示用戶的輸入和計算結果的輸出。LCD1602的并行數據端與單片機的P0口相連,控制端與單片機的P2.7~P2.5連接,其中10k的電位器用于液晶的對比度調節。該系統顯示及整體的電路原理圖如圖2所示。

圖2 系統電路原理圖
2.2按鍵電路設計
該系統使用的是4*4的矩陣鍵盤,一共16個按鍵,用來作為計算器的輸入設備,是該系統的人機交互接口之一。B1~B15一共16個按鍵為一個4*4的矩陣鍵盤,該鍵盤行陣列的第1行到第4行分別接在單片機的P1.4~P1.7口,該鍵盤的列陣列的第1列到第4列分別接在單片機的P1.0~P1.3口,這樣通過單片機的P1口就完成了對4*4矩陣鍵盤的驅動。由此可見驅動16個矩陣按鍵只用了8個I/O接口,矩陣鍵盤相對獨立按鍵來講更節省I/O口。
該項目采用的軟件編程平臺為常用的keil軟件。該程序并沒有涉及到系統底層的驅動的問題,所以選擇了方便和快捷的C語言編寫程序。在該程序中,分為四個主要的函數模塊:延時函數、1602液晶驅動和顯示函數、按鍵驅動程序、算數運算處理函數。該程序采用模塊化程序設計的思想,方便調試和理解。該程序以按鍵掃描為主線,其他模塊為輔組成整個程序實現了電子計算器的基本功能。開機上電后執行初始化程序,即LCD1602液晶初始化和按鍵初始化等,初始化成功后循環執行按鍵掃描程序用于檢測用戶是否有輸入,當有按鍵按下時則進入運算和處理函數對用戶的輸入數據進行分析。一個運算表達式的結束以“=”符號為結束標記,當用戶輸入“=”符號后就把計算結果顯示到液晶屏幕上來。經過實際實驗測試該程序長時間工作穩定,計算結果準確符合該項目的設計要求。
通過的一系列仿真與設計,基于51單片機的電子計算器的設計成功完成。雖然計算器的電路簡單,但程序設計比較復雜,只要程序設計合理,計算器的功能和效率就會符合設計要求,經測試驗證本系統性能優良、結構簡單、成本低廉,是一款非常有應用價值的計算器。
參考文獻
[1]江世明,許建明,朱群峰,申壽云.單片機原理及應用[M].上海:上海交通大學出版社,2013.
[2]王東鋒,王會良等.單片機C語言應用100例[M].西安:電子工業出版社,2009.
[3]張毅剛.單片機原理及應用(C51+PROTEUS仿真)[M].北京:高等教育出版社,2012.
吳洋(1992—),男,貴州安順人,大學本科,現就讀于邵陽學院信息工程系電子科學與技術專業。
許建明(1977—),男,湖南武岡人,碩士,副教授,主要從事電子技術研究。
通信作者:
作者簡介: