登录
首页 单片机论坛
回帖 发帖
正文

主题:一个Keil uVision2编程的问题

点击:1622 回复:6

请教一个初级问题:
我在编程的时候,这样的一段,有错误,请懂的大大帮我看下错在什么地方!谢谢!
红色的字就是提示错误的地方。
#include
void main(void)
{
unsigned int a;//定义变量a为int类型
do{
 for (a=0;a<50000;a++);//一个循环
 P1_0=0;//设P1.0口为低电平,点亮LED
 for (a=0;a<50000;a++);//一个循环
 P1_0=1;//设P1.0口为低电平,熄灭LED
 }
 while(1);
}
最后修改:2005-2-24 14:33:00
05-02-24 14:27
#include
void main(void)
{
unsigned long a;//定义变量a为int类型
while(1)
  {
    for (a=0;a<50000;a++);//一个循环
    P1_0=0;//设P1.0口为低电平,点亮LED
   
    for (a=0;a<50000;a++);//一个循环
    P1_0=1;//设P1.0口为低电平,熄灭LED
   }
}
我会这么写的。C51中的int好像是8位的,定义成长整形好些。
05-02-24 15:24
首先谢谢2楼的仁兄!
不过我试了试,还是不对。我觉得是我表达P1.0口的方式P1_0错误了。
只要把P1_0改成P1就能运行无错误了
但是,我看书上是P1_0这样表达P1.0口的,搞不懂了!
05-02-24 15:50
那你这样,单独定义一下P1.0口。
有可能是库和书上的例子不一致造成的。
05-02-24 16:25
恩,可能吧,不过我不知道怎么单独定义P1.0口。你知道吗?
05-02-24 16:55
C51里没有 P1_0 的写法,应该是 P1^0
好的习惯是先用 sbit 给 P1^0 定义一个符号名
如 sbit btnStart = P1^0, 以后就可能用 btnStart 访问 P1.0 了
05-02-28 22:06

sgx

KEIL C51中有P1_0这样的写法,而无P1^0或P1.0的写法,再int是16位的。
程序没有问题,只不过是头文件的问题,
你可以在#include下行加一句
sbit P1_0 = 0x90;
最后修改:2005-3-3 16:16:59
05-03-03 16:15

工控新闻

更多新闻资讯