找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2853|回復(fù): 9
收起左側(cè)

ttl轉(zhuǎn)RS485模塊上面的RXD一直亮,我不接單片機他還在亮

[復(fù)制鏈接]
ID:774972 發(fā)表于 2022-5-12 08:23 | 顯示全部樓層 |閱讀模式
我不接usb,RXD的燈一直亮,可能是什么原因,應(yīng)該怎么解決,麻煩各位了
1652314510082.jpg
回復(fù)

使用道具 舉報

ID:161164 發(fā)表于 2022-5-12 10:43 | 顯示全部樓層
如果你的單片機的TxD腳正輸出高電平
Led會亮是正常的
回復(fù)

使用道具 舉報

ID:774972 發(fā)表于 2022-5-12 10:57 | 顯示全部樓層
lkc8210 發(fā)表于 2022-5-12 10:43
如果你的單片機的TxD腳正輸出高電平
Led會亮是正常的

RXD引腳接的不是單片機的RXD引腳嗎
回復(fù)

使用道具 舉報

ID:774972 發(fā)表于 2022-5-12 11:58 | 顯示全部樓層
這是源代碼,沒有讓他一直亮的地方吧
#include <STC12C5A60S2.H>
#define uint unsigned int
#define uchar unsigned char
#include"1602.h"
#include"uart.h"
#include"math.h"
sbit qh=P2^0;
sbit ql=P2^1;
sbit JDQ=P2^4;
sbit led=P1^4;

void init();
void display();
uchar flag,i,k;
uint dy,dl,yggl,pl,ydl,gy,wggl,szgl;
bit key_flag,dis_flag,clr_flag,send_flag,duan_flag=1;
uchar code buf[]={0x01,0x04,0x00,0x00,0x00,0x0a,0x70,0x0d};
uchar code shuju[]={"0123456789"};

void main()
{
        chushihua();
        init();
        uartInit();
        Uart2Init();
        dis_flag=1;
        JDQ=1;
        while(1)
        {
                led=!led;
                led=!led;
                if(duan_flag)
                JDQ=0;
                if(send_flag)
                {
                        send_flag=0;
                        sendData(buf);
                }
                if(!qh&&!key_flag)
                {
                        flag++;
                        if(flag==4)
                                flag=0;
                        w_com(0x01);
                        dis_flag=1;
                        key_flag=1;
                }
                if(qh&&ql)
                        key_flag=0;
                if(!ql&&!key_flag)
                {
                        send(0x01);//清零命令
                        send(0x42);//清零命令
                        send(0x80);//清零命令
                        send(0x11);//清零命令
                        dis_flag=1;
                        key_flag=1;
                }
                for(i=0;i<40;i++)
                {
                        if(tmp2[i]==0xaa&&tmp2[i+1]==0xf0)
                        {
                                send(0x01);
                                send(0x42);
                                send(0x80);
                                send(0x11);
                                w_com(0x01);
                                for(k=0;k<40;k++)
                                        tmp2[k]=0;
                                break;
                                dis_flag=1;
                            key_flag=1;
                        }
                        if(tmp2[i]==0xbb)
                        {
                                JDQ=!JDQ;
                                for(k=0;k<40;k++)
                                        tmp2[k]=0;
                                break;
                        }
                        if(tmp1[i]==0x01&&tmp1[i+1]==0x04&&tmp1[i+2]==0x14)
                        {
                                dy=tmp1[i+3]*256+tmp1[i+4];//電壓
                                dl=tmp1[i+5]*256+tmp1[i+6];//電流
                                yggl=tmp1[i+9]*256+tmp1[i+10];//有功功率
                                ydl=tmp1[i+13]*256+tmp1[i+14];//用電量
                                pl=tmp1[i+17]*256+tmp1[i+18];//頻率
                                gy=tmp1[i+19]*256+tmp1[i+20];//功率因素
                                szgl=(dy/10.0)*(dl/1000.0)*10;//視在功率
                                if(yggl>=szgl)
                                        wggl=0;
                                else
                                        wggl=sqrt((szgl/10.0)*(szgl/10.0)-(yggl/10.0*yggl/10.0));
                                dis_flag=1;
                                send_str("#dy:");
                                send2(dy/1000+0x30);
                                send2(dy%1000/100+0x30);
                                send2(dy%100/10+0x30);
                                send2('.');
                                send2(dy%10+0x30);
                                send2('V');
                                send2('*');
                               
                                send_str("#dl:");
                                send2(dl/1000+0x30);
                                send2('.');
                                send2(dl%1000/100+0x30);
                                send2(dl%100/10+0x30);                               
                                send2(dl%10+0x30);
                                send2('A');
                                send2('*');
                               
                                send_str("#pl:");
                                send2(pl/100+0x30);
                                send2(pl%100/10+0x30);
                                send2('.');
                                send2(pl%10+0x30);
                                send_str("Hz");
                                send2('*');
                               
                                send_str("#ydl:");
                                send2(ydl/1000+0x30);
                                send2('.');
                                send2(ydl%1000/100+0x30);
                                send2(ydl%100/10+0x30);                               
                                send2(ydl%10+0x30);
                                send_str("kWh");
                                send2('*');
                               
                                send_str("#yg:");
                                send2(yggl/1000+0x30);                               
                                send2(yggl%1000/100+0x30);
                                send2(yggl%100/10+0x30);
                                send2('.');                               
                                send2(yggl%10+0x30);
                                send2('W');
                                send2('*');
                               
                                send_str("#wg:");                               
                                send2(wggl/100+0x30);
                                send2(wggl%100/10+0x30);
                                send2(wggl%10+0x30);
                                send_str("var");
                                send2('*');
                               
                                send_str("#sz:");
                                send2(szgl/1000+0x30);                               
                                send2(szgl%1000/100+0x30);
                                send2(szgl%100/10+0x30);
                                send2('.');                               
                                send2(szgl%10+0x30);
                                send_str("V.A");
                                send2('*');
                               
                                send_str("#gy:");                       
                                send2(gy/100+0x30);
                                send2('.');
                                send2(gy%100/10+0x30);                                                               
                                send2(gy%10+0x30);
                                send2('!');
                                delay(20000);
                                delay(20000);
                                delay(20000);
                                delay(20000);
                                delay(20000);
                                /*for(k=0;k<40;k++)
                                        tmp1[k]=0;*/
                                break;
                        }
                       
                }
                if(dis_flag)
                {
                        display();
                        dis_flag=0;
                }
               
                if(qh&&ql)
                        key_flag=0;
        }
}
void init()
{
        TMOD=0x01;
        TH0=0x3c;
        TL0=0xb0;
        EA=1;
        ET0=1;
        TR0=1;
}
void display()
{
        if(flag==0)
        {
                w_com(0x80);
                w_date('U');
                w_date(':');
                w_date(shuju[dy/1000]);
                w_date(shuju[dy%1000/100]);
                w_date(shuju[dy%100/10]);
                w_date('.');
                w_date(shuju[dy%10]);
                w_date('V');
               
                w_com(0x80+0x40);
                w_date('I');
                w_date(':');
                w_date(shuju[dl/1000]);
                w_date('.');
                w_date(shuju[dl%1000/100]);
                w_date(shuju[dl%100/10]);
                w_date(shuju[dl%10]);
                w_date('A');
               
               
        }
        else if(flag==1)
        {
                w_com(0x80);
                w_date('f');
                w_date(':');
                w_date(shuju[pl/100]);
                w_date(shuju[pl%100/10]);
                w_date('.');
                w_date(shuju[pl%10]);
                w_date('H');
                w_date('z');
               
                w_com(0x80+0x40);
                w_date('Y');
                w_date(':');
                w_date(shuju[ydl/1000]);                               
                w_date('.');
                w_date(shuju[ydl%1000/100]);                               
                w_date(shuju[ydl%100/10]);
                w_date(shuju[ydl%10]);
                w_date('k');
                w_date('W');
                w_date('h');
        }
        else if(flag==2)
        {
                w_com(0x80);
                w_date('P');
                w_date(':');
                w_date(shuju[yggl/10000]);
                w_date(shuju[yggl/1000%10]);
                w_date(shuju[yggl/100%10]);
                w_date(shuju[yggl/10%10]);
                w_date('.');
                w_date(shuju[yggl%10]);
                w_date('w');
       
                w_com(0x80+0x40);
                w_date('Q');
                w_date(':');
                w_date(shuju[wggl/100]);
                w_date(shuju[wggl%100/10]);
                w_date(shuju[wggl%10]);
                w_date('v');
                w_date('a');
                w_date('r');
        }
        else if(flag==3)
        {
                w_com(0x80);
                w_date('S');
                w_date(':');
                w_date(shuju[szgl/1000]);
                w_date(shuju[szgl%1000/100]);
                w_date(shuju[szgl%100/10]);
                w_date('.');
                w_date(shuju[szgl%10]);
                w_date('V');
                w_date('.');
                w_date('A');
               
                w_com(0x80+0x40);
                w_date('c');
                w_date('o');
                w_date('s');
                w_date(':');
                w_date(shuju[gy/100]);
                w_date('.');
                w_date(shuju[gy%100/10]);
                w_date(shuju[gy%10]);       
        }
}
uchar count;
void timer()interrupt 1
{       
        TH0=0x3c;
        TL0=0xb0;
        count++;
        if(count==20)
        {
                count=0;
                send_flag=1;
        }
}
回復(fù)

使用道具 舉報

ID:99525 發(fā)表于 2022-5-12 13:43 | 顯示全部樓層
ffffssss 發(fā)表于 2022-5-12 10:57
RXD引腳接的不是單片機的RXD引腳嗎

上電默認高電平!
回復(fù)

使用道具 舉報

ID:774972 發(fā)表于 2022-5-12 13:46 | 顯示全部樓層

我把單片機拆下來后,RXD是一直亮,但TXD不亮,這不正常吧
回復(fù)

使用道具 舉報

ID:203661 發(fā)表于 2022-5-12 15:22 | 顯示全部樓層
我的板子也是這樣的,我有上拉rxd引腳
回復(fù)

使用道具 舉報

ID:774972 發(fā)表于 2022-5-12 16:12 | 顯示全部樓層
lhzw2001 發(fā)表于 2022-5-12 15:22
我的板子也是這樣的,我有上拉rxd引腳

那是不是意味著RXD懸空了
回復(fù)

使用道具 舉報

ID:262 發(fā)表于 2022-5-12 20:44 | 顯示全部樓層
模塊只接電源 其他線路完全斷開 還亮嗎?還亮的話 估計模塊壞掉了
回復(fù)

使用道具 舉報

ID:774972 發(fā)表于 2022-5-12 21:14 | 顯示全部樓層
heicad 發(fā)表于 2022-5-12 20:44
模塊只接電源 其他線路完全斷開 還亮嗎?還亮的話 估計模塊壞掉了

我把MCU拆掉后還是亮的
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表