第二节-数码管显示.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二节-数码管显示

3.2 数码管显示 数码管是单片机常用的数字或字符显示部件,本节任务是让单片机P0口驱动一个共阳型的数码管显示依次0~9并循环,并编写程序仿真实现。通过简单的程序设计让单片机驱动数码管显示,重点掌握数码管的字形编码和显示原理,并了解数组的应用和程序设计过程的程序优化技巧。 3.2.1 数码管的显示原理 一、数码管的字形编码 单片机系统常用的数码管有共阳型和共阴型两种类型,它是单片机常用的外围显示器件。两种类型的数码管外形和结构类似,只是数码管内部组成数码段和标点的LED接法有区别,共阳型数码管的内部所有LED的正极接在一起为公共极引脚,负极分别引出,依次命名为a、b、c、d、e、f、g、dot,使用时共阳型数码管的公共极接正极,其他引脚分别接驱动电路,数码管显示时低电平有效。数码管可以显示0到9共十个数字,如果加上小数点的显示,驱动一个数码管显示至 少需要8位有效数据。数码管显示数字的8位数据编码见表3-2-1和3-2-2所示,其中表3-2-1为共阳型数码管编码,表3-2-2为共阴型编码。由于共阴型数码管内部所有LED的负极接在一起,所以数码管显示时驱动数据高电平有效。 另外,很多器件如三极管、继电器、蜂鸣器、步进电机等都要用到单片机的I/O口驱动。单片机的P0口在不加上拉电阻的情况下只能驱动低电平有的负载, P1、P2和P3由于采用场效应管互补对称输出方式,高电平和低电平都有电流出,除P0口以外的其他I/O口作驱动输出应用时可以把上拉电阻省去。 i++; if(i == 10)i = 0; } } /************************************************************/ 3.2.2 数组 在本案例中,数码管的显示码是一组有规律的同类型数据,如果定义大量的简单变量,程序将变得非常繁琐。为了处理方便,C语言把具有相同类型的若干变量或常量,用一个带下标数组定义。对各个变量的相同操作可以利用循环改变下标值来进行重复的处理,使程序变得简明清晰。带下标的变量由数组名称和用方括号括起来的下标共同表示,称为数组元素。通过数组名和下标可直接访问数组的每个元素。数组有两个特点:一是其长度是确定的,在定义的同时确定了其数组的大小,在程序中不允许随机变动; 二是其元素必须是相同类型,不允许出现混合类型。 一、一维数组 在C语言中使用数组必须先进行定义或声明,一旦定义了一个数组,系统就将在内存中为其分配一个所申请大小的空间,该空间大小固定,以后不能改变。一维数组的定义格式为 数据类型 数组名[常量表达式]; 三、一维数组的初始化 每个数组元素可以表示一个变量,对数组的赋值也就是对数组元素的赋值。在定义数组的语句中,可以直接为数组赋值,这称为数组的初始化。数组的初始化方法是将数组元素的初值信存放在由大括号括起来的初始值表中,每个初值之间由逗号隔开。 3.2.3 函数调用与文件包含 按照一定顺序把单片机的程序在一个函数或一个中全部完成,是简单的单片机系统程序设计常用的一种结构,当程序只有几十行或几百行的时候,采用顺序结构编程的方法很容易让人看明白。如果一个程序超过几千行的时候,分析就会变得很复杂。单片机C语言程序也支持模块化设计,在模块化程序设计过程,经常会用到函数的调用、文件的包含问题。C语言的模块化程序设计给单片机编程带来很大的方便,在这里以本节程序为例,简单介绍在Keil软件中实现模块化设计常用的技巧。 …….. delay(1000); //调用时间延迟函数,有实参 …… } } /****************************************************************/ 2. 有返回值函数 如果函数中要返回数值时,必须使用return命令。并且返回值的类型必须与函数的类型一致,以下是有返回值函数的例子 函数调用比较简单,如本例和上一节的程序中,主函数中的出现的delay()语句就是一种函数调用,当单片机运行主函数的delay(1000)语句时,调用延时函数delay (unsigned int x),其中1000为延时函数的实参,x为函数的形参,在还有形参函数中,实参必须与形参类型统一,本例中如果x为char变量,则程序运行中会出错。另外,为了提

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档