网站大量收购独家精品文档,联系QQ:2885784924

单片机控制数码管显示.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
思考:用单片机系统可控制LED可实现信号灯的不同效果显示,那么能不能用单片机系统控制LED来实现字符显示呢? 任务1: 数码管循环显示 0~9 硬件设计 74LS245 74LS245是8路同相三态双向数据总线驱动芯片,具有双向三态功能,既可以输出,也可以输入数据。 /G为低电平有效; DIR=“1”,信号由 A 向 B 传输。 引出端符号: A 总线端 B 总线端 /G 三态允许端(低电平 有效) DIR 方向控制端 软件设计 定义段码表 unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; 数组的概念 数组是构造数据类型,是一组有序数据的集合,数组中的每个元素都属于同一种数据类型,不允许在同一数组中出现不同类型的变量,数组元素的数据类型就是该数组的基本类型。例如,整型数据的有序集合称为整型数组,字符型数据的有序集合称为字符型数组。 数组分为一维、二维、三维和多维数组等,常用的是一维、二维和字符数组。 数组的基本特点 构造类型数据:由基本类型数据按照一定规则组成。 数组:是有序数据的集合;数组中的每一个元素都属于同一个数据类型,用一个统一的数组名和下标来唯一地确定数组中的元素。 应用场合:需要处理的数据为数量已知的若干相同类型的数据时。 注意:先定义,后使用。 一维数组的定义和引用 一维数组的定义: 一般格式:类型标识符 数组名[常量表达式]; int array[10]; unsigned char num[7]; 说明: 数组名——见名知意;数组名中存放的是一个地址常量,它代表整个数组的首地址。同一数组中的所有元素,按其下标的顺序占用一段连续的存储单元。 方括弧而非圆括弧; 常量表达式:可以是常量或符号常量;表示数组元素的个数(也称数组长度)。不允许对数组大小作动态定义。 数组元素下标从0开始。array[0],array[1],…array[9]; 一维数组的初始化 一般格式: 数据类型 数组名[常量表达式]={初值表} 1.定义时赋初值;int score[5]={1,2,3,4,5}; 2.给一部分元素赋值;int score[5]={1,2}; 3.不对数组全部元素赋值,则全部元素被赋值为0; int score[5]; 4.给全部数组元素赋初值时,可以不指定数组长度; int score[]={1,2,3,4,5}; 一维数组的查表功能 数组的一个非常有用的功能之一就是查表。表可以事先计算后装入程序存储器中。 如: 静态显示方式 连接 所有LED的位选均共同连接到+VCC或GND,每个LED的8根段选线分别连接一个8位并行I/O口,从该I/O口送出相应的字型码显示字型。 特点 原理简单;显示亮度强,无闪烁;占用I/O资源较多。 动态显示方式 连接 所有LED的段选线共同连接在一起共用一个 8位I/O口,而每个LED的位选分别由一根相应的I/O口线控制。因此必须采用动态扫描显示方式,每一个时刻只选通其中一个LED,同时在段选口送出该位LED的字型码。 任务2 0-99计数器 利用AT89S52单片机来制作一个0~99计时器,并且通过两个共阴数码管显示计数结果,数码管显示采用静态显示方式。 0-99计数器电路设计 静态显示的概念 静态显示是指显示驱动电路具有输出锁存功能,待显示的字符编码被CPU送出后,数码管会一直显示该字符不变,CPU不需要再控制数码管,如果要显示新的字符,CPU只要再次送出即可。 采用静态显示方式,较小的电流就可以获得较高的亮度,且占用CPU时间较少,编程简单,显示便于检测和控制,但其占用的I/O口线较多,硬件电路复杂,成本高,只适合显示位数较少的场合。 0-99计数显示c语言程序 #include AT89X52.H //包含AT89X52.H头文件 /*定义0~9十个数字的字型码表*/ unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char Count; //定义变量放置计数数值 void delay10ms(void) //定义10ms延时函数

文档评论(0)

heroliuguan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档