单片机控制数码管显示PPT学习课件_第1页
单片机控制数码管显示PPT学习课件_第2页
单片机控制数码管显示PPT学习课件_第3页
单片机控制数码管显示PPT学习课件_第4页
单片机控制数码管显示PPT学习课件_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

思考 用单片机系统可控制LED可实现信号灯的不同效果显示 那么能不能用单片机系统控制LED来实现字符显示呢 学习情境2数码管显示系统设计 数字型数码管应用 电子万年历 的士计价器 电子秤 电梯外呼器 单片机如何控制数码管显示数字 一 数码管外形和电路结构 数码管引脚顺序 数码管段码图 1 终极目标 制作在数码管上显示任意字符的单片机控制系统 2 促成目标 1 掌握单片机查表程序的设计方法 2 掌握单片机的LED显示接口电路工作原理及其应用 3 掌单片机LED显示接口的程序设计方法 4 初步掌握单片机应用系统分析和软硬件设计的基本方法 建立单片机系统设计的基本概念 教学目标 任务1 数码管循环显示0 9 活动一 总体设计 1 系统组成本系统功能由硬件和软件两大部份协调完成 硬件部分主要完成信息的显示 软件主要完成信号的处理及控制功能等 本系统的硬件采用模块化设计 以AT89S52单片机为核心 与数码管接口电路组成控制系统 该系统硬件主要包括以下几个模块 AT89S52主控模块 数码管显示模块等 其中AT89S52主要完成外围硬件的控制以及一些运算功能 数码管显示模块完成字符 数字的显示功能 系统组成方框图如图2 1所示 项目实践 图2 1数码管显示系统组成方框图 项目实践 应用软件采用模块化设计方法 该系统软件主要由主程序 延时子程序等模块组成 系统软件结构框图如图2 2所示 图2 2系统软件结构框图 2 系统工作原理数码管由8个发光二极管构成 可以用来显示数字 字符等 它在家电及工业控制中有着很广泛的应用 例如用来显示温度 数量 重量 日期 时间等 具有显示醒目 直观的有点 如图2 3所示 图2 3数码管实物图 图2 4数码管内部结构图 项目实践 二 数码管如何显示数字0 A B C D E F引脚接高电平G Dp引脚接低电平 共阴极数码管公共脚接低电平 显示数字0的段码为 0 x3F 三 共阴极数码管如何显示其他数字 根据这种方法 依次写出数字0 9的段码 数字00 x3F数字50 x6D数字10 x06数字60 x7D数字20 x5B数字70 x07数字30 x4F数字80 x7F数字40 x66数字90 x6F 四 电路连接 五 程序语句 要让数码管显示数字0 只需要将单片机的P2端口输出数字0对应的段码0 x3F即可 程序语句为P2 0 x3F同理显示数字1 程序语句为P2 0 x06同理显示数字9 程序语句为P2 0 x6F 五 单片机控制数码管显示 代码如下 includevoidmain while 1 P2 0 x3F 对于共阳极数码管而言 要想显示数字或字母 首先应该选中该数码管 然后相应字段被点亮 例如 显示一个 3 字 那么应当是a亮 b亮 c亮 d亮 e不亮 f不亮 g亮 dp不亮 那么可以列出数码管显示数字的段码表如表2 1所示 表2 1共阳数码管显示数字的段码表 如表2 1所示 由于数码管显示的数字 0 9 的字型码 0C0H 0F9H 0A4H 0B0H 99H 92H 82H 0F8H 80H 90H 没有规律可循 只能采用查表的方式来完成我们所需的要求 在程序设计中可以设计一个变量 每隔一定时间在 0 9 之间变化 然后按照这个数据去查找段码表 把查到的数据送到P2口 所谓表格是指在程序中定义的一串有序的常数 如平方表 字形码表 键码表等 因为程序一般都是固化在程序存储器 通常是只读存储器ROM类型 中 因此可以说表格是预先定义在程序的数据区中 然后和程序一起固化在ROM中的一串常数 在程序设计中 有时需要预先把非线性数据以表格的形式存放在存储器中 然后使用程序读出 这种能读出数据表格的程序就称为查表程序 查表程序的关键是表格的定义和如何实现查表 定义段码表 unsignedcharcodetab 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 unsignedchark while 1 for k 0 k 10 k P2 tab k 查表取数 查表语句 一维数组的查表功能 数组的一个非常有用的功能之一就是查表 表可以事先计算后装入程序存储器中 如 unsignedcharcodetab 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 定义数组tab 并初始化unsignedchark while 1 for k 0 k 10 k P2 tab k 查表取数 4 LED数码管显示方式根据LED显示的硬件设计方法的不同 LED显示驱动分为静态法和动态法两种方法 静态显示方式 连接所有LED的位选均共同连接到 VCC或GND 每个LED的8根段选线分别连接一个8位并行I O口 从该I O口送出相应的字型码显示字型 特点原理简单 显示亮度强 无闪烁 占用I O资源较多 动态显示方式 连接所有LED的段选线共同连接在一起共用一个8位I O口 而每个LED的位选分别由一根相应的I O口线控制 因此必须采用动态扫描显示方式 每一个时刻只选通其中一个LED 同时在段选口送出该位LED的字型码 任务20 99计数器 利用AT89c52单片机来制作一个0 99计时器 并且通过两个共阴数码管显示计数结果 数码管显示采用静态显示方式 0 99计数器电路设计 静态显示的概念 静态显示是指显示驱动电路具有输出锁存功能 待显示的字符编码被CPU送出后 数码管会一直显示该字符不变 CPU不需要再控制数码管 如果要显示新的字符 CPU只要再次送出即可 采用静态显示方式 较小的电流就可以获得较高的亮度 且占用CPU时间较少 编程简单 显示便于检测和控制 但其占用的I O口线较多 硬件电路复杂 成本高 只适合显示位数较少的场合 0 99计数显示c语言程序 include 包含AT89X52 H头文件 定义0 9十个数字的字型码表 unsignedcharcodetable 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f unsignedcharCount 定义变量放置计数数值voiddelay10ms void 定义10ms延时函数 unsignedchari j for i 20 i 0 i for j 248 j 0 j 0 99计时器显示c语言程序 voidmain void Count 0 计数变量初始为0For Count 0 Count 100 Count P0 table Count 10 显示十位数P2 table Count 10 显示个位数delay10ms while 1 等待 动态显示 动态显示的特点是将所有位数码管的段选线并联在一起 由位选线控制是哪一位数码管有效 选亮数码管采用动态扫描显示 所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选 利用发光管的余辉和人眼视觉暂留作用 使人的感觉好像各位数码管同时都在显示 动态显示的亮度比静态显示要差一些 所以在选择限流电阻时应略小于静态显示电路中的 includeunsignedcharcodetable1 0 x06 0 x5b 0 x4f 0 x66 0 x6d 1 5的字形码unsignedcharcodetable2 0 x76 0 x79 0 x38 0 x38

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论