永发信息网

求C语言大神解释大概具体每段释义

答案:2  悬赏:50  手机版
解决时间 2021-11-29 09:07
  • 提问者网友:几叶到寒
  • 2021-11-28 17:53
求C语言大神解释大概具体每段释义
最佳答案
  • 五星知识达人网友:往事隔山水
  • 2021-11-28 18:30
#include"reg51.h"#define uint unsigned int //定义编译代表,uint的部分由 unsigned int替代#define uchar unsigned char //同上类似delay(uint t) //延时定义{ while(t--);}key(){ uint r,l,n; r=l=n=0; //初始各值为0 P1=0x0f; //定义51单片机的引脚夫 P1口 0b 0000 ffff 即低四位输出高电平 switch(P1) //引脚检测,一般检测哪个按钮按下了,要考虑具体的线路图,一般按下接GND { case 0x0e:r=1;break; //检测按钮低四位 P1^[0-3]; 1110 即为 P1^0键被按下 那么赋值 r=1 case 0x0d:r=2;break; //类似上1101 case 0x0b:r=3;break; // 1011 case 0x07:r=4;break; //0111 }P1=0xf0; //强制赋值高四位为高电平,低四位为低电平 P1^[0-3]为低电输出,P1^[4-7]高电输出 switch(P1){case 0xe0:l=1;break; //检测高位,但这里明显有 P1^[4-7]; 1110 那么 l=1
case 0xd0:l=2;break; //类似以上 case 0xb0:l=3;break; //略 case 0x70:l=4;break; //略}switch(r) //检测r的值通过对高与低的二个按钮判断,返回具体的n值,{ case 1:
if(l==1)n=1;
if(l==2)n=2;
if(l==3)n=3;
if(l==4)n=4;
break; case 2:
if(l==1)n=5;
if(l==2)n=6;
if(l==3)n=7;
if(l==4)n=8;
break; case 3:if(l==1)n=9;if(l==2)n=10;if(l==3)n=11;if(l==4)n=12;break; case 4:if(l==1)n=13;if(l==2)n=14;if(l==3)n=15;if(l==4)n=16;break;} return(n);}main(){uint a,b,g[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //定义变量data类型 while(1) { a=key()%10; b=key()/10; //计算a,b的十位与个位 P3=0x01; //引脚P3的输出 低位高 P2=g[b]; //将g对应的b下标的具体值,这里应该是数码管给p2 显示数码信息 delay(100); P3=0x02; //类似以上. P2=g[a]; delay(100); }}
全部回答
  • 1楼网友:夜风逐马
  • 2021-11-28 19:58
求悬赏,好人也要生存成本!追问提高悬赏了,求大神解释。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯