Ⅰ PC機如何實現與單片機間串列通信
有兩種方法與PC通信:
1,加接一個USB轉串口的硬體設備(網上很容易買到),這樣既解決了數據線的連接又解決了單片機供電問題,但PC端可能需要安裝USB驅動,而且要碰運氣,往往因USB驅動問題無法一次成功;
2,通過RS232介面與PC通信,當然也少不了硬體支持,自己做或到網上買一RS232模塊,步驟1:將模塊9針D型介面連接至電腦COM1或COM2,按模塊的標注將RXD和TXD及公共地連接至單片機相關電路,步驟2:通過PC端USB介面取電並連接至單片機相關電路,USB介面的PIN1通常為VCC(正電源端)PIN4通常為GND(負電源端)。這樣做可能麻煩一些,但一次成功的概率會高很多。
如果你的電腦硬體配置中沒有RS232介面的COM1或COM2,那你只能採用第1種方法了。
Ⅱ 單片機與電腦相連需要怎麼連接
最方便的是COM(串口),Print(並口)也是可以的。USB我是不會用,一般是將USB轉成COM口,但要通信,你要學會VC或是其他程序軟體,這樣才可以寫上位機軟體。
Ⅲ 單片機怎麼和電腦連接
單片機與電腦連接一般有以下幾種:
1、RS232串口連接,這是最普遍的連接方式。
2、RS232-usb,這種方式越來越受歡迎。
3、JTAG--JLINK--USB(RS232),主要用於模擬,JTAG連接單片機,通過模擬器再連接到電腦。
Ⅳ 51單片機實戰:與計算機非同步串列通信
猴!今兒扯串口,相對於並行——一口氣全把數據扔過去,串列顯得更加穩重——一位一位來。
串列就是這樣,只需要一條數據線(全雙工和同步串列時兩條),一位一位的傳過去。為了讓大家在直到你是在給我傳數據而不是外面的噪音或者是胡說八道,所以串列數據的各位要組裝幀(看正文中的 幀格式 )。乍一看,這種方式跟並行比肯定慢的一腿。但實際上,多虧了它的穩定性,可以在波特率極高的情況下依然保持穩定,這是並行所辦不到的(傳的快了或距離遠了就張牙舞爪了),所以發展到現在,串口已經把並口甩走幾條街啦。
並口傳輸的例子: 《51單片機實戰:液晶顯示器のLCD1602》
除此之外,串列傳輸分同步和非同步。同步除了傳輸數據外,還要傳輸時鍾信號,以保持雙方同步。另一種,非同步,就沒這么麻煩了,也是本例中要講到的,各自走各自的時鍾就好,只要幀格式和波特率都商量好是一樣的就好。
電平之前在文章 《51單片機實戰:液晶顯示器のLCD1602》 中介紹過,那裡只說了TTL,本例中由於要和計算機打交道,所以多了一種電平:RS-232C
在單片機中是TTL,電腦那邊傳出和接收都是RS232,所以兩種電平需要作轉換。
當當當!它就是干這活的。
舉個栗子,比如單片機從T1IN輸入TTL電平,轉換好的RS232電平就從R1OUT輸出。其他的照貓畫虎,這里不詳細說這個東西,因為咱們在Proteus里幹活,用不著轉換(Proteus光環)。
在此描述串列傳輸數據速率。
正兒八經的說,波特率乃 碼元 的傳輸速率,即每秒傳輸的碼元個數(碼元可以是任意進制的),並不是什麼每秒傳輸的比特數,大家注意。
波特來源於一個人的名字: Jean-Maurice-Émile Baud ot ,因此簡寫為Baud,單位符號:Bd。波特率可簡寫成Bd/s。
在串口通信中,其碼元就是二進制信號,所以波特率的數值等於比特率數值,但你不能說波特率就是比特率啊!
單片機的串口通信有四種方式(各方式具體是干什麼的,別著急,在後面),其中方式0和方式2的波特率是固定的。方式1和方式3的波特率是可變的,其脈沖周期由定時器1溢出產生。
其中 f 是系統晶振頻率,T1是計時器1, SMOD 是PCON中的最高位(PCON見相關寄存器的第一個)。
可以從上述公式看出,波特率不可變是因為直接與系統晶振頻率相關(晶振頻率不可變,除非換晶振),而可變是因為直接與T1的溢出率相關(溢出率可以改變)。
溢出率
在之前定時器應用的例子( 《51單片機實戰:定時器與數碼管的應用》 )中,我們計算的是溢出周期,也就是多長時間會溢出一次。這次我們用到的溢出率其實是同一個東西,取倒數就可以了。
詳見: 《51單片機實戰:定時器與數碼管的應用》 - 知識點 - 定時器/計數器 - 初值
11.0592MHz
為什麼要用這么蹩腳的數字作晶振頻率哈,就是跟這里有關。如果你已經用上述公式計算過串口方式1下的12MHz和11.0592MHz在9600波特率下的定時器初值,你就會發現,前者得出一個小數,而後者是個整數。
我們可沒辦法用小數賦初值,所以你若用近似的整數作初值,就意味著會產生誤差。
若用其他的晶振和波特率的話,請自行按前面的公式計算。
串列傳輸按比特來,一個個比特組成一個幀,幀需要一定的格式才能被雙方識別這是一個幀信息。
電源管理 寄存器,用於管理單片機的電源部分。
位元組地址: 87H ,不能位定址, reg52.h 中已定義,單片機復位時全部清零。
上表中出現的「串口方式」見下表的SM0和SM1。
串口控制 寄存器,用於設定串口工作方式。
位元組地址: 98H ,可位定址, reg52.h 中已定義,單片機復位時全部清零。
上表中波特率可變的方式,都由定時器1的溢出率控制。
當單片機接收到字元 a 時,點亮一個LED燈。傳送方式:9600波特率,8數據位,無校驗位,1停止位。
本例中我就不寫電腦端程序了,直接用現成的。
注意,這裡面我沒有放轉換電平轉換晶元(MAX232),只有在Proteus里可以這么干,現實中焊板子還是要做電平轉換的,這里這個軟體給簡化了。
COMPIM
虛擬終端
右下角那個東西是虛擬終端(Virtual Terminal),他可以直接截獲串口傳來的消息然後顯示出來。很方便做這方面調試時使用。
路徑: 邊欄 → instruments → virtual terminal
如果在調試的時候不小心把它的終端窗口關了,再次打開路徑: 菜單 → debug - virtual terminal ,注意是在啟動調試的情況下。
大年初二,拜訪完姥姥家就該看看單片機怎麼玩,你說是吧!這兩天快馬加鞭了,下一站:一周目大BOSS。各位加油。
Ⅳ 單片機與電腦怎樣實現無線通訊
沒那麼簡單。首先你要有usb
的電路才能接入電腦usb插口。這需要硬體。所以最好買現成的單片機板。兩邊也需要軟體來處理。不是初學者能做的。
Ⅵ 單片機與電腦通訊為什麼用232 usb不行嗎
說簡單點就是,單片機比較簡單,它的通訊也比較簡單,用一般串口通訊!USB協議比較復雜,包含設備信息驅動等等! 如果你讓單片機用USB通訊方式也可以,那要換支持USB協議的而且程序復雜,你還要單片機實現其他功能!光一個USB協議就夠你弄了,你還要弄其它功能,估計你要累死了!所以不推薦!