找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

淘晶馳串口屏通過單片機(jī)點(diǎn)亮小燈

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
買了塊淘晶馳的串口屏,由單片機(jī)向串口屏發(fā)送實(shí)時(shí)的數(shù)據(jù)可以實(shí)現(xiàn)了,但通過串口屏設(shè)定參數(shù)發(fā)送給單片機(jī)怎么也實(shí)現(xiàn)不了
就像先試試通過串口屏發(fā)送00給單片機(jī)點(diǎn)亮小燈,但始終無法點(diǎn)亮
一開始想通過VSPD添加了com5和com6兩個(gè)虛擬串口然后用sscom監(jiān)視com6口有沒有收到數(shù)據(jù)事實(shí)上確實(shí)受到了00
求大佬指點(diǎn)為什么受到了00卻不能點(diǎn)亮小燈
(RX和TX接對(duì)的)
  1. #include <REG51.H>         
  2. #include <intrins.h>
  3. #include <absacc.h>
  4. #include <stdio.h>
  5. #include <math.h>
  6. #include <string.h>
  7. #include "uart.h"
  8. sfr P3M0 =0xb1;
  9. sfr P3M1 =0xb2;

  10. #define uchar unsigned char
  11. #define uint unsigned int
  12. sbit led=P1^4;


  13. void UART_Send_Byte(unsigned char mydata)        // 發(fā)送一個(gè)字節(jié)
  14. {
  15. ES=0;
  16. TI=0;
  17. SBUF=mydata;
  18. while(!TI);
  19. TI=0;
  20. ES=1;
  21. }

  22. void UART_Send_Str(char *s)          //發(fā)送文本串
  23. {
  24. int i=0;
  25. while(s[i]!=0)
  26. {
  27.          UART_Send_Byte(s[i]);
  28.          i++;
  29. }
  30. }

  31. void UART_Send_END(void)   //發(fā)送結(jié)束符
  32. {
  33.          UART_Send_Byte(0xFF);
  34.          UART_Send_Byte(0xFF);
  35.          UART_Send_Byte(0xFF);
  36. }

  37. void delay(uint z)                  //延時(shí)
  38. {
  39.         uint t1,y;
  40.         for(t1=z;t1>0;t1--)
  41.                 for(y=110;y>0;y--);
  42. }

  43. void USART_init()
  44. {
  45.         PCON &= 0x7F;                //波特率不倍速
  46.         SCON = 0x50;                //8位數(shù)據(jù),可變波特率
  47.         TMOD &= 0x0F;                //清除定時(shí)器1模式位
  48.         TMOD |= 0x20;                //設(shè)定定時(shí)器1為8位自動(dòng)重裝方式
  49.         TL1 = 0xFD;                //設(shè)定定時(shí)初值
  50.         TH1 = 0xFD;                //設(shè)定定時(shí)器重裝值
  51.         ET1 = 0;                //禁止定時(shí)器1中斷
  52.         TR1 = 1;                //啟動(dòng)定時(shí)器1
  53. ES=1;
  54. EA=1;
  55. }

  56. void UARTInterrupt(void) interrupt 4
  57. {
  58.     if(RI)
  59.     {
  60.         RI = 0;
  61.           led=SBUF;
  62.     }

  63. }

  64. void main (void)
  65. {

  66.                 //單片機(jī)為  STC89C52
  67.                 //晶振 11.0592
  68.                

  69.                  USART_init();

  70.    

  71.          }
復(fù)制代碼



)F1%EV)F%)@BCWA_]8]62.png (20.5 KB, 下載次數(shù): 82)

按鈕彈起發(fā)送00

按鈕彈起發(fā)送00

7~3R)I5LZ$L1OE3[`[)U@7Q.png (20.13 KB, 下載次數(shù): 79)

com5發(fā)送00

com5發(fā)送00

4}XK77I$)Q{B@`KTB@MA@7K.png (40.87 KB, 下載次數(shù): 74)

com6口接收到00

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

使用道具 舉報(bào)

沙發(fā)
ID:699544 發(fā)表于 2020-4-25 08:29 | 只看該作者
實(shí)物圖

E7A3E59F9D8F250D0861223BCAE39102.jpg (323.62 KB, 下載次數(shù): 106)

實(shí)物圖

實(shí)物圖
回復(fù)

使用道具 舉報(bào)

板凳
ID:330198 發(fā)表于 2020-4-25 13:42 | 只看該作者
這句 led=SBUF;不能直接賦十六進(jìn)制的值,可以改成P1=SBUF;你這個(gè)串口沒問題。
回復(fù)

使用道具 舉報(bào)

地板
ID:699544 發(fā)表于 2020-4-26 08:40 | 只看該作者
zhanghyg 發(fā)表于 2020-4-25 13:42
這句 led=SBUF;不能直接賦十六進(jìn)制的值,可以改成P1=SBUF;你這個(gè)串口沒問題。

大哥改了之后還是不行
回復(fù)

使用道具 舉報(bào)

5#
ID:634031 發(fā)表于 2021-2-4 15:48 | 只看該作者
大佬,怎么實(shí)現(xiàn)單片機(jī)發(fā)送數(shù)據(jù)給串口屏
回復(fù)

使用道具 舉報(bào)

6#
ID:811405 發(fā)表于 2021-2-6 13:30 | 只看該作者
我也想在看看,串口屏一直做不出來,想用串口屏控制單片機(jī)
回復(fù)

使用道具 舉報(bào)

7#
ID:688460 發(fā)表于 2021-8-9 18:33 | 只看該作者
我也想在看看,串口屏一直做不出來
回復(fù)

使用道具 舉報(bào)

8#
ID:688460 發(fā)表于 2022-4-12 11:33 | 只看該作者
先讀出SBUF里面的數(shù)字代碼,然后判斷代碼是開還是關(guān)LED燈
回復(fù)

使用道具 舉報(bào)

9#
ID:47286 發(fā)表于 2022-4-12 13:10 | 只看該作者
uchar hmi_data;

hmi_data=SBUF;

if(hmi_data==0x00)
{
led=亮
}

大概是這意思 這幾句分別在中斷服務(wù)和函數(shù)里 不是連續(xù)的 只是說明用法而已 希望能幫到你
回復(fù)

使用道具 舉報(bào)

10#
ID:401564 發(fā)表于 2022-4-12 16:08 | 只看該作者
yyzf998 發(fā)表于 2022-4-12 11:33
先讀出SBUF里面的數(shù)字代碼,然后判斷代碼是開還是關(guān)LED燈

這是兩年前的帖子了,還沒有搞定串口屏?從我開始打算學(xué)串口屏到做出一個(gè)DIY小東西,也就七八天時(shí)間
陶晶馳的串口屏很好控制的,我用的就是這個(gè)屏的,感覺還行
不是讀取SBUF的數(shù)據(jù),串口屏發(fā)送的是一串?dāng)?shù)據(jù)的,串口接收到的數(shù)據(jù)是存放在一個(gè)數(shù)組中的,得先找到起始符,之后才是數(shù)據(jù)
可以用strstr()函數(shù)查找
回復(fù)

使用道具 舉報(bào)

11#
ID:450771 發(fā)表于 2022-11-22 20:37 | 只看該作者
樓主搞定了嗎?同樣的問題啊,我折騰了一星期了
回復(fù)

使用道具 舉報(bào)

12#
ID:648281 發(fā)表于 2022-11-23 10:02 | 只看該作者
富亞小樊 發(fā)表于 2022-11-22 20:37
樓主搞定了嗎?同樣的問題啊,我折騰了一星期了

具體問題現(xiàn)象是什么
回復(fù)

使用道具 舉報(bào)

13#
ID:450771 發(fā)表于 2022-12-12 21:10 | 只看該作者
51hei**1140 發(fā)表于 2022-11-23 10:02
具體問題現(xiàn)象是什么

我用屏的按鈕發(fā)送01給單片機(jī),讓單片機(jī)返回文本給屏,但是會(huì)隨機(jī)出現(xiàn)多余的數(shù)據(jù),導(dǎo)致文本顯示不出來
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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