单片机人机交互系统的C51语言编程课件.ppt
《单片机人机交互系统的C51语言编程课件.ppt》由会员分享,可在线阅读,更多相关《单片机人机交互系统的C51语言编程课件.ppt(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章 单片机人机交互系统的C51语言编程 5.1 5.1 单片机的输入单片机的输入/输出端口输出端口 5.2 LED5.2 LED数码管显示器数码管显示器 5.3 LED5.3 LED数码管点阵显示器数码管点阵显示器5.4 5.4 液晶显示器液晶显示器5.5 5.5 非编码键盘非编码键盘5.6 5.6 本章小结本章小结5.7 5.7 实训五实训五 模拟数字密码锁模拟数字密码锁 返回首页返回首页教学提示 在单片机应用系统中,经常会涉及显示器、键盘等人在单片机应用系统中,经常会涉及显示器、键盘等人机交互设备。如何将它们与单片机的输入机交互设备。如何将它们与单片机的输入/输出端口相连并输出端口相连
2、并编程实现特定的功能是单片机应用开发人员必须掌握的基编程实现特定的功能是单片机应用开发人员必须掌握的基本技术。常用的显示器有本技术。常用的显示器有LED数码管显示器、数码管显示器、LED点阵显点阵显示器、示器、LCD显示器;常用的键盘有非编码键盘、编码键盘。显示器;常用的键盘有非编码键盘、编码键盘。本章将重点介绍上述元器件与单片机的连接方式以及本章将重点介绍上述元器件与单片机的连接方式以及C51语言的编程方法。语言的编程方法。教学要求 了解单片机输入了解单片机输入/输出端口的特点及使用注意事项;熟输出端口的特点及使用注意事项;熟练掌握练掌握LED数码管显示器的使用方法;掌握数码管显示器的使用方
3、法;掌握LED点阵显示点阵显示器、器、LCD显示器的使用方法;熟练掌握非编码键盘的使用显示器的使用方法;熟练掌握非编码键盘的使用方法;掌握外部扩展存储器的使用方法。方法;掌握外部扩展存储器的使用方法。5.1 单片机的输入/输出端口1.P0口口2.P1口口3.P2口口4.P3口口 51系列单片机有系列单片机有4个个8位的双向并行输入位的双向并行输入/输出输出(I/O)端端口,称为口,称为P0口、口、P1口、口、P2口和口和P3口。各个端口既可以按字口。各个端口既可以按字节输入、输出,也可以按位进行输入、输出。利用这节输入、输出,也可以按位进行输入、输出。利用这4个个I/O端口可以方便地实现单片机
4、与外部数字设备或芯片的信端口可以方便地实现单片机与外部数字设备或芯片的信息交换。下面简要介绍单片机输入息交换。下面简要介绍单片机输入/输出端口的特点及使用输出端口的特点及使用注意事项。注意事项。5.2 LED数码管显示器 5.2.1 LED5.2.1 LED数码管显示器简介数码管显示器简介 5.2.2 5.2.2 静态显示编码静态显示编码 5.2.3 5.2.3 动态显示编码静态显示编程动态显示编码静态显示编程 5.2.1 LED数码管显示器简介图图5.1 通用通用7段段LED数码管数码管 图图5.2 专用专用LED数码管数码管 LED显示器按用途可分为通用显示器按用途可分为通用7段段LED显
5、示器和专用显示器和专用LED显示器,分别如图显示器,分别如图5.1和图和图5.2所示。本节重点介绍通用所示。本节重点介绍通用7段段LED显示器显示器(以下简称为数码管以下简称为数码管)。图图5.3 共阴极数码管共阴极数码管 图图5.4 共阳极数码管共阳极数码管 数码管由数码管由8个个LED(a、b、c、d、e、f、g、h)构成,)构成,按结构分为共阴极和共阳极两种,如图按结构分为共阴极和共阳极两种,如图5.3和和5.4所示。所示。要使要使LED数码数码管显示出相应的数管显示出相应的数字或字符,必须向字或字符,必须向其数据口输入相应其数据口输入相应的字形编码。的字形编码。LED数码管的常用字形数
6、码管的常用字形编码见编码见表表表表5-25-2。表表5-2 LED数码管的常用字型编码表数码管的常用字型编码表 续表续表5-2 LED数码管显示器的外型结构如图数码管显示器的外型结构如图5.5所示。所示。LED数码管有数码管有静态显示静态显示静态显示静态显示和和动态显示动态显示动态显示动态显示两种方式,在具两种方式,在具体使用时,要求体使用时,要求LED驱动电驱动电路能提供额定的路能提供额定的LED导通电导通电流,还要根据外接电源及额流,还要根据外接电源及额定定LED导通电流来确定相应导通电流来确定相应的限流电阻。的限流电阻。图图5.5 数码管的外型结构数码管的外型结构 5.2.2 静态显示编
7、程 静态显示静态显示静态显示静态显示是指数码管显示某一字符时,相应的是指数码管显示某一字符时,相应的LED恒恒定导通或恒定截止。静态显示时,各位数码管是相互独立定导通或恒定截止。静态显示时,各位数码管是相互独立的,每个数码管的的,每个数码管的8个个LED分别与一个分别与一个8位位I/O口地址相口地址相连,只要连,只要I/O口有字型码输出,相应字符即显示出来,并口有字型码输出,相应字符即显示出来,并保持不变,直到保持不变,直到I/O口输出新的字型码。口输出新的字型码。采用静态显示方式,较小的电流即可获得较高的亮度,采用静态显示方式,较小的电流即可获得较高的亮度,且占用且占用CPU时间少,编程简单
8、,显示便于监测和控制,但时间少,编程简单,显示便于监测和控制,但其占用的口线多,硬件电路复杂,成本高,只适合于显示其占用的口线多,硬件电路复杂,成本高,只适合于显示位数较少的场合。位数较少的场合。【例例5.1】电路如图电路如图5.6所示,单片机采用所示,单片机采用AT89C51,振荡,振荡器频率器频率fOSC为为12MHz,数码管,数码管LED1、LED2采用采用7SEG-COM-CAT-GRN(共阴极,绿色共阴极,绿色),两位数码管分别连接在,两位数码管分别连接在AT89C51的的P0口、口、P1口,按键口,按键K1接在引脚接在引脚P2.3上,上,RP1为为排阻。试编程实现下列功能。排阻。试
9、编程实现下列功能。(1)开机显示开机显示00。(2)按一次按一次K1键,数字加键,数字加1。(3)当计数到当计数到99时,再按一次时,再按一次K1键,又从键,又从00开始计数。开始计数。图图5.6 例例5.1电路图电路图 5.2.3 动态显示编程 动态显示动态显示动态显示动态显示是逐位地轮流点亮各位数码管,这种逐位点是逐位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常,各位数码管的相应亮显示器的方式称为位扫描。通常,各位数码管的相应LED选线并联在一起,由一个选线并联在一起,由一个8位的位的I/O口控制;各位的位口控制;各位的位选线选线(公共阴极或阳极公共阴极或阳极)由另外的由
10、另外的I/O口线控制。口线控制。动态方式显示时,各数码管分时轮流选通,要使其稳动态方式显示时,各数码管分时轮流选通,要使其稳定显示必须采用扫描方式,即在某一时刻只选通一位数码定显示必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的字型码,在另一时刻选通另一位数码管,管,并送出相应的字型码,在另一时刻选通另一位数码管,并送出相应的字型码,依此规律循环,即可使各位数码管并送出相应的字型码,依此规律循环,即可使各位数码管显示将要显示的字符,虽然这些字符是在不同的时刻分别显示将要显示的字符,虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔显示,但由于人眼存在视
11、觉暂留效应,只要每位显示间隔足够短就可以给人同时显示的感觉。足够短就可以给人同时显示的感觉。采用动态显示方式比较节省采用动态显示方式比较节省I/O口,硬件电路也较口,硬件电路也较静态显示方式简单,但其亮度不如静态显示方式,而且静态显示方式简单,但其亮度不如静态显示方式,而且在显示位数较多时,在显示位数较多时,CPU要依次扫描,占用要依次扫描,占用CPU较多的较多的时间。时间。【例例5.2】电路如图电路如图5.7所示,单片机采用所示,单片机采用AT89C51,振荡,振荡器频率器频率fosc为为12MHz,数码管,数码管LED1、LED2采用采用7SEG-COM-CAT-GRN(共阴极,绿色共阴极
12、,绿色),两位数码管分别连接在,两位数码管分别连接在AT89C51的的P0口、口、P1口,按键口,按键K1接在引脚接在引脚P2.3上,上,RP1为为排阻。试编程实现下列功能。排阻。试编程实现下列功能。(1)开机显示开机显示00。(2)按一次按一次K1键,数字加键,数字加1。(3)当计数到当计数到99时,再按一次时,再按一次K1键,又从键,又从00开始计数。开始计数。图图5.7 例例5.2电路图电路图 5.3 LED数码管点阵显示器 5.3.1 5.3.1 字母、数字及图形的显示字母、数字及图形的显示 5.3.2 5.3.2 中文字符的显示中文字符的显示 LED数码管点阵显示器是由数码管点阵显示
13、器是由LED按矩阵方式排列而成按矩阵方式排列而成的,按照尺寸大小,的,按照尺寸大小,LED点阵显示器有点阵显示器有57、58、68、88等多种规格;按照等多种规格;按照LED发光颜色的变化情况,发光颜色的变化情况,LED点点阵显示器分为单色、双色、三色;按照阵显示器分为单色、双色、三色;按照LED的连接方式,的连接方式,LED点阵显示器又有共阴极、共阳极之分。点阵显示器又有共阴极、共阳极之分。在使用时,只要点亮相应的在使用时,只要点亮相应的LED,LED点阵显示器即可按点阵显示器即可按要求显示英文字母、阿拉伯数字、图形以及中文字符等。要求显示英文字母、阿拉伯数字、图形以及中文字符等。LED点阵
14、显示器广泛地应用于股票显示板、活动信息公告板、活动点阵显示器广泛地应用于股票显示板、活动信息公告板、活动字幕广告板等场合。字幕广告板等场合。Proteus ISIS中只提供了单色的中只提供了单色的57、88两种两种LED点阵显示点阵显示器,如图器,如图5.8所示。所示。(a)57LED点阵显示器点阵显示器 (b)88LED点阵显示器点阵显示器图图5.8 LED点阵显示器点阵显示器5.3.1 字母、数字及图形的显示字母、数字及图形的显示 单个的西文字母或阿拉伯数字通常采用单个的西文字母或阿拉伯数字通常采用57点阵显点阵显示,图示,图5.9所示为字母所示为字母“A”的的57 字形点阵示意图。值得注
15、字形点阵示意图。值得注意的是,字形并不是唯一的,应根据具体需要而定。意的是,字形并不是唯一的,应根据具体需要而定。图图5.9 字母字母A的的57 字形点阵示意图字形点阵示意图 5.3.1 字母、数字及图形的显示字母、数字及图形的显示【例例5.3】电路如图电路如图5.11所示,单片机采用所示,单片机采用AT89C51,振荡,振荡器频率器频率fOSC为为12MHz,LED-DOT为为88共阳极共阳极LED点阵显点阵显示器示器(MATRIX-88-GREEN)。试编程实现下列功能:。试编程实现下列功能:循环显示字符循环显示字符0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。电路中采用
16、带输出锁存器的电路中采用带输出锁存器的8位串位串入并出移位寄存器入并出移位寄存器74HC595作为列驱作为列驱动器,目的是为了解决列扫描过程中动器,目的是为了解决列扫描过程中列数据准备与列数据显示之间的矛盾列数据准备与列数据显示之间的矛盾问题。问题。图图5.10 74HC595原理图原理图图图5.11 例例5.3电路图电路图 字符数 据 码字符数 据 码03EH,41H,41H,41H,3EH,00H,00H,00H836H,49H,49H,49H,36H,00H,00H,00H111H,21H,7FH,01H,01H,00H,00H,00H979H,49H,49H,49H,7FH,00H,0
17、0H,00H223H,45H,49H,51H,21H,00H,00H,00HA1FH,24H,44H,24H,1FH,00H,00H,00H322H,49H,49H,49H,36H,00H,00H,00HB7FH,49H,49H,49H,36H,00H,00H,00H40CH,14H,24H,7FH,04H,00H,00H,00HC3EH,41H,41H,41H,22H,00H,00H,00H57AH,49H,49H,49H,4EH,00H,00H,00HD41H,7FH,41H,41H,3EH,00H,00H,00H67FH,49H,49H,49H,4FH,00H,00H,00HE7FH,4
18、9H,49H,49H,49H,00H,00H,00H720H,40H,40H,40H,7FH,00H,00H,00HF7FH,48H,48H,48H,48H,00H,00H,00H表表5-3 字符字符09、AF的的57数据码数据码 假设所有字符均以假设所有字符均以57点阵在显示器的左下角显示,点阵在显示器的左下角显示,则各字符的数据编码见表则各字符的数据编码见表5-3。利用利用LED点阵显示器,可以方便地显示各种图形,如点阵显示器,可以方便地显示各种图形,如正方形、三角形、菱形等,图正方形、三角形、菱形等,图5.12所示为一个所示为一个44正方正方形。通过编程,还可以实现图形的动态显示。形。通
19、过编程,还可以实现图形的动态显示。图图5.12 用用88 LED点阵显示器显示自定义图形点阵显示器显示自定义图形 图 形数 据 码88正方形FFH,81H,81H,81H,81H,81H,81H,FFH77正方形FEH,82H,82H,82H,82H,82H,FEH,00H66正方形FCH,84H,84H,84H,84H,FCH,00H,00H55正方形F8H,88H,88H,88H,F8H,00H,00H,00H44正方形F0H,90H,90H,F0H,00H,00H,00H,00H33正方形E0H,A0H,E0H,00H,00H,00H,00H,00H22正方形C0H,C0H,00H,00
20、H,00H,00H,00H,00H11正方形80H,00H,00H,00H,00H,00H,00H,00H表表5-4 自定义图形编码自定义图形编码【例例5.4】在例在例5.3的基础上,编程实现下列功能:以显示器的左的基础上,编程实现下列功能:以显示器的左上角为原点,依次循环显示表上角为原点,依次循环显示表5-4所定义的各种图形。所定义的各种图形。5.3.2 中文字符的显示中文字符的显示 利用利用LED点阵显示器可以方便地实现中文字符的显点阵显示器可以方便地实现中文字符的显示,由于国标汉字是用示,由于国标汉字是用1616点阵(点阵(256个像素)来表示个像素)来表示的,因此需要用的,因此需要用4
21、块块88的的LED点阵显示器组合成点阵显示器组合成1616 LED点阵显示器,才可以完整地显示一个汉字。图点阵显示器,才可以完整地显示一个汉字。图5.13所所示为汉字示为汉字“电电”的的1616 字形点阵示意图。字形点阵示意图。值得注意的是,字形并不是唯一的,应根据具体需要值得注意的是,字形并不是唯一的,应根据具体需要而定。而定。图图5.13 “电电”的的1616 字形点阵示意图字形点阵示意图 为了使用为了使用8位的位的51系列单片机控制汉字的显示,通常把系列单片机控制汉字的显示,通常把一个汉字分成上、下两个部分,如图一个汉字分成上、下两个部分,如图5.13所示。所示。单片机从上半部左侧开单片
22、机从上半部左侧开始,扫描完上半部的第始,扫描完上半部的第1列后,列后,继续扫描下半部的第继续扫描下半部的第1列;然列;然后又从上半部的第后又从上半部的第2列开始扫列开始扫描,扫描完上半部的第描,扫描完上半部的第2列后,列后,继续扫描下半部的第继续扫描下半部的第2列;列;以此类推,直到扫描下以此类推,直到扫描下半部右侧最后一列为止。半部右侧最后一列为止。汉字汉字“电电”的扫描代码的扫描代码【例例5.5】用用4块块88的红色的红色LED点阵显示器构成点阵显示器构成1块块1616的的LED电子广告屏,用来显示图形和汉字字符。具体要求电子广告屏,用来显示图形和汉字字符。具体要求如下:如下:开机以卷帘出
23、的形式出现一个笑脸,然后以左跑马的形开机以卷帘出的形式出现一个笑脸,然后以左跑马的形式出现式出现“零五智能电子班是最棒的!零五智能电子班是最棒的!”,再以下滚屏的形,再以下滚屏的形式出现式出现“零五智能电子是最棒的!零五智能电子是最棒的!”。最后再以卷帘入的。最后再以卷帘入的形式出现另一个笑脸。接着不断循环上面的步骤。形式出现另一个笑脸。接着不断循环上面的步骤。(a)总电路图总电路图图图5.14 例例5.5电路图电路图(b)1616 LED点阵显示器内部接线图点阵显示器内部接线图 图图5.14 例例5.5电路图电路图 图图5.15 例例5.5程序流程图程序流程图 根据题目要求,主程序的流程图如
24、图根据题目要求,主程序的流程图如图5.15所示。所示。5.4 液晶显示器 5.4.1 5.4.1 点阵字符型点阵字符型LCDLCD的内部结构的内部结构 5.4.2 5.4.2 点阵字符型点阵字符型LCDLCD的指令系统的指令系统 5.4.3 5.4.3 点阵字符型点阵字符型LCDLCD应用举例应用举例 液晶显示器液晶显示器(LCD)由于功耗低、抗干扰能力强等优点,由于功耗低、抗干扰能力强等优点,日渐成为各种便携式产品、仪器仪表以及工控产品的理想日渐成为各种便携式产品、仪器仪表以及工控产品的理想显示器。显示器。LCD种类繁多,按显示形式及排列形状可分为字种类繁多,按显示形式及排列形状可分为字段型
25、、点阵字符型、点阵图形型。单片机应用系统中主要段型、点阵字符型、点阵图形型。单片机应用系统中主要使用后两种。使用后两种。本节重点介绍本节重点介绍1602点阵字符型点阵字符型LCD(Proteus ISIS中中的的LM016L),),16代表每行可显示代表每行可显示16个字符;个字符;02表示共有表示共有2行,即这种行,即这种LCD显示器可同时显示显示器可同时显示32个字符,如图个字符,如图5.16所所示。示。图图5.16 1602点阵字符型点阵字符型LCD 5.4.1 点阵字符型LCD的内部结构图图5.17 1602点阵字符型点阵字符型LCD的内部结构框图的内部结构框图 1602点阵字符型点阵
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 人机交互 系统 C51 语言 编程 课件
限制150内