久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4066|回復: 6
收起左側

新作的項目,基于51單片機做的協議轉換,大家幫忙看下有沒有問題,程序只完成了一部分。

[復制鏈接]
ID:237942 發表于 2017-10-16 15:30 | 顯示全部樓層 |閱讀模式
程序寫了一點不知道該怎么處理了,不清楚對于接收到的程序怎么處理可以發送新協議內容,求教大神指教

#include<reg52.h>
#include<intrins.h>
#define buffer

typedef unsigned char u8;
typedef unsigned int u16;
u8 code str1[]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08};     //測試幀,定義點歌系統協議
u16 code str2[]={0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18};  //測試幀,定義燈光系統協議
u8 count;   //定義指針尋找地址數

********************************************************
void Uart_init()                //初始化串行口和波特率發生器
{
        SCON=0X50;                //設置為工作方式1,打開接收允許
        TMOD=0X20;                //設置計數器工作方式2
        PCON=0X80;                //波特率加倍    ( PCON &= 0xef;波特率不倍增)  
        TH1=0XF3;                //計數器初始值設置,波特率4800
        TL1=0XF3;
        ES=1;                        //打開接收中斷
        EA=1;                        //打開總中斷
        TR1=1;                        //打開計數器1
}
******************************************************
void delay(u16  xms)        //延時函數
{

}

*******************************************************
void Com_send()            //串口發送函數  
{
unsigned char point=0;
for(point=0;str2[point]!='\0';point++)   //緩存的數據發送到串口
{
  SBUF=str2[point];
  while(!T1)    //T1==0
{
str2[point]='\0';
}
}
}
*********************************************************
void Com_interrupt() interrupt 4   //串口接收中斷
{
u16 j;
unsigned char Receive_buffer;
bit flag=1;
if(RI)
{
RI=0; //軟件清除中斷標志位
RECEIVE_buffer=SBUF;  //接收串口數據
if(RECEIVE_buffer=='$')
{
ES=0;
str[j]='\0';
SCON=0x40;  //接收不允許
Com_send(); //發送數據
ES=1;
j=0;
flag=0;
SCON=0x50; //接收允許
}
if(flag)
j++;
}
}

原理圖

原理圖
回復

使用道具 舉報

ID:123289 發表于 2017-10-17 19:49 | 顯示全部樓層
畫出框圖或流程圖就知道了。
回復

使用道具 舉報

ID:237942 發表于 2017-10-21 11:11 | 顯示全部樓層
yzwzfyz 發表于 2017-10-17 19:49
畫出框圖或流程圖就知道了。

程序框圖么?  程序的大致流程我感覺沒問題,但是程序燒錄進去以后,借助串口調試助手發送數據,但是上位機一直回饋數據, 求解答
回復

使用道具 舉報

ID:241556 發表于 2017-10-21 14:06 | 顯示全部樓層
感覺好厲害
回復

使用道具 舉報

ID:111634 發表于 2017-10-21 19:57 | 顯示全部樓層
本帖最后由 zl2168 于 2017-10-21 19:58 編輯

實例80  帶RS 232接口的雙機通信
Proteus仿真一下,確認有效。
實例80 帶RS232接口的雙機通信.rar (45.52 KB, 下載次數: 8)
232.jpg
以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil CProteus》清華大學出版社ISBN 978-7-302-41682-1內有常用的單片機應用100案例,用于仿真實驗操作,電路與程序真實可靠可信可行。書中電路和程序設計有詳細說明,程序語句條條有注解。仿真電路和Hex文件能在清華出版社網站免費下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網上書店打折購買。
回復

使用道具 舉報

ID:237942 發表于 2017-10-23 09:43 | 顯示全部樓層

動手去做,你也會有收獲
回復

使用道具 舉報

ID:237942 發表于 2017-10-23 09:53 | 顯示全部樓層
zl2168 發表于 2017-10-21 19:57
實例80  帶RS 232接口的雙機通信
先Proteus仿真一下,確認有效。
以上摘自張志良編著《80C51單片機仿真設 ...

你這是實際做出來了么,難道沒有問題?   我看到你仿真的MAX管腳接法就有問題,DB9上的2腳是接收端,應該連MAX上面的TOUT端口進去,TIN腳接TXD,3腳接RIN,ROUT接RXD。 你可以查一下經典電路的管腳接法,如果說你這樣接沒問題,我覺得有問題。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91传媒在线观看 | 91久久久久 | 国产精品视频网 | 国产精品不卡视频 | 国内久久精品 | 欧美精品久久久 | 91麻豆精品国产91久久久更新资源速度超快 | 99久久精品免费看国产免费软件 | 在线观看视频一区二区三区 | 久久久精品久久 | 祝你幸福电影在线观看 | 欧美精品在欧美一区二区少妇 | 日韩网站免费观看 | 一区二区三区国产精品 | 亚洲国产精品视频一区 | 国产美女在线观看 | 91精品久久久久久久久久入口 | 超碰97人人人人人蜜桃 | 国产精品久久久亚洲 | 欧美在线日韩 | 精品一区二区三区四区在线 | av中文字幕在线观看 | 中文字幕韩在线第一页 | 日韩欧美大片 | 日韩五月天 | 午夜影院在线播放 | 国内自拍真实伦在线观看 | 伊人天堂网 | 一级片免费在线观看 | 亚洲国产自产 | 中文字幕乱码一区二区三区 | 精品国产乱码久久久久久丨区2区 | 久久久国产精品视频 | 日韩高清在线观看 | 亚洲精品日韩一区二区电影 | 日韩欧美精品一区 | 狠狠爱视频 | 一本色道精品久久一区二区三区 | 欧美一级欧美一级在线播放 | 亚洲免费大片 | h片在线看 |