低成本串口扩展方案在银行柜台密码键盘设备中应用
例代码:
//GM8123地址控制线声明
sbit SRADD0 = P3^4; // GM8123地址线SRADD0控制
sbit SRADD1 = P3^5; // GM8123地址线SRADD1控制
sbit STADD0 = P3^6; // GM8123地址线STADD0控制
sbit STADD1 = P3^7; // GM8123地址线STADD1控制
void main(void)
{
............
//初始化设置
SCON = 0xC0; //根据需要设置
TH1 = 0xFD; //装入定时器1初值,设置MCU
工作波特率为9600bps
TL1 = 0xFD;
PCON = 0x00;
TR1 = 1; //启动定时器1
............
//设置子串口三和上位机通讯
STADD0 = 1; //选择子串口3发送
STADD1 = 1;
SRADD0 = 1; //选择子串口3接收
SRADD1 = 1;
............ //接收上位机数据的相关处理
//切换到和串口一和标准键盘通讯
TR1 = 0;
TH1 = 0xE8; //装入定时器1初值,设置MCU
工作波特率为1200bps
TL1 = 0xE8;
PCON = 0x00;
TR1 = 1;
STADD0 = 1; //选择子串口1发送
STADD1 = 0;
SRADD0 = 1; //选择子串口3发送
SRADD1 = 0;
............ //键盘控制和按键
}
结语
从上述内容可以看出,通过GM8123实现3个串口的应用非常简单和灵活,程序工作量少,控制容易。并且以上设计只应用到了GM8123的单通道模式,尚未发挥出该芯片的所有功能和灵活性。芯片的外部控制少,应用灵活,编程使用简单,适合于大多数需要多串口扩展的应用场合。比如:
但是应用该芯片需要注意的是GM812X系列接口IC在多通道模式下不能将各个子串口的波特率设定的不同,不能满足多串口同时进行不同波特率数据通信的应用设计。另外,GM812X系列现有的IC型号不能满足手持设备的低功耗要求,以及有38.4Kbps的最高波特率限制。
- LT3751如何使高压电容器充电变得简单(08-12)
- 三路输出LED驱动器可驱动共阳极LED串(08-17)
- 浪涌抑制器IC简化了危险环境中电子设备的本质安全势垒设计(08-19)
- 严酷的汽车环境要求高性能电源转换(08-17)
- 适用于工业能源采集的技术 (08-10)
- 单片式电池充电器简化太阳能供电设计(08-20)