51微控制器LCD1602實現計算器

2021-10-07 15:54:38 字數 1903 閱讀 3713

整合**

#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;

void

delay10us

(ut t)

//誤差 0us

//判斷按鍵值

uc keypanduan()

//返回按鍵值

}

kong1=

0x0f

;// 判斷列

if(kong1!=

0x0f)}

while

(kong1!=

0x0f);

return cc;

}//通過對應的按鍵值對應value 在

//keyvaluechuli()函式中對value進行處理

void

keyswitch

(uc key)

}void

shujuchuli()

// 0~9

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;

}if(subflag)

//減法

}else

lcddat

('-');

}lcddat

('=');

subflag=0;

}if(mulflag)

//乘法

lcddat

('=');

mulflag=0;

}//除法結果小於0.1和等於0.1和等於以上3種情況

//放大了1000000倍 再通過取餘的方法求資料

if(divflag)

//除法

for(i=

0;i)else

} cent=0;

}if(sum2<

100000

)while

(sum4!=0)

for(i=

0;i<=cent;i++

)else}}

if(sum2>

100000)}

}lcddat

('=');

divflag=0;

}}}void

keyvaluechuli()

//對key的值進行處理}}

void

main()

}

微控制器 LCD1602

lcd1602為工業字元型液晶,lcd表示liquidcrystal display。能夠同時顯示16 x 2 16列2行 即32個字元。1602液晶也叫1602字元型液晶,它是一種專門用來顯示字母 數字 符號等的點陣型液晶模組。它由若干個5x7或者5x11等點陣字元位組成,每個點陣字元位都可以顯示...

基於51微控制器的LCD1602實現分秒計時總結

1 了解51最小系統所需元器件 晶振 復位 電源 2 對使用到的元器件建庫封裝。3 新建工程,建立原理圖,合理擺放元器件,完成元器件的連線,儘量減少導線的交叉,不要短接,不要漏接。好的原理圖在pcb製圖中幫助很多,走線問題上會少很多麻煩。可以在原理圖上將所有引腳都連起來選擇合適的走線。4 建立pcb...

51微控制器LCD1602程式詳解

lcd1602 工業字元型液晶。1602是指lcd顯示的內容為16x2,即可以顯示兩行,每行16個字元.特殊介面說明 rs 暫存器選擇輸入端 rs 1 指向資料暫存器 rs 0 指向指令暫存器 rw 讀寫控制輸入端 rw 0 寫操作 rw 1 讀操作 e 使能訊號輸入端 讀操作時,高電平有效 寫操作...