模拟广告流水灯的制作与调试_第1页
模拟广告流水灯的制作与调试_第2页
模拟广告流水灯的制作与调试_第3页
模拟广告流水灯的制作与调试_第4页
模拟广告流水灯的制作与调试_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、学习情况,1,模拟广告流水灯的制作与调试,1.1,发光,LED,灯,任务描述,使用单片机驱动发光二极管发光,要求,1,按照如图所示硬件电路,在单片机最小系统基础上焊接制作发光二极管,电路,2,按要求输入程序并编译生成目标文件,下载到单片机是,P1.0,所接发光二,极管亮,目标,1,学会使用,Keil C51,编写第一个,C,语言源程序,并编译声场目标文件,2,学会使用,AVR fighter,下载软件将目标文件下载到单片机中,3,学或使用程序控制单片机引脚的高、低电平,4,通过观察程序执行的结果,理解控制单片机引脚输出高、低电平对外围,电路所起到的作用,电路制作,单片机驱动发光二极管发光硬件电

2、路原理图,相关咨询,一、任务分析,发光二极管具有单向导电性,单片机的,P1.0,接到发光二极管,D1,的阴极,发光二极管,D1,的阳极通过排阻接上,电源。当单片机的,P1.0,输出低电平,发光二极管的阳极电位高于阴极电位,就会导通发亮;否则,当单片机的,P1.0,输出高电平,发光二极管就会截止,不亮,由于单片机,P1,口德,8,个引脚可以同时输出不同的电平,所以可以控制不同,的发光二极管,D1D8,同时亮灭,二、相关知识介绍,1,库函数文件,reg51.h,可以帮助我们使用,C51,芯片内部资源,2,我们可以通过,sbit,定义位变量,表示单片机的一个位地址或者一个二进制的,位变量,其值只能是

3、,0,或者,1,变量的标识符命令式可以使用字母、数字和,下环线,对大小写的书写严格区分,不能与关键词同名,例如不能使用,sbit P1,0=P1.0,3.C,程序由函数构成,其中,main,为程序的主函数,是每个程序执行的起始点,4.C,语言程序的书写格式:一行可以写几个语句,一个语句也可以写在多行上,每条语句的最后必须有一个分号“;”表示语句的结束,5,使用注释可以提高程序可读性,是编程人员的良好习惯。例如使用,*,进行,多行注释,或者使用,对当前行注释,6,在程序的书写上,我们多用,TAB,键将每一部分的语句对其,使编写的程序呈现,锯齿形,这样可以帮助我们分清不同的程序体,便于调试,7.w

4、hile,1,;为一个死循环,可以理解为程序将在此处进入空闲和等待状态,编程调试,拓展训练,1,编写程序使单片机,P1.2,所接发光二极管,D3,亮,提示:要使,P1.2,所接发光二极管亮,则,P1.2,输出,_,电平?其他引脚输出,_,电平?编写程序,2,编写程序使单片机,P1,所接所有发光二极管都亮,提示:要使,P1,所接发光二极管亮,则,P1,全都输出,_,电平,如果要一次性赋,值,用,C,语言程序如何实现,完成情况:,3,编写程序使单片机,P1,所接发光二极管,D1,D3,D5,D7,一起亮,提示:要使,P1,所接发光二极管,D1D3D5D7,同时亮,则,_,输出低电平,P1,的状态用

5、二进制表示为,_,用,C,语言程序如何实现,总结与评价,一、自我总结,你在整个任务完成过程中出现了哪些问题?你是如何解决的?你还有什么问题,不能解决?有什么体会,二、评价,组长评价,日期,教师评价,日期,1.2,闪烁,LED,灯,任务描述,使用单片机驱动发光二极管闪烁,要求,1,按要求输入程序并编译生成目标文件,下载到单片机使,P1.0,所接发光二,极管,D1,闪烁发光,每一秒闪烁一次,2,完成拓展训练任务,使,P1,口指定发光二极管闪烁发光,并通过修改程序,提高或者降低发光二极管闪烁速度,目标,3,熟练使用,Keil C51,编写,C,语言源程序,并编译生成目标文件,学会使用,Keil C5

6、1,调试程序,4,数量掌握,AVR fighter,下载软件的使用及使用其自动更新功能提高效率,5,学会编写程序实现延时和进行延时长短控制,电路制作,单片机驱动发光二极管闪烁硬件电路原理图,相关咨询,一、任务分析,单片机的指令的执行的时间是很短,数量一般都是,us,级。当我们要求发光二极,管每一秒闪烁,1,次,也就是发光二极管亮,0.5s,灭,0.5s,不断循环,实际操作中我们一般采取软件延时的方法。通过程序使发光二极管亮,然后延时,0.5s,再是发光二极管灭,再延时,0.5s,然后不断循环这个过程,二、相关知识介绍,1,使用字符,P1,可以直接调用单片机特殊功能寄存器,SFR,的,P1,端口

7、物理地址,从而操作,P1,端口,对其赋值,就可以控制其每一个引脚输出的电平高低,2.Keil C51,程序使由函数构成,任何函数必须先定义,再使用,3,我们可以使用,unsigned char int,定义一个无符号整型变量,表示一个,16bit,的二进制数,其数值范围为,065535,其命令遵循标识符命令原则,同理,使用,unsigned char,定义一个无符号字符型变量,表示一个,8bit,的二进制,数,其数值范围为,0225,变量如果定义在函数的外面,成为全局变量;变量如果定义在函数体内,则只能,在函数内部使用,4.while,表达式,循环体,表达当表达式的值为真(非,0,时,就执行循

8、环体,表达式为真就一直执行循环体,其特点使先判断,在确定是否执行,while(1,表示程序将循环执行,中的语句体,类似的语句体还有,do,循环体,while,表达式),其特点使先执行循环体,在判,断表达式是否为真,以确定是否继续执行循环体,5.for,表达式,A,表达式,B,表达式,C,循环体,该语句的执行过程为,1,求解表达式,A,2,判断表达式,B,其值为假时退出该语句;其值为真时,执行循环体,然后继续执行第,3,步。,3,求解表达式,C,4,返回第,2,步,6,延时程序可以用一下子函数来表示,可以是一个固定延时时间的函数,例如,delay,;或者是一个通过参数控制延时时间的函数,例如,d

9、elay,unsigned int m,通常单片机使用的石英晶振振荡器频率为,12MHz,其对应的机器周期为,1us,for,m0;m-,语句,这条语句将把,内的语句循环执行,m,次,编程调试,点亮,D1,延时,0.5s,熄灭,D1,延时,0.5s,开始,拓展训练,1,编写程序使,P1,口所接所有发光二极管每,1,秒闪烁,2,次,提示:要实现要求,则,P1,所接发光二极管每,_,秒就要闪烁一次,即亮灭,一次。则,P1,输出低电平,_,秒,再输出高电平,_,秒,如此,循环。这时候,P1,输出的是一个,_,波形,其频率是,_Hz,2,编写程序使,P1,口所接所有发光二极管,1357,和,2468,

10、交替闪烁,每,1,秒闪烁,4,次。发光,二极管,D2D4D6D8,同时亮,亮,_,秒,编写程序,3,编写程序使用,P1,口所有发光二极管,D1,每,1,秒闪烁,1,次,同时,D2,每,1,秒闪烁,2,次,提示:根据要求混出,D1,和,D2,对应的,P1,口引脚输出的波形图,再转化为程序,4,使用本任务案例程序,P1.0,输出,1Hz,的方波,其周期应该是,_,秒,我们用示,波器观测实际波形,结果得到的实际周期是,_,秒,通过调节程序中延时,1ms,语句中的,n,值,即语句,for,n=0;n124;n,,使,P1.0,输出相对更为精,确的,1Hz,方波,这时候,n,的溢出值由,124,变为,_

11、,这是为什么,5,编写程序使,P1,口所接所有发光二极管一个一个轮流亮,每,1,秒亮一遍,提示:要实现功能,每一个发光二极管要亮,_,秒,如此循环,总结与评价,一、自我总结,你在整个任务完成过程中出现了哪些问题?你是如何解决的?你还有什么问题,不能解决?有什么体会,二、评价,组长评价,日期,教师评价,日期,1.3,模拟广告流水灯,任务描述,使用单片机驱动,8,个发光二极管模拟广告流水灯效果,要求,1,编写程序使,P1,口德发光二极管实现单灯流水显示,每一个灯亮,200ms,目标,1,使用循环移位函数实现流水灯效果,2,使用数组和查表方式实现各种广告彩灯效果,电路制作,单片机驱动,8,各发光二极

12、管模拟广告流水灯硬件电路原理图,相关咨询,一、任务分析,要是,P1,口的发光二极管实现单灯流水显示,可以采用,P1,口诵,0 xfe,先亮第一个,灯,延时,200ms,后,将,P1,口值循环左移,1,位再送,P1,口,使第,2,个灯亮,再延时,200ms,一次类推,循环下去,或者把每一种亮灯模式对应的,P1,口值存到一个表格中,每次都能调用一个值送,P1,口并延时,一直到表格结束在重新开始循环,这种方法适用性更广,能实,现各种不同的彩灯效果,在实际工程中应用较多,二、相关知识介绍,1.Keil C51,提供了丰富的库函数,供我们调用和适用,专用寄存器,reg51.h,包括了所有,8051,的,

13、SFR,及其位定义,我们一般都必须在文,件开头适用,include,包含开头文件,math.h,数学运算头文件,stdio.h,输入输出流函数头文件,2,循环移位函数,在头文件,intrins.h,中有循环移位函数,_crol_(a,b,表示将一个无符号字符型,变量,a,循环左移,b,次,_cror_(a,b,表示将一个无符号字符型变量,a,循环右移,b,次,另外还有无符号的整型变量循环移位函数,3,数组一种具有固定数目和相同类型成分的有序集合,常用来表示一些固定表格,数据等。例如,unsigned char,table8=0 xfe.0 xfd,0 xfb,0 xf7,0 xef,0 xdf

14、,0 xbf,0 x7f,表示一个无符号,正习惯数组,一共有,8,个元素,分别用,table0,table1,table7,来,表示,我们可以适用,tablei,来适用这个数组里的数,其中,i=07,4.Keil C,自带有一个位左移和位右移运算符,和,,其功能是将一个数的二进,制代码全部同时左移或者右移若干位,移出的数据丢失,空白的地方补,0,位左移运算格式为,a,n,表示把,a,的值左移,n,位,高位丢失,n,位,地位自动补,上,n,个,0,例如,P1,P1,2,;表示把,P1,的值左移,2,位,右边补上,2,个,0,然,后再赋给,P1,编程调试,使用循环移位函数,实现单灯流水效果,使用循

15、环移位函数实现单灯流水效果,延时,0.2s,P1,左移,1,位显示,开始,使用数组和查表,方式实现各种广告,彩灯效果,使用数组和查表方式实现各种广告彩灯效果,延时,0.2s,开始,i=i+1,N,Y,i=0,i8,取第,i,个亮灯模式,拓展训练,1,编写程序使,P1,口所接所有发光二极管实现两个相邻的发光二极管双灯流水,每次亮,0.5s,2,用,Keil C,自带有位左移和位右移运算符,和,能否实现单灯流水效果,3,编写程序使,8,个发光二极管演示单灯流水效果,同时其速度是变化的,逐渐加快,或者珠江减慢,提示:如果每次调用延时程序的参数是变化的,其延时时间不同,就会出现速度变,化的效果,总结与

16、评价,一、自我总结,你在整个任务完成过程中出现了哪些问题?你是如何解决的?你还有什么问题,不能解决?有什么体会,二、评价,组长评价,日期,教师评价,日期,1.3,可调亮度,LED,灯,任务描述,使用单片机控制发光二极管的亮度,要求,1,单片机驱动发光二极管发光,2,通过按键控制发光二极管的亮度。(辅助功能,关于按键使用后面章节,详细介绍,目标,1,理解,PWM,调制的概念,了解其应用领域,2,掌握通过延时程序输出,PWM,波形的方法,相关咨询,一、任务分析,要改表发光二极管的亮度,即要改变流过发光二极管的平均电流。在直流电路,中,我们可以通过改变限流电阻的阻值达到改变电流的目的。但在单片机,控

17、制发光二极管时,我们只能通过改变发光二极管导通(点亮)的时间,来达到改变平均电流和改变亮度。这时,一般采用输出,PWM,波形调光,二、相关知识介绍,1.PWM(Pulse Width Modulation,脉宽调制技术。通过对脉冲宽的调制,获得,需要的波形(含形状和幅值,PWM,是单片机常用的模拟量输出方法,通过,外接转换电路,可以将不同占空比的脉冲变成与之对应的电压(占空比是,指正脉冲与整个周期的比值),用其进行调光、调功输出,或者控制直流,电机的转速,假如需要一个,1V0.6A,的输出,而实际上只是一个,1V1A,的输出,那么只需,要把,1V1A,的输出接通,0.6,秒,再断开,0.4,秒

18、,然后继续接通,0.6,秒断开,0.4,秒,得到的效果和,1V0.6A,输出的效果是一致的,PWM,波形的一个周期中,高电平的保持时间,Ton,低电平的保持时间,Toff,高电平的高电平与低电平保持的总时间位,Ts=Ton+Toff,我们通常把,Ts,位脉,冲的周期,f+1/Ts,叫脉冲的频率;当频率很低的时候,对于发光二极管而,言其亮灭变化明显,人能感觉到闪烁,而当我们把频率提高到一定程度时,人只能感觉到亮度变化,而觉察不到亮灭闪烁了。对于发热、或者电机等,感性负载效果类似,通常,PWM,调光应用中,我们把,PWM,的频率固定,改变其中占空比来实现,调光。占空比即,Ton/Ts,当给,LED,通以频率相同,但占空比不同的脉冲电压,时,流过,LED,的,RMS,电流是不一样的,所以,LED,

温馨提示

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

评论

0/150

提交评论