单片机实例之数码管PPT课件_第1页
单片机实例之数码管PPT课件_第2页
单片机实例之数码管PPT课件_第3页
单片机实例之数码管PPT课件_第4页
单片机实例之数码管PPT课件_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

.,1,课题三(实例)之数码管显示,任务一单个LED数码管的静态控制显示方式任务二多个LED数码管的动态控制显示方式任务三099999999加法计数器,.,2,课题目标本课题的任务是用单片机实现简易数字显示,演示效果如图4-1所示。通过编程,学会在单片机上实现一位数字和多位数字的静态和动态显示控制方法,以及不同进制计数的程序编写方法。,.,3,任务一LED数码管的静态显示,本任务就是将单片机与数码管接成图4-2所示静态显示方式,编程实现数码管每隔0.2s的0-9数字显示。,.,4,图4-2数码管显示电路图,.,5,一、任务分析,所谓静态显示,就是当单片机某一端口输出一组显示数据之后,该端口一直保持该数据输出,维持数码管的显示数字,直到端口数据改变,又保持显示下一数据的显示方式。在具体电路连接上,将单片机一个端口的八个端子接在一只数码管的八个引脚上(h端为小数点),控制数码管的七段LED的亮或熄,显示器出数字,这种显示控制方式就是静态显示。静态显示电路连接特点是单片机端口的每一位与数码管的一个端相连接,相当于单片机的一个引脚外接一只发光二极管。,.,6,二、LED数码管的结构和工作原理。,图4-3数码管结构图,.,7,数码管实际上是由7个发光管组成“8”字形构成的,加上小数点就是8个。这些段分别由字母a、b、c、d、e、f、g、dp来表示。当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的字样。例如:显示一个“3”字,那么应当是a亮、b亮、c亮、d亮、e不亮、f不亮、g亮、dp不亮。数码管的内部结构如图2.4所示,其中COM引脚为公共端,用来控制数码管显示的打开或关闭,即起到“使能”作用。根据公共端接法的不同,数码管又分为共阴极和共阳极两种结构,分别如图2.4(b)和图2.4(c)所示。共阳极就是将8个LED的阳极连接到一起组成公共端COM,接正极,当相应字段为低电平“0”时,可以点亮该字段;当相应字段为高电平“1”时,该字段不亮。共阴极就是将8个LED的阴极连接到一起组成公共端COM,接负极,当相应字段为高电平“1”时,可以点亮该字段;当相应字段为低电平“0”时,该字段不亮。,.,8,数码管段码,表4-1共阴数码管显示数字的段码表,.,9,数码管段码,表4-2共阳数码管显示数字的段码表,.,10,四、程序设计,要实现09的显示,设计方法与前面彩灯花样显示类似,首先写出09的显示数据(表4-1中的字型码数据,注意电路中选用的是共阴或共阳数码管一致),这些数据在程序中作数组元素。程序中将数组元素依次读出送到端口,使数码管显示出对应的数字。程序的设计框图见图4-5。,图4-5,.,11,1、C语言程序:#include#defineucharunsignedcharunsignedcharcodetable=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;unsignedchardispcount;voiddelay02s()unsignedchari,j,k;for(i=10;i0;i-)for(j=200;j0;j-)for(k=248;k0;k-);,.,12,voidmain(void)while(1)for(dispcount=0;dispcount0;i-)for(j=200;j0;j-)for(k=248;k0;k-);,.,22,voidmain(void)while(1)for(dispcount=0;dispcount0;i-)for(j=250;j0;j-);voidmain(void)while(1)for(dispcount=0;dispcount0;i-)for(j=200;j0;j-)for(k=248;k0;k-);voidmain(void)unsignedchari;unsignedcharx8=0;while(1)/2.对x加1for(i=0;i=10)xi=0;elsebreak;/3.将x送显,先送xi的段码,再送xi的位码for(i=0;i0;i-)for(j=200;j0;j-)for(k=248;k0;k-);voidmain(void)unsignedchardispcount,i;unsignedcharx=0,a,b;while(1)/2.对x加1x+;if(x=24)x=0;/3.将x送显,求个位a,十位b,a=x%10;P1=tabledua;P0=tablewe0;/4.延时delay02s();b=x%10;P1=tabledub;P0=tablewe1;/4.延时delay02s();,.,42,任务五简易数字钟,要求利用单片机和数码管实现数字钟。,.,43,任务分析,数字钟要完成的功能是显示小时、分和秒和计数器。其中秒和分为60进制,小时为24进制(也可用12翻1)计数。为了确定1秒,首先要确定动态显示一次所需要的时间,如果每一只数码管显示的时间为0.5ms,则一次动态显示(8只LED数码管)的时间约为4ms,所以,八只数码管每显示250次约为1秒。需要说明的是,这里之所以说是简易数字钟,主要是用程序运行来计算时间,这样用程序来确定出1秒的时间精度很有限的,所以整个时钟的精度不高。如果要提高计时精度,可用后面介绍的定时器来设出计较为精确的时钟,这个题目就留给读者学习了中断和定时器后自己完成。,.,44,程序设计分析,根据任务分析,可以确定整个程序的主框架是以定时1秒计算一次的方式来实现数字钟。定时1秒的程序段,使用动态显示程序实现延时,既完成了延时也完成了数字的显示。在计算程序中,使对应于时、分、秒的变量按照60进制和24进制进行计算,动态显示程序直接引用这些变量,达

温馨提示

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

评论

0/150

提交评论