找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2271|回复: 7
收起左侧

有谁遇到过51单片机的LCD对pwm波的输出有影响

[复制链接]
ID:215224 发表于 2017-12-10 20:46 | 显示全部楼层 |阅读模式
普中的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);
         }
}

回复

使用道具 举报

ID:190832 发表于 2017-12-10 21:54 | 显示全部楼层
看电路图
回复

使用道具 举报

ID:259929 发表于 2017-12-10 22:00 | 显示全部楼层
先把LCD的显示关掉,看看PWM是否正常。
这样就能判断是LCD影响,还是PWM本身的程序或电路有问题
回复

使用道具 举报

ID:259940 发表于 2017-12-10 22:24 | 显示全部楼层
理论上不会影响
回复

使用道具 举报

ID:162421 发表于 2017-12-11 09:47 | 显示全部楼层
你的LCD肯定有延时函数,pwm也有延时,两个一起工作肯定会影响,想让他没影响就用带硬件的pwm的单片机,你可以在延时函数上做点功夫,或者把LCD的刷新放在定时器中断里,这样影响可能就小了
回复

使用道具 举报

ID:215224 发表于 2017-12-11 14:56 | 显示全部楼层
谢谢大佬们的解答,已找到问题了,现在就想怎么解决了
回复

使用道具 举报

ID:215224 发表于 2017-12-11 15:04 | 显示全部楼层
LCD的显示和pwm的输出不能同时拥有
回复

使用道具 举报

ID:260188 发表于 2017-12-11 15:29 | 显示全部楼层
不知道
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表