单片机应用技术的项目教程的项目4简易计数器ppt课件.ppt

上传人:小飞机 文档编号:1655630 上传时间:2022-12-13 格式:PPT 页数:32 大小:1.46MB
返回 下载 相关 举报
单片机应用技术的项目教程的项目4简易计数器ppt课件.ppt_第1页
第1页 / 共32页
单片机应用技术的项目教程的项目4简易计数器ppt课件.ppt_第2页
第2页 / 共32页
单片机应用技术的项目教程的项目4简易计数器ppt课件.ppt_第3页
第3页 / 共32页
单片机应用技术的项目教程的项目4简易计数器ppt课件.ppt_第4页
第4页 / 共32页
单片机应用技术的项目教程的项目4简易计数器ppt课件.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《单片机应用技术的项目教程的项目4简易计数器ppt课件.ppt》由会员分享,可在线阅读,更多相关《单片机应用技术的项目教程的项目4简易计数器ppt课件.ppt(32页珍藏版)》请在三一办公上搜索。

1、项目4 简易计数器,思考:用单片机系统可控制LED可实现信号灯的不同效果显示,那么能不能用单片机系统控制LED来实现字符显示呢?,知识目标:1. 掌握数码管的静态工作原理与接口连接。2. 掌握C语言一维数组的使用。技能训练目标:1. 熟悉数码管的原理与接口。2熟练使用C语言一维数组。3熟悉单片机数码管静态显示的程序设计方法。,项目设计要求: 设计一个基于单片机控制简易计数显示器,即用单片机控制数码管以实现数字0到9的循环显示。,制作基于单片机控制简易计数显示器,总体方案设计,1.系统组成 本系统功能由硬件和软件两大部份协调完成,硬件部分主要完成信息的显示;软件主要完成信号的处理及控制功能等。

2、本系统的硬件采用模块化设计,以AT89C52单片机为核心,与数码管电路组成控制系统。该系统硬件主要包括以下几个模块:AT89C52主控模块、数码管静态显示电路模块等。其中AT89C52主要完成外围硬件的控制以及一些运算功能,数码管完成数字0到9的显示功能。系统组成方框图如图4-1所示。,数码管显示系统组成方框图,应用软件采用模块化设计方法。该系统软件主要由主程序、延时子程序等模块组成,系统软件结构框图如图所示。,系统软件结构框图,1.系统工作原理 数码管由8个发光二极管构成,可以用来显示数字、字符等,它在家电及工业控制中有着很广泛的应用,例如用来显示温度、数量、重量、日期、时间等,具有显示醒目

3、、直观的特点,如图所示。,数码管实物图,数码管内部电路图,LED数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。按发光二极管单元连接方式分为共阳极数码管和共阴极数码管,如图所示。,2、数码管字形编码 要使数码管显示出相应的数字或字符,必须使段数据口输出相应的字形编码。字型码各位定义为:数据线D0与a字段对应,D1与b字段对应,依此类推。如使用共阳极数码管,数据为0表示对应字段亮,数据为1表示对应字段灭;如使用共阴极数码管,数据为0表示对应字段灭,数据为1表示对应字段亮。如要显示“0”,共

4、阳极数码管的字型编码应为:11000000B(即C0H);共阴极数码管的字型编码应为:00111111B(即3FH)。依此类推,可求得数码管字形编码如表4-1所示。,表4- 1 数码管字形编码,根据LED显示的硬件设计方法的不同,LED显示驱动分为静态显示和动态显示两种方法。,3.LED数码管显示方式,静态显示方式,连接 所有LED的位选均共同连接到+VCC或GND,每个LED的8根段选线分别连接一个8位并行I/O口,从该I/O口送出相应的字型码显示字型。特点 原理简单;显示亮度强,无闪烁;占用I/O资源较多。,动态显示方式,连接 所有LED的段选线共同连接在一起共用一个 8位I/O口,而每个

5、LED的位选分别由一根相应的I/O口线控制。因此必须采用动态扫描显示方式,每一个时刻只选通其中一个LED,同时在段选口送出该位LED的字型码。,数组的概念,数组是构造数据类型,是一组有序数据的集合,数组中的每个元素都属于同一种数据类型,不允许在同一数组中出现不同类型的变量,数组元素的数据类型就是该数组的基本类型。例如,整型数据的有序集合称为整型数组,字符型数据的有序集合称为字符型数组。数组分为一维、二维、三维和多维数组等,常用的是一维、二维和字符数组。,数组的基本特点,构造类型数据:由基本类型数据按照一定规则组成。数组:是有序数据的集合;数组中的每一个元素都属于同一个数据类型,用一个统一的数组

6、名和下标来唯一地确定数组中的元素。应用场合:需要处理的数据为数量已知的若干相同类型的数据时。 注意:先定义,后使用。,一维数组的定义和引用,一维数组的定义: 一般格式:类型标识符 数组名常量表达式; int array10; unsigned char num7; 说明:数组名见名知意;数组名中存放的是一个地址常量,它代表整个数组的首地址。同一数组中的所有元素,按其下标的顺序占用一段连续的存储单元。方括弧而非圆括弧;常量表达式:可以是常量或符号常量;表示数组元素的个数(也称数组长度)。不允许对数组大小作动态定义。数组元素下标从0开始。array0,array1,array9;,遵循标识符命名规

7、则,一般格式: 数据类型 数组名常量表达式初值表1.定义时赋初值;int score5=1,2,3,4,5;2.给一部分元素赋值;int score5=1,2;3.不对数组全部元素赋值,则全部元素被赋值为0; int score5;4.给全部数组元素赋初值时,可以不指定数组长度; int score=1,2,3,4,5;,一维数组的初始化,一维数组的查表功能,数组的一个非常有用的功能之一就是查表。表可以事先计算后装入程序存储器中。如:,unsigned char code tab=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x

8、90; /定义数组tab,并初始化unsigned char k; while(1) for(k=0;k10;k+) P2 = tabk; / 查表取数,二维数组或多维数组,数组的下标具有两个或两个以上,则称为二维数组或多维数组。定义二维数组的一般形式如下:类型说明符 数组名行数 列数;其中,数组名是一个标识符,行数和列数都是常量表达式。例如:float demo234; /demo2 数组有3 行4 列共12 个实型元素二维数组也可以在定义时进行整体初始化,也可以在定义后单个地进行赋值。例如:int a34=1,2,3,4,5,6,7,8,9,10,11,12;/全部初始化int b34=1

9、,2,3,4,5,6,7,8,;/部分初始化,未初始化的个元素为0,【活动一】硬件电路设计,1.算法设计 对于数码管而言,要想显示数字或字母,首先应该选中该数码管,然后相应字段被点亮。例如:显示一个“3”字,那么应当是a亮、b亮、c亮、d亮、e不亮、f不亮、g亮、dp不亮。那么可以列出数码管显示数字的段码表如表2.1所示。,【活动二】软件设计,如表所示,由于数码管显示的数字“09”的字型码“0C0H、0F9H、0A4H、0B0H、99H、92H、82H、0F8H、80H、90H”没有规律可循,只能采用查表的方式来完成我们所需的要求。在程序设计中可以设计一个变量,每隔一定时间在“09”之间变化,

10、然后按照这个数据去查找段码表,把查到的数据送到P2口。 所谓表格是指在程序中定义的一串有序的常数,如平方表、字形码表、键码表等。因为程序一般都是固化在程序存储器(通常是只读存储器ROM类型)中,因此可以说表格是预先定义在程序的数据区中,然后和程序一起固化在ROM中的一串常数。 在程序设计中,有时需要预先把非线性数据以表格的形式存放在存储器中,然后使用程序读出,这种能读出数据表格的程序就称为查表程序。 查表程序的关键是表格的定义和如何实现查表。,共阳数码管显示数字的段码表,主程序流程图,/定义段码表unsigned char code tab=0 xc0,0 xf9,0 xa4,0 xb0,0

11、x99,0 x92,0 x82,0 xf8,0 x80,0 x90;/查表程序段unsigned char k; while(1) for(k=0;k10;k+) P2 = tabk; / 查表取数 ,查表程序代码,【活动三】系统仿真调试,启动Keil uVision4软件,创建新工程:CH4.UVPROJ,CPU选择Atmel 89C52。 对工程的属性进行设置:目标属性中选择“生成HEX文件”。 编写参考源程序CH4.c,以C为扩展名保存在工程文件夹中。 将参考源程序加入程序组:鼠标右键单击程序组图标,加入文件组。 调试:进入调试状态,期间可能需要修改参考源程序,直到没有语法错误为止。打开

12、相应窗口,运行程序,观察运行结果。,【活动四】实物制作,简易计数显示系统实物图,静态显示特点,静态显示是指显示驱动电路具有输出锁存功能,待显示的字符编码被CPU送出后,数码管会一直显示该字符不变,CPU不需要再控制数码管,如果要显示新的字符,CPU只要再次送出即可。 采用静态显示方式,较小的电流就可以获得较高的亮度,且占用CPU时间较少,编程简单,显示便于检测和控制,但其占用的I/O口线较多,硬件电路复杂,成本高,只适合显示位数较少的场合。,1数码管的工作原理和分类。2如何理解数码管静态显示。3如何实现9到0的循环显示。4数码管除了0到9的显示,能否显示字母,如果能可以显示那些字母。,1先把0到9中的奇数从小到大显示,再把偶数从大到小显示,可以设计多种方法。2利用单片机的四组端口实现四位时钟分和秒的显示。3让数字1变2之前“1”闪烁1次,2变3闪之前“2”烁2次,3变4之前“3”闪烁3次,依此类推循环显示。4让3题中的数字都在1秒内完成闪烁。即每个数字闪烁的次数不同但都在1秒内完成规定的闪烁次数。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号