基于AT89C51單片機的RS 232串行數據截取器設計
單片機最小系統(tǒng),包括電源電路、時鐘電路和復位電路,S1,S2做波特率控制開關,分別控制P0.0,P0.1的值從00~11,對應波特率為1 200~9 600 b/s。
串口擴展電路由GM8123構成,其時鐘電路采用12 MHz的石英晶體振蕩器構成內部時鐘方式。GM8123的母串口接收引腳RXD0和發(fā)送引腳TXD0分別同單片機串口的發(fā)送引腳TXD和接收引腳RXD相連接。GM8123的復位引腳同單片機P3.6腳相連接,由P3.6控制GM8123系統(tǒng)復位,它的模式控制引腳MS同P3.7相連接,由P3.7進行模式選擇。GM8123的發(fā)送地址線引腳STADD0,STADD1,接收地址引腳SRADD0,SRADD1依次同單片機P1口的P1.0~P1.3相連接,由單片機P1口判斷是哪個子串口接收數據和選取某個子串口發(fā)送數據。
電平轉換電路由兩片MAX232芯片完成,實現J1,J2,J3的RS 232電平與TTL電平之間的相互轉換。
2 軟件設計
系統(tǒng)軟件有兩種工作模式,模式1的軟件設計是實現截取數據的實時發(fā)送,截取器工作時不能脫離上位機。模式2的軟件設計是實現截取數據的存儲轉發(fā),截取器可以脫離上位機工作。
2.1 主程序流程設計
模式1和模式2的主程序基本相同,其主要功能有:對單片機串行中斷相關寄存器的配置,對串口收發(fā)數據波特率設定及相關定時器的配置,對GM8123芯片的復位操作和工作方式的相關配置。主程序流程圖如圖3所示。本文引用地址:http://www.biyoush.com/article/171376.htm
其中由S1,S2,控制波特率設置的程序流程圖如圖4所示。
評論