新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)I/O口模擬串行通信實(shí)現(xiàn)方法

        51單片機(jī)I/O口模擬串行通信實(shí)現(xiàn)方法

        作者: 時(shí)間:2011-12-02 來源:網(wǎng)絡(luò) 收藏

        目前普遍采用的MCS51 和PIC 系列單片機(jī)通常只有一個(gè)(或沒有)UART異步串行通信接口,在應(yīng)用系統(tǒng)中若需要多個(gè)串行接口(例如在多機(jī)通信系統(tǒng)中,主機(jī)既要和從機(jī)通信又要和終端通信)的情況下,通常的方法是擴(kuò)展一片8251 或 8250 通用同步/異步接收發(fā)送芯片(USART),需額外占用單片機(jī)I/O 資源。本文介紹一種用單片機(jī)普通I/O 口實(shí)現(xiàn)串行通信的方法,可在單片機(jī)的最小應(yīng)用系統(tǒng)中實(shí)現(xiàn)與兩個(gè)以上串行接口設(shè)備的多機(jī)通信。

        1.串行接口的基本通信方式

        串行接口的有異步和同步兩種基本通信方式。異步通信采用用異步傳送格式,如圖1 所示。數(shù)據(jù)發(fā)送和接收均將起始位和停止位作為開始和結(jié)束的標(biāo)志。在異步通信中,起始位占用一位(低電平),

        異步通信采用用異步傳送格式

        異步通信采用用異步傳送格式

        用來表示字符開始。其后為7 或8 位的數(shù)據(jù)編碼,第8 位通常做為奇偶校驗(yàn)位。最后為停止位(高電平)用來表示字符傳送結(jié)束。上述字符格式通常作為一個(gè)串行幀,如無奇偶校驗(yàn)位,即為常見的N.8.1幀格式。串行通信中,每秒傳送的數(shù)據(jù)位稱為波特率。如數(shù)據(jù)傳送的波特率為1200 波特,采用N.8.1 幀格式(10 位),則每秒傳送字節(jié)為120 個(gè),而字節(jié)中每一位傳送時(shí)間即為波特率的倒數(shù):T=I/1200=0.833ms。同樣,如數(shù)據(jù)傳送的波特率為9600 波特,則字節(jié)中每一位傳送時(shí)間為T=1/9600=0.104 ms。

        根據(jù)數(shù)據(jù)傳送的波特率即字節(jié)中每一位的傳送時(shí)間,我們便可用普通I/O 口來模擬實(shí)現(xiàn)串行通信的時(shí)序。

        2.硬件電路

        89C51 單片機(jī)通過普通I/O 口與PC 機(jī)RS232 串口實(shí)現(xiàn)通信的硬件接口電路如圖2 所示。由于PC 系列微機(jī)串行口為RS232C 標(biāo)準(zhǔn)接口,與輸入、輸出均采用TTL 電平的89C51 單片機(jī)在接口規(guī)范上不一致,因此TTL電平到RS232 接口電平的轉(zhuǎn)換采用MAXIM 公司的MAX232 標(biāo)準(zhǔn)RS232接口芯片,該芯片可以用單電壓(+5V)實(shí)現(xiàn)RS232接口邏輯“1”(-3V~215V)和邏輯“0”(+3V~15V)的電平轉(zhuǎn)換。圖中89C51 的P1.0 模擬發(fā)送端,P1.1 模擬接收端。


        上一頁 1 2 3 下一頁

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 肇东市| 黔西| 台南县| 南城县| 衢州市| 隆化县| 梁平县| 启东市| 芦山县| 温州市| 平舆县| 海南省| 邻水| 山阳县| 澜沧| 特克斯县| 抚松县| 赤城县| 徐水县| 航空| 东丽区| 收藏| 南江县| 衡阳县| 常德市| 金坛市| 新晃| 嘉禾县| 宁晋县| 小金县| 连江县| 大理市| 江都市| 皋兰县| 岳西县| 博兴县| 陕西省| 罗城| 兴安盟| 新干县| 阳山县|