led闪烁小灯要点_第1页
led闪烁小灯要点_第2页
led闪烁小灯要点_第3页
led闪烁小灯要点_第4页
led闪烁小灯要点_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、湖南人文科技学院课程设计报告课程名称:单片机原理及应用课程设计设计题目:闪烁LED小灯的设计系 别:通信与控制工程系专 业:自动化专业班 级:06级自动化(二)班学生姓名:徐 欣 灯学号:06421210起止日期:2009年6月8日 2009年6月19日指导教师:伍铁斌曹锋教研室主任:伍铁斌指导教师评语:指导教师签名:年月日成绩 评 疋项目权重成绩1设计过程中出勤、学习态度等方面0.22、课程设计质量与答辩0.53、设计报告书写及图纸规范程度0.3总成绩教研室审核意见:教研室主任签字:年月日教学系审核意见:主任签字:年月日介绍一种LED小灯控制系统的设计方法,以 AT-89C52单片机作为主控

2、核心,与按 键、排阻、电阻、电容等较少的辅助硬件电路相结合,利用软件实现对LED灯进行控制。 本系统具有体积小、硬件少、电路结构简单及容易操作等优点。能够通过按键控制8个led小灯轮流点亮、逐点点亮、间隔点亮、来回点亮、两边向中间同时点亮。广泛应用于城市景观、风景名胜、道路桥梁、建筑轮廓、娱乐场所、户外广告、室内装饰等美化、 亮化工程。关键词:LED流水灯,AT89C52单片机,led流水灯,模块设计,流程图设计要求11方案论证与对比 .仁1.1 方案一 2.1.2 方案二2.1.3方案三3.1.4方案对比与选择5.2 单元电路设计与计算 5.2.1放大电路的设计6.2.2整形电路的设计 错误

3、!未定义书签。2.3分频电路的设计 错误!未定义书签。2.4分频控制电路设计 .6.3系统软件工作流程图 8.3.1多周期同步测量原理及误差分析 8.3.2系统工作流程错误!未定义书签。4系统功能测试与整体指标 .错误!未定义书签。5详细仪器清单1.06总结与思考及致谢 12参考文献1.3.附录一:放大整形分频控制电路 PCB板1.4附录二:74HC390分频电路PCB板图 15附录三:程序1.6闪烁LED小灯的设计设计要求主要功能:本设计的闪烁小灯控制器,可使小灯轮流点亮,可使小灯轮流点亮、逐点点亮、 间隔点亮,通过按键来进行切换。扩展部分:来回点亮、一个点亮两次轮流点亮、两边的等同时向中间

4、点亮也可用 按键来切换。1方案论证与对比VCCU7j >-1F;SW-PBPIO1Pll3P125P134P145P156P167P178RST30pFEKD10TXD11P3212P3313P3414P33neP3717i®KTAL1P1J0/T2vccP1.1/T2EKPOJKADO巩女P0.1/AD1P13P0J/AD2P1.4P03/ADJPUP0.1/AD4P “PQJ/ADiPL7POLADSRSTP0.7/AD7ZEWWPP3.1/TKDALEM MOTTO/PSENiP33XmSTTlP2J/A15P3.4/T0P215/A14P3J/T1P3J/A11P2.4

5、/AU茁MEDP3J/A1JXTAL2P32/A10KTAL1P2 1/A5 GHI>40WC33E>137冲36D335IH34M33D«32D731EA30ALE曲P29P"27站P25沾剛34P3333P3233P3121P20从原理图中可以看出,如果要让接在 P1.0 口的LED1亮起来,那么只要把P1.0 口 的电平变为低电平就可以了;相反,如果要接在P1.0 口的LED1熄灭,就要把P1.0 口的电平变为高电平;同理,接在 P1.1P1.7 口的其他7个LED的点亮和熄灭的方法同 LED1因此,要实现流水灯功能,我们只要将发光二极管LEDLED8依次

6、点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留 效应以及单片机执行每条指令的时间很短, 我们在控制二极管亮灭的时候应该延时一段 时间,否则我们就看不到“流水”效果了。单片机的应用系统由硬件和软件组成,上述硬件原理图搭建完成上电之后,我们还 不能看到流水灯循环点亮的现象,我们还需要告诉单片机怎么来进行工作,即编写程序 控制单片机管脚电平的高低变化,来实现发光二极管的一亮一灭。下面以最简单的流水 灯控制功能即实现8个LED灯的循环点亮,来介绍实现流水灯控制的几种软件编程方法。1.1方案一位控法这是一种比较笨但又最易理解的方法,采用顺序程序结构,用位指令控

7、制P1 口的每一个位输出高低电平,从而来控制相应 LED灯的亮灭。只要循环执行下面的程序就 可以了,想要哪个灯亮就对对应的哪个输出口输出低电平。要实现按键切换流水花样, 则可以用调用一个中断程序处理。其置位程序如下:CLRP1.0点亮;P1.0输出低电平,使LED1ACALL DELAY;调用延时子程序SETB P1.0;P1.0输出高电平,使LED1熄灭1.2方案二循环移位法在上个程序中我们是逐个控制 P1端口的每个位来实现的,因此程序显得有点复杂, 下面我们利用循环移位指令,采用循环程序结构进行编程。我们在程序一开始就给P1口送一个数,这个数本身就让 P1.0先低,其他位为高,然后延时一段

8、时间,再让这个 数据向高位移动,然后再输出至 P1 口,这样就实现“流水”效果啦。由于 8051系列单片机的指令中只有对累加器ACC中数据左移或右移的指令,因此实际编程中我们应把需 移动的数据先放到ACC中,让其移动,然后将 ACC移动后的数据再转送到P1 口,这样 同样可以实现“流水”效果。具体编程如下所示,程序结构确实简单了很多。原理框图如图2所示。主程序1.3方案三 查表法上面的两个程序都是比较简单的流水灯程序,“流水”花样只能实现单一的“从左到右”流方式。运用查表法所编写的流水灯程序, 能够实现任意方式流水,而且流水花样无限,只要更改流水花样数据表的 流水数据就可以随意添加或改变流水花

9、样,真正实现随心所欲的流水灯效 果。我们首先把要显示流水花样的数据建在一个以 TAB为标号的数据表中, 然后通过查表指令“ MOVC A,A+DPTR巴数据取到累加器 A中,然后再 送到P1 口进行显示。具体源程序如下,TAB标号处的数据表可以根据实现 效果的要求任意修改。ORG 0000H;伪指令,指定程序从0000H开始存放LJMP MAIN ;跳转指令,程序跳转至 MAIN处执行ORG 0030H;伪指令,指定程序从0030H开始存放MAIN: MOV SP, #60H ; 给堆栈指针赋初值MOV P1,#0FFH ;给 P1 口赋值MOV DPTR,#TABLE; 查表LIGHT: M

10、OV R4,#42; 设置循环次数LOOP: MOV A,#42; 给 A赋初值SUBB A,R4 ;将A的值与R4的值相减,结果存在 A中MOVC A,A+DPTR ;将A+DPTR勺值所对应的TABLE中的值赋给 AMOV P1,A ;将A的值赋给P1 口LCALL DEL1S ;调用1S延时子程序DJNZ R4,LOOP ;判断R4是否为0,不为0跳转,为0顺序执行LJMP LIGHT ;跳转指令,跳转至LIGHT处继续执行DEL1S: MOV R5, #2 ;1S 延时子程序(11.0592MHz晶振,误差0微秒)DL1S0: MOV R6, #255DL1S1: MOV R7, #2

11、55DJNZ R7, $DJNZ R6, DL1S1DJNZ R5, DL1S0RETTABLE:;定义表格数据DB OFFH ;全灭DB OFEH , OFDH ,OFBH ,0F7H,OEFH,ODFH,OBFH ,07FH ;依次逐个点亮DB OFEH , OFCH ,OF8H ,OFOH,OEOH,OCOH,O8OH ,OOOH ;依次逐个叠加DB O8OH , OCOH ,OEOH ,OFOH,OF8H,OFCH,OFEH ,OFFH ;依次逐个递减DB O7FH , ODFH , OF7H , ODFH , OBFH , OEFH , OFBH , OFEH ; 间隔点亮DB O7

12、EH, OBDH, ODBH , OE7H , OE7H , ODBH, OBDH, O7EH ;两边靠拢后分开DB O7EH,O3CH,O18H,OOOH,OOOH,O18H,O3CH,O7EH ;两边叠加后递减 DB OOOH ;全亮END ;程序结束指令原理框图如图3所示:图2方案三系统方框图1.4方案对比与选择以上方案中,位控法思维简单明了但程序过长,不适合编写。循环移位法简短,且 实现以上功能方便。查表法可随心所欲实现流水灯的花样变化,但要实现按键也是一种 麻烦事。显然用第二种循环移位法最合适。2延时子程序的计算延时子程序的延时计算问题对于程序Delay:mov r5,#2Dz1:m

13、ov r7,#250Dz2:mov r6,#250djnz r6,$djnz r7,Dz2djnz r5,Dz1ret查指令表可知MOV DJNZ指令均需用两个机器周期,而一个机器周期时间长度为12/11.0592MHz所以该段程序执行时间为:(1+250 X 2) X 250+250X 2 X 2+2X 2+2 X 12- 11.059200 = 272.9mS2.1原理图的设计根据设计要求其原理图如图4所示:图3放大电路原路图上电后系统经过初始化,查询是否有功能切换键按下:有,则进入用户设定模式状 态;无,则继续进行原来的运行状态。在用户设定模式状态下,用户可以根据个人爱好 及不同场合的需

14、要来指定调用哪些模式,如果用户想进入下一种状态模式,只需按一下 功能切换键即可跳入下一种状态模式,程序会跳到下一种亮灯模式;在默认工作状态下, LED小灯控制器按照程序设定好的若干亮灯花样模式程序Model一直运行下去,如果想进入用户设定模式程序Model_i+1状态,只需按下功能切换键即可。2.2分频控制电路设计单片机。电路如图7示:序号花型(一)花型(二)花型(三)花型(四)1011111110001000110001000000110002101111110011001111001100001111003110111110111011111101110011111104111011111

15、11111111111111111111111511110111111011100111011111100111611111011110011000011001111000011711111101100010000001000110000001811111110000000000000000000000000图4 CD4051分频控制电路花型(一):前一个移存器的S1为0, S0为1。前4个节拍右移置入1,后4个节 拍右移置入0。另一个移存器的si为0, so为1,前4个节拍右移置入1,后4个节拍 右移置入0。花型(二):前一个移存器的s1为0, s0为1。前4个节拍右移置入1,后4个节 拍右

16、移置入0。后一个移存器的s1为1, s0为0,前4个节拍左移置入1,后4个节拍 左移置入0。花型(三):前一个移存器的s1为1, s0为0,前4个节拍左移置入1,后4个节 拍左移置入0。后一个移存器的s1为0, s0为1,前4个节拍右移置入1,后4个节拍 右移置入0。花型(四):前一个移存器的s1为1, s0为0,前4个节拍左移置入1,后4个节 拍左移置入0。后一个移存器的s1为1, s0为0,前4个节拍左移置入1,后4个节拍 左移置入0。223系统软件工作流程图3.1多周期同步测量原理及误差分析00000000000000原理如图8所示。图5多周期测频原理被测彳比号。000000000000

17、3.2运行和调试当上述程序之一编写好以后,我们需要使用编译软件对其编译,得到单片机所能识别的二进制代码,然后再用编程器将二进制代码烧写到AT89C52单片机中,最后连接好电路通电,我们就看到LEDL LED8的“流水”效果了。本文所给程序实现的功能比 较简单,旨在抛砖引玉,用户可以自己在此基础上扩展更复杂的流水灯控制,比如键盘 控制流水花样等等。本次设计测频采用00000000000图6测频原理被测信号000000000000000000000程序流程图如图10所示:有按键按下否?图7软件系统流程图4详细仪器清单表格1仪器清单序号类型数量1PCB板1块21000UF电容2个322UF电容1个4

18、30PF电容4个5发光二极管10个6三位数码管2个7三极管90158个8带锁开关1个9三孔接线座2个10轻触开关19个11USB 接口1个12IN40014个13蜂鸣器1个1478051个15DC座1个16680Q电阻8个171K电阻17个181K排阻1个192K电阻5个2010欧电阻1个21ADC0809 芯片1片223V电池座1个23IC插座20脚1个24IC插座16脚1个252脚排针15个263脚单排1个27跳帽8个283V电池1个29电源适配器1个30串口线1根319针串口座1个329针串口盖1个5总结与思考及致谢为期两周的单片机课程设计已经接近尾声了。记得刚拿到设计课题时,觉得 这个

19、题目太简单了,不就是一个花样流水灯吗!非常熟悉的东西啊。可是当真正 投入设计时,很多问题出来了。在这次设计中遇到的问题及解决方法:(1)在实现流水灯的功能时,时钟是不能停止的,否则显示的时间就会不正确。因此我们 使时钟的中断优先级高于秒表的优先级,在执行跑表程序时,会被时钟中断程序 中断,但这会使跑表的时间产生误差,这是不可避免的,因为单片机每次只能执 行一个任务,所以我们只能尽量减少误差。解决的方法:使时钟的中断周期大于 跑表的中断周期(时钟每中断一次为 125ms,跑表每中断一次为100mS,这样误 差会相对减少些。(2)单片机口线不够(在该次设计为简单起见中没有扩展I/O口),造成口线不

20、够的原因是,译码显示电路设计不合理。起初我采用的译码显 示块是不带锁存功能的,所以要接锁存芯片,从而造成了口线的浪费。后来我采 用了 CD4511它是集锁存、译码、驱动功能于一体的。这样就节省了很多I/O 口。(3)程序调试时也出现了许许多多的问题,虽然程序本身的问题不大,但由于 粗心录入程序时,将程序敲错,比如将 0 (零)和字母O混淆,还有中文标点符 号和英文标点符号混淆等。这样的错误很难发现,以至于花费了很多时间。通过本次课程设计,不仅使我将课本上学到的理论知识的到了实践,从而巩 固了知识。还使我了解了一个完整的系统是怎样开发的。也了解到单片机的强大 功能,同时也知道在开发系统时基础知识

21、的重要性。同时也感谢老师给我们这样好的机会来学习单片机。参考文献1 朱定华,戴汝平单片微机原理与应用.(M)北京:清华大学出版社,20032 张鑫,单片微机原理与应用。北京,电子工业出版社,2005.83 徐煜明,韩雁单片机原理及接口技术M.北京:电子工业出版社, 2005.12006.44 万光毅,严义,邢春香.单片机实验与实践教程M.北京:北京航空航天大学出版社,蔡明文,冯先成,.单片机课程设计.武汉:华中科技大学出版社,2007.3附录一:89c52芯片U7ne1JL C71449 BJ* jKvccPH*r: i t:d:f: c心J;2iX : HDL113<K:aLC'

22、;» jI1如 j aIWitTijEruA: 4 4isKi£K jAOjP:i aM0 * it,*itT4t *awn * v A-3i *9nir翼$ 4mtc珀: mIAVPJ31ur1 1» V如i于严沁Al£乳1.右3I费rj 1 mkb:u21呀4L4JfJI以丄右K 4 7:K d A142*nttlniAiaK3fl-4応Tj i VI»4AtlB 4J <K4n *1呷 k>5 jmM 5 alt24KJXTaUti:CTaL2K 1 JklO:3期:CaLI冲VTaT 沪1 aA *M i > AfAU

23、-f -9 e2Q0护“血St勺1 *Ke丄f b .钳89C52附录二:89c52的PCB板图VT4L2noJtin2FU4Fl 4百皿iPlFTKDFl UllW(PI 1 TTTihi 町 A.niihi i 応nip-j J>u sm?Fl 4E 耳 U>1p| $TO 4 4£MPI jAFl呼童嘻TH r 4J SF1 H FI- i fF料 1 TSJPjUj jrM J Z>M i Mlf: IJK jjiyjF* 刑 1 4IT .1 5 Tlin.茂 ai .1R忙 I Al 1XTA1JM 2 AilGOA1 1fy 1 ji>2 U A

24、U11.)1)T(JmIFMI89CE2附录三:程序org OOOOhsta rt: mov r2,#0mov r4,#0fehmov r3,#0fehmov r1,#0mov p1,#0FFhstartl:Ijmp j28jb p3.3,j20acall relayj20:jnb p3.3,jjjcjne r2,#1,j21j21:jc j1cjne r2,#2,j22j22:jc j2cjne r2,#3,j23j23:jc j3cjne r2,#4,j24j24:jc j4cjne r2,#5,j25j25:jc j5cjne r2,#6,j27j27:jc j28jjj:inc r2cjne r2,#6,$+3jc j10mov r2,#0j10:jnb p3.3,$jmp startljl:mov p1,r3 acall re

温馨提示

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

评论

0/150

提交评论