PC機(jī)與單片機(jī)的通訊程序
大多數(shù)的電腦設(shè)備都具有RS-232C接口,盡管它的性能指標(biāo)并非很好。在廣泛的市場支持下依然常勝不衰。就使用而言,RS-232也確實(shí)有其優(yōu)勢:僅需3根線便可在兩個(gè)數(shù)字設(shè)備之間全雙工的傳送數(shù)據(jù)。不過,RS-232C的控制要比使用并行通訊的打印機(jī)接口更難于控制。RS-232C使用了遠(yuǎn)較并行口更多的寄存器。這些寄存器用來實(shí)現(xiàn)串行數(shù)據(jù)的傳送及RS-232C設(shè)備之間的握手與流量控制。本文將分別描述PC機(jī)及單片機(jī)MCS-51的串行通訊的原理及具體的軟件設(shè)計(jì)。
(1) RS-232C介紹與PC硬件:
RS-232C使用-3到-25V表示數(shù)字“1”,使用3V到25V表示數(shù)字“0”,RS-232C在空閑時(shí)處于邏輯“1”狀態(tài),在開始傳送時(shí),首先產(chǎn)生一起始位,起始位為一個(gè)寬度的邏輯“0”,緊隨其后為所要傳送的數(shù)據(jù),所要傳送的數(shù)據(jù)有最低位開始依此送出,并以一個(gè)結(jié)束位標(biāo)志該字節(jié)傳送結(jié)束,結(jié)束位為一個(gè)寬度的邏輯“1”狀態(tài)。
PC機(jī)一般使用8250或16550作為串行通訊的控制器,使用9針或25針的接插件將串行口的信號(hào)送出。該插座的信號(hào)定義如下: