标题: PIC16F676点亮LED灯程序编写,求指教? [打印本页]

作者: 没有什么不同    时间: 2015-7-1 12:18
标题: PIC16F676点亮LED灯程序编写,求指教?
用MPLAB编程,编译生成Hex文件,用proteul仿真没有达到效果,望赐教!

#include <pic.h>

void delay()
{
int i=0;
for(i=3000;--i;);
}

void main(void)
{
   TRISA=0X08;
  while(1)
      {
       PORTA=0XEF;
       delay();      
       PORTA=0XFF;
       delay();
      }
}



作者: admin    时间: 2015-7-1 12:45
仿真文件上传上来看一下
作者: 没有什么不同    时间: 2015-7-1 13:16
附上仿真图

2015-07-01 13-11-40.jpg (120.82 KB, 下载次数: 294)

2015-07-01 13-11-40.jpg

作者: 没有什么不同    时间: 2015-7-1 13:18
admin 发表于 2015-7-1 12:45
仿真文件上传上来看一下

仿真文件传上去了
作者: lising    时间: 2015-7-1 22:06
从程序本身看:
1、无配置位;RA4和RA5是外部晶振,看仿真应该配置成内部振荡。例如__CONFIG(0X3FF4);
2、“PORTA=0XEF;”只是将RA4拉低了,RA5还是高;
3、延时函数的延时时间太短,有变化肉眼也会观察不到。
作者: 没有什么不同    时间: 2015-7-3 12:41
lising 发表于 2015-7-1 22:06
从程序本身看:
1、无配置位;RA4和RA5是外部晶振,看仿真应该配置成内部振荡。例如__CONFIG(0X3FF4);
2 ...

#include <pic.h>

__CONFIG(0X3FF4);

void delay()
{
int i=0;
for(i=30000;--i;);
}

void main(void)
{
   TRISA=0X08;
  while(1)
      {
       PORTA=0XCF;
       delay();      
       PORTA=0XFF;
       delay();
      }
}
谢谢你,改成这样了,还是没有效果!
作者: 没有什么不同    时间: 2015-7-3 13:05
lising 发表于 2015-7-1 22:06
从程序本身看:
1、无配置位;RA4和RA5是外部晶振,看仿真应该配置成内部振荡。例如__CONFIG(0X3FF4);
2 ...

谢谢!不过改成__CONFIG(0X3FD4);就可以了,万分感谢!
作者: 路人甲111    时间: 2015-10-5 23:25
楼主 你会不会 写按键控制LED的程序





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1