while(1) 这个到底什么意思, if(!K3) P2 = 0xfb;!K3又p2是什么意思思啊,求详解。

求大神解释一下这个程序的主函数_单片机吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:115,347贴子:
求大神解释一下这个程序的主函数收藏
#include &reg51.h&#define uchar unsigned char#define uint unsigned int#define duan P0//数码管显示段选定义#define wei P2//数码管显示位选定义#define key P3//键盘接口定义sbit OFF
= P1^0;//关机键定义unsigned long int shu1,shu2;//进行运算的两个变量数////键盘扫描返回值char flag1,flag_shu,flag_fuhao,fuhao,newkey,//flag1开机标志 newkey新按键标志,fuhao运算符,update表示等于号//之后紧接着输入的是数的话则清零shu1char key_//按键值unsigned char code Wela[]={0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//六位数码管的位选unsigned char code Duan[]={0x3f,0x06,0x5b,//
20x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00}; // 3
共阴极数码管 uchar keyscan();//键盘扫描函数void display(unsigned long int );//数码管显示函数void delay(uint i)//延时函数{ while(i--);} /***********************************************
主函数************************************************/void main(){ flag1=0;//标志关机 while(1){
if(keyscan()==15)//开机检测
flag1=1;//标志开机
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)//按下ON/C键,清零
{ flag_fuhao=0;update=0;
shu1=shu2=fuhao=flag_shu=newkey=0;
else if(key_shu==14&&flag_shu==1&&fuhao)//按下"="
switch(fuhao)
case 10:shu1=shu2+shu1;
case 11:shu1=shu2-shu1;
case 12:shu1=shu2*shu1;
case 13:shu1=shu2/shu1;
fuhao=0;flag_fuhao=0;update=1;
else if((key_shu&=0)&&(key_shu&=9))//按下数字键
{ flag_fuhao=0;
if(update)shu1=0;
if(shu1&100000)
{shu1=key_shu+shu1*10;flag_shu=1;}
else if((key_shu&=10)&&(key_shu&=13))//按下运算符
flag_fuhao=1;update=0;
if(flag_shu==1)
if(fuhao==0)
shu2=shu1;shu1=0;
fuhao=key_flag_shu=2;
switch(fuhao)
case 10:shu2=shu2+shu1;
case 11:shu2=shu2-shu1;
case 12:shu2=shu2*shu1;
case 13:shu2=shu2/shu1;
shu1=0;fuhao=key_
else if(flag_shu==2)
fuhao=key_
}} } ///////////////键盘扫描/////////////////uchar keyscan(){ //////
if(key!=0xfe){
delay(500);
if(key!=0xfe)
switch(key)
case 0xee:num=7 ;
case 0xde:num=8 ;
case 0xbe:num=9 ;
case 0x7e:num=13; //"/"
delay(500);
while(key!=0xfe)
if(!shu1&&num&=0&&num&=9)
display(num);
display(shu1);
1 ////// 2 key=0if(key!=0xfd){
delay(500);
if(key!=0xfd)
switch(key)
case 0xed:num=4 ;
case 0xdd:num=5 ;
case 0xbd:num=6 ;
case 0x7d:num=12; //*
delay(500);
while(key!=0xfd)
if(!shu1&&num&=0&&num&=9)
display(num);
display(shu1);
}}////// 2 ////// 3 key=0if(key!=0xfb){
delay(500);
if(key!=0xfb)
switch(key)
case 0xeb:num=1 ;
case 0xdb:num=2;
case 0xbb:num=3;
case 0x7b:num=11; //-
delay(500);
while(key!=0xfb)
if(!shu1&&num&=0&&num&=9)
display(num);
display(shu1);
}}////// 3 ////// 4key=0xf7;if(key!=0xf7){
delay(500);
if(key!=0xf7)
switch(key)
case 0xe7:num=15;// ON/C
case 0xd7:num=0;
case 0xb7:num=14;// =
case 0x77:num=10;// +
delay(500);
while(key!=0xf7)
if(!shu1&&num&=0&&num&=9)
display(num);
display(shu1);
}}////// 4if(!OFF)
delay(500);
{flag1=0;}
}return 100; } //////////////////显示函数////////////////void display(unsigned long int dis_shu){ uchar dis_flag,dis_uchar dis_data[6]={0,0,0,0,0,0}; if(dis_shu&99999) dis_flag=6;else if(dis_shu&9999) dis_flag=5;else if(dis_shu&999) dis_flag=4;else if(dis_shu&99) dis_flag=3;else if(dis_shu&9) dis_flag=2;else dis_flag=1; for(dis_aa=0;dis_aa&dis_dis_aa++)
dis_data[dis_aa]=dis_shu%10;
dis_shu=dis_shu/10;
}//数码管段选 for(dis_aa=0;dis_aa&dis_dis_aa++)
duan=Duan[dis_data[dis_aa]];
wei=Wela[dis_aa];
delay(100);
}//数码管位选 }
亲,太极吧长了。。。。还没原理图,怎么注释
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或步进电机实验报告(1)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
步进电机实验报告(1)
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩3页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢公式=ROUND(IF(K3&=/100,),2)中的2是什么意思_百度知道
公式=ROUND(IF(K3&=/100,),2)中的2是什么意思
IF(K3&100-105,K3*30%-2755,IF(K3&lt,IF(K3&=,K3*10&#47,2)请问其中2是什么意思,IF(K3&gt完整公式是=ROUND(IF(K3&=35000,为何要用round外面;100,IF(K3&8;100-555,IF(K3&lt,K3*45%-13505)))))));=/=%-%-&#47
提问者采纳
2表示ROUND函数“四舍五入”到小数点后两位。
提问者评价
来自团队:
其他类似问题
为您推荐:
其他1条回答
这就要看你对结果的要求了ROUND函数的第二个参数,四舍五入后保留两位小数,确定四舍五入的保留小数位数;为什么要用ROUND
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁单片机实验一_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
单片机实验一
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩7页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢这个公式什么意思?求大神解答 =IF(COUNTA(K3)=1,MAX(AZ3:BS3),0)_百度知道
这个公式什么意思?求大神解答 =IF(COUNTA(K3)=1,MAX(AZ3:BS3),0)
求大神解答=IF(COUNTA(K3)=1,MAX(AZ3:BS3)这个公式什么意思
BS3区域中的最大值,就等于AZ3如果K3单元格有内容,否则等于0
其他类似问题
为您推荐:
counta的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 p2是什么意思 的文章

 

随机推荐