用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; } }
|