利用RS-232C實(shí)現(xiàn)PC機(jī)與單片機(jī)的通信
我們知道EIA-RS-232C是用正負(fù)電壓來(lái)表示邏輯狀態(tài),單片機(jī)串行口采用正邏輯TTL電平,這樣單片機(jī)和PC機(jī)的COM1或者COM2就不能直接連接。為了能夠同計(jì)算機(jī)接口或終端的TTL器件連接,必須在EIA-RS一232C與TTL電路之間進(jìn)行電平和邏輯關(guān)系的變換。實(shí)現(xiàn)這種變換的方法可用分立元件,也可用集成電路芯片。目前較為廣泛地使用集成電路轉(zhuǎn)換器件,如MCl488、SN75150芯片可完成TTL電平到EIA電平的轉(zhuǎn)換,MCl489、SN75154可實(shí)現(xiàn)EIA電平到TTL電平的轉(zhuǎn)換。而MAX232芯片可完成TTL←→EIA雙向電平轉(zhuǎn)換,MAX232系列芯片集成度高,+5V電源(內(nèi)置了電壓倍增電路及負(fù)電源電路),只需外接5個(gè)容量為0.1μF~1μF的小電容即可完成兩路RS-232與TTL電平之間轉(zhuǎn)換。MAX232引腳圖如下圖所示。
把它和單片機(jī)連接起來(lái),以實(shí)現(xiàn)PC機(jī)與下位機(jī)的通信:?jiǎn)纹瑱C(jī)串口使用查詢(xún)法接收和發(fā)送資料。PC機(jī)發(fā)出指定字符,單片機(jī)收到后返回給上位機(jī)原字符。
首先來(lái)完成電路連接,單片機(jī)AT89S2O51串行口經(jīng)MAX232電平轉(zhuǎn)換后,與PC機(jī)串行口相連,電路圖如下圖所示。
PC機(jī)使用串口調(diào)試助手V2.2.exe,實(shí)現(xiàn)PC機(jī)與單片機(jī)的通信。
打開(kāi)串口調(diào)試助手V2.2.exe應(yīng)用程序,進(jìn)行設(shè)置:
波特率--4800
數(shù)據(jù)位--8
奇偶校驗(yàn)--無(wú)
停止位--1(因?yàn)椴捎脹](méi)有聯(lián)絡(luò)信號(hào)的通信,下位機(jī)也需相同協(xié)議設(shè)置)在‘發(fā)送的字符/數(shù)據(jù)'區(qū)輸入字符/數(shù)據(jù),接手動(dòng)發(fā)送,接收區(qū)收到相同的字符/數(shù)據(jù),或者按自動(dòng)發(fā)送,接收區(qū)將接受到發(fā)送的字符/數(shù)據(jù)(注:自動(dòng)發(fā)送的時(shí)間可以在串口調(diào)試助手中改動(dòng))如下圖所示。
單片機(jī)預(yù)先編制的程序清單如下: