久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
基于51單片機的計算器源碼和原理圖
[打印本頁]
作者:
陶界
時間:
2017-2-20 15:26
標題:
基于51單片機的計算器源碼和原理圖
源程序:
#include<reg52.h>
#define uchar unsigned char
#define ulong unsigned long
//uchar code num[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40}; //共陰極
// 0 1 2 3 4 5 6 7 8 9 熄滅 -
//uchar code loc[]={0xff,0xfe,0xfd,0xfb,0xf7};
//uchar code ero[]={0x79,0x50,0x5c};
uchar code num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0x40}; //共陽極
uchar code loc[]={~0x00,~0x10,~0x20,~0x40,~0x80,~0x08,~0x04,~0x02,~0x01};
uchar code ero[]={~0x79,~0x77,~0x3f};
ulong n=0,n1=0,n2=0; //賦初值
uchar flag=0; //計算類型選擇關鍵字
void delay(int t);
void display(int n);
void error();
main()
{
while(1)
{
uchar temp;
//第一行檢測
P1=0xfe;
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(10);
temp=P1;
temp=temp&0xfe;
if(temp!=0xfe)
{
temp=P1;
switch(temp)
{
case 0xee:n1=0;n2=0;n=0;flag=0;break; //清零
case 0xde:n1=10*n1+0;n=n1;break; //0
case 0xbe: if(flag==1)n=n2+n1; //=
if(flag==2)n=n2-n1;
if(flag==3)n=n2*n1;
if(flag==4)n=n2/n1;
n1=0;
break;
case 0x7e: // +
n2=n1;n1=0;
flag=1;break;
}
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
}
}
}
//掃描第二行
P1=0xfd;
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(10);
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case 0xed:n1=10*n1+1;n=n1;break; //4
case 0xdd:n1=10*n1+2;n=n1;break; //5
case 0xbd:n1=10*n1+3;n=n1;break; //6
case 0x7d: // -
n2=n1;n1=0;
flag=2;break;
}
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
}
}
}
//掃描第三行
P1=0xfb;
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(10);
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case 0xeb:n1=10*n1+4;n=n1;break;
case 0xdb:n1=10*n1+5;n=n1;break;
case 0xbb:n1=10*n1+6;n=n1;break;
case 0x7b: // *
n2=n1;n1=0;
flag=3;break;
}
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
}
}
}
//掃描第四行
P1=0xf7;
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(10);
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case 0xe7:n1=10*n1+7;n=n1;break; //7
case 0xd7:n1=10*n1+8;n=n1;break; //8
case 0xb7:n1=10*n1+9;n=n1;break; //9
case 0x77: // /
n2=n1;n1=0;
flag=4;break;
}
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
}
}
}
display(n);
}
}
//延時函數
void delay(int t)
{
int x,y;
for(x=0;x<t;x++)
for(y=0;y<t;y++);
}
//數碼管顯示
void display(int n)
{
//溢出處理
uchar g,s,b,q,a,c;
int abs;
if((n>999999)||(n<-99999))
error();
//正數
if((n>=0)&&(n<=999999))
{
g=n%10;
s=n/10%10;
b=n/100%10;
q=n/1000%10;
a=n/10000%10;
c=n/100000%10;
P0=num[g];
delay(5);
P2=loc[4];
delay(2);
P2=loc[0];
delay(3);
if(n>=10)
{
P0=num[s];
P2=loc[3];
delay(2);
P2=loc[0];
delay(3);
}
if(n>=100)
{
P0=num[b];
P2=loc[2];
delay(2);
P2=loc[0];
delay(3);
}
if(n>=1000)
{
P0=num[q];
P2=loc[1];
delay(2);
P2=loc[0];
delay(3);
}
if(n>=10000)
{
P0=num[a];
P2=loc[5];
delay(2);
P2=loc[0];
delay(3);
}
if(n>=100000)
{
P0=num[c];
P2=loc[6];
delay(2);
P2=loc[0];
delay(3);
}
}
//負數
if((n<0)&&(n>=-999))
{
abs=-n;
g=abs%10;
s=abs/10%10;
b=abs/100%10;
q=abs/1000%10;
P0=num[g];
P2=loc[4];
delay(2);
P2=loc[0];
delay(2);
if((abs/10%10>0)||(abs/100%10>0))
{
P0=num[s];
P2=loc[3];;
delay(2);
P2=loc[0];
delay(2);
if((abs/100%10>0))
{
P0=num[b];
P2=loc[2];
delay(2);
P2=loc[0];
delay(2);
if((abs/1000%10>0))
{
P0=num[q];
P2=loc[1];
delay(2);
P2=loc[0];
delay(2);
}
else
{
P0=num[11];
P2=loc[1];
delay(2);
P2=loc[0];
delay(2);
}
}
else
{
P0=num[11];
P2=loc[2];
delay(2);
P2=loc[0];
delay(2);
}
}
else
{
P0=num[11];
P2=loc[3];
delay(2);
P2=loc[0];
delay(2);
}
}
}
//溢出顯示
void error()
{
P2=loc[5];
P0=ero[0];
delay(2);
P2=loc[0];
delay(3);
P2=loc[1];
P0=ero[1];
delay(2);
P2=loc[0];
delay(3);
P2=loc[2];
P0=ero[1];
delay(2);
P2=loc[0];
delay(3);
P2=loc[3];
P0=ero[2];
delay(2);
P2=loc[0];
delay(3);
P2=loc[4];
P0=ero[1];
delay(2);
P2=loc[0];
delay(3);
}
復制代碼
QQ截圖20170220152147.png
(324.65 KB, 下載次數: 152)
下載附件
2017-2-20 15:25 上傳
原理圖
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
天天干狠狠操
|
综合二区
|
国产激情视频网址
|
欧美成人a∨高清免费观看 老司机午夜性大片
|
99精品在线观看
|
亚洲欧美在线一区
|
99色视频
|
伊人手机在线视频
|
一区二区三区国产
|
亚洲欧美激情四射
|
中文字幕在线观看一区
|
日韩无
|
国产99小视频
|
日日夜夜免费精品
|
我想看国产一级毛片
|
美女福利网站
|
亚洲国产精品日韩av不卡在线
|
欧美成ee人免费视频
|
综合成人在线
|
一级黄色片免费
|
国产目拍亚洲精品99久久精品
|
网站一区二区三区
|
国产精品福利网站
|
亚洲综合精品
|
国产精品自产av一区二区三区
|
午夜精品久久久久久久星辰影院
|
久久久久久国产精品免费
|
欧美激情精品久久久久久变态
|
99精品欧美一区二区蜜桃免费
|
a黄视频
|
国产高清精品一区二区三区
|
久久亚洲免费
|
色婷婷国产精品
|
国产最新视频在线
|
丝袜天堂
|
亚洲欧美日韩精品久久亚洲区
|
三级av网址
|
四虎av电影
|
亚洲精品福利视频
|
91色视频在线观看
|
日韩一区二区三区在线看
|