我用的单片机型号是PIC16F690,调试环境是MPLAB SIM,内置8M晶振
单步调试,执行PORTC=0x01;语句后PORTC的值仍然是00!
用proteus方针调试,RC0会亮一下然后熄灭,但是其他的LED没有反应
/*包含头文件*/
#include<pic.h>
/*宏定义、变量定义*/
#define uchar unsigned char
#define uint unsigned int
/*子函数定义*/
void delay_ms(uint);
void init_osc();
/*配置位*/
__CONFIG(INTIO & WDTDIS & PWRTEN & BORDIS & UNPROTECT);//内置晶振
//看门狗关闭 上电延时定时器打开 低电压复位禁止 没有代码保护
/*主函数*/
void main()
{
uint i;
init_osc();
TRISC=0x00;
while(1)
{
PORTC=0x01;
for(i=8;i>0;i--)
{
delay_ms(1000);
PORTC=PORTC<<1;
}
}
}
/*延时ms子函数*/
void delay_ms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=152;j>0;j--);
}
/*振荡器配置*/
void init_osc()
{
OSCCON = 0x71;
}
红色字部分的赋值不起作用
|