MB89P475的UART/SIO結構與應用分析
本文引用地址:http://www.104case.com/article/171338.htm
RXE:數據接收允許位,置0時禁止接收,置1時允許接收;
TXE:數據發射允許位,置0時禁止發射,置1時允許發射;
BRGE:波特率發生器啟動位,0為停止,1為啟動;
TXOE:串行數據輸出允許位,置0時,P21/SO1、P26/SO2為通用I/O口,置1時,P21/SO1、P26/SO2為串行數據輸出口;
SCKE:串行時鐘輸出允許位,置0時,P20/SCK1、P27/SCK2為通用I/O口或串行時鐘輸入口,置1時,P20/SCK1、P27/SCK2為串行時鐘輸出口;
RIE:接收中斷允許位,置0時,接收中斷禁止,置1時,接收中斷允許;
TIE:發射中斷允許位,置0時,發射中斷禁止,置1時,發射中斷允許。
(3) SSD1/2:狀態與數據寄存器(地址:0028H/002DH,初始化值:00001---H),格式如下:
Bit7 | Bit6 | Bit5 | BIT4 | Bit3 | Bit2 | Bit1 | Bit0 |
PRE | OVE | FER | RDRF | TDRE | -- | -- | -- |
其中,PRE:為校驗錯誤標志,0為無校驗錯誤,1為校驗錯誤;
OVE:溢出錯誤標志,0為無溢出錯誤,1為溢出錯誤;
FER:幀錯誤標志,0為無幀錯誤,1為幀錯誤;
RDRF:接收數據寄存器滿標志,0為寄存器空,1為接收數據滿;
TDRE:發射數據寄存器空標志,0為發射數據滿,1為寄存器空。
這里,SSD1/2是只讀寄存器。若接收中斷允許(RIE=1),那么任何錯誤標志置“1”都將產生接收中斷。因此,在程序中將RERC(SMC12/22中的Bit7)置“1”,可將各錯誤標志清零。
(4)SRC1/2:波特率控制寄存器(地址:002AH/002FH,初始化值:xxxxxxxxH)
當SMC11/SMC21寄存器中的CLK2 ~ CLK0設為“011”時,由于選擇的是波特率發生器作為串行時鐘(異步通信方式使用),因此,只有在UART/SIO停止工作時,寫入SRC1/2的數據才有效。此時,波特率計算方法如下(CLK2~CLK0設為“011”):
波特率=1/(16nTint)
式中,n為寫入SRC1/2的數值,Tint為指令周期,其值可通過對相關寄存器編程設定為4/fch、8/fch、16/fch、64/fch(其中fch為系統時鐘振蕩器頻率)。
(5) SIDR1/2: 輸入數據寄存器(地址:0029H/002EH,初始化值:xxxxxxxxH)
該寄存器用于存放接收到的數據。當數據接收完成時,RSRF位(SSD1/2中的Bit4)被置“1”,此時若接收中斷允許,將產生接收中斷請求。讀出接收數據后,RSRF位自動清“0”。
系統檢測到接收中斷請求后,應檢查RSRF位是否為“1”,若為“0”,說明該中斷是由于接收錯誤產生的,SIDR1/2并未接收到數據,此時應在相應的程序中作相應處理。
(6) SODR1/2:輸出數據寄存器(地址:0029H/002EH,初始化值:xxxxxxxxH)
SODR1/2與SIDR1/2具有相同的地址。發射允許時,將發射數據寫入該寄存器即可直接轉送到發射寄存器,并通過發射移位寄存器發送到串行數據輸出口(SO1/2)。
若將發射數據長度設為7 Bits,則數據的第7位(最高位)無效。
3?。蹋樱遥常埃靶图叵到y的構成
圖2所示為LSR300型中央空調計算機集控系統的結構框圖,該系統采用RS-485總線結構方式,由計算機控制管理平臺、RS-232/RS-485轉換模塊、14個控制終端(包括通信板和主控系統,其控制終端數量可以根據實際要求增加或減少)組成。其中計算機控制管理平臺主要用于數據通信、系統檢測、功能設定和控制以及查詢等管理工作。
系統中的RS-232/RS-485轉換模塊由MAX-IM公司生產的MAX491E、MAX232A組成,該模塊的電路連接如圖3所示。
通信板由MB89P475為核心組成,其結構如圖4所示。圖中的RS-485接口由MAX491E完成,接收器處于常通狀態(RE接地),發射器的選通(DE端)由MB89P475的P2.7口控制(高電平選通)。通信板主要完成以下功能:
(1) 用撥碼開關實現各控制終端的地址編碼;
(2) 機組的本地操作控制與顯示(包括本地查詢、設置和控制);
(3) 分別與計算機和主控系統通信,實現主控系統與計算機之間的數據傳送。其中,與計算機之間采用RS-485總線方式進行連接,而與主控系統之間則采用電流環方式連接;
(4) 記憶機組的設定信息、故障信息和累計運行時間。
蜂鳴器相關文章:蜂鳴器原理
評論