《单片机的C语言程序设计与应用-第4章(PPT)》由会员分享,可在线阅读,更多相关《单片机的C语言程序设计与应用-第4章(PPT)(30页珍藏版)》请在人人文库网上搜索。
1、第4章 单片机外部扩展资源的C51编程,在实际应用的51单片机系统中,很少是由以单块单片机独立构成的,经常需要对单片机的相关资源进行扩展,本章将介绍单片机的并行口、键盘、显示、A/D及D/A等扩展资源的C51编程。,41 并行口扩展的C51编程,并行口的扩展有简单I/O口的扩展、利用串行口扩展并行口、可编程并行口扩展等几种方法。,4.1.1 利用锁存器、三态门扩展简单并行口,1使用锁存器扩展并行口,2使用三态门扩展并行口,例4-3 电路如图4-3所示,用74LS373扩展一个输出口,分别接8个LED显示器L0L7,用74LS244扩展一个输入口,分别接8个开关K0K7,编程实现将开关K0K7的。
2、状态通过LED显示出来。,。,412 利用串行口扩展并行口,1利用串行口扩展并行的输入口,2利用串行口扩展并行的输出口,4.1.3 利用8255A扩展可编程并行口,18255A的基本知识 28255A的C语言应用实例 例4-6 8255与AT89C52的连接如图4-10所示,试按下列要求完成对8255的初始化编程:,例4-8 在工业控制等实际应用中,经常需要检测某些开关量的状态。例如在某一系统中,有8个开关K7K0,要求不断检测它们的通断状态,并随时在发光二极管LED7LED0上显示出来。开关断开,相应的LED点亮;开关闭合,LED灯熄灭。我们选用8051单片机、8255A、74LS138译码。
3、器、74LS373锁存器,构成如图4-11所示的硬件电路,来实现上述功能。,42 键盘接口的C51编程,在单片机应用系统中通常需要进行人-机对话,包括人对应用系统状态的干预以及向系统输入数据等,所以通常应用系统中应设有键盘。键盘是由按键构成的,键盘从硬件结构上分并行接口的独立式键盘和行列式矩阵键盘。,421 独立式按键,422 矩阵键盘,例4-13 如图4-21所示,通过8255A芯片扩展的并行I/O口连接48的矩阵键盘。,43 LED显示器接口的C51编程,在单片机应用系统中,显示器是最常用的输出设备。特别是发光二极管显示器(LED)和液晶显示器(LCD),由于结构简单、价格便宜、接口容易,。
4、得到广泛的应用,尤其是在单片机系统中大量使用。下面主要介绍LED显示器的显示原理及与MCS-51单片机的接口方法和相应的程序设计。,431 基本问题,1结构共阴极与共阳极 2显示的内容与显示的代码,432 LED静态显示接口,433 LED动态显示接口,例4-15 如图4-29所示为6位共阴极显示器通过8255A和8051的接口电路。从图中可看出8255A的PA、PB、PC及控制口的地址分别为:0BCFFH、0BDFFH、0BEFFH、0BFFFH。8255A的PB口位显示器的段口,PA口为显示器的位口。,4.3.4 串行口控制的LED显示接口,例4-17 如图4-31为采用串行口控制的8位L。
5、ED显示器接口电路。因为采用共阳极LED,所以,相应的亮段必须送0,相应的暗段必须送1。,45 模拟量接口的C51编程,在单片机应用系统中,只要涉及到测量与控制,就必须需要D/A及A/D转换器。 A/D转换器是将模拟量转换成数字量。 D/A转换就是将数字量转换成相应的模拟量。,451 8位D/A-DAC0832,例4-19 DAC0832双缓冲接口。 DAC0832工作于双缓冲方式,输入寄存器的锁存信号和DAC寄存器的锁存信号分开控制。这种方式适用于几个模拟量需同时输出的系统。每一路模拟量输出需一个DAC0832,构成多个DAC0832同步输出系统。例如4-37位两路模拟量同步输出的8051系。
6、统。DAC0832的输出可分别界图形显示器的X,Y偏转放大器输入端。,452 12位A/D-AD574,本章小结,本章主要介绍了并行口、键盘、显示、A/D及D/A、串行E2PROM等外部资源的扩展及C语言编程。 (1)在并行口的扩展中主要是两类:可编程的I/O口扩展及不可编程的I/O口扩展。对于不可编程的I/O口,可以通过锁存器扩展输出口,通过三态门扩展输入口;可编程的I/O是通过常用的芯片8255为例来进行讲解的。(2)对于键盘接口,主要要掌握矩阵键盘的C语言编程。(3)对于显示要掌握LED8段数码显示的动态显示的C语言编程。(4)对于其他的外围器件要掌握基本的用法。 本章是单片机扩展资源的综合应用,在应用过程中重点要求掌握各种接口技术的C语言编程原理,做到在实际应用中能够灵活运用。