打印

单片机上电有时工作有时不工作

[复制链接]
5035|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
woshaogang123|  楼主 | 2012-6-27 11:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是PIC18F6390,程序大概就检测按键,按下的话就由CCP2输出一个PWM波和由定时器0控制RD0角输出一个PWM波,现在的问题是上电有时按下按键单片机没反应,有时又只输出CCP2的PWM波,但RDO没有输出,有时呢一上电我按都没按就输出CCP2的PWM波.我勒个去啊,大家帮我分析分析吧!
沙发
兰天白云| | 2012-6-27 13:44 | 只看该作者
这种情况基本是代码问题,需逐步检查排除

使用特权

评论回复
板凳
yewuyi| | 2012-6-27 13:50 | 只看该作者
检讨自己的按键检测和响应代码

使用特权

评论回复
地板
woshaogang123|  楼主 | 2012-6-27 14:39 | 只看该作者
本帖最后由 woshaogang123 于 2012-6-27 17:09 编辑

我使用时钟源是的内部8M振荡电路,并使能4PLL,下面是按键检测和响应代码
if(shoot==0)
{
   Delay1KTCYx(1);
   if(shoot==0)
      {
        RX_CTRL=0; //5v接收电压建立
        FS_PWM(); //RD0输出PWM
        HV_PWM();  //CCP2输出PWM
     }
   while(shoot==0);   //等待按键释放     T0CONbits.TMR0ON=0;    //停止输出FS_PWM

T2CONbits.TMR2ON=0;    //停止输出_PWM







}

使用特权

评论回复
5
woshaogang123|  楼主 | 2012-6-27 14:52 | 只看该作者
我把按键检测去掉,改成一上电就输出
while(1)
{   
FS_PWM();
   HV_PWM();}
结果只有FS_PWM()输出(100HZ),没有 HV_PWM()(40KHZ)输出,

使用特权

评论回复
6
兰天白云| | 2012-6-27 15:03 | 只看该作者
CCP2的输出要配置,有没有配置好?

使用特权

评论回复
7
woshaogang123|  楼主 | 2012-6-27 16:27 | 只看该作者
本帖最后由 woshaogang123 于 2012-6-27 16:32 编辑

配置好了,单个输出都没有问题,两个一起输出的话就会出现这种情况:上电这个输出,掉电再上电又有可能是另一个输出,两个怎么都不会一起输出,下面是连个输出PWM波的函数
void FS_PWM(void)
{
   if(INTCONbits.TMR0IF==1)
      {
         INTCONbits.TMR0IF=0;
          TM0H=(65536-40000)/256;
          TM0H=(65536-40000)%256;
           if(LATDbit.LATD0==0)
            LATDbits.LATD0=1;
          else  LATDbits.LATD0=0;
      }
}

void HV_PWM(void)
{
   TMR2=0;
   PR2=199;
   T2CON=0x04;
   CCP2L=0x49;
   CCP2CON=0x0C;
}

使用特权

评论回复
8
兰天白云| | 2012-6-28 09:27 | 只看该作者
结合5楼和7楼的代码,5楼靠查询输出波形,
FS_PWM函数有错误
          TM0H=(65536-40000)/256;
          TM0H=(65536-40000)%256;这样写是什么意思???
T0CON配置没有

按5楼的代码,HV_PWM函数,TMR2始终=0,如何与PR2比较????

LZ是不是还在读大学,从LZ的代码看,LZ你太浮躁

送你一句话:静下心来,慢慢琢磨

使用特权

评论回复
9
woshaogang123|  楼主 | 2012-6-28 11:45 | 只看该作者
T0CON配置在timer0初始化里面有设置,TMR2怎么会一直为0呢! T2CON=0x04已经开启了timer2开始计数了,现在问已经找到了,主函数里面两个一起输出都有,加上按键检测HV_PWM有,但是FS_PWM出现新情况了:就是按一下 输出FS_PWM的脚RD0变高,再按一下又变低,这样反复变高变低

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

17

帖子

1

粉丝