首页 理论教育 STC15W4K32S4系列单片机接口技术

STC15W4K32S4系列单片机接口技术

时间:2023-11-02 理论教育 版权反馈
【摘要】:在单片机应用系统设计中,采用TTL电路或CMOS电路的锁存器、三态门,使用总线式或非总线式扩展可以实现与单片机连接。下面以TTL和CMOS电路为例,介绍I/O端口的扩展方法。图12-7所示是采用74LS573和74LS244扩展的I/O接口电路,其中74LS573是8D锁存器,扩展输出口,输出端连接8个LED发光二极管。图12-7中用74LS573和74LS244扩展的I/O端口地址为0000H或7FFFH。

STC15W4K32S4系列单片机接口技术

单片机应用系统设计中,采用TTL电路或CMOS电路的锁存器、三态门,使用总线式或非总线式扩展可以实现与单片机连接。总线式扩展是利用单片机访问片外RAM功能,将要扩展的I/O接口芯片挂在总线上,使其按统一规则进行读/写,这种扩展方式可以连接的芯片多,便于日后的升级,但电路连接比较固定、灵活性不强。非总线方式扩展是用单片机的I/O口直接与接口芯片连接,其特点是灵活性强,但可连接的芯片少。

下面以TTL和CMOS电路为例,介绍I/O端口的扩展方法(这类芯片没有专门的片选信号)。

1.用TTL电路扩展并行I/O口

采用总线式扩展TTL电路可以构成简单输入/输出口,能够降低成本、减小体积。图12-7所示是采用74LS573和74LS244扩展的I/O接口电路,其中74LS573是8D锁存器,扩展输出口,输出端连接8个LED发光二极管。74LS244是三态输入缓冲器,无锁存功能,可以用作8位总线驱动器,在这个实例中用来扩展输入口,输入端连接了8个按键。

LE是74LS573的时钟脉冲信号,当LE为上升沿脉冲时,锁存器的输出等于输入,即Q=D;当LE=0时,锁存器Q端保持原来的数据。OE是使能端,OE=1时输出为高阻态,OE=0保持有效。1G、2G是74LS244的三态允许输出端,低电平有效。74LS573和74LS244的选通操作逻辑见表12-2。

图12-7中用74LS573和74LS244扩展的I/O端口地址为0000H或7FFFH。

978-7-111-51881-5-Chapter12-15.jpg

图12-7 TTL电路扩展实例

【例12-2】 按照图12-7,LED灯一一对应按键状态,若K1按下对应L1亮,若没有键按下,则LED灯全灭,要求编程用点亮LED灯表示某按键是否按下,其参考程序段如下:

978-7-111-51881-5-Chapter12-16.jpg

此外,用74LS374、74LS377、74LS273和74LS574同样可以扩展I/O口,其扩展方法与扩展74LS573的方法相似。其读、写操作要由地址与RD或WR产生的组合逻辑控制。

表12-27 4LS573和74LS244选通操作的逻辑功能表

978-7-111-51881-5-Chapter12-17.jpg

2.用串行接口扩展并行输入口(www.xing528.com)

CD4014和74LS165都是具有并行输入和串行移位输出的接口电路,使用这种芯片可以将单片机的串行接口扩展成并行输入口,接口电路如图12-8所示。

978-7-111-51881-5-Chapter12-18.jpg

图12-8 用CD4014扩展并行输入口

图12-8中CD4014的PI0~PI7为8位并行输入端,Q8为移位寄存器高位,SI为串行数据输入端,CP为时钟脉冲输入端,P/S为并/串数据输入选择端。当P/S=1时,并行输入端数据被置入寄存器;当P/S=0时允许串行输入端数据移位输出,这时在CP脉冲的作用下将寄存器的数据从高位开始依次移位输出到单片机。按照这种连接方法可以级联扩展多个8位输入口,相邻两个芯片之间前一芯片的Q8与后一芯片的SI相连。

【例12-3】 按照图12-8,从扩展的16位输入口中读入6组数据(每组数2B),读入的数据存储在片内30H开始的单元

978-7-111-51881-5-Chapter12-19.jpg

3.用串行接口扩展并行输出口

CD4094和74LS164都是具有串行移位输入和并行输出的接口芯片,使用这种芯片可以将单片机的串行接口扩展成并行输出口,接口电路如图12-9所示。

978-7-111-51881-5-Chapter12-20.jpg

图12-9 用74LS164扩展并行输出口

图12-9中74LS164的QA~QH为8位并行输出端口,QH为移位寄存器高位,A、B为串行数据输入端,CP为时钟脉冲输入端,CLR为复位输入端,低电平有效。通过串行传输数据时,单片机的串口从低位开始依次移位输出。在串口输出1字节数据后,该数据的低位被移位到QH,高位移送到QA。由于74LS164没有并行输出控制端,因此其并行输出端的状态会不断变化。

【例12-4】 按照图12-9,将片内30H、31H单元的内容通过串行接口传送到扩展的16位输出口。程序段如下:

978-7-111-51881-5-Chapter12-21.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈