(已解决)新手求助

2019-07-16 04:16发布

本帖最后由 zhliwlj 于 2012-10-21 18:22 编辑

刚接触单片机,第一次搞编程,在练习用8255扩展IO,源码如下,很简单,但在proteus下死活不见效果,PO和P2口没任何反应,delay函数也不起作用,不知道是proteus,keil还是源码的问题,试过各种方法都不行,被折磨好几天了,请各位论坛高手指点迷津
#include<reg51.h>
#include<absacc.h>
#define PA8255 XBYTE[0xfff8]
#define PB8255 XBYTE[0xfff9]
#define PC8255 XBYTE[0xfffa]
#define COM8255 XBYTE[0xfffb]
void delay(unsigned int i);
void init(void)
{
COM8255=0x80;
}

main()
{
init();
while(1)
{
COM8255=0x07;
delay(2);
COM8255=0x06;
delay(2);
}
      
}

void delay(unsigned int i)
{
         unsigned int j=0;
for(;i>0;i--);
{
for(j=0;j<333;j++)
  {
   ;
  }
}
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
kaiming1986
2019-07-16 08:15
我也是初学者,可我看你的延时程序就好多问题

void delay(unsigned int i)
{
         unsigned int j=0;
for(;i>0;i--);    \这条错了,;i〉0前面少了什么。
{               \这个括号有必要吗
for(j=0;j<333;j++)
  {
   ;        \   这里面什么内容嘛
  }
你确定你的程序能生成,HEX文件?
看你的延时程序都写得一踏糊涂,基本工没学好

一周热门 更多>