标题: 有谁遇到过51单片机的LCD对pwm波的输出有影响 [打印本页]

作者: ADC0832    时间: 2017-12-10 20:46
标题: 有谁遇到过51单片机的LCD对pwm波的输出有影响
普中的stc89c52LCD会影响到pwm的输出吗,LCD用到了p2^5---p2^7和p2口,pwm的用到的是p3^4口#include "lcd.h"#include <REG52.H>
#define PLUS_PER 330
extern int  interruptcounter;        //ía2¿ÖD¶Ï′Îêy
extern unsigned int speed ;
extern unsigned long PlusCounter;       //ía2¿Âö3å¸öêy
void LCD_Write_String(unsigned char *p);
void LcdWriteData(uchar dat);                                     //D′èëêy¾Y
void LcdWriteCom(uchar com)        ;                 //D′èëÃü
void LcdInit();                                                                    //LCD3õê¼»ˉ×ó3ìDò
void gotoxy(unsigned char x,unsigned char y); //ÔúxDDyáDÏÔê¾êy¾Y
void ClacSpeed()                             //êy¾Y′|àíoˉêy
    {    int speed ;
                           unsigned long PlusCounter;  
         PlusCounter =interruptcounter;
         speed =(PlusCounter/PLUS_PER)*60;//ÿ·ÖÖóμÄ×aêy
                           {   
//                                                 gotoxy(1,1);
//                                                 LCD_Write_String("V= ");
//                                                 gotoxy(1,3);
//                                                 LcdWriteData((speed/1000)%10+0x30);
//                                                 gotoxy(1,4);
//                                                 LcdWriteData((speed/100)%10+0x30);       
//                                                 gotoxy(1,5);
//                                                 LcdWriteData((speed/10)%10+0x30);
//                                                 gotoxy(1,6);
//                                                 LcdWriteData(speed%10+0x30);
//                                                 gotoxy(1,7);
//                                                 LCD_Write_String("r");
//                                                 gotoxy(1,8);
//                                                 LCD_Write_String("/");
//                                                 gotoxy(1,9);
//                                                 LCD_Write_String("m");
//                                                 gotoxy(1,10);
//                                                 LCD_Write_String("i");
//                                                 gotoxy(1,11);
//                                                 LCD_Write_String("n");
                                                 interruptcounter=0;                       
          }       
  }                                 
void gotoxy(unsigned char x,unsigned char y) //ÔúxDDyáDÏÔê¾êy¾Y
{
        if(x==1)
        {
                 LcdWriteCom(0x80+y-1);
        }
        if(x==2)
         {
                 LcdWriteCom(0xc0+y-1);
         }
}


作者: hange_v    时间: 2017-12-10 21:54
看电路图
作者: slovef2199    时间: 2017-12-10 22:00
先把LCD的显示关掉,看看PWM是否正常。
这样就能判断是LCD影响,还是PWM本身的程序或电路有问题
作者: gudashou    时间: 2017-12-10 22:24
理论上不会影响
作者: 遇见1111111    时间: 2017-12-11 09:47
你的LCD肯定有延时函数,pwm也有延时,两个一起工作肯定会影响,想让他没影响就用带硬件的pwm的单片机,你可以在延时函数上做点功夫,或者把LCD的刷新放在定时器中断里,这样影响可能就小了
作者: ADC0832    时间: 2017-12-11 14:56
谢谢大佬们的解答,已找到问题了,现在就想怎么解决了
作者: ADC0832    时间: 2017-12-11 15:04
LCD的显示和pwm的输出不能同时拥有
作者: 胡歌11    时间: 2017-12-11 15:29
不知道




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1