久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7397|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

51單片機簡易計算器源代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:351456 發(fā)表于 2018-6-13 22:19 來自手機 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <reg52. h>
#define uchar unsigned char
#define uint unsigned int
define duan P0 //數(shù)碼管顯顯示段選定義
define wei P2 //數(shù)碼管顯示位選定義
define key P3 //鍵盤接口定義
Sbit OFF=P1^0;//關(guān)機鍵定義
Sbit sw=P^5;
sbit sp=P^7;
unsigned long int shu1,shu2;//進(jìn)行運算的兩個變量數(shù)
unsigned char count;
uchar num;//鍵盤掃描返回回值
char
flag l, flag shu, flag fuhao, fuhao, newkey,update;
∥flag1開機標(biāo)志 newkey新按鍵標(biāo)志, fuhao運算符,update表示等于號
∥之后緊接著輸入的是數(shù)的話則清零shul
char key_shu;//按鍵值
unsigned char code Wela[]={0xf7, 0xfb,0xfd,0xfe}
//六位數(shù)碼管的位選
unsigned char code Duan[]={0x3f, 0x06,0x5b
//0 1 2
0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00}
//3 4 5 6 7 8 9無顯示共陰陰極數(shù)碼管
unsigned char count;
uchar Keyscan(); //鍵盤掃描函數(shù)
void display(unsigned long int); //數(shù)碼管顯示函數(shù)
void delay(uint i);//延時函數(shù)
{
while(i--);
}

void main()
{
flag1=0; //標(biāo)志關(guān)機
{
while(1)
if(keyscan()==15; //開機檢測
flag1=1;//標(biāo)志開機
shu1=shu2=fuhao=flag_shu=newkey=0;//初始化變量
while(flag1)
{
if(!flag fuhao)display(shu1);
else display(shu2);
key_shu=keyscan();
if(newkey==1); //有新鍵值
{if(key_shu==15) //按下ONC鍵,清零
{flag_fuhao=0, update=0
shul=shu2=fuhao_flag=shu=newkey=0;
}
else if(key_shu=14&&flag_shu==1&&fuhao) //按下
{switch(fuhao)
{case 10: shu1=shu2+shu1; break;
case 11: shu1==shu2-shu1; break;}
fuhao=0; flag_fuhao=0; update=1;
}
else if(key_shu>=0)&&(key shu<=9)
//按下數(shù)字鍵
{flag_fuhao=0
if(update) shu1=0;
if(shul<100000)
shu1=key_shu+shu1*10; flag_shu=1;}
update=0;
}
else if((key_shu>=10)&&(key_shu<=11)) //按下運算符
{flag_fuhao=1;update=0;
if(flag_shu==1)
{if(fuhao=0;
{shu2=shu1; shu1=0;
fuhao=key_shu;flag_shu=2; }
else
{switch(fuhao)
{case 10: shu2=shu2+shu1; break;
case 11: shu2=shu2-shu1;break;
}
shu1=0; fuhao=key_shu;
}
else if(flag_shu==2)
fuhao=key_shu
}
newkey=0
}
}
}
}

鍵盤掃描
uchar keyscan()
{
key=0xfe;
if(key!=0xfe)
{
delay(500);
if(key! =0xfe)
{
switch(key)
{
case 0xee;num=7;break;
case 0xde;num=8;break;
case 0xbe;num=9;break;
case 0x7e;num=13;break;
}
newkey=1
delay(500);
while(key!=0xfe)
{
if(flag1)
if(!shu1&&num>=0&&num<=9)
display(num);
else
display(shu1);
}
return num;
}
}
key=0xfd;
if(key!=0xfd)
{
delay(500);
if(key!=0xfd)
{
switch(key)
{
case 0xed;num=4;break;
case 0xdd;num=5;break;
case 0xbd;num=6;break;
case 0x7d;num=12;break;//
newkey=1;
delay(500);
while(key!=0xfd)
{
if(flag1)
if(! shu1&&num>=0&&num<=9)
display(num);
else
display(shu1);
}
return num;
}
}
key=0xf7;
if(key! =0xfb)
{
delay(500);
if(key!=0xfb)
{
switch(key)
{
case 0xeb:num=1;break;
case 0xdb:num=2;break;
case 0xbb:num=3;break;
case 0x7b:num=11;break;
}
newkey=1;
delay(500);
while(key!=0xfb)
{if(flag1)
if(shu1&&num>=0&&num<=9)
display(num);
else
display(shu1);
}
return num;
}
}
key=0xf7;
if(key! =0xf7)
{delay(500);
if(key! =0xf7)
{
switch(key)
{
case 0xe7:num=15;break;//ON/C
case 0xd7:num=0;break;
case 0xb7:num=14;break;/
case 0x77:num=10;break;//
}
newkey=1;
delay(500);
while(key!=0xf7)
if(flag1)
if(!shul&&num>=&&num<=9)
display(num);
else
display(shu1);
}
return num;
}
}
//4
if(!OFF)
{
delay(500);
if(!OFF)
{flag1=0;}
}
return 100;
}

















分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:371857 發(fā)表于 2020-6-17 12:14 | 只看該作者
可以畫畫電路圖
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品亚洲一区二区三区在线 | 成人精品视频 | 成人av激情| 久久精品黄色 | 天天干国产| 欧美a在线看 | 国产欧美日韩一区 | 在线电影日韩 | 欧美男人天堂 | 午夜影院毛片 | 日韩在线欧美 | 69性欧美高清影院 | h视频免费在线观看 | 精品视频国产 | 中文av网站 | 成人国产综合 | 国产精品99久久久久久久vr | 久久久久久久久蜜桃 | 三级在线免费观看 | 亚洲一区 | 国产精品视频一二三区 | 精品成人av | 色888www视频在线观看 | aaaaaaa片毛片免费观看 | 中文字幕欧美一区 | 天天看天天摸天天操 | 精品久久久久久亚洲综合网 | 欧美日韩综合 | 一本色道久久综合亚洲精品高清 | 久久精品一区二区 | 精品一区二区三区在线观看国产 | 日本大香伊一区二区三区 | 久久久成 | 久久一区二区三区四区五区 | 四虎影院在线观看av | 日韩在线观看 | 国产精品视频一区二区三区 | 中文字幕一区在线观看视频 | 精品国产精品国产偷麻豆 | 久草中文在线观看 | 99精品久久久久久中文字幕 |