第3章-MCS-51单片机IO端口应用.ppt
第3章MCS-51单片机I/O端口应用3.1原理图设计与说明3.2流水灯程序设计3.3数码管显示程序设计3.4矩阵键盘程序设计3.5流水灯、数码管和键盘的综合应用3.6LCD液晶显示3.7LED矩阵显示屏的应用3.8MCS-51单片机I/O端口的扩展3.1原理图设计与说明 本章通过流水灯、数码管显示、矩阵键盘扫描、液晶显示、LED矩阵显示等实例介绍MCS-51单片机端口的应用。3.2流水灯程序设计设计要求:8只LED灯按照1、2、3、4、5、6、7、8的顺序循环点亮,在某一时刻只有一只灯亮,间隔0.5s.流水灯程序流程图3.3数码管显示程序设计 在单片机应用系统中,经常需要将测量、时钟或数值运算结果等字符显示出来便于人们监视系统的工作情况。可见,数字显示电路是单片机系统中不可或缺的组成部分,是常用的外围设备之一。数字显示器有很多种不同类型的产品,如发光二极管、荧光数码管、液晶数字显示器等。这里重点介绍数码管。3.3.1设计要求依次选通8只数码管,并让每只数码管显示相应的值。例如:让每只数码管依次显示十六进制码0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f,即第1-8只数码管依次显示0、1、2、3、4、5、6、7;然后再从头开始,第1-8只数码管依次显示8、9、a、b、c、d、e、f。每个十六进制码持续显示约0.5s。3.3.2数码管软件设计说明1、数码管分共阴极和共阳极两类。3.4矩阵键盘程序设计 键盘是由若干按键组成的开关矩阵,它是微型计算机最常用的输入设备,用户可以通过键盘向计算机输入指令、地址和数据。一般单片机系统中采用非编码键盘,非编码键盘是由软件来识别按键上的闭合键,它具有结构简单,使用灵活等特点,因此被广泛应用于单片机系统。3.4.1设计要求矩阵键盘,共16个按键,要求可识别按键并执行相应的功能,具体要求如下:1、对于矩阵键盘,要求从左到右从上到下,依次给按键编码为0,1,2,3,4,…,E,F,并在数码管上显示出来。2、通过按键来控制单片机行驶相应的功能,不同的按键控制单片机实现不同的功能。3.4.2矩阵键盘软件设计说明1、按键开关的抖动问题组成键盘的按键有触点式和非触点式两种,单片机中应用的一般是是由机械触点构成的,如图3-10所示。2、矩阵式键盘的按键识别方法判别键盘中有无键按下。向行线输出全0,读入列线状态。如果有键按下,总有一列线被拉至低电平,从而使列输入不全为1。查找按下键所在位置。依次给行线送低电平,查列线状态。全为1,则所按下的键不在此行;否则所按下的键必在此行且是在与零电平列线相交的交点上的那个键。对按键位置进行编码。找到所按下按键的行列位置后,对按键进行编码,即求得按键键值。按键处理流程3.5流水灯、数码管和键盘的综合应用设计要求:1、首先展示流水灯效果,用数码管轮流显示0,1,2,…,F。2、然后进行键盘扫描,根据按键决定程序的执行,具体包括:按0号键,可控制继电器工作,按下后可使日光灯点亮。按1号键,可使喇叭发声,同时控制继电器停止工作,使日光灯熄灭。各按键按下后,将会在数码管中显示相应的键号。3.6LCD液晶显示LCD1602的应用比较普遍,市面上字符型液晶绝大多数是基于HD44780液晶芯片的。由于字符型液晶的控制原理完全相同,因此HD44780读写的控制程序可以很方便的应用于市面上大部分的字符型液晶中。3.6.1LCD1602引脚与功能LCD1602引脚功能
3.6.2字符显示原理HD44780内置了DDRAM(显示数据存储RAM)、CGROM(字符存储ROM)和CGRAM(用户自定义RAM)。?
DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如表3-4:文本文件中每一个字符都是用一个字节的代码记录的,一个汉字是用两个字节的代码记录的。在操作系统和BIOS里都固化有字符字模,所以打开文本文件就能在屏幕上看到对应的字符。字模就是代表了在点阵屏幕上点亮和熄灭的信息数据。例如“A”字的字模如下: LCD1602液晶模块内部的字符发生存储器(CGROM)已经存储了192个不同的点阵字符图形,如下表所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码(41H),显示