導航:首頁 > 操作系統 > 單片機與pc通信

單片機與pc通信

發布時間:2022-11-03 15:31:55

A. 51單片機與PC的通信

1、PC端重新打開串口後數據發生變化,應該是PC端程序或者硬體的問題;
2、如果要實現收到指令後,開始發送,那麼單片機端應該有一個收串口數據的過程。指令可以自己定義,比如5個0。檢測到接受的數據中有匹配的指令後開始發送數據。

B. 怎麼利用單片機與pc進行實時通信

如果硬體沒有問題的話,你的軟體程序可以拆分為以下考慮 1、串口通信有問題嗎?你先保證PC串口調試軟體發一個數據,單片機能准確收到。 調試辦法,單片機接收到後,體現在io管腳上或指示燈指示。如pc發送0x55,看看單片機是不是收到了; 2、單片機的lcd液晶顯示 你用的是12864不知道控制器是什麼信號的,KS0107,T6963C還是ST7920,對照液晶說明書,關鍵字設置,點亮液晶,比如在固定位置顯示一個字元 如果上面兩條都實現了, 把兩段程序柔和到一起就ok了

C. can線可以實現單片機與pc之間的通訊嗎

你的問題本身就是有問題的
「CAN協議用什麼晶元」?
PC機和一些外圍設備一般通過 串列通行方式(232串口或USB)
要想can和PC 通信,必須轉換,你需要用CAN-RS232轉換器,或者帶轉接功能的PCI卡(不推薦),

如果通過232串列方式,只需在pc機編寫軟體就行了,也可以用串口調試助手,
如果是usb方式的,一般也要用usb轉232

單純給你一個max232(串口通信用的),也不能直接和can通信,還是需要程序的,
最好買一個can-232轉換器,自己做一個也行()不是很難的事。

如何連接?
232與PC也就是三根線,txd rxd 和gnd,和PC後端DB9連接即可,如果筆記本,沒辦法,只能usb轉串口了,
也可以選一個can-usb轉換器

D. 如何實現單片機與PC之間socket通信

單片機與PC之間最簡單的通訊是通過串口來實現,其次是通過並口,這不需要額外的資源開銷,如果通過socket來通訊,那麼需要設計專用的板卡。

E. 單片機與PC通訊有什麼方式

電腦和單片機除了串口,再有就是網路通訊方式。但是需要有網口介面晶元,還要編寫支持TCP/IP協議的程序。可是用傳統的51單片機卻很難實現。你可以用STM32單片機組成支持互聯網通信的系統,就可以達到1Mbps以上。除此,再無其它方法。

F. 怎麼實現單片機和PC機進行SPI通訊

實現單片機和PC機進行SPI通訊方法:
1:電路設計
設計的電路,利用兩片AT89C52晶元,一片做為發送模塊,一片做為接收模塊。分別編寫發送和接收程序,實現數據的發送和接受。通過LED顯示接收到的數據。通過示波器觀察輸出的波形。
2:編寫程序
根據設計好的電路及題目要求分別編寫數據發送程序和數據接收程序。 ①:數據發送程序 #define
uchar unsigned char
#define uint unsigned int

#define ulong unsigned long
//--------------------------- #include <REG52.H>
#include<STDIO.H>
//--------------------------- sbit SPICLK = P1^0; //時鍾信號 sbit MOSI = P1^1; //主器件數據輸出,從器件數據輸入 sbit MISO = P1^2; //主器件數據輸入,從器件數據輸出
sbit SS = P1^3; //從器件使能信號
void Dat_Transmit(uchar dat) //發送數據程序
{ uchar i,datbuf;
datbuf=dat;
SS=1; while(SS){;} for(i=0;i<8;i++) {
while(SPICLK){;} if(datbuf&0x80) MISO=1; else
MISO=0;
datbuf=(datbuf<<1); while(~SPICLK){;}
}
}
void main(void)
{ uchar i; while(1) {
for(i=0;i<10;i++) {
Dat_Transmit(i);
}
}
}
②:數據接收程序 #define uchar unsigned char
#define uint unsigned int #define ulong
unsigned long
//--------------------------- #include <REG52.H>
#include<STDIO.H>
//--------------------------- sbit SPICLK = P1^0; //時鍾信號 sbit MOSI = P1^1; //主器件數據輸出,從器件數據輸入 sbit MISO = P1^2; //主器件數據輸入,從器件數據輸出 sbit SS = P1^3; //從器件使能信號

//--------------------------- void Nop(void)
{ ;
}
void Delay(uchar t) { while(t--){;}
}

uchar Data_Receive(void) //數據接收程序
{ uchar i,dat=0,temp; bit
bt;

SPICLK=1; MISO=1; SS=0;
//選中器件
Nop(); Nop();
for(i=0;i<8;i++) { SPICLK=1;
Nop()
Nop(); Nop(); SPICLK=0; Nop(); Nop();
bt=MISO; if(bt)
temp=0x01;
else
temp=0x00;
dat=(dat<<1);

dat=(dat|temp);
}
SS=1; SPICLK=1;
return dat;

}
void main(void)
{ uchar exdat; uchar i=0;

uchar code
table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
0x7F,0x6F}; P2=0;
while(1) { exdat=Data_Receive(); P0=table[exdat];
for(i=0;i<200;i++)
Delay(200);
}
}
3:電路模擬
將數據發送程序生成的HEX文件載入到發送數據的模塊,將數據接收程序生成的HEX文件載入到接收數據的模塊。在輸出埠連接LED燈等到輸出信息,利用示波器觀察輸出波形。
4:SPI匯流排簡介
SPI ( Serial Peripheral Interface ——串列外設介面) 匯流排是Motorola公司推出的一種同步串列介面技術。SPI匯流排系統是一種同步串列外設介面,允許MCU(微控制器)與各種外圍設備以串列方式進行通信、數據交換。外圍設備包括FLASHRAM、A/ D 轉換器、網路控制器、MCU 等。SPI,是一種高速的,全雙工,同步的通信匯流排,並且在晶元的管腳上只佔用四根線,節約了晶元的管腳,同時為PCB的布局上節省空間,提供方便,正是出於這種簡單易用的特性,現在越來越多的晶元集成了這種通信協議。其工作模式有兩種:主模式和從模式。SPI是一種允許一個主設備啟動一個從設備的同步通訊的協議,從而完成數據的交換。也就是SPI是一種規定好的通訊方式。這種通信方式的優點是佔用埠較少,一般4根就夠基本通訊了(不算電源線)。同時傳輸速度也很高。一般來說要求主設備要有SPI控制器(也可用模擬方式),就可以與基於SPI的晶元通訊了。
利用SPI匯流排可在軟體的控制下構成各種系統。如1個主MCU和幾個從MCU、幾個從MCU相互連接構成多主機系統(分布式系統)、1個主MCU和1個或幾個從I/O設備所構成的各種系統等。在大多數應用場合,可使用1個MCU作為主控機來控制數據,並向1個或幾個從外圍器件傳送該數據。從器件只有在主機發命令時才能接收或發送數據。其數據的傳輸格式是高位(MSB)在前,低位(LSB)在後。
當一個主控機通過SPI與幾種不同的串列I/O晶元相連時,必須使用每片的允許控制端,這可通過MCU的I/O埠輸出線來實現。但應特別注意這些串列I/O晶元的輸入輸出特性:首先是輸入晶元的串列數據輸出是否有三態控制端。平時未選中晶元時,輸出端應處於高阻態。
若沒有三態控制端,則應外加三態門。否則MCU的MISO端只能連接1個輸入晶元。其次是輸出晶元的串列數據輸入是否有允許控制端。因為只有在此晶元允許時,SCK脈沖才把串列數據移入該晶元;在禁止時,SCK對晶元無影響。若沒有允許控制端,則應在外圍用門電路對SCK進行控制,然後再加到晶元的時鍾輸入端;當然,也可以只在SPI匯流排上連接1個晶元,而不再連接其它輸入或輸出晶元。
SPI介面是在CPU和外圍低速器件之間進行同步串列數據傳輸,在主器件的移位脈沖下,數據按位傳輸,高位在前,低位在後,為全雙工通信,數據傳輸速度總體來說比I2C匯流排要快,速度可達到幾Mbps。
5:SPI匯流排工作原理
SPI匯流排系統是一種同步串列外設介面,它可以使MCU與各種外圍設備以串列方式進行通信以交換信息。SPI有三個寄存器分別為:控制寄存器SPCR,狀態寄存器SPSR,數據寄存器。外圍設備、網路控制器、LCD顯示驅動器、A/D轉換器和MCU等。
介麵包括以下四種信號:
(1)MOSI – 主器件數據輸出,從器件數據輸入;

(2)MISO – 主器件數據輸入,從器件數據輸出;

(3)SCLK – 時鍾信號,由主器件產生;
(4) SS –從器件使能信號,由主器件控制,有的IC會標注為CS(Chip select)。 在點對點的通信中,SPI介面不需要進行定址操作,且為全雙工通信,顯得簡單高效。

G. 單片機與PC通信有什麼用

單片機與PC通信通常用於工業控制領域。

H. PC與單片機串列通信控制背景和意義

單片機串列通信的實際作用:一般用於和外部設備交換數據的
舉例來說:一、比如和PC的串口機通信,單片機可以採集一些模擬量(溫度,濕度,氣體濃度等),將這些模擬量轉換成數字量後通過串列通信介面傳輸個PC機,PC機上還得編寫一個簡單的應用軟體,可以顯示這些模擬量(溫度,濕度,氣體濃度等)的值,這個簡單的應用軟體應具有串口設置,數據顯示,繪制曲線等功能。還可以通過PC機串口發送數據給單片機,用來控制單片機的工作狀態等等。和PC機通信應該是應用最廣泛的。
二、和其他串口設備通信:單片機一般充當控制器的角色,通過串口發送一定格式的數據來控制與之相連設備的動作,同時設備也會反饋回來一些自己的狀態信息給單片機,供單片機進行判斷,做出相應的控制。

I. 單片機與PC怎麼 通信

我就我所知道的給你說說。
單片機的邏輯0是0V,邏輯1是+5V;而PC用的是負邏輯,邏輯0在+9v~+15v之間,邏輯1在-9v~-15v之間。若用九針串口連接的話,先得電平轉換,(轉換晶元就是大家熟知的RS232,轉3.3v 的話用RS3232).之後最重要做麻煩的就是要把時序和波特率設置好(說白了就是遵循相同的協議),這樣單片機和PC之間就可以互聯互通了,單片機中的串口通信講的就是這方面的內容,這些資料網上很豐富,或者買個單片機開發板研究研究。

閱讀全文

與單片機與pc通信相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:758
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:672
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:486
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:383
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:350
風翼app為什麼進不去了 瀏覽:779
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:151
伊克塞爾文檔怎麼進行加密 瀏覽:893
app轉賬是什麼 瀏覽:163