蔣信
摘 要科技的發(fā)展日新月異,機(jī)電一體化的發(fā)展對自動化系統(tǒng)的可靠性提出了更高的要求,在這樣的背景下,單片機(jī)在工業(yè)控制領(lǐng)域的應(yīng)用越來越廣泛也越來越重要?;谝陨希疚膹耐ㄐ胚^程、顯示設(shè)計、鍵盤接口等方面研究了基于單片機(jī)的數(shù)據(jù)串口通信。
【關(guān)鍵詞】單片機(jī) 數(shù)據(jù)串口 通信 研究
在計算機(jī)控制領(lǐng)域中,計算機(jī)與外設(shè)數(shù)據(jù)之間的通信主要依靠單片機(jī)來實(shí)現(xiàn),單片機(jī)的串口功能能夠?qū)崿F(xiàn)數(shù)據(jù)的傳輸以及分析,這就屬于串口通信,可以預(yù)見的是,單片機(jī)的數(shù)據(jù)串口通信將會得到更廣泛的應(yīng)用,單片機(jī)之間的通信也有賴于其數(shù)據(jù)串口通信功能?;谝陨?,本文簡要研究了基于單片機(jī)的數(shù)據(jù)串口通信。
1 串口通信的實(shí)現(xiàn)方式
設(shè)備在實(shí)現(xiàn)通信的過程中,必須樹立一個信息接發(fā)雙方都認(rèn)可的通信方式,只有這樣才能夠保證信息在傳送的過程中不發(fā)生沖突,才能夠?qū)崿F(xiàn)設(shè)備之間的通信,對于串口通信來說,主要有以下兩種方式。
1.1 異步通信方式
異步通信方式實(shí)現(xiàn)的過程中,數(shù)據(jù)傳輸方式為獨(dú)立字節(jié)的形式,不同的字節(jié)前端有著不同的起始信號,不同字節(jié)的后端則會有不同的終止信號,起始信號只能是一個,而終止信號可以是一個也可以是多個。數(shù)據(jù)傳輸過程中,字節(jié)進(jìn)行移動,一個字節(jié)的遷移過程表示一個字節(jié)的傳輸過程,傳輸之前使用起始信號進(jìn)行傳輸,傳輸結(jié)束之后使用終止信號將傳輸線調(diào)回標(biāo)準(zhǔn)狀態(tài),一個字節(jié)傳輸完畢后進(jìn)行下一個字節(jié)的傳輸,字節(jié)傳輸有著連續(xù)性,這就是異步傳輸方式。由于沒一個字節(jié)都要附加起始信號信息和終止信號信息,因此異步傳輸方式的效率較低,但異步通信方式容許一定程度的頻率漂移,有著一定的誤差緩沖作用。
1.2 同步通信方式
同步通信方式指的是將所有字符和字節(jié)連接在一起進(jìn)行傳輸?shù)囊环N通信方式,多個字符相互連接組成數(shù)據(jù)塊,在數(shù)據(jù)塊前增加同步字符,以同步字符作為傳輸起始信號,在傳輸后增加校驗(yàn)字符,以校驗(yàn)字符作為傳輸終止信號,以此來校驗(yàn)傳輸過程中的錯誤和誤差,數(shù)據(jù)塊中的各個字符之間沒有間隔,相較于異步通信方式來說,其傳輸效率較高,但其對于信息接收端和信息發(fā)送端的同步性要求較高,因此硬件的復(fù)雜程度也就更高。
2 基于單片機(jī)的數(shù)據(jù)串口通信
2.1 單片機(jī)數(shù)據(jù)串口通信過程
單片機(jī)數(shù)據(jù)串口通信功能的實(shí)現(xiàn)主要依賴于數(shù)據(jù)寄存器,這個數(shù)據(jù)寄存器一般設(shè)置在單片機(jī)的串行端口上,其能夠?qū)崿F(xiàn)數(shù)據(jù)的接收和發(fā)送,從而為實(shí)現(xiàn)通信提供了可能。一般來說,數(shù)據(jù)在寫入寄存器的時候同時會進(jìn)行發(fā)送,從而進(jìn)入到數(shù)據(jù)的傳輸流程中,而數(shù)據(jù)寄存器在讀取數(shù)據(jù)的時候同時也開始數(shù)據(jù)的接收,這就是單片機(jī)數(shù)據(jù)串口通信的簡單過程。
具體來說,串行接口與單片機(jī)通信的過程中,可編程邏輯控制器會接收到單片機(jī)發(fā)送的命令幀格式,在通信結(jié)束之后,可編程邏輯控制器執(zhí)行命令,可編程邏輯控制器需要以ASCII的形式來形成接收到的信息,但是單片機(jī)的輸入方式有著一定的局限性,只能夠進(jìn)行高低電平輸入,這就需要在信息發(fā)送過程中對信息進(jìn)行格式轉(zhuǎn)化,串口通信協(xié)議中有信息幀格式,可以以此為依據(jù)將信息轉(zhuǎn)化為二進(jìn)制格式,轉(zhuǎn)化后的信息發(fā)送至數(shù)據(jù)寄存器中,從而完成單片機(jī)數(shù)據(jù)串口通信過程。
2.2 單片機(jī)的顯示設(shè)計分析
單片機(jī)顯示程序的設(shè)計一般有兩種方式:
2.2.1 動態(tài)顯示驅(qū)動
指的是通過數(shù)碼管來實(shí)現(xiàn)單片機(jī)動態(tài)顯示的一種驅(qū)動顯示方式具體來說,并聯(lián)所有選擇的線路,利用八位I/O口來控制這些并聯(lián)的線路,將除八位I/O口之外的I/O口作為數(shù)碼管選線,顯示數(shù)字的譯碼由單片機(jī)進(jìn)行輸出,此時,為選通電路與各個數(shù)碼顯示管一一對應(yīng),并由對應(yīng)的數(shù)碼顯示管來進(jìn)行有效的控制,沒有對應(yīng)的數(shù)碼顯示管在此過程中不會產(chǎn)生反應(yīng),這就是動態(tài)顯示驅(qū)動的過程。
2.2.2 靜態(tài)顯示驅(qū)動
靜態(tài)顯示驅(qū)動屬于一種直流驅(qū)動方式,數(shù)碼管有兩個極,分別是共陽極和共陰極,在接地設(shè)置上,讓這兩個極同時接地,且同時連接電源,這就是靜態(tài)顯示驅(qū)動方式,需要注意的是,相較于動態(tài)顯示驅(qū)動方式而言,靜態(tài)顯示驅(qū)動方式會占用更多的I/O口,這就給顯示設(shè)計帶來了一定的復(fù)雜性,因此,在實(shí)際的單片機(jī)顯示設(shè)計中,一般采用動態(tài)顯示驅(qū)動方式較多。
2.3 矩陣式鍵盤接口分析
在單片機(jī)數(shù)據(jù)串口通信過程中,可能在鍵盤中需要較多數(shù)量的鍵盤按鍵,為了避免占用過多的I/O口,則需要對這些鍵盤按鍵進(jìn)行合理的排序。下面介紹一種矩陣形式的排列方式,以此來實(shí)現(xiàn)鍵盤按鍵的合理劃分布。在矩陣式排列的過程中,垂直線和交叉點(diǎn)在同一條水平線上不能夠直接的聯(lián)通,而是要通過按鍵來實(shí)現(xiàn)二者的連接,這就形成了一種4×4的矩陣式排列方式,這種鍵盤連接對于端口的應(yīng)用效率明顯提升。
矩陣式鍵盤連接方式適用于線路較多情況,線路越多,則其提升端口使用效率的效果越明顯。矩陣式排列分布方式下,使用端口線增加線路時,一條線的增加對應(yīng)一個鍵的增加,而使用普通線,一條線的增加對應(yīng)二十鍵,此時使用矩陣式排列方式就能夠取得良好的效果。
矩陣式結(jié)構(gòu)雖然能夠避免過多的占用I/O口,但是其也有著一定的局限性,即矩陣式結(jié)構(gòu)實(shí)現(xiàn)難度較大,相對來說比較復(fù)雜。已經(jīng)確定的矩陣式鍵盤來說,可以采用“行掃描法”來識別按鍵,對于按鍵落下與否的判斷來說,可以降低行線到低電平狀態(tài),檢測列線的狀態(tài),如果發(fā)現(xiàn)有一條列線的電平為低狀態(tài),則可以判斷鍵盤的按鍵在按下的狀態(tài),如果所有的列線都在高電平的狀態(tài),則可以判斷鍵盤按鍵處于非按下的狀態(tài)。在確定有鍵盤按鍵處于按下的狀態(tài)時,則需要確認(rèn)具體是哪一個按鍵處于按下狀態(tài),首先將某一條行線調(diào)到低電平的狀態(tài),之后對列線進(jìn)行逐條檢查,哪一列的列線處于低電平狀態(tài),則其與調(diào)到低電平狀態(tài)這條行線的交點(diǎn)按鍵就是閉合的按鍵,依此進(jìn)行判斷即可。
3 結(jié)論
信息的發(fā)展日新月異,數(shù)據(jù)通信在工業(yè)及信息領(lǐng)域的應(yīng)用越來越重要,計算機(jī)與外設(shè)數(shù)據(jù)的連接則依賴于單片機(jī)的數(shù)據(jù)串口通信,這就打破了信息傳輸?shù)牡赜蛐韵拗?。本文簡要研究了基于單片機(jī)的數(shù)據(jù)串口通信,旨在進(jìn)一步促進(jìn)單片機(jī)數(shù)據(jù)串口通信技術(shù)的進(jìn)一步發(fā)展。
參考文獻(xiàn)
[1]佘艷.基于單片機(jī)的數(shù)據(jù)串口通信[J]. 電子技術(shù)與軟件工程,2015,01:262.
[2]王振宇.基于單片機(jī)的數(shù)據(jù)串口通信研究[J].電子技術(shù)與軟件工程,2015,07:256-257.
[3]劉遠(yuǎn)義,張銳,劉宏洋.PC機(jī)與單片機(jī)的串口通信數(shù)據(jù)采集系統(tǒng)設(shè)計[J].邢臺學(xué)院學(xué)報,2013,02:174-176.
作者單位
湖北工程學(xué)院新技術(shù)學(xué)院12級電子信息工程 湖北省孝感市 432000