打印

这个程序能行吗?

[复制链接]
1220|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zzj137|  楼主 | 2007-8-9 14:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
自学的,比初学者还....
希望各位大虾给小弟指点指点!
改正错误!

p1.5       p1.4      p1.3            p1.2     p1.1      p1.0
红灯       黄灯       绿灯           红灯     黄灯      绿灯
k           l         m               n       o         p


51单片机p1口控制~



#include<REGX51.H>
void delay (void)                                 /*延时程序*/
{
unsigned char i,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++)
;
}
main()
{
sbit  k=P1^5,l=p1^4,m=p1^3,n=p1^2,o=p1^1,p=1^0;    /*声明k,l,m,n,o,p
                                             对p1.5-p1.0进行位操作*/  
int x,y;                                           
while(1)                   /*无穷循环*/             
{
k=0,l=1,m=1,n=1,o=1,p=0;   /*一组红灯亮,二组绿灯亮*/            
delay();
for(x=0;x<4;x++);         /*二组绿灯灭,黄灯闪烁四次*/     
{
p=1,o=0;
delay();
p=1,o=1;
delay();
}
k=1,l=1,m=0,n=0,o=1,p=1;     /*一组绿灯亮,二组红灯亮*/
delay();
for(y=0;y<4;y++);          /*一组绿灯灭,黄灯闪烁四次*/
{
m=1,l=0;
delay();
m=1,l=1;
delay();
}
k=0,l=1,m=1,n=1,o=1,p=0;     /*返回原始状态的一组红灯亮,二组绿灯亮*/
}
}
 

相关帖子

沙发
ethunter| | 2007-8-9 16:02 | 只看该作者

自己先编译

先编译一下,看语法上有没有错误,语法上没错误问题不大~!

还有,学习单片机不光有程序,我就是喜欢程序,忽略了硬件知识,现在在恶补中~!

使用特权

评论回复
板凳
zzj137|  楼主 | 2007-8-9 16:10 | 只看该作者

通不过啊!

使用特权

评论回复
地板
guoqi| | 2007-8-9 16:58 | 只看该作者

????????

for(x=0;x<4;x++);         
for语句后面还有“;”吗?

使用特权

评论回复
5
ethunter| | 2007-8-10 15:55 | 只看该作者

楼上正解

for();是原地for,直到for循环结整,如果for下面有{},for的后面就不要加";"

还有LZ通不过你就要自己找找语法错误,直接上来说通不过,等别人帮你找错误不是什么好习惯

使用特权

评论回复
6
zzj137|  楼主 | 2007-8-10 16:13 | 只看该作者

感谢!知道了!已经改正!改后的程序如下!


p1.5       p1.4      p1.3            p1.2     p1.1      p1.0
红灯       黄灯       绿灯           红灯     黄灯      绿灯
k           l         m               n       o         p


51单片机p1口控制~



#include<REGX51.H>
void delay (void)                                 /*延时程序*/
{
unsigned char i,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++)
;
}
main()
{
sbit  k=P1^5;    /*声明k,l,m,n,o,p  对p1.5-p1.0进行位操作*/
sbit  l=P1^4;
sbit  m=P1^3;
sbit  n=P1^2;
sbit  o=P1^1;
sbit  p=P1^0;
unsigned char x,y;           /*8位字节定义,循环参数x,y的范围0~256*/
while(1)                     /*无穷循环*/             
{
k=0,l=1,m=1,n=1,o=1,p=0;     /*一组红灯亮,二组绿灯亮*/
delay();
p=1;
for(x=0;x<4;x++)             /*二组绿灯灭,黄灯闪烁四次*/     
{
o=0;
delay();
o=1;
delay();
}
k=1,l=1,m=0,n=0,o=1,p=1;     /*一组绿灯亮,二组红灯亮*/
delay();
m=1;
for(y=0;y<4;y++)             /*一组绿灯灭,黄灯闪烁四次*/

l=0;
delay();
l=1;
delay();
}
k=0,l=1,m=1,n=1,o=1,p=0;     /*返回原始状态的一组红灯亮,二组绿灯亮*/
}
}
 

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

45

帖子

0

粉丝