第八章 单片机应用扩展ppt课件.ppt

上传人:春哥&#****71; 文档编号:16976493 上传时间:2022-05-20 格式:PPT 页数:40 大小:2.18MB
返回 下载 相关 举报
第八章 单片机应用扩展ppt课件.ppt_第1页
第1页 / 共40页
第八章 单片机应用扩展ppt课件.ppt_第2页
第2页 / 共40页
点击查看更多>>
资源描述

《第八章 单片机应用扩展ppt课件.ppt》由会员分享,可在线阅读,更多相关《第八章 单片机应用扩展ppt课件.ppt(40页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第八章 单片机应用扩展 单 片 机 应 用 技 术 DANPIANJI YINGYONG JISHU第八章 单片机应用扩展8.1 LED点阵与LCD显示8.2 实时时钟DS13028.3 数字温度传感器DS18B20实验 使用LED显示16点阵汉字第八章第八章 单片机应用扩展单片机应用扩展在实际应用中,单片机是作为产品的核心控制单元出现的,对内部的资源要尽可能地发挥最大作用,提高使用效率;对外部的资源也要进行扩展,扩大单片机的应用范围。 本章对单片机驱动液晶点阵、液晶显示模块以及常用的几种串行通信总线进行介绍,通过这些进行功能扩展,可使单片在更广阔的范围内应用。1 LED点阵显示LED点阵显示

2、屏作为一种新兴的显示器件,它是由半导体发光二极管构成的显示点阵,人们通过控制每个LED的亮灭实现图形或字符的显示。LED显示屏亮度高、视角广、工作电屏亮度高、视角广、工作电压低、功耗小、寿命长、耐冲击、性能稳压低、功耗小、寿命长、耐冲击、性能稳定定,因而被广泛应用于机场、商场、医院、宾馆、证券市场等公共场所。8.1 LED点阵与LCD显示88单色点阵由64个发光二极管组成,且每个二极管放置在行线与列线的交叉点上,对于点阵型LED显示可以采用共阴极或共阳极的方法点亮。要实现一根柱形的显示,需要采用如下设置:一根竖柱:对应的列置1,行采用扫描的方法来实现。一根横柱:对应的行置0,列采用扫描的方法来

3、实现。先送出对应于第一行发光二极管亮灭的列数据FFH并锁存,然后选通第一行,即送行数据80H,延时一段时间后,送行数据00H,第一帧显示结束;再送第二行的列数据87H并锁存,然后选通第二行,即送行数据40H,点亮相同时间后,再送行数据00H,相应二极管熄灭,第二帧显示结束;以此类推,等第8行显示之后,又重新点亮第一行,周而复始。只要这样轮回的速度足够快(每秒24次以上)时,利用LED的辉光效应,就能清楚地看到显示屏上稳定的字符显示了。课堂练习使用单片机控制88LED显示点阵显示英文字母B。8.1 LED点阵与LCD显示分 析Proteus中有三种88点阵LED的仿真元件:Matrix-88-R

4、ED、Matrix-88-GREEN、Matrix-88-ORANGE,其中Matrix-88-RED为共阳的LED点阵,而Matrix-88-GREEN、Matrix-88-ORANGE则是共阴的LED点阵。Proteus仿真中88液晶点阵模块,在电路原理图中按默认情况放置时,上方引脚为行线,下方引脚为列线,右为低位,左为高位。注意注意:在电子市场上购买的点阵显示模块其管脚的定义需要进行测量后才能确定行列关系。8.1 LED点阵与LCD显示8.1 LED点阵与LCD显示汉字的显示LED点阵不仅可以显示ASCII字符,还可以显示汉字内容。但汉字结构复杂,字体众多,利用PCtoLCD 等字模生成

5、软件,可以方便地生成汉字字模数据。获得汉字的字模数据后,就可以利用LED点阵来显示汉字了,其程序驱动方法与显示ASCII字符完全一样。只是汉字笔画较多,用88点阵难以表述,多采用1616以上点阵显示。1616单色LED点阵显示屏可由4块88单色LED点阵显示器组合而成,即16行16列,1616=256像素。如果采用共阳型连接方式,即每行的LED阳极连接在一起,每列的LED阴极连接在一起。8.1 LED点阵与LCD显示2 液晶块显示LCD(liquid crystal display)为液晶显示器,它一般不会单独使用,而是将LCD面板、驱动与控制电路组合成LCD模块(1iquid crystal

6、 display moulde,简称为LCM)来使用。LCM是一种很省电的显示设备,常被应用在数字或微处理器控制的系统,做为简易的人机接口。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个57或者511等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。1602显示的内容为162,即可以显示两行,每行16个字符(字符和数字)。引脚序号引脚序号信号名称信号名称功能功能1VSS电源地2VCC电源。5V5V3V0对比度调整。接正电源时对比

7、度最弱,接地电源时对比度最高。4RS寄存器选择位,RS1数据寄存器、RS0 指令寄存器。RS1数据寄存器、RS0 指令寄存器。5RW读写信号线,RW1读操作、RW0 写操作。RW1读操作、RW0 写操作。6E(或EN)或EN)使能信号线,高电平时读取信息,负跳变时执行指令。71414 D0D7D7D0D7为8位双向数据端。为8位双向数据端。151616 15脚背光正极,16脚背光负极。脚背光正极,16脚背光负极。 序号操作含义输入指令时序输出结果1读状态RS=L,R/W=H,E=HD0D7=状态字2读数据RS=H,R/W=H,E=HD0D7=数据3写指令RS=L,R/W=L,D0D7=指令码,

8、E=高脉冲无4写数据RS=H,R/W=L,D0D7=数据,E=高脉冲无 对1602液晶的操作主要有读和写两种,读、写的对象也有两种,分别是数据寄存器和指令寄存器;读写的内容由D0D7传送。另外读、写时还需要E(使能信号)配合才能完成读写操作,其读写操作的时序如下表所示。1602液晶的内部控制器中还有三个存储区域CGROM、CGRAM和DDRAM。CGROM是字模的存储空间也叫字符发生存储器,液晶屏所能显示字符的字模就存储在这里。CGROM中已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“

9、A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602能够直接识别ASCII码,所以可以用ASCII码赋值,另外在单片机编程中还可以用字符型常量或变量赋值CGRAM是用户自定义字模的存储区。当ASCII码表不能满足用户对字符的要求时,可以在这里创建新的字模。其索引值为(0 x000 x07),当字模建好后,向DDRAM中写入0 x00,新建的字符就会显示出来。DDRAM是一个80字节的RAM,是字符显示的缓冲区。DDRAM中最多能存储80个8位字符代码做为显示数据,对应于显示屏上的各个位置。其中第一行的地址为00H到27H

10、;第二行为40H到67H。DDRAM与液晶屏幕显示的对应关系如下图所示。因此要显示字符时要先输入显示字符地址,然后再输入显示的内容,也就是告诉模块在哪里显示什么字符。1602液晶的读写操作、屏幕和光标的操作都是通过指令编程来实现的。1602液晶的内部控制器共有11条控制指令,具体如表8-3所示。这些指令均由D0D7输入,在RS、RW以及E信号的配合下,按照时序完成1602液晶的各项显示处理工作。通常使用1602液晶时要按下面的步骤进行配置:延时15ms,等待1602进入稳定状态;进行功能配置,写入指令38h;关闭1602显示,写入指令08h;进行清屏操作,写入指令01h;设置显示模式,写入指令

11、06h;打开显示,写入指令0Ch;配置行地址,写入指令80h(第一行)或C0h(第二行);写入数据,写入相应数据;重新配置行地址,并写入相应数据。8.2 实时时钟DS1302日历时钟芯片也称为实时时钟RTC(Real-Time Clock),可以提供精确的时间、日期服务。一些较高端的51单片机内部已经集成了RTC时钟,但多数还是需要使用外接RTC芯片。 常见的RTC芯片有DS12887、DS1302、DS1307、PCF8485等。其中DS1302是具有SPI总线接口的时钟芯片,是单片机应用经常使用的外围芯片。8.2 实时时钟DS13021、DS1302简介 DS1302 是美国DALLAS公

12、司推出的一种高性能、低功耗、带RAM的实时时钟电路,广泛应用于电话、传真、便携式仪器等产品领域。它不仅可以对年、月、日、周、时、分、秒进行计时,还具有闰年补偿功能,其工作电压为2.5V5.5V。DS1302采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。其内部有31个字节的RAM,用于临时性存放数据,并提供了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。 DIP-8封装 SOP-8封装 逻辑引脚8.2 实时时钟DS13022、DS1302的控制字与时序DS1302的控制字单片机与DS1302之间的通信主要通过对控制字的写

13、入方式来实现。 8.2 实时时钟DS1302其各位的含义如下: 最高有效位D7必须是逻辑1,如果为0,则不能把数据写入DS1302中; D6位如果为0,则表示存取日历时钟()数据,为1表示存取RAM数据; D5位至D1位用于指示要操作单元的地址; 最低有效位D0位如为0表示要进行写操作,如果为1表示进行读操作; 控制字节总是从最低位开始输出。控制字节总是从最低位开始输出。8.2 实时时钟DS1302DS1302的读写时序与实现DS1302是严格按时序进行读写的。其读写的时序是不同的,这点是要注意的。DS1302的寄存器DS1302内部有12个寄存器,其中有7个寄存器与日历、时钟相关,其中存放的

14、数据位为BCD码形式使用DS1302的过程使用DS1302来输出时间等信息,与单纯使用单片机的定时器相比,能在很大程度上缓解频繁的计算对CPU的压力,使CPU有充裕的时间去处理重要的事件逻辑信息。使用DS1302主要遵循如下几个步骤步骤:DS1302初始化。这一过程包括对秒、分、时、日、月、年、星期等寄存器的初始值设定。是使用DS1302的开始工作的前提准备。具体为:写保护寄存器设定,初始要打开写保护开关。只有打开写保护,才能进行下面的设定;初始秒寄存器的设定;初始分钟寄存器的设定;初始小时寄存器的设定,通过这里可以设定显示小时的方式为12小时制还是24小时制;初始日期寄存器设定,即是一个月中

15、具体哪一天的设定;初始月寄存器设定,设定当前为一年中的哪一个月;初始年度寄存器设定,设定当前的年度是哪一年,这里的年度只能从00到99,世纪值由用户在使用过程中自行加入;初始周寄存器设定,设定当前日期是星期几;充电寄存器设定,是否处于充电模式;写保护寄存器设定,此外要将写保护关闭,防止运行过程中更改初始设置。DS1302数据读取 在使用过程中,只需要读取相应的寄存器内容,并将其显示出来即可。需要注意的是读取DS1302相应的寄存器,其返回的值也是BCD码形式的,需要通过运算将其十位和个位数字分离出来再显示。如读取分钟寄存器的值为i,则将其十位数分离出来用i/16或者是通过右移4位来实现,分离其

16、个位数用i%16即可。8.2 实时时钟DS1302课堂练习应用DS1302制作简单的电子时钟,将设定的时间信息通过数码管显示出来。8.2 实时时钟DS1302分 析对照前面的介绍将DS1302连接到单片机上,按照时序图要求,对DS1302进行初始化设定。在主机中使用定时器在每隔1秒钟读取DS1302中时间寄存器的数值,并将其显示在数码管中,实现电子时钟。8.3 数字温度传感器DS18B20DS18B20是美国DALLAS公司出品的支持单总线协议的温度传感器,与传统的热敏电阻温度传感器不同,它能够直接读出被测温度。并且可根据实际要求通过简单的编程实现912位的数字值读数方式。并能在93.75ms

17、750ms内将温度值转化9位12位的数字量。因而使用DS18B20可使系统结构更简单,可靠性更高。该芯片为单总线设备,自身耗电量很小,从总线上“偷”一点电存储在片内的电容中就可正常工作,一般无须另加电源。更难得的是该芯片在检测完成后会把检测值数字化,因而无须再进行模数的转化工作,不仅效率提高了,而且由于在单总线上传送的是数字信号使得系统的抗干扰性好、可靠性高、传输距离远。8.3 数字温度传感器DS18B201 DS18B20的外形和引脚定义DS18B20有多种封装形式,其中TO-92直插式最为常见。全部传感元件和数据转换电路都集成在一起,使用用无须添加外围元件,真正的体积小功能强。DS18B2

18、0引脚定义也很简单:(1)DQ为数字信号输入/输出端;(2)GND为电源地;(3)VDD为外接供电电源输入端(在寄生电源接线方式时直接接地)。按照引脚定义,DS18B20只需要接到控制器(单片机)的一个I/O口上就可以进行通信,由于单总线为开漏结构所以需要外接一个4.7K的上拉电阻。2、DS18B20的存储器种类与作用:DS18B20集温度检测和数字数据输出于一身,功能十分强大。DS18B20内部有有三种类型的存储器,分别是:64位ROM只读存储器。这里用来存放DS18B20的ID编码,前8位是家族编码(或是产品类别编码),中间48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校

19、验码)。这64位数据在出产时已经设置完成,用户不能更改。RAM数据暂存器。共有9个字节容量,主要用于内部计算和数据暂时存取,数据在掉电后会丢失。这9个字节各有分工E2PROM非易失性记忆体。主要用于存放上下限温度报警值和配置数据。DS18B20共3个字节的E2PROM,并且都在RAM寄存器中存有镜像,方便用户进行操作。3、使用DS18B20进行温度检测全流程初始化初始化序列由主器件发送的复位脉冲和从器件的响应信号构成。复位脉冲是由主器件发送到总线上的至少480uS的低电平信号。当DS18B20接到此复位脉冲信号后则会在1560uS后回发一个芯片的响应脉冲,告知主器件已经做好工作准备。每一次通信

20、之前必须进行初始化,其复位的时间、等待时间、回应时间应严格按单总线时序编程。发送ROM指令:当通信的双方建立了联系后,即开始进行正式通信的准备工作,这时由主器件发送ROM指令。ROM指令为8位,主要是对从器件的64位光刻ROM进行操作。以达到了解总线挂接情况,并确定通信对象的目的。单总线上可以同时挂接多个从器件,这些从器件的64位ROM ID各不相同,如果总线上只挂接了一个18B20芯片时可以使用跳过ROM指令。ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。发送RAM操作指令:RAM操作指令就是指挥DS18B20具

21、体作什么操作,这是芯片控制的关键。RAM操作指令同样为8位长度,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到E2PROM、温度转换、将E2PROM中的报警值复制到RAM、工作方式切换。进行数据读写:RAM操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18B20执行完指令,一般转换时间为500uS。比如若要读出当前的温度数据需要经历两个工作周期,第一个周期内要完成为复位、跳过ROM指令、执行温度转换存储器操作指令、然后等待500uS温度转换时间;第二个工作周期依然为复位、跳过ROM指令、执行读

22、RAM的存储器操作指令,然后才可以读到数据(最多为9个字节,中途可停止,只读简单温度值则读前2个字节即可)。课堂练习使用DS18B20检测当前温度。并通过数码管将温度值显示出来。分 析DS18B20采用单总线协议与主机通信,其连线十分简单,只需要与单片机的任何引脚相连都可以进行通信。使用之前,由主机发出复位信号,收到从机的应答后,使用ROM指令对DS18B20的工作初始情况进行设定。然后就可以使用RAM命令进行当前温度的读取了。在Proteus中提供了DS18B20的仿真元件,在元件的搜索框中输入“DS18B20”就可以找到了。(参考代码详见教材。)实验 使用LED显示16点阵汉字实验目的1.了解LED点阵显示的基本原理和实现方法。2.掌握点阵汉字的编码和使用软件提取汉字字模编码的方法。实验内容使用字模软件提取汉字字模,并使用1616液晶点阵将其显示出来。实验 使用LED显示16点阵汉字所需元件列表实验 使用LED显示16点阵汉字 使用PCtoLCD提取出所需汉字的字模。在使用该软件时,需要注意设置字模的提取方式,本例设定:点阵格式为“阴码”、取模方式为“逐行式”、取模走向为“逆向”、格式为“C51”。实验 使用LED显示16点阵汉字课后习题一、填空题(116)二、综合题(略)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com