网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月28日漏签0天
单片机吧 关注:213,745贴子:1,052,319
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 1回复贴,共1页
<<返回单片机吧
>0< 加载中...

实在看不懂,请大神给注解一下这个程序

  • 只看楼主
  • 收藏

  • 回复
  • LamborghiniQ7
  • 新兵
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
/********************************************************************
* 名称:矩阵键盘扫描
* 功能:矩阵键盘扫描,检测输入数字和运算符号
* 输入:键盘输入
* 输出:无
*********************************************************************/
void matrikeyscan()
{
uchar temp,fs,a;
float key;
P1=0xfd; //第三行
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{
delayms(10);
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case 0xed:
key=1;
write('1');
if (sign1==0)//整数处理
{
if(sign2==0)
number1=number1*10+key;
else
number2=number2*10+key;
}
else //小数处理,sing1=1时
{
if(sign2==0) //第一个数
{
flo_s[fs]='1';
number3=atof(flo_s);
fs++;
}
else //第二个数
{
flo_s[fs]='1';
number3=atof(flo_s);
fs++;
}
}
break;
case 0xdd:
key=2;
write('2');
if (sign1==0)//整数处理
{
if(sign2==0)
number1=number1*10+key;
else
number2=number2*10+key;
}
else //小数处理
{
if(sign2==0)
{
flo_s[fs]='2';
number3=atof(flo_s);
fs++;
}
else
{
flo_s[fs]='2';
number3=atof(flo_s);
fs++;
}
}
break;
case 0xbd:
key=3;
write('3');
if (sign1==0)//整数处理
{
if(sign2==0)
number1=number1*10+key;
else
number2=number2*10+key;
}
else //小数处理
{
if(sign2==0)
{
flo_s[fs]='3';
number3=atof(flo_s);
fs++;
}
else
{
flo_s[fs]='3';
number3=atof(flo_s);
fs++;
}
}
break;
case 0x7d: //"+"加号
key=10;
write('+');
sign2=1;
symbol='+';
sign1=0;//小数标志清零
number1=number1+number3;
number3=0;
break;
}
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
}
}
}


  • 时jelly
  • 中士
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你不能那都不懂吧 说清楚 才会有解答


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1回复贴,共1页
<<返回单片机吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示