久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
基于C51單片機(jī)計(jì)算器
[打印本頁]
作者:
bsmn
時(shí)間:
2021-3-17 19:36
標(biāo)題:
基于C51單片機(jī)計(jì)算器
功能:
可以對(duì)兩個(gè)整數(shù)進(jìn)行加減乘除運(yùn)算。
計(jì)算器.png
(303.51 KB, 下載次數(shù): 58)
下載附件
proteus圖
2021-3-17 19:35 上傳
程序:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar dis[]="0123456789+-*/=",K;
uint AA,BB;
long int CC;
uchar FH=0;
bit end=0;
sbit EN=P1^2;
sbit RS=P1^0;
sbit RW=P1^1;
void delay(uchar t)
{
uchar i;
while(t--)
for(i=0;i<123;i++);
}
void wcmd(uchar cmd)
{
RS=0;
RW=0;
P0=cmd;
delay(5);
EN=1;
delay(5);
EN=0;
delay(5);
}
void wdat(uchar dat)
{
RS=1;
RW=0;
P0=dat;
delay(5);
EN=1;
delay(5);
EN=0;
delay(5);
}
void init()
{
EN=0;
wcmd(0x06);
delay(5);
wcmd(0x38);
delay(5);
wcmd(0x0e);
delay(5);
wcmd(0x01);
delay(5);
}
void cal() //計(jì)算
{ long int temp;char a[12],i,j;
switch(FH)
{
case 1:CC=AA+BB;break;
case 2:if(AA>=BB)CC=AA-BB;else {wdat('-');CC=BB-AA;}break;
case 3:CC=AA*BB;break;
case 4:CC=AA/BB;break;
}
temp=CC;
for(j=0;temp!=0;j++)
{
a[j]=temp%10;
temp=temp/10;
}
for(i=j-1;i>=0;i--)
wdat(a[i]+'0');
AA=BB=CC=FH=0;
end=1;
}
uchar select()
{
uchar ccode,rcode;
P3=0xf0;
if((P3&0xf0)!=0xf0)
{
delay(10);
if((P3&0xf0)!=0xf0) //去抖動(dòng)誤觸后再次檢測(cè)
{
rcode=0xfe; //逐行掃描,從1.0開始
while((rcode&0x10)!=0)
{
P3=rcode;
if((P3&0xf0)!=0xf0)
{
ccode=(P3&0xf0|0x0f);
while((P3&0xf0)!=0xf0);//等待按鍵放開
return ((~rcode)+(~ccode)); //返回鍵
}
else
rcode=(rcode<<1)|0x01;
}
}
}
return 0;
}
void key_deal(unsigned char key)
{
if(key!=0)
{ if(end==1)
{wcmd(0x01);end=0;}
switch(key)
{
case 0x11: K=7; break;
case 0x21: K=8; break;
case 0x41: K=9; break;
case 0x81: K=15;FH=0;AA=BB=CC=0;wcmd(0x01);break;//
case 0x12: K=4; break;
case 0x22: K=5; break;
case 0x42: K=6; break;
case 0x82: K=12;FH=3; break;// *
case 0x14: K=1; break;
case 0x24: K=2; break;
case 0x44: K=3; break;
case 0x84: K=13;FH=4; break;// /
case 0x18: K=10;FH=1; break;// +
case 0x28: K=0; break;
case 0x48: K=11;FH=2;break;// -
case 0x88: K=14;wdat(dis[K]);cal();break;//=
default: break; //不是以上數(shù)據(jù)時(shí),跳出
}
if(K<14)
{
wdat(dis[K]);
}
if(K<10)
{
if(FH==0)
{
AA=AA*10+K;
}
else
{
BB=BB*10+K;
}
}
}
}
void main()
{
uchar key;
init();
wcmd(0x80);
while(1)
{
key=select();
key_deal(key);
}
}
復(fù)制代碼
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
夫妻午夜影院
|
中文字幕高清在线
|
久久久久久久久久久一区二区
|
中文字幕 亚洲一区
|
国产精品久久毛片av大全日韩
|
日日夜夜精品视频
|
亚洲精品在线播放
|
国产精品99
|
精品国产欧美日韩不卡在线观看
|
中文字幕免费视频
|
国产电影一区二区三区爱妃记
|
欧美精品福利
|
日日操操
|
欧美一区二区激情三区
|
国产精品美女久久久久久久久久久
|
精品久久99
|
日本一区二区三区免费观看
|
成人精品免费
|
91xxx在线观看
|
91国产视频在线观看
|
一级欧美日韩
|
国产综合精品一区二区三区
|
欧美二区乱c黑人
|
国产在线精品一区二区三区
|
成人在线免费观看视频
|
成人中文字幕在线观看
|
亚洲色图50p
|
三级在线视频
|
日韩在线视频观看
|
中文字幕视频在线观看
|
国产色网
|
精品中文字幕一区二区三区
|
国产精品成人在线播放
|
精品免费国产一区二区三区四区介绍
|
福利社午夜影院
|
国久久
|
国产亚洲精品一区二区三区
|
欧美1级
|
天堂精品
|
日韩精品一区二区三区中文在线
|
久99久视频
|