下面**分3部分
整合**見鏈結(直接複製上**圖就可執行)
1功能:可以實現連續的加減乘除(不可以進行混合運算)
2矩陣按鍵對應的功能:+-
*/36
9清零25
8=14
703**圖
4**部分
lcd1602.h
#ifndef __lcd1602_h_
#define __lcd1602_h_
#define kong0 p0
//傳送資料的
#include
#ifndef uc
#define uc unsigned char
#endif
#ifndef ut
#define ut unsigned int
#endif
sbit rs=p2^6;
sbit rw=p2^5;
sbit en=p2^7;
void
delay1ms
(ut t)
;void
lcdcmd
(uc cmd)
;void
lcddat
(uc dat)
;void
lcdinitial()
;#endif
lcd1602.c
#include
#include
void
delay1ms
(ut t)
//誤差 0us
void
lcdcmd
(uc cmd)
void
lcddat
(uc dat)
void
lcdinitial()
main.c
在這裡插入**片#include
#include
#define kong1 p1
//控制矩陣按鍵
// kong0=p0 傳送命令傳送資料
uc code a=
;long sum1,sum2;
float sum3 ;
//用於除法
long sum4,sum5;
//用於除法;
uc addflag,subflag,mulflag,divflag;
uc keyflag;
// 在keyvaluechuli()函式中控制
uc flag ;
// 控制乘中的sum1進行清除;
uc keyvalue=
100;
//keyvalue值不同表示的不同功能
//初始值設定為100
void
delay10us
(ut t)
//誤差 0us
//判斷按鍵值
uc keypanduan()
//返回按鍵值
}
kong1=
0x0f
;// 判斷列
if(kong1!=
0x0f)}
while
(kong1!=
0x0f);
return cc;
}//通過對應的按鍵值對應keyvalue 在
//keyvaluechuli()函式中對keyvalue進行處理
void
keyswitch
(uc key)
}//處理keyvalue的函式
void
shujuchuli()
if(keyvalue<10)
sum1=sum1*
10+keyvalue;
lcddat
(a[keyvalue]);
//寫資料}}
void
jiafa()
//加法
sum2=sum1;
sum1=0;
}void
jianfa()
//減法
if(subflag>1)
sum1=0;
}void
chengfa()
//乘法
sum2=sum1;
}void
chufa()
//除法
if(divflag>1)
sum1=0;
}//按等於之後資料是從第二行從右向左寫
void
dengyu()
//等於
lcddat
('=');
addflag=0;
//完成計算把對應的flag清除
}// 減法的處理 分結果為正數 和負數
//進行不同處理
//減法先寫負數不行
if(subflag)
//減法
}else
//結果負數
lcddat
('-');
}lcddat
('=');
subflag=0;
}if(mulflag)
//乘法
lcddat
('=');
mulflag=0;
}//除法結果小於0.1和等於0.1和等於0.1種情況
//把結果放大了1000000倍 再通過取餘的方法求資料
if(divflag)
//除法
for(i=
0;i)else
} cent=0;
}if(sum2<
100000
)//結果小於0.1
while
(sum4!=0)
for(i=
0;i<=cent;i++
)else}}
if(sum2>
100000
)//結果大於0.1的}}
lcddat
('=');
divflag=0;
}}}void
keyvaluechuli()
//對key的值進行處理}}
void
main()
}
51微控制器LCD1602實現計算器
整合 include include define kong1 p1 控制矩陣按鍵 kong0 p0 傳送命令傳送資料 uc code a long sum1,sum2 float sum3 用於除法 long sum4,sum5 用於除法 uc addflag,subflag,mulflag,di...
基於51微控制器LCD1602顯示
要在1602上顯示字元,要大概明白1602液晶顯示屏工作原理。一般的液晶顯示器 liquid crystal display,lcd 的主要原理是以電流刺激液晶分子產生點 線 面並配合背部燈管構成畫面。1602液晶也叫1602字元型液晶,它是一種專門用來顯示字母 數字 符號等的點陣型液晶模組。160...
基於51微控制器的LCD1602實現分秒計時總結
1 了解51最小系統所需元器件 晶振 復位 電源 2 對使用到的元器件建庫封裝。3 新建工程,建立原理圖,合理擺放元器件,完成元器件的連線,儘量減少導線的交叉,不要短接,不要漏接。好的原理圖在pcb製圖中幫助很多,走線問題上會少很多麻煩。可以在原理圖上將所有引腳都連起來選擇合適的走線。4 建立pcb...