pic单片机IO如何进行位操作

我用pic16f506编写一个简单的LED程序,#defineLED1RC0#defineLED2RC1voidmain(void){C2ON=0;//关闭C2比较器TR... 我用pic16f506编写一个简单的LED程序,
#define LED1 RC0
#define LED2 RC1
void main(void)
{
C2ON = 0 ; //关闭C2比较器
TRISC = 0xfc ; //RC0、RC1输出
while(1)
{
LED1 = 0 ;
delay(60000);
LED2 = 0 ;
delay(60000);
}
}
程序应该是两个LED都亮,但实际上是两个LED交替代着亮,我分析原因为对RC0=0,PORTC其它位变成1;对RC1=0,PORTC其它位变成1。而我希望对IO某位操作,其它位不变,请大师赐教。
展开
 我来答
匿名用户
2015-01-21
展开全部
要看头文件里面规定的对于IO寄存器某位的定义。
PIC的单片机一般都是直接可以赋RC0=0或1
或者是赋PORTC=0B00000011 这样就是RC0=1 RC1=1,其它位都为0
你这里的问题是没有赋初始值吧
追问
我添加PORTC = 0xff ;后,还是不行,现象与之前一样。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式