历史上的今天
今天是:2025年03月04日(星期二)
2020年03月04日 | PIC12F615 电平中断调试注意
2020-03-04 来源:eefocus
昨天调试电平中断,想实现GP1按下,GP4上的LED灯状态改变。程序按步就班,GP1启用弱上拉,再接按钮到地线。可是接PICKit3上调试时,PCB上的LED灯就是不灭。一直以为是代码的问题,后来才发现,是PICKit3供电不足。接上5V电后就正常了。调试时怕麻烦,GP1可以接个1K~4.7K的电阻上拉也能正常使用。
相关程序代码如下:
unsigned char GPtemp;//电平中断读取用
void DebounceDelay(unsigned char us)
{
while(us--);
}
void InitGPINT(void) //电平变化中断 查看Datasheet 44页
{
nGPPU=0; //必须使能全局 GPPU 位才能使能单独的上拉功能。
CMCON0=0B00000101;
TRISIO1=1;
AN1=0;
WPU1=1; //输入模式中,可设置内部弱上拉
GPtemp=GP1;
IOC1=1; //允许电平变化中断
GPIF=0;
GPIE=1;
}
void interrupt ISR(void) //中断处理函数
{
/*
if(T0IF)//定时间隔5mS
{
T0IF=0;
MS++;
PWMDelay++;
if(MS>=200) //1秒到了。
{
MS=0;
SEC++;
if(SEC>59)
{
SEC=0;
MIN++;
}
}
TMR0=T0Value; //重新赋值,进入下轮循环
}
*/
if(GPIF) //电平中断
{
GPIE=0;
GPtemp=GP1;
DebounceDelay(255); //延时消抖
if(GP1==0)
{
GP4=!GP4;
}
GPIF=0;
GPIE=1;
}
GIE=1; //开启总中断
}
void main(void)
{
InitMCU();
InitSW();
InitGPINT();
InitPWM();
InitAD();
InitT0();
// PEIE=1;
GIE=1;
while(1)
{
LEDBreathe();
}
return;
}
上一篇:PIC单片机的BCD码加法程序
下一篇:PIC单片机 设定配置字信息
史海拾趣
|
Wap第三方流量统计系统的原罪问题手机无线互动之风的悄然兴起无疑已经成了wap建站的最大推助器。跟消费者建立一对一的沟通绝对是令人振奋的互动营销上上签。不论是对中大型企业门户wap站还是个人站长建站来说及时地了解“点对点式”用户的需 ...… 查看全部问答> |
|
请问T1管的集电极电阻到底该如何看,如何计算?因为以往的电路大都是一个集电极电阻RC接到电源,而这个图就不一样了,因为T1管的集电极接的是T2管,我就有些搞不太懂到底T1管的集电极电阻怎么算,有的人讲T1管的集电极电阻是R2+T2管C-B结的反偏电阻 ...… 查看全部问答> |
|
dereferencing type-punned pointer will break strict-aliasing rules static int print(char **out, int *varg) { register int width, pad; register int pc = 0; register char *format = (char *)(*varg++); &nb ...… 查看全部问答> |
|
序: 搞了几块aic3256,按照TI公司的原理图做了最小系统,想用F2812来驱动,结果老是不行,好,我想,既然这样,那就从最简单的开始一步一步慢慢来。于是种种问题就浮出水面…… ...… 查看全部问答> |
|
步入社会,你每天要和形形色色的人打交道,在社会的每个角落,你都不可能是孤立的,你必须要通过与其他人合作完成自己的工作任务。如果你在公司里工作,那么,你是否具有团队精神,直接关系到你的业绩。一些大公司招聘人才时,十分注重人才的团 ...… 查看全部问答> |
|
安泰测试维修中心根据多年的维修经验,帮大家分析示波器的几种特殊故障,供广大的电子仪器维修者参考和学习。 一、无扫描线 出现无扫描线故障时应先检查电源电路、示波管电路、触发扫描电路、X轴放大器等的工作是否正常。若这些部分工作都正常 ...… 查看全部问答> |




