欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5871|回復: 16
收起左側

求助!單片機和電腦進行485通訊,電腦接收到亂碼!

  [復制鏈接]
ID:735148 發表于 2020-6-9 16:35 | 顯示全部樓層 |閱讀模式
1黑幣
剛拿到一塊板子,準備寫個小程序測試一下485.誰知道,怎么都調不出來!
單片機型號:STC12C5608AD
程序:
  1. #include <STC12C5630AD.H>

  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar flag = 1;
  5. sbit LED = P1^6;

  6. void UartInit ( )                //9600bps@11.0592MHz
  7. {
  8.         PCON &= 0x7F;                //波特率不倍速
  9.         SCON = 0x50;                //8位數據,可變波特率
  10.         AUXR &= 0xBF;                //定時器1時鐘為Fosc/12,即12T
  11.         AUXR &= 0xFE;                //串口1選擇定時器1為波特率發生器
  12.         TMOD &= 0x0F;                //清除定時器1模式位
  13.         TMOD |= 0x20;                //設定定時器1為8位自動重裝方式
  14.         TL1 = 0xFD;                //設定定時初值
  15.         TH1 = 0xFD;                //設定定時器重裝值
  16.         ET1 = 0;                //禁止定時器1中斷
  17.         TR1 = 1;                //啟動定時器1
  18.         ES = 1;
  19.         EA = 1;
  20. }
  21. void Uart_interrupt ( ) interrupt 4
  22. {
  23.         TI = 0;
  24.         flag = 0;
  25.        
  26. }
  27. void main ()
  28. {
  29.         UartInit( );
  30.         while(1)
  31.         {
  32.                 if( flag == 1)
  33.                 {
  34.                         SBUF = 0x20;
  35.                 }
  36.                 if( flag == 0)
  37.                 {
  38.                         LED = 0;
  39.                 }
  40.         }
  41. }
復制代碼
電路原理圖:
另外,,485芯片是6LB184,單片機是5V單片機,因此485芯片控制引腳連接的也是 5V ,不知道有沒有影響。波特率的初始化,我是從 STC 的下載程序上找到的。試了很多個初始化了。都不行

這是485部分的原理圖

這是485部分的原理圖

最佳答案

查看完整內容

你好! 1、單片機晶振采用的多少 2、上位機和單片機波特率要一致 3、485的DE控制要對 4、上位機485接收采用的什么模塊 5、如需幫助,可以聯系我
回復

使用道具 舉報

ID:735148 發表于 2020-6-16 08:05 | 顯示全部樓層
已經解決了。原因是晶振沒有起振。
回復

使用道具 舉報

ID:735148 發表于 2020-8-7 16:49 | 顯示全部樓層
STC燒寫程序時特別注意:選擇使用內部時鐘是默認勾選的。一定要仔細看
回復

使用道具 舉報

ID:1030564 發表于 2022-5-29 00:21 | 顯示全部樓層
看下晶振是否起振芯片是否正常啟動了,對一下上下位機的波特率。
回復

使用道具 舉報

ID:1013784 發表于 2022-5-27 22:43 | 顯示全部樓層
看看波特率設置對不對,還有就是485的供電電壓
回復

使用道具 舉報

ID:403593 發表于 2022-5-27 19:41 | 顯示全部樓層
把AB兩端的接線倒換一下試試,有可能是接錯了。 這個必須得A接A,B接B
回復

使用道具 舉報

ID:899981 發表于 2022-5-25 16:21 | 顯示全部樓層
有那種不需要控制腳的485IC
回復

使用道具 舉報

ID:99525 發表于 2022-5-25 16:08 | 顯示全部樓層
RE_DE接VCC,那么整條485只有你這個站點可以發,別的所有站點都只能收!
回復

使用道具 舉報

ID:911776 發表于 2021-5-13 17:09 | 顯示全部樓層
飲酒作樂 發表于 2020-6-16 08:05
已經解決了。原因是晶振沒有起振。

這個怎么排查哦。我現在也是收到亂碼
回復

使用道具 舉報

ID:593706 發表于 2020-6-11 18:05 | 顯示全部樓層
串口芯片的2、3腳是收發控制腳,這個腳接收的時候必須是低電平,發送的時候必須是高電平,樓主把23腳直接接VCC,芯片處于發送狀態,怎么能正常接收哪?
回復

使用道具 舉報

ID:776252 發表于 2020-6-11 15:19 | 顯示全部樓層
波特率是不是不同步,波特率不同步會收到亂碼
回復

使用道具 舉報

ID:735148 發表于 2020-6-11 14:28 | 顯示全部樓層

剛才焊上去試了。沒用。問題不在這
回復

使用道具 舉報

ID:735148 發表于 2020-6-11 13:36 | 顯示全部樓層

短距離也需要匹配120Ω電阻嗎?
回復

使用道具 舉報

ID:450608 發表于 2020-6-10 13:25 | 顯示全部樓層
120歐電阻呢
回復

使用道具 舉報

ID:735148 發表于 2020-6-10 10:06 | 顯示全部樓層
MikeCai 發表于 2020-6-10 09:03
1)485 是半雙工的,即,發送時,不能接收,所以max485 的RE,DE 不要接到 VCC ,另加一個讀寫控制腳來選擇 ...

只用來發送,不準備用來接收也不可以直接接VCC么
。還有就是A B口需要接上拉電阻和下拉電阻么?不接的話有什么影響,可不可以通過軟件解決
回復

使用道具 舉報

ID:764088 發表于 2020-6-10 09:03 | 顯示全部樓層
1)485 是半雙工的,即,發送時,不能接收,所以max485 的RE,DE 不要接到 VCC ,另加一個讀寫控制腳來選擇發送,接收;發送完畢,立即換為接收。
2)發送,接收方的波特率等要相同
回復

使用道具 舉報

ID:648281 發表于 2020-6-9 16:35 | 顯示全部樓層
你好!
1、單片機晶振采用的多少
2、上位機和單片機波特率要一致
3、485的DE控制要對
4、上位機485接收采用的什么模塊
5、如需幫助,可以聯系我
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表