/*包含头文件*/
#include<pic.h>//**********************************************PIC16F690芯片
/*宏定义*/
#define uchar unsigned char
#define uint unsigned int
/*定义子函数*/
void delay(uint);//延时子函数
/*配置位*/
__CONFIG(0x3FF2);
/*主函数*/
void main()
{
uchar i;
TRISC = 0x00;//配置PORTC口为输出
while(1)
{
PORTC = 0x01;//这句赋值在MPLAB SIM Debug里面调试
//看不到PORTC口有变化
for(i=8;i>0;i--)
{
delay(200);//延时200ms
PORTC = PORTC<<1;//PORTC口数据左移一位
}
}
}
/*延时1ms子函数*/
void delay(uint z)//z的值为多少就大概延时多少ms
{
uint x,y;
for(x=z;x>0;x--)
for(y=152;y>0;y--);
}
上面这个程序是我根据下面这个程序改的,上面的PORTC赋值有问题,而下面的这个程序给PORTD赋值没有问题
#include<pic.h>//****************************************************************PIC16F877芯片
#define uchar unsigned char
#define uint unsigned int
__CONFIG(0x3B31);
void delay(uint x)
{
uint a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
void main()
{
uchar i;
TRISD=0x00;
while(1)
{
PORTD=0x01;
for(i=8;i>0;i--)
{
delay(200);
PORTD=PORTD<<1;
}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
单步调试,执行PORTC=0x01;语句后PORTC的值仍然是00!
用proteus方针调试,RC0会亮一下然后熄灭,但是其他的LED没有反应
应该是很简单的问题,但是我在这困住了,希望哪位能帮忙指点一下
-----------------------------------------------------------------------
就是这个原因,谢谢电信五班
一周热门 更多>