SOGO論壇

標題: 求達人為我解8051串列埠kill c的程式如何寫資料傳送 [列印本頁]

作者: gouchse2    時間: 2014-8-25 22:59:20     標題: 求達人為我解8051串列埠kill c的程式如何寫資料傳送

從8051端按按鈕透過串列埠傳送資料如下:
接收端鮑率9600

起始碼 數据長度 資料1 資料2 資料3 資料4 資料5 資料6 結束碼
7e         07      00      20     20    20     20    21     7e


該如何寫起,,,小弟初學....google遍地 ...找不到頪似教學......
作者: if8051    時間: 2014-8-26 00:13:22

在此提供一範例供參考,希望能幫上忙!
  1. #include <reg52.h>

  2. #define uint  unsigned int
  3. #define uchar unsigned char

  4. void Delay(uint x)
  5. {
  6.         uchar i;
  7.         while(x--)
  8.         {
  9.                  for(i=0;i<120;i++);
  10.         }
  11. }

  12. void putc_to_SerialPort(uchar c)
  13. {
  14.         SBUF = c;
  15.         while(TI == 0);
  16.         TI = 0;
  17. }

  18. void puts_to_SerialPort(uchar *s)
  19. {
  20.         while(*s != '\0')
  21.         {
  22.                  putc_to_SerialPort(*s);
  23.                 s++;
  24.                 Delay(5);       
  25.         }
  26. }

  27. void main()
  28. {
  29.         uchar c = 0;
  30.         SCON = 0x40;
  31.         TMOD = 0x20;
  32.         PCON = 0x00;
  33.         TH1  = 0xfd;
  34.         TL1  = 0xfd;
  35.         TI   = 0;
  36.         TR1  = 1;
  37.         Delay(200);
  38.         puts_to_SerialPort("Receiving From 8051...\r\n");
  39.         puts_to_SerialPort("------------------------------\r\n");
  40.         Delay(50);
  41.         while(1)
  42.         {
  43.                 putc_to_SerialPort(c+'A');
  44.                 Delay(100);
  45.                 putc_to_SerialPort(' '); //這個地方『』間只能有且必須有一個空格
  46.                 Delay(100);
  47.                 if(c==25)
  48.                 {
  49.                          puts_to_SerialPort("\r\n---------------------------\r\n");
  50.                         Delay(100);
  51.                 }
  52.                 c = (c+1)%26;
  53.                 if(c%10==0)
  54.                 {
  55.                          puts_to_SerialPort("\r\n");
  56.                         Delay(100);
  57.                 }
  58.         }
  59. }
複製代碼

作者: gouchse2    時間: 2014-8-26 06:11:56

@@"感謝達人為小弟指導,但……小弟看不大懂……對不起
可否指點 7e 07 00 20 20 20 20 21 7e 傳送這些資料 該怎麼起頭寫@@
作者: if8051    時間: 2014-8-26 08:14:45

本人有在家開課,教授單晶片微電腦 MCU ATMEL AT89S52 & AVR ATmega16A
歡迎有興趣的朋友,私下和我聯絡;也有設計畢業專題 。
作者: gouchse2    時間: 2014-8-26 12:20:49

怎麼聯絡你………畢業專題我倒是沒這問題,我只是想在家裡弄個想要的東西
作者: gouchse2    時間: 2014-8-27 14:57:09



有人幫小弟一下嗎.....@@
作者: smith20463    時間: 2014-9-2 17:36:12

要用軟體轉成HEX在傳送到單晶片
作者: gouchse2    時間: 2014-9-10 09:00:03

本帖最後由 gouchse2 於 2014-9-17 16:05 編輯
smith20463 發表於 2014-9-2 17:36  
要用軟體轉成HEX在傳送到單晶片


......這我知道..........
我想要知道keil c 那部份怎麼寫...


#include <REG51.H>
void delayms(unsigned int time);
unsigned char code disp[9]={0x7e,0x07,0xa0,0x30,0x30,0x30,0x30,0x32,0x7e};
main()
{
  unsigned char j;

  TMOD=0x20;
  TH1=250;
  TL1=250;
  TR1=1;

  SCON=0x40;
  while(1){
  if(P0==0XFE)
  {
          for(j=0;j<9;j++)
          {
      TI=0;
      SBUF=disp[j] ;          
      while(TI==0);
          delayms(10);
      }
    }  }
}

void delayms(unsigned int time)
{
unsigned int n;
while(time>0)
{
n=120;
while(n>0) n--;
time--;
}}


哪裡出錯
作者: smith20463    時間: 2014-9-11 02:32:28

gouchse2 發表於 2014-9-10 09:00  
......這我知道..........
我想要知道keil c 那部份怎麼寫...

看範例...那一套可以寫很多種...
8051範例網路上到處是  看要C還組合語言
作者: gouchse2    時間: 2014-9-13 09:21:03

smith20463 發表於 2014-9-11 02:32  
看範例...那一套可以寫很多種...
8051範例網路上到處是  看要C還組合語言

.........謝謝您熱心回應....
但都沒幫助.....
作者: smith20463    時間: 2014-9-16 02:27:20

gouchse2 發表於 2014-9-13 09:21  
.........謝謝您熱心回應....
但都沒幫助.....

這東西要看範例指令自己血才有幫助阿  再這問心酸的
作者: gouchse2    時間: 2014-9-17 09:43:06

本帖最後由 gouchse2 於 2014-9-17 09:50 編輯
smith20463 發表於 2014-9-16 02:27  
這東西要看範例指令自己血才有幫助阿  再這問心酸的


謝謝您熱心回應...........
能有實質的幫助嗎......
您的回應感覺是在賺積分.......
我需要正是頪似範例.開頭便有問了...問題開頭也說明了...
我也並沒有問轉成hex的問題...
您也回應到網路找......我開頭便說google遍地找不到...
可見您並沒有看我到底問什麼......
還請您不要再回覆沒有幫助的回應......
作者: gouchse2    時間: 2014-9-19 12:17:29

本帖最後由 gouchse2 於 2014-9-19 12:18 編輯
gouchse2 發表於 2014-9-17 09:43  
謝謝您熱心回應...........
能有實質的幫助嗎......
您的回應感覺是在賺積分.......


各位高手~~前輩~~~不用幫小弟解決問題了

小弟自行研究了10多天~~終於成功~~~太高興了

雖然浪費很多時間~~自行研究會比較了解之前失敗原因

肚子餓了,,,小弟吃飯去..
作者: smith20463    時間: 2014-9-20 07:47:41

說真的 技術論壇隨便找隨便有的8051程式找不到也很厲害...都出那麼久的東西了..
作者: gouchse2    時間: 2014-9-20 20:50:36

這裡沒有管理員嗎?
上面這位沒幫忙倒是無所謂…
一直灌水回覆沒人處理嗎?
我是來問問題?不是聽這位說教…
我是找不到相關問題,沒那麼聰明。那也輪不到你來教訓
作者: akii    時間: 2017-9-5 14:51:31

我手頭上有一本  8051 的書有你問問題的教學 !




歡迎光臨 SOGO論壇 (https://oursogo.com/) Powered by OURSOGO.COM