久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
矩陣鍵盤+液晶 制作的簡易單片機計算器
[打印本頁]
作者:
xrq7865089
時間:
2017-6-22 14:25
標題:
矩陣鍵盤+液晶 制作的簡易單片機計算器
單片機計算器仿真圖:
0.png
(791.41 KB, 下載次數: 92)
下載附件
2017-6-22 18:55 上傳
源代碼:
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit leden=P2^7;
sbit rs=P2^5;
sbit wr=P2^6;
//sbit busy=P0^7;
uchar i,j,num,num_1,temp;
long a,b, c;
float a_c,b_c;
uchar flag,fuhao;
uchar code table[]={7,8,9,0,
4,5,6,0,
1,2,3,0};
uchar code table1[]={7,8,9,0x2f-0x30,
4,5,6,0x2a-0x30,
1,2,3,0x2d-0x30,
0x01-0x30,0,0x3d-0x30,0x2b-0x30};
void delay(uchar n)
{
uchar i,j;
for(i=n;i>0;i--)
for(j=200;j>0;j--) ;
}
/*
void check()
{
do{P0=0xff;
rs=0;wr=1;leden=0;delay(5);leden=1;}while(busy==1);
}
*/
void write(uint w)
{
rs=0;
wr=0;
leden=0;
P0=w;
leden=1;
delay(10);//check();
leden=0;
}
void write_data(uint q)
{
wr=0;
leden=0;
P0=q;
leden=1;
delay(10);
leden=0;
}
void init()
{
num=1;
leden=1;
write(0x38);
write(0x08);
write(0x01);
write(0x06);
write(0x0f);
num_1=0;
i=0;j=0;a=0;b=0;c=0;flag=0;fuhao=0;
}
void keyscan()
{
P1=0Xfe;
if(P1!=0xfe)
{
delay(10);
if(P1!=0xfe)
{
temp=P1&0xf0;
switch(temp)
{
case 0xe0:num=0;break;
case 0xd0:num=1;break;
case 0xb0:num=2;break;
case 0x70:num=3;break;
}
}
while(P1!=0xfe);
if(num==0||num==2||num==1)
{
if(j!=0)
{
write(0x01);
j=0;
}
if(flag==0)
{
a=a*10+table[num];
}
else
{
b=b*10+table[num];
}
}
else
{
flag=1;
fuhao=4;//????;
}
i=table1[num];
write_data(0x30+i);
}
P1=0xfd;
if(P1!=0xfd)
{
delay(10);
if(P1!=0xfd)
{
temp=P1&0xf0;
switch(temp)
{
case 0xe0:num=4;break;
case 0xd0:num=5;break;
case 0xb0:num=6;break;
case 0x70:num=7;break;
}
}
while(P1!=0xfd);
if(num==4||num==5||num==6)
{
if(j!=0)
{
write(0x01);
j=0;
}
if(flag==0)
{
a=a*10+table[num];
}
else
{
b=b*10+table[num];
}
}
else
{
flag=1;
fuhao=3;//????;
}
i=table1[num];
write_data(0x30+i);
}
P1=0xfb;
if(P1!=0xfb)
{
delay(10);
if(P1!=0xfb)
{
temp=P1&0xf0;
switch(temp)
{
case 0xe0:num=8;break;
case 0xd0:num=9;break;
case 0xb0:num=10;break;
case 0x70:num=11;break;
}
}
while(P1!=0xfb);
if(num==8||num==9||num==10)
{
if(j!=0)
{
write(0x01);
j=0;
}
if(flag==0)
{
a=a*10+table[num];
}
else
{
b=b*10+table[num];
}
}
else if(num==11)
{
flag=1;
fuhao=2;//jian???;
}
i=table1[num];
write_data(0x30+i);
}
P1=0xf7;
if(P1!=0xf7)
{
delay(10);
if(P1!=0xf7)
{
temp=P1&0xf0;
switch(temp)
{
case 0xe0:num=12;break;
case 0xd0:num=13;break;
case 0xb0:num=14;break;
case 0x70:num=15;break;
}
}
while(P1!=0xf7);
switch(num)
{
case 12:{write(0x01);a=0;b=0;flag=0;fuhao=0;}break;
case 13:
{
if(flag==0)
{a=a/10;write_data(0x30);}
else if(flag==1)
{b=b*10;write_data(0x30);}
} break;
case 14: {j=1;
if(fuhao==1)
{write(0x80+0x4f);write(0x04);c=a+b;
while(c!=0)
{
write_data(0x30+c%10);
c=c/10;
}
write_data(0x3d);a=0;b=0;flag=0;fuhao=0;}
else if(fuhao==2)
{write(0x80+0x4b);write(0x04);
if(a-b>0)
{c=a-b;}
else { c=b-a; }
while(c!=0)
{
write_data(0x30+c%10);
c=c/10;
}
if(a-b<0)
write_data(0x2d);write_data(0x3d);a=0;b=1;flag=0;fuhao=0;}
else if(fuhao==3)
{write(0x80+0x4f);write(0x04);c=a*b;
while(c!=0)
{
write_data(0x30+c%10);
c=c/10;
}
write_data(0x3d);a=0;b=0;flag=0;fuhao=0;}
else if(fuhao==4)
{
write(0x80+0x4f);write(0x04); i=0;
c=a/b/c;
while(c!=0)
{
write_data(0x30+c%10);
c=c/10;
i++;
if(i==3)
write(0x2e);
}
if(a/b<=0)
write_data(0x30);write_data(0x3d);a=0;b=0;flag=0;fuhao=0;
}
} break;
case 15:{write_data(0x30+table1[num]);flag=1;fuhao=1;} break;
}
}
P1=0xf0;
}
void main()
{
init();
while(1)
{
keyscan()
}
}
復制代碼
作者:
huanghu
時間:
2018-4-13 19:45
怎么顯示不對啊?
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
天天躁日日躁狠狠的躁天龙影院
|
久久亚洲精品国产精品紫薇
|
国产精品日本一区二区不卡视频
|
天堂中文资源在线
|
欧美在线播放一区
|
国产乱性
|
秋霞国产
|
久久久久一区
|
免费看国产片在线观看
|
一区二区在线
|
全免费a级毛片免费看视频免费下
|
狠狠躁天天躁夜夜躁婷婷老牛影视
|
欧美一区二区免费
|
色网在线播放
|
欧美日韩一区二区视频在线观看
|
午夜网站视频
|
成人福利网
|
久久久久久久久久久国产
|
国产精品永久久久久
|
91影院
|
日韩欧美国产电影
|
精品国产乱码久久久久久图片
|
日韩激情免费
|
国产观看
|
国产黄色免费网站
|
国产免费福利在线
|
日本 欧美 三级 高清 视频
|
亚洲在线观看视频
|
亚洲欧美激情网
|
男人av在线播放
|
欧美一区二区大片
|
国产欧美日韩在线一区
|
岛国av免费在线观看
|
一级高清免费毛片
|
在线观看亚洲欧美
|
久久久久国产视频
|
亚洲国产aⅴ精品一区二区 免费观看av
|
日韩精品一区二区三区第95
|
一区二区三区免费
|
久久成人国产精品
|
日韩精品在线播放
|