找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6139|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

STC單片機(jī)使用第二串口功能(STC12C5A60S2+GPS+串口2+1602LCD)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
終于將STC單片機(jī)使用第二串口功能(STC12C5A60S2+GPS+串口2+1602LCD)給整出來了。作為新人真的真的是欣喜若狂,無語言表。。!
再此將來之不易的心得寫出來,讓和我一樣的單片機(jī)小朋友一起共勉......
1、注意串口的引腳,如果你沒有設(shè)置著的話(P1.2  Rx腳,P1.3  Tx腳)。我就犯了這個(gè)習(xí)慣性的錯(cuò)誤,太無語了。!
2、一定要將單片機(jī)設(shè)置為1T的。

      

單片機(jī)源程序如下:
  1. #include "GPS.h"

  2. unsigned char RX_Buffer[68];                //此數(shù)組用于直接儲(chǔ)存來自GPS的原始數(shù)據(jù)
  3. unsigned char RX_Count = 0;

  4. bit Flag_GPS_OK = 0;


  5. void Uart_Init()                                                                     
  6. {
  7.         SCON = 0X50;  //UART方式1;8位UART
  8.         REN  = 1;     //允許串行口接收數(shù)據(jù)
  9.         PCON = 0x00;  //SMOD=0;波特率不加倍
  10.         TMOD = 0x20;  //T1方式2,用于產(chǎn)生波特率
  11.         TH1  = 0xFD;  //裝初值
  12.         TL1  = 0xFD;
  13.         TR1  = 1;     //啟動(dòng)定時(shí)器1
  14.         EA   = 1;     //打開全局中斷控制
  15.         ES   = 1;     //打開串行口中斷        
  16. }



  17. void RECEIVE_DATA(void) interrupt 4 using 3                  //串口中斷函數(shù),收到GPS的數(shù)據(jù)時(shí)進(jìn)入此中斷        
  18. {
  19.         unsigned char temp = 0;
  20.         ES=0;                                                                                //先關(guān)閉串行口中斷
  21.         temp = SBUF;                                                                //接收SBUF中的數(shù)據(jù)
  22.         RI = 0;                                                                                //接收完成的標(biāo)志位清零
  23. //        LED1 = ~LED1;
  24.         
  25.         if(temp == '



  26. )                                                                //若是統(tǒng)一的數(shù)據(jù)頭,則作為數(shù)組第一個(gè)元素
  27.         {
  28.                 RX_Count = 0;
  29.                 Flag_GPS_OK = 0;               
  30.         }

  31.         RX_Buffer[RX_Count++] = temp;                                //收到的數(shù)據(jù)放到數(shù)組中

  32.         if(RX_Count >= 66)                                                        //序號大于66的數(shù)據(jù)無用,統(tǒng)一放到第66位覆蓋掉
  33.         {
  34.                 RX_Count = 66;
  35.         }

  36.         if(temp == '*')                                                                //收到*,則完成一幀數(shù)據(jù)的接收,不管是否完整有效
  37.         {
  38.                 Flag_GPS_OK = 1;                                                //標(biāo)志變量置為1
  39.         }

  40.         ES=1;                                                                                 //重新打開串行口中斷
  41. }
復(fù)制代碼

所有資料51hei提供下載:
009版本IIC-GPS+1602+C52-海拔、速度、衛(wèi)星 +溫度 - (GPS接串口2).7z (31.69 KB, 下載次數(shù): 166)



評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏12 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:453245 發(fā)表于 2020-1-10 20:19 | 只看該作者
新手過來學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

板凳
ID:64053 發(fā)表于 2020-2-15 18:57 | 只看該作者
樓主你好,能給個(gè)原理圖參考嗎?
回復(fù)

使用道具 舉報(bào)

地板
ID:64053 發(fā)表于 2020-2-20 22:08 | 只看該作者
樓主,你好,我做出來的在1602屏只有上面的一氣白色方塊,有原理圖我自己接一下嗎?先謝謝了,或者發(fā)我郵箱:93mxt@163.com
回復(fù)

使用道具 舉報(bào)

5#
ID:64053 發(fā)表于 2020-2-20 22:51 | 只看該作者
樓主,把1602屏的引腳到Mcu的輸出口標(biāo)示一下行嗎,或者發(fā)到我郵箱:93mxt@163.com ,先謝了
回復(fù)

使用道具 舉報(bào)

6#
ID:495323 發(fā)表于 2020-4-15 17:47 來自觸屏版 | 只看該作者
上位機(jī)軟件用的是什么?
回復(fù)

使用道具 舉報(bào)

7#
ID:402026 發(fā)表于 2020-4-16 11:04 | 只看該作者
你的資料很好,果斷的下載學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

8#
ID:134868 發(fā)表于 2022-8-19 22:18 | 只看該作者
用的是串口1吧!
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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