为什么51单片机中 这条语句不执行呢
#include<reg51.H>#defineucharunsignedchar#defineuintunsignedintsbitrr=P3^3;sbitgg=P3^...
#include <reg51.H>
#define uchar unsigned char
#define uint unsigned int
sbit rr=P3^3;
sbit gg=P3^4;
sbit yy=P3^5;
uchar code table[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar a,i,n,m;
//void init();
void delay(uint);
void main()
{
//init();
while(1)
{
for(i=0;i<9;i++)
{
yy=0;
P2=table[i];
delay(2240);
}
yy=1;
rr=0;
for(m=0;m<9;m++)
{
P0=table[m];
P2=table[m] ;//这条语句在调试的时候怎么不执行呢????
delay(2240);
}
rr=1;
gg=0;
for(n=0;n<9;n++)
{
P0=table[n];
P2=table[n];];//这条语句也在调试的时候怎么就不执行呢????
delay(2240);
}
gg=1;
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
} 展开
#define uchar unsigned char
#define uint unsigned int
sbit rr=P3^3;
sbit gg=P3^4;
sbit yy=P3^5;
uchar code table[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar a,i,n,m;
//void init();
void delay(uint);
void main()
{
//init();
while(1)
{
for(i=0;i<9;i++)
{
yy=0;
P2=table[i];
delay(2240);
}
yy=1;
rr=0;
for(m=0;m<9;m++)
{
P0=table[m];
P2=table[m] ;//这条语句在调试的时候怎么不执行呢????
delay(2240);
}
rr=1;
gg=0;
for(n=0;n<9;n++)
{
P0=table[n];
P2=table[n];];//这条语句也在调试的时候怎么就不执行呢????
delay(2240);
}
gg=1;
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
} 展开
3个回答
意法半导体(中国)投资有限公司
2021-01-14 广告
2021-01-14 广告
可以写对它写程序,让它听从你的安排,你让它实现什么功能它就能实现,比如电子钟、电子琴、打印机、手机、电梯控制,智能家具如:空调、冰箱、洗衣机等,如果这些家电没有它,什么都不能工作。单片机内部很复杂,你研究的越深你就会越爱上它,它可以帮你实现...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
不是不执行,而是可能被优化掉了,无法从源代码级别进行跟踪。
追问
那就是说那条语句不起作用了?????那要怎么防止被优化呢
追答
怎么可能不起作用!只不过被编译器换了一种表达方式,跟你的源代码不一定完全对应而已。
调试阶段可将优化级别降低甚至干脆关闭优化。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你p2口是做什么用的?自己看看。一个是用于为选扫描一个是用于段选编码,数组肯定不同。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询