pic单片机pic16f877a定时器1以下程序里的pp为什么改为80后RD1不动作了?

#include<xc.h>#pragmaconfigFOSC=XTunsignedintpp;voidinit(){TRISD=0x00;////RA0全部设为输出。T... #include<xc.h>
#pragma config FOSC = XT
unsigned int pp;
void init()
{
TRISD = 0x00;////RA0全部设为输出。
TMR1L=(65536-50000)%256;// TMR1H=(65536-50000)/256;//定时器1装初值
T1CON=0x01;//0000 0001 预分频为1:1振荡器被关闭,同步外部时钟输入,内部时钟(fosc/4)。启用定时器。 INTCON=0xc0;//1100 0000
PIE1=0x01;//0000 0001
}
void interrupt time1()
{ pp++;
TMR1IF=0;//中断标志必须软件清0
TMR1L=(65536-50000)%256; TMR1H=(65536-50000)/256;//初值重装
}
void main()
{
init(); //定时器1初始
while(1)
{
if (pp >= 20)
{ pp = 0;
RD1 = ~RD1; // 输出取反测试 }
}
}
展开
 我来答
橙门听X
2019-05-05 · TA获得超过2572个赞
知道大有可为答主
回答量:4669
采纳率:88%
帮助的人:713万
展开全部
如果你是测量RA0~RA5,RE0~RE2端口出现这种情况,那么肯定是你没有在程序中对ADCON1寄存器进行初始化,因为PIC16F87X单片机的RA和RE端口默认是AD输入引脚,仅设置方向控制寄存器TRISA,TRISE是不够的
追问
我测试里只有RD1啊
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式