(1.西安交通大學電氣工程學院,陜西 西安710049;
2.西安電子科技大學電子工程學院,陜西 西安710071)
摘 要:介紹以單片機80C196KC為處理器的多功能無功補償儀的通信設計。本系統(tǒng)采用兩種異步串行通信接口:RS-232C和RS-485,文中詳盡闡述了該裝置的硬件電路和軟件的具體實現(xiàn),并對該裝置所組成的網(wǎng)絡做了闡述。
關鍵詞:無功補償;單片機;串口通信;中斷
1 串行通信軟硬件設計
1.1 硬件設計
●MAX232直接與微處理器80C196KC的串行口(Txd,Rxd)相連接構(gòu)成RS-232C接口,作為現(xiàn)場數(shù)據(jù)調(diào)試,系統(tǒng)參數(shù)設定以及電容器投切的電壓、電流閾值的設置,可與PC機直接通信。
●由于80C196KC只有一個串行端口,因此,利用8251并/串、串/并的轉(zhuǎn)換完成串行端口擴展功能,8251是一種通用的同步/異步/發(fā)送器(USART),8251與MAX485的組合可實現(xiàn)串行端口遠程通信。本系統(tǒng)由兩組8251,MAX485組成(設為第0路和第1路),構(gòu)成兩組RS-485接口。其中一組與上位機通信,另一組完成與下位機的通信。
1.2 軟件設計
●為滿足接收數(shù)據(jù)的實時性,三組通信的數(shù)據(jù)接收均采用中斷處理。MAX232組成的串行RS-232C通訊(發(fā)送與接收)均在中斷中完成。
●需要對80C196KC的串行口中斷進行正確初始化,對8251芯片正確初始化。
●在由8251和MAX485組成的兩組RS-485通信電路中,數(shù)據(jù)接收都利用HSI中斷。當有數(shù)據(jù)接收到時,進入中斷程序;中斷程序首先識別由哪一組產(chǎn)生的中斷,然后進入相應處理程序。數(shù)據(jù)發(fā)送則在主程序中完成,而不用中斷完成。MAX485是單工方式,它的讀寫控制由P1口的某一個管腳來控制,在發(fā)送時為保證數(shù)據(jù)準確性,MAX485發(fā)送使能開啟以后需要短暫延時,然后向8251寫入發(fā)送數(shù)據(jù),當檢測到8251的數(shù)據(jù)發(fā)送完畢信號時,也需要短暫延時(由時序分析應大于100μs),然后關閉發(fā)送使能,MAX485平時應置讀使能狀態(tài)。
2 80C196KC串行RS-232C通信的硬件與軟件實現(xiàn)
2.1 串行RS-232C通信硬件電路
80C196KC以RS-232C通信的硬件電路如圖1所示。

MAX232是一種雙組驅(qū)動器/接收器,片內(nèi)含有一 個電容性電壓發(fā)生器,在單5V電源供電時提供EIA/TIA-232-E電平,每個接收器將232電平輸入轉(zhuǎn)換為5VTTL/CMOS電平。80C196KC的串行端口(txd,rxd)與MAX232相連,PTxd/PRxd與PC機串行端口的讀/寫相連,實現(xiàn)80C196KC的串行端口與PC機的通信。
2.2 串行RS-232C通信軟件實現(xiàn)


3 80C196KC串行RS-485通信的硬件與軟件實現(xiàn)
3.1 串行RS-485通信的硬件設計
以RS-485通信的硬件設計如圖2所示。

8251的時鐘是這樣提供的:利用4.9152M時鐘源,經(jīng)4040計數(shù)器分頻,4分頻管腳供時鐘信號,32分頻管腳供發(fā)送和接收數(shù)據(jù)時鐘。通過寄存器的設置,波特率因子為16,串行端口速率則為9600bps。
圖中CS485A、CS485B分別與80C196KC的p1.0、p1.1相連接。RXD1、RXD2分別與hsi.0、hsi.1相連接。CS8251A、CS8251B均由74LSl38產(chǎn)生片選信號。WR、RD、數(shù)據(jù)線、地址線與80C196KC的相應控制、數(shù)據(jù)、地址總線相連接。
3.2 串行RS-485通信的軟件設計




4 無功補償儀的網(wǎng)絡結(jié)構(gòu)
無功補償儀與上位機以及現(xiàn)場儀表組成的網(wǎng)絡結(jié)構(gòu)如圖3所示。

本系統(tǒng)采用RS-485總線標準,網(wǎng)絡系統(tǒng)具有高速、高可靠性。它是一種分布式控制系統(tǒng)。
總站與多個無功補償儀通信以匯總數(shù)據(jù)。無功補償儀之間不進行通信。圖3中的現(xiàn)場儀表是下位機,與無功補償儀通信將現(xiàn)場用電量等數(shù)據(jù)傳送給無功補償儀,F(xiàn)場儀表之間可進行通信,這種通信功能十分重要,因為,當現(xiàn)場儀表與無功補償儀之間距離較長時,遠端的現(xiàn)場儀表可將數(shù)據(jù)送入與其臨近的而且與無功補償儀距離較近的現(xiàn)場儀表。這樣可逐級傳送,也就是說,現(xiàn)場儀表具有中繼的功能。
5 結(jié)束語
本文所討論的設計方法,不僅能夠很好的滿足多功能無功補償儀系統(tǒng)與上位機進行遠距離通信的要求,還能夠完成與下位機進行遠距離通信以及在系統(tǒng)現(xiàn)場利用串行端口對系統(tǒng)進行數(shù)據(jù)調(diào)試、系統(tǒng)參數(shù)設定的任務。所組成的網(wǎng)絡速度較高,可靠性好。
參考文獻
[1]孫涵芳.Intel16位單片機[M].北京航空航天大學出版社,1995.
[2]薛鈞義,張彥斌.MCS-51/96系列單片微型計算機及其應用[M].西安交通大學出版社,1989.
[3]李朝青.PC機及單片機數(shù)據(jù)通信技術[M].北京航空航天大學出版社,1999.
[4]程軍.Intel 80C196單片機應用實踐與C語言開發(fā)[M].北京航空航天大學出版社,2000.
摘自 儀表技術