用PIC16F676做得一个小实验,编了一段小程序,在板子上运行正常,但在Proteus7.7上仿真就不行,一点反应都没有。不知为何?
程序功能:在RA4上接了一个发光二级管,再接一个470欧电阻,然后闪烁。很简单的,程序如下:
#include<pic.h>
__CONFIG(0x01e4); // PIC16F676
// 最低带隙电压 数据代码不保护 程序代码不保护,欠电压检测开,RA3=MCLR,上电复位延时开,看门狗关,RA4和RA5为普通IO口
#define uchar unsigned char
#define uint unsigned int
uchar data,second,high,low;
//**********端口初始化函数**********
void port_init(void)
{
ANSEL=0; // ANSEL=0,PA口为IO口,ANSEL=1 PA口为模拟输入口 该语句非常重要,否则就有问题了。
TRISA4=0; // TRISA=1,设置为输入;TRISA=0 设置为输出
TRISA5=0;
OPTION=0X03; //TMR0为16预分频
}
//**********毫秒延时函数**********
void delayms(unsigned char time)
{
uint i;
while(time--)
{
for(i=93;i>0;i--){;}
}
}
//**********主程序函数**********
void main(void)
{
port_init(); //调用端口初始化程序
while(1)
{
delayms(200); //延时仿抖
delayms(200); //延时仿抖
delayms(200); //延时仿抖
delayms(200); //延时仿抖
delayms(200); //延时仿抖
delayms(200); //延时仿抖
RA4=!RA4;
RA5=!RA5;
}
}