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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7952|回復: 0
打印 上一主題 下一主題
收起左側

MATLAB與單片機串口通信仿真與源程序及說明

[復制鏈接]
跳轉到指定樓層
樓主
利用MATLAB實現PC機和單片機串口通信實例的電路原理圖:

PC將數字(0,1,2,3......255,轉換為16進制)傳給下位機。
下位機收到后回傳這個數字,PC機接收到回傳數據后顯示出來。
如果PC發送和接收的數據相同,顯示通信正常,否則通信不正常。
通信程序發送以16進制數00開始,以16進制數FF表示通信結束。

利用MATLAB實現PC與單片機串口通信任務文件包:


利用Keil C51實現單片機與PC串口通信任務單片機源程序如下:
  1. /*PC機通過串行口將數字(1,2,3...255)傳給單片機,單片機收到后回傳這個數字,
  2. 并存入自己內部一段連續的空間中,PC機接收到回傳數據后顯示出來,直至傳送完結束符255*/
  3. # pragma db code
  4. # include<reg51.h>
  5. # define uchar unsigned char
  6. void rece(void);
  7. void init(void);
  8. uchar re[17];
  9. /*主程序*/
  10. void main(void)
  11. {
  12. uchar temp;
  13. init();
  14. do{
  15.    while(RI==0);
  16.    temp=SBUF;
  17.    if(temp==0x00)
  18.     {rece();}
  19.    else break;
  20.   }while(1);        
  21. }
  22. /*串口初始化*/
  23. void init(void)
  24. {
  25. TMOD=0x20;           //定時器1--方式2
  26. PCON=0x80;           //電源控制
  27. SCON=0x50;           //方式1
  28. TL1=0xFa;            
  29. TH1=0xFa;            //22.1184MHZ晶振,波特率為4800 0xf3   9600        0xfa   19200 0xfd
  30. TR1=1;               //啟動定時
  31. }
  32. /*接收返回數據*/
  33. void rece(void)
  34. {
  35. char i;
  36. i=0;
  37. do{while(RI==0);
  38.   re[i]=SBUF;
  39.   RI=0;
  40.   SBUF=re[i];
  41.   while(TI==0);
  42.   TI=0;
  43.   i++;
  44.   }while(re[i-1]!=255);
  45. }
復制代碼


所有資料51hei提供下載:
03.PC機與單片機串口通信實例1.rar (69.84 KB, 下載次數: 90)



評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

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