|
GM8123是成都國騰微電子有限公司的1擴3通用異步串口擴展芯片。可以將一個全雙工的標(biāo)準串口擴展成 3 個標(biāo)準串口,并能通過外部引腳控制串口 擴展模式:單通道工作模式和多通道工作模式,即可以指定一個子串口和母串口以相同的波特率單一的工作,也可以讓所有子串口在母串口波特率基礎(chǔ)上分頻同時工作。
該芯片工作在多通道模式下時,子串口能主動響應(yīng)從機發(fā)送的數(shù)據(jù),并由母串口發(fā)送給主機,同時返回子串口地址。該模式使每個從機的發(fā)送要求都能被及時地響應(yīng),即使所有從機同時有發(fā)送要求,數(shù)據(jù)也不會丟失,基本實現(xiàn)了主控單元和外設(shè)通訊的實時性。
該芯片母串口和子串口的工作波特率可由軟件調(diào)節(jié),而不需要修改外部電路和晶振頻率。其外部控制少,應(yīng)用靈活,編程使用簡單,適用于大多數(shù)有串口擴展需求的系統(tǒng)。
以下為應(yīng)用于單片機C8051F040的芯片單通道初始化程序(多通道初始化程序略):
sbit MS_1 = P1^7;
sbit STADD0_1 = P1^6;
sbit STADD1_1 = P1^5;
sbit SRADD0_1 = P1^4;
sbit SRADD1_1 = P1^3;
sbit RET_1 = P1^2;
void init_GM8123()
{
SFRPAGE = CONFIG_PAGE;
P1MDOUT |= 0x80; // MS_1 推挽輸出
P1MDOUT |= 0x04; // RET_1推挽輸出
RET_1 = 0; //復(fù)位
T0Counter3 = 0;
while( T0Counter3 <= 20);//延時20ms
RET_1 = 1;
T0Counter3 = 0;
while( T0Counter3 <= 30);//延時300ms
//8123_1單通道工作模式
SFRPAGE = CONFIG_PAGE;
P1MDOUT |= 0x78; // 四個地址口推挽輸出
STADD0_1 = 1;
STADD1_1 = 0;
SRADD0_1 = 1;
SRADD1_1 = 0;
MS_1 = 1;
}
|
|