广告灯(LED灯左移右移)电路设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

新疆农业大学机械交通学院《单片机技术与应用》课程设计说明书题目:广告灯(LED灯左移右移)电路设计专业班级:学号:学生姓名:指导教师:时间:目录1设计目的.........................................................32设计内容.........................................................32.1设计任务及要求..............................................32.2设计方案及原理..............................................33设计步骤..........................................................33.1硬件电路设计................................................33.2硬件电路组成框图............................................43.3各个硬件电路及工作原理......................................43.3.1晶振电路..............................................43.3.2LED灯电路.............................................53.3.3复位电路..............................................53.4绘制原理图..................................................63.5元件参数计算................................................63.6元件清单列表................................................63.7程序设计....................................................73.7.1绘制程序原理图........................................83.7.2汇编程序...............................................94调试与仿真.......................................................95硬件调试结果....................................................105.1面包板电路的搭建测试.......................................115.2电路调试结果...............................................126心得体会........................................................14广告灯(LED灯的左移右移)电路设计作者:秦春旺指导老师:艾海提・赛买提李春兰1设计目的(1)会利用软件绘制流水广告灯电路原理图。(2)通过单片机课程设计,熟练汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。(3)会用KeilC51软件对源程序进行编译调试及与proteus软件联调,实现电路的仿真。2设计内容广告灯是一种常见的装饰,常用与街上的广告及舞台装饰灯场合。最简单的流水广告灯就是各个灯依次发光。本任务利用STC89C51单片机来实现这一功能。2.1设计任务及要求输出“0”时,发光二极管亮,开始时按照P1.0、P1.1、…P1.7的顺序依次点亮发光将8个发光二极管D1-D8接在单片机的P1.0-P1.7端口上,当对应的P1口二极管,然后再按照P1.7、P1.6…P1.0的顺序依次点亮发光二极管,重复循环。2.2设计方案及原理单片机CPU芯片STC89C51,工作环境为常温。发光二极管,工作环境为常温通过对单片机STC89C51系统的学习,如果要让接在STC89C51芯片P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的灯熄灭,把P1.0口的电平变为低电平就可以;同理。接在P1.0-P1.7口的其他7个LED灯的点亮和熄灭方法同LED1.因此,要实现LED灯的左右循环功能只要将LED1-LED8依次点亮、熄灭,8只LED灯便会一会亮一会暗的做流水灯。再在此我们还应注意一点,由于人眼的视觉暂留效果效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果。单片机的应用系统由软件和硬件组成,上述硬件原理图搭建完成上电之后,我们还不能看到LED循环点亮的现象,我们还需要告诉单片机怎么来进行工作,即编写程序控制单片机管脚电平的高低变化,来实现发光二极管的左右循环。3设计步骤3.1硬件电路设计电路组成。这里选择具有内部程序存储器的AT89S51单片机作为控制电路,其P1口接8个发光二极管(LED)和8个限流电阻。电路分析,要使LED点亮,则P1口的对应端子输出低电平,即P1.1=0时,D1亮。一般情况下,驱动LED的电流约10mA左右,而LED本身的压降为2V。当P1.1输出为低电平时,输出为0V,则流经D1的电流为6.3mA,为了在仿真实验中让LED更亮一些,在这里取限流电阻为270Ω。相反,当P1.1输出为高电平时,输出电压为5V,则流经D1的电流为0mA,D1熄灭,即P1.1=1时,D1熄灭。P1口输出电平分析。在图3.1中,P1口的每一位都接有一个LED,要实现流水灯功能,就是要让各个LED依次点亮一段时间,再熄灭一段时间,然后再点亮下一个LED一段时间,然后再熄灭一段时间,如此循环。换句话来说,就是让P1口周而复始地输出高电平和低电平,要实现这一功能,最简单和最直接的方法是依次将数据送往P1口,每送一个数据延时一段时间。3.2硬件电路组成框图如图3-1图3-1硬件电路框图3.3各个硬件电路及工作原理3.3.1晶振电路如图3-2图3-2晶振电路工作原理:单片机系统里都有晶振,在单片机系统里晶振作用非常大,全称叫晶体振荡器,他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精单片机晶振电路LED灯电路复位电路电源电路度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容。为减少寄生电容,更好地保证振荡器工作稳定、可靠,石英晶体振荡器和电容应尽可能地接近单片机引脚XTAL1和XTAL2。在本实验中我们选择的是12MHz的晶振负载电容是30pf。3.3.2LED灯电路如图3-3图3-3LED灯电路工作原理:用8个发光二极管代替LED灯。将8个发光二极管分别连在单片机的P1.0口、P1.1口至P1.8口,在每个发光二极管的支路上面串联一个300Ω的限流电阻。为了保证发光二极管的正常工作条件。3.3.3复位电路如图3-43-4复位电路工作原理:复位电路是为了确保微机系统中电路稳定可靠工作必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5V±5%,即4.75-5.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。3.4绘制原理图如图3-5图3-5LED灯左移右移的硬件原理图3.5元件参数计算LED电路的电阻阻值为300Ω。复位电路的电容值为20uF,电阻阻值为10kΩ3.6元件清单列表STC89C51单片机一个300欧姆电阻8个10K电阻1个LED灯8个12MHZ晶振1个20uf电解电容1个25pf振荡器电容1个3.7程序设计P1口输出电平分析。在图3.1中,P1口的每一位都接有一个LED,要实现流水灯功能,就是要让各个LED依次点亮一段时间,再熄灭一段时间,然后再点亮下一个LED一段时间,然后再熄灭一段时间,如此循环。换句话来说,就是让P1口周而复始地输出高电平和低电平,要实现这一功能,最简单和最直接的方法是依次将数据送往P1口,每送一个数据延时一段时间。,D1至D8依次点亮时,就是数据中的二进制0的位置依次往左移动了1位,D8至D1依次点亮时,就是往右依次移动1位,实现任务的思路是:程序开始时,给某一变量赋初始值0FEH,延时一段时间后,让显示变量左移1位,再次输出,直到所有左移数据为止,接下来就实现右移数据输出完毕,再次重复整个过程。延时程序编写。单片机程序的延时有两种,一种是软件延时,一种是硬件延时,在这里我们重点讨论软件延时。当系统加电后,单片机就开始工作,按照设计的程序开始运行(也称执行指令)。单片机执行一条指令要花一定的时间,那么单片机执行一条指令的执行时间成为指令周期。指令周期是以机器周期为单位的。MCS-51单片机规定,一个机器周期为单片机振荡器的12个振荡周期。如果单片机时钟电路中的晶振频率为12MHz,则一个机器周期为1us。单片机的指令运行速度是很快的,要想在端口获得一定的延时时间,就要编写程序,使单片机运行设计程序产生时间延迟。此次设计要求获得0.2s的时间长度,当单片机的指令周期是1us时,0.2s就是1us的2000000倍。在程序编写中常用循环语句来完成计数和时间延迟,从而获得需要的延时时间。3.7.1绘制程序原理图如图3-6图3-6软件流程框图开始R2赋值8,A赋值FEHP1=A延时0.2秒A左移一次,R2=R2-1R2=0?P1=A延时0.2秒A右移一次,R2=R2+1R2=0?3.7.2汇编程序ORG0000HSJMPSTARTORG0050HSTART:MOVR2,#8MOVA,#0FEH;共阳极接法中循环初始值;给A辅值成11111110LOOP:MOVP1,A;点亮LED10LCALLDELAY;长调用DELAY程序RLA;累加器不连进位标志位左循环移位DJNZR2,LOOP;R2循环LOOPMOVR2,#8;R2赋值8LOOP1:MOVP1,ALCALLDELAYRRA;累加器不连进位标志位右循环移位DJNZR2,LOOP1LJMPSTART长跳转到startDELAY:MOVR5,#20;R5=20D1:MOVR6,#20;R6=20D2:MOVR7,#248;R7=248DJNZR7,$DJNZR6,D2DJNZR5,D1延时0.2秒程序RETEND因为0.2秒=200ms,10ms乘R5=200ms则R5=204调试与仿真用keil仿真调试程序如图4-1图4-1keil仿真调试用proteus和Keil联调仿真如图4-2图4-2proteus和keil联调仿真5硬件调试结果5.1面包板电路的搭建测试如图5-1图5-1面包板搭建的实物图5.2电路调试结果如图5-2,5-3,5-4图5-2LED灯左右移动实物图图5-3LED灯左右移动实物图图5-4LED灯左右移动实物图6心得体会作为为一名电气自动化专业的大三学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。在

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功