单片机应用技术项目教程项目5 数字显示器ppt课件_第1页
单片机应用技术项目教程项目5 数字显示器ppt课件_第2页
单片机应用技术项目教程项目5 数字显示器ppt课件_第3页
单片机应用技术项目教程项目5 数字显示器ppt课件_第4页
单片机应用技术项目教程项目5 数字显示器ppt课件_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、 出版社 理工分社单片机应用技术项目教程工程5 数字显示器 出版社 理工分社单片机应用技术项目教程教学目标教学目标知识目的:知识目的:1 1掌握动态显示方式及其典型运用电路;掌握动态显示方式及其典型运用电路;2 2掌握单片机矩阵键盘接口的程序设计方法;掌握单片机矩阵键盘接口的程序设计方法; 3 3掌握数组的运用和全局变量的运用;掌握数组的运用和全局变量的运用;4 4掌握掌握C51C51函数的运用。函数的运用。技艺训练目的:技艺训练目的:1 1熟练运用数码管动态显示接口电路和程序设计方法熟练运用数码管动态显示接口电路和程序设计方法2 2熟习部分变量、全局变量及变量存储种类的运用。熟习部分变量、全

2、局变量及变量存储种类的运用。3 3熟练编写和运用熟练编写和运用C51C51函数。函数。 出版社 理工分社单片机应用技术项目教程工作任务工作任务设计要求设计要求 设计一个基于单片机控制的多位数码显示器,即在设计一个基于单片机控制的多位数码显示器,即在单片机最小系统控制下实现多位字符在数码管上的动态单片机最小系统控制下实现多位字符在数码管上的动态显示。显示。制造基于单片机控制的多位数码显示器制造基于单片机控制的多位数码显示器 出版社 理工分社单片机应用技术项目教程项目分析项目分析1.系统组成系统组成 本系统功能由硬件和软件两大部份协调完成,硬件部分主要完本系统功能由硬件和软件两大部份协调完成,硬件

3、部分主要完成信息的显示;软件主要完成信号的处置及控制功能等。成信息的显示;软件主要完成信号的处置及控制功能等。 本系统的硬件采用模块化设计,以本系统的硬件采用模块化设计,以AT89C52单片机为中心,与单片机为中心,与时钟电路、复位电路及数码管显示组成控制系统。该系统硬件主要时钟电路、复位电路及数码管显示组成控制系统。该系统硬件主要包括以下几个模块:包括以下几个模块:AT89C52主控模块、数码管显示模块、驱动模主控模块、数码管显示模块、驱动模块等。其中块等。其中AT89C52主要完成外围硬件的控制以及一些运算功能,主要完成外围硬件的控制以及一些运算功能,驱动模块电路提高段和位的驱动才干。数码

4、管动态显示控制系统框驱动模块电路提高段和位的驱动才干。数码管动态显示控制系统框图如图图如图5-1所示。所示。一、总体设计一、总体设计 出版社 理工分社单片机应用技术项目教程项目分析项目分析 运用软件采用模块化设计方法。该系统软件主要由主程序、延时功能函数、动态扫描模块等组成,系统软件构造框图如图5-2所示。 数码管显示驱动电路复位电路时钟电路电源电路单 片 机图51 多位数码显示系统组成方框图数码管动态显示扫描程序主程序延时子程序 多位数码显示系统软件构造框图 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平台数码管动态显示任务原理数码管动态显示任务原理 数码管动态显示的衔接方式是

5、将一切数码管的段码“a、b、c、d、e、f、g、dp的同名端连在一同,另外为每个数码管的公共极 COM添加位选通控制电路,位选通由各自独立的I/O 线控制,如图5-3所示。图53 多位LED数码管动态显示原理图 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平台1、位码用三极管控制三极管驱动LED数码管显示驱动 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平台三极管三极管三极管是我们的日常运用电路中经常会用到的一个器件。分为PNP和NPN型。三极管常用功能:1、开关控制2、信号放大3、电平转换 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平台共阴数码管共

6、阴数码管 共阳数码管共阳数码管 Q1NPNI/O共阴共阴Q2PNPI/O共阳共阳8050(9014) 8550(9015) 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平台PNP PNP 型三极管型三极管NPNNPN型三极管型三极管三极管的型号记忆方式:箭头朝哪腿朝哪,导通电压顺箭头过,电压导通,三极管的型号记忆方式:箭头朝哪腿朝哪,导通电压顺箭头过,电压导通,电流控制电流控制b b:基极:基极 e e:发射极:发射极 c c:集电极:集电极 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平台74HC245是一个集成缓冲、驱动于一体的集成电路,可运用于时钟驱动、地址驱

7、动、PC机板的总线收发总线。74LS245是8路同相三态双向数据总线驱动芯片,具有双向三态功能,既可以输出,也可以输入数据。/G为低电平有效;DIR=“1,信号由 A 向 B 传输。 引出端符号:A 总线端 B 总线端 /G 三态允许端(低电平有效) DIR 方向控制端 2、段码驱动采用总线驱动芯片74HC245 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平台变量可以在程序中函数内部或一切的函数外部两个地方阐明。根据所定义变量值位置作用域的不同, 变量可分为部分变量和全局变量。从变量值存在的时间生存期来分的 可以有静态存储变量和动态存储变量之分。详细包括自动的(auto)、静态

8、的(static)、存放器的(register)、外部的(extern) 4种 部分变量和全局变量 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平台1 1autoauto变量变量 auto auto变量动态分配存储空间,用完后释放。变量动态分配存储空间,用完后释放。autoauto称为自动变称为自动变量量 假设函数不做其他阐明的话均为自动变量。假设函数不做其他阐明的话均为自动变量。2 2staticstatic变量变量 static static变量,存储单元固定,用完后不释放变量,存储单元固定,用完后不释放 3 3externextern变量变量 extern extern全局

9、变量在函数外部定义的作用域为从变量的声全局变量在函数外部定义的作用域为从变量的声明处开场,到本程序文件的结尾。有时还需求用明处开场,到本程序文件的结尾。有时还需求用externextern来声明外部变量来声明外部变量, 以扩展外部变量的作用范围。以扩展外部变量的作用范围。如如一个文件中定义:一个文件中定义:int num;int num;另一个文件中声明援用:另一个文件中声明援用:extern int num; / extern int num; / 留意,声明时类型留意,声明时类型要与定义一致要与定义一致C言语中的变量存储分类指定 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平

10、台在函数内部定义的变量称为部分变量。部分变量仅由被定义的函数内部的语句所访问。函数以“开场,以“终了,也就是说部分定义的变量只在内有效,即只需在程序执行到定义他的模块时才干生成,一旦执行退出该模块那么起变量消逝。 例:func () int x; /等价于auto int x,部分变量x的作用域很明确 . 部分变量 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平台全局变量与部分变量不同,能贯穿整个程序,并且可被任何一个模块运用。它们在整个程序执行期间坚持有效。全局变量定义在一切函数之外,它可以被函数内的任何表达式访问,在程序执行的过程中不断有效。全局变量通常在程序顶部定义。全局变

11、量一旦定义后就在程序的任何地方可知。可以在程序中间的任何地方定义全局变量,但要在任何函数之外。全局变量 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平台例如:/*/unsigned char h,m; /定义全局变量/*显示函数*/void display (uchar h,uchar m)dat0=h/10; /1位dat1=h%10; /2位dat2=m/10; /3位dat3=m%10; /4位/*主函数*/void main()h=12,m=30; display (h,m); /初始时间位12:30/*/ 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平台

12、按照规定的格式,将一个子义务编写成一个函数。函数的定义函数的定义函数的划分函数的划分C51函数主函数:main()普通函数规范库函数:用户自定义函数*.h无参函数有参函数空函数 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平台1 1无参函数:此种函数在被调用时,无参数输入,普通用来执行指定无参函数:此种函数在被调用时,无参数输入,普通用来执行指定的一组操作。的一组操作。无参函数的定义方式:无参函数的定义方式: 函数类型标识符函数类型标识符 函数名函数名( ( 变量阐明;变量阐明; / /对函数体内部用到的变量的类型阐明对函数体内部用到的变量的类型阐明 功能语句;功能语句; voi

13、d delay()void delay() unsigned int i; unsigned int i; for(i=0;i10000;i+) for(i=0;i10000;i+) 无参数输入无数前往 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平台例如:无参数传送的延时子程序:循环的次数决议了他延时的时间长短。延时10mS程序:void delay() unsigned int i; for(i=0;i10000;i+) ;无参函数变量类型阐明延时功能语句 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平台void delay()void delay() unsi

14、gned int i,j;unsigned int i,j;for(i=0;i1000;i+) for(i=0;i1000;i+) for(j=0;j115;j+) ; for(j=0;j115;j+) ; 1S延时程序:多重循环 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平台#include “reg51.hvoid delay()/延时函数体unsigned int i;for(i=0;i10000;i+) ;void main()P1 0 x00;delay();/调用延时函数。P1 0 xff;delay();程序修正为: 出版社 理工分社单片机应用技术项目教程项目知识

15、平台项目知识平台2有参函数:在调用此种函数时,必需输入实践参数 ,以传送给函数内部的方式参数 ,在函数终了时前往结果,供调用它的函数运用。有参函数的定义方式: 函数类型标识符函数类型标识符 函数名函数名( (方式参数表方式参数表 变量阐明;变量阐明; / /对函数体内部用到的变量的类型阐明对函数体内部用到的变量的类型阐明 功能语句;功能语句; void delay(unsigned int xms)unsigned int i,j;for(i=0;ixms;i+) for(j=0;j115;j+) ;方式参数 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平台例如:有参数传送的延时

16、子程序:可以随时改动例如:有参数传送的延时子程序:可以随时改动k k的传送值以的传送值以到达不同的延时。到达不同的延时。void delay(unsigned int k)unsigned int i,j;for(i=0;ik;i+) for(j=0;j200;j+) ;有参函数 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平台#include “reg51.h#include “reg51.hvoid delay(unsigned int xms )void delay(unsigned int xms )/延时子函数延时子函数 unsigned int i,j;unsigne

17、d int i,j;for(i=0;ixms;i+) for(i=0;ixms;i+) for(j=0;j115;j+) ; for(j=0;j115;j+) ; void main()void main() P1 P1 0 x00; 0 x00; delay(200); delay(200);/调用延时函数。调用延时函数。P1 P1 0 xff; 0 xff;delay(500);delay(500); 实践参数方式参数 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平台3 3空函数:此种函数体内无语句,在被调用时,无任何操作,是为空函数:此种函数体内无语句,在被调用时,无任何操

18、作,是为了以后程序功能的扩展。了以后程序功能的扩展。空函数的定义方式:空函数的定义方式: 函数类型标识符函数类型标识符 函数名函数名( ( 例:int add() 无函数体前往值数据类型 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平台函数调用的普通方式为: 函数名 ( 实践参数列表 );在一个函数中需求用到某个函数的功能时,就调用该函数。调用者称为主调函数,被调用者称为被调函数。假设被调函数是有参函数,那么主调函数必需把被调函数所需的参数传送给被调函数。传送给被调函数的数据称为实践参数简称实参,必需与形参在数量、类型和顺序上都一致。实参可以是常量、变量和表达式;实参对形参的数据

19、传送是单向的,即只能将实参传送给形参。假设调用的是无参函数,那么实践参数表可省略,但函数名后面必需有一对空括号。函数的调用 出版社 理工分社单片机应用技术项目教程项目知识平台项目知识平台在一个函数中调用另一个函数必需具有以下条件:1被调用函数必需是曾经存在的函数库函数或用户自定义函数。2假设程序中运用了库函数,或运用了不在同一文件中另外的自定义函数,那么应该在程序的开头处运用#include包含语句,将所用的函数信息包括到程序中来。例如:#include stdio.h /将规范输入输出头文件包含到程序中#include “delay.h /将用户自定义头文件包含到程序中程序在编译时,系统就会

20、自动将头文件中有关函数调入到程序中去,编译出完善的程序代码。3假设被调用函数出如今主调函数之后,对被调函数在调用函数之前,应对被调用函数进展声明。函数声明的普通方式有两种:如 float add(float x, float y); float add(float, float);函数声明可以放在文件的开头,这时一切函数都可以运用此函数。对被调用函数的声明对被调用函数的声明 出版社 理工分社单片机应用技术项目教程项目实施项目实施【活动一】【活动一】 硬件设计硬件设计动态显示的特点是将一切位数码管的段选线并联在一同,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮

21、番向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留20ms作用,使人的觉得好似各位数码管同时都在显示。 出版社 理工分社单片机应用技术项目教程项目实施项目实施数码管的动态显示要点提示1、假设干个数码管的段端接一同,经过单片机的I/O口控制数码管的位选端,实现假设干个数码管轮番显示2、单片机的1个I/O口带着假设干个数码管,电流小,所以数码管亮度低。所以要加驱动加三极管、驱动器,添加亮度。 共阳数码管:需求高电平,加PNP三极管(8550) 共阴数码管:需求低电平,加NPN三极管(8050)3、延时时间合理设置;过长或过慢都不行。 出版社 理工分社单片机应用技术项目教程项目实施

22、项目实施硬件电路设计硬件电路设计12341234图图5 .8. 多位数码管显示系统电路多位数码管显示系统电路XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1

23、528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52R41kR51kR61kR71kQ4NPNQ3NPNQ2NPNQ1NPNX1CRYSTALC133pFC233pFC322uFR11kR2330A02B018A13B117A24B216A35B315A46B414A57B513A68B612A79B711CE19AB/BA1U274HC245 出版社 理工分社单片机应用技术项目教程项目实施项目实施动态显示算法分析动态显示算法分析开场 数码管1置位查表取数显示延时熄灭关断显示数码管1置位

24、查表取数显示延时熄灭关断显示数码管1置位查表取数显示延时熄灭关断显示【活动二】软件设计【活动二】软件设计 出版社 理工分社单片机应用技术项目教程项目实施项目实施Y十制数分别初始化显示调用显示子程序显 示 终了?N主程序流程图开场终了送段码送位码延时关数码最后一位?移位N 动态显示扫描流程图开场终了 出版社 理工分社单片机应用技术项目教程项目实施项目实施动态显示扫描程序段动态显示扫描程序段 void display( ) tmp=0 x01; for(i=0;i4;i+) P3=tmp; /送位码 P2=tabi; /送段码 delay(2); /延时 P2=0 xff; /关断数码管 tmp=

25、tmp1; /左移到下一位数码管 程序阐明: 延时时间合理设置;过长或过慢都不行。 出版社 理工分社单片机应用技术项目教程项目实施项目实施【活动三】系统仿真调试【活动三】系统仿真调试 启动Keil uVision4软件,创建新工程:CH7.UVPROJ,CPU选择Atmel 89C52。 对工程的属性进展设置:目的属性中选择“生成HEX文件。 编写参考源程序CH5.c,以C为扩展名保管在工程文件夹中。 将参考源程序参与程序组:鼠标右键单击程序组图标,参与文件组。 调试:进入调试形状,期间能够需求修正参考源程序,直到没有语法错误为止。翻开相应窗口,运转程序,察看运转结果。 出版社 理工分社单片机应用技术项目教程项目实施项目实施【活动四】实物制造【活动四】实物制造多位数码显示器实物图 出版社 理工分社单片机应用技术项目教程项目考核项

温馨提示

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

评论

0/150

提交评论