基於51微控制器的智慧型計算器

2021-08-28 03:34:09 字數 1203 閱讀 1253

其實,說智慧型也不算智慧型,就是在計算器上加上了日曆、時鐘和溫度顯示而已。具體用到的也是51很基礎的模組,乙個鍵盤,乙個1602,溫度顯示那塊用到了ds18b20,硬體除錯的部分也很少,主要是**的書寫。

功能簡介:

1、開啟電源時,顯示歡迎字樣

2、計算器功能

3、日曆及時鐘功能

4、溫度實時測量

然後用**依次實現各個功能

剛開始只用矩陣鍵盤來控制計算器的時候是很簡單的,定義乙個陣列,確定每個鍵盤所對應的符號或數字,然後用列檢測法確定按鍵是否按下,並將其顯示在1602上。我設定的鍵盤包括數字鍵(

0-9)、符號鍵(+、

-、*、

/),清除鍵和等號鍵。

附上矩陣鍵盤的電路圖:

其中4*

4矩陣鍵盤分別表示

1,   2

,3,    +,

4,   5,    6,     -,

7,   8,    9,     *, 0

,=,off ,   /,

最開始只能做整數運算,後來我又定義了浮點型的資料,並且擴寬了加減運算的範圍,整個計算器就比較完整了。

實現計算器的功能後,我開始加上日曆及時鐘的功能。先給年月日時分秒初始化乙個值,並設定最大值,將前兩行矩陣鍵盤作為調節日曆及時鐘的按鍵,s1,s2,s3分別用來調節時分秒,s5,s6,s7分別用來調節年月日,按下鍵後進行相應的加一操作,並使用定時器進行計時,若加到我們設定的最大值時,則置為0,並且令前一位加一。

緊接著是加上溫度顯示,我採用的ds18b20模組,工作原理圖如下:

溫度解析度如下:

利用ds18b20對外界溫度進行檢測,並將溫度以一定的格式顯示在1602上。

最後也是最關鍵的是設定功能模式的切換,切換鍵大致如下:

k1=0時,表示選擇時間顯示功能

k2=0

時,表示選擇溫度顯示功能

k3=0

時,表示選擇計算器功能

按下相應的切換鍵即表示選擇相應的功能。

基於51微控制器的計算器

繼續寫一下寒假做的51小專案,這一次是基於at89c51的計算器,帶乙個八位密碼鎖功能。具體實現了計算器的加減乘除功能,並且自帶八位密碼鎖,輸入密碼後按 確定,錯誤輸入三次密碼就會鎖定,重啟後解除鎖定,密碼可以在密碼表中設定。顯示部分採用了1602顯示屏。這一次在使用ad畫pcb時,考慮到計算器要脫...

基於51微控制器的簡易計算器

矩陣鍵盤有16個按鍵,滿足對簡易計算器的計算實現,顯示部分採用lcd1602,第一行顯示計算的數值符號,第二行顯示計算結果。最大能計算7位數 7位數的值,可以計算負數,小數點結果保留有三位,在每次按下計算符號後,接著只能按下數字,再按下符號鍵無效,也就是每次計算只能按乙個計算符號,如輸入錯誤需按n清...

基於51微控制器的計算器程式

用51微控制器製作計算器 include t define uint unsigned int define uchar unsigned char sbit lcden p2 7 lcd1602?y?sbit rs p2 6 sbit rw p2 5 char i,j,temp,num,num 1...