当前位置:文档之家› 单片机课程设计

单片机课程设计

《单片机原理及实训教程》课程设计设计题目单片机智能流水灯控制器院系电子电气工程学院班级 12级电气(一)班姓名侯东伟学号 ********** 设计地点实验楼指导教师翟红程职称副教授指导教师签字设计日期 14年6月16——14年6月22目录封面-------------------------------1 目录-------------------------------2 前言-------------------------------3一、设计要求及M C S-51单片机简介-----------4二、硬件组成-----------------------5三、电源提供系统-------------------6四、程序流程图---------------------7五、晶振延时计算-------------------8六、源程序-------------------------8七、元件清单---------------------10 结束语----------------------------11 参考文献---------------------------11前言自计算机问世以来,单片机技术在社会各领域中得到了广泛的应用。

在流水灯控制系统中,单片机更是取代了由齿轮调节延迟时间的旧式市发展速度,成为日后此系统中的核心部分。

由于单片机具有一些突出的优点:体积小、重量轻、电源单一、功耗低;功能强、价格低;数据大都在单片机内部传送,运行速度快、抗干扰能力强、可靠性高,所以单片机被广泛的应用于测控系统、数据采集、智能仪器仪表、机电一体化产品、智能接口、计算机通信以及单片机的多级系统等领域。

本文主要用的是单片机,课题名称为单片机智能流水灯控制。

通过本课题的设计以后,使我了解到了单片机的许多方面的应用。

本课程设计介绍了一种由MCS-89C51集成块编程实现的控制电路,它完成了单片机流水灯控制功能,并给出了具体的硬件电路和相应的程序。

这种控制电路可靠性,灵活性高,使用范围广,特别适合中小城市的交通灯、霓虹灯等的应用。

而且,它对其他类似系统的开发具有一定的借鉴意义。

通过本次实训实习,使我掌握了一定的电子产品设计、制作技能和调试技术,巩固电子技术的理论知识,锻炼和提高自己的动手能力和综合运用知识解决实际问题的能力及实践动手能力。

关键词:LED 单片机控制系统流水灯设计要求及MCS-51单片机简介本设计是利用单片机智能控制流水灯的一个流水灯控制器,AT89S51单片机实现控制8个LED发光二极管构成的圆形流水灯,采用中断,用一个按键控制流水灯的顺/逆时针转换循环。

从上图可知,它主要由8个部件通过片内总线连接而成。

部件有中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行输入/输出口、串行口、定时/计数器、中断系统及特殊功能寄存器。

MCS-51单片机的封装有两种形式,一种是双列直插式(DIP)封装的形式,另一种是方形封装形式。

HMOS 工艺的8051单片机采用40引脚的DIP封装,而CHMOS工艺的单片机除采用DIP封装外,还采用方形封装形式,其中4个NC为空引脚。

采用40引脚DIP封装的8051单片机引脚排列如图1所示。

8051单片机是高性能的单片机,由于受到引脚数目的限制,所以有不少引脚具有两种功能,我们用斜线加以区分。

硬件组成按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。

AT89C51单片机是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz工作频率,使用AT89C51单片机时无须外扩存储器。

因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、电源等电路和必要的软件组成的单个单片机。

其具体硬件组成如图2所示。

图2流水灯硬件原理图从原理图中可以看出,如果要让接在P0.0口的LED0亮起来,那么只要把P0.0口的电平变为低电平就可以了;相反,如果要接在P0.0口的LED1熄灭,就要把P0.0口的电平变为高电平;同理,接在P0.1~P0.7口的其他7个LED的点亮和熄灭的方法同LED0。

因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。

在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。

电源提供系统因为提供给单片机的系统电源是直流4.25~5.50V的电压,所以给单片机提供5V直流电,具体电路及参数如下:1、电路设定输出直流电压+5V,工作室最大电流约为300mA选择7805稳压器,给定输入电压Ui=10V,对地电流为Io=8mA所以输入电流Io`=308mA U2=Ui/1.2=10/1.2=8.3现在取U2=9V外接电路的等效电阻RL`=1.2U2/Io`=1.2×9V/308mA=35.1Ω2、整流电桥二极管参数选取IF≥ID=1/2Io`=154mA URM≥√2U2=12.7V所以选取2CZ55C型号的二极管3、电源频率f=50Hz,周期T=0.02s电容容量C≥(3~5)T/(2 RL`)=(3~5)×0.02/(2×35.1)F=(855~1425)uF 最大击穿电压UCM≥√2U2=13V取C=1000uF,U=25V4、小型变压器参数选取:η=0.6,变比:220/9二次侧电流I2=(1.5~2)Io`=(1.5~2)×308mA=462~616mA取I2为500mA 二次侧容量 P2=U2I2=9×0.5VA=4.5VA一次侧容量 P1=P2/η=4.5/0.6ηVA=7.5VA平均容量P=0.5(P1+P2)=0.5(7.5+4.5)VA=6VA用C2、C3进行频率补偿,以防电路自激振荡画出电路图,如图下2所示图3 5V供电电源原理图程序流程图晶振延时计算因为所选晶振为12MHz,延时时间大约为1s,延时程序最主要的程序指令是DJNZ 指令,所以需要计算延时用DJNZ指令的次数。

步骤:1.晶振频率12MHz,所以一个机器周期为1us2.1s延时所需的总机器周期为1000000个3.由于延时较长,需用三循环程序,所以有循环DJNZ指令需执行的次数1s=1000000us,1000000/2=500000(次)内两次循环取值 N1=250,N2=250所以第三次循环N值的求法2*250*250*N3*1us=1000000us因此N3=8由此算出的N1、N2、N3的值,在实际应用中会有误差,需要经过调整误差,然后才能准确定时。

由于本设计不需要准确定时,只是大约1s的定时,所以不用调整误差值。

源程序ORG 0000HAJMP MAINORG 0003HLJMP INTORG 0030HMAIN:MOV SP,#30H ;初始化中断MOV IE,#81HSETB IT0CLR F0SJMP $INT:MOV C,F0 ;执行一次中断FO取反一次CPL CMOV F0,CJB F0,LOOP ;判断F0的状态MOV A,#01HAA:MOV P3,A ;灯右移动一位RR AACALL DZ ;调用延时程序AJMP AALOOP:MOV P3,A ;灯左移动一位RL AACALL DZ ;调用延时程序AJMP LOOPCC:RETI ;中断返回DZ:MOV R7,#4 ;延时子程序DL3:MOV R6,#250DL2:MOV R5,#250DL1:DJNZ R5,DL1JB P3.2,CC ;判断中断状态,是否有按键按下DJNZ R6,DL2DJNZ R7,DL3RETEND元件清单单片机课程设计结束语通过这次课程设计我了解了单片机控制流水灯的工作原理,发光二极管以及AT89C51的应用,使我认识到了单片机的重要性。

在设计中,能够通过一个按键产生中断信号,控制8个LED灯的流动和方向。

在这次设计中,不但使我学到了许多理论上的知识,而且还提高了我的动手实践能力。

仿真调试主要就是对程序的编译和写入,用来验证程序的正确性和可运行性。

撰写论文时首先要做的就是对资料的收集,它们主要来自于一些参考文献、集成芯片和元器件功能的介绍。

下一步就是把资料组织成一篇具有逻辑的文章,从整个论文的撰写中,使我学会了对资料的组织能力。

终于在规定的时间里完成了课程设计的任务,通过这次的实习实训,整个过程中使我学到了关于电子技术工程上的许多东西。

也使我知道了理论知识与实践相结合的重要性。

掌握了许多书本以外的电子技术知识,培养了专心工作学习的习惯,懂得了相互之间的帮助与理解,这次课程设计使我受益匪浅。

参考文献[1]《单片机原理及实训教程》北京师范大学出版社湛洪然等编著[2]《51单片机应用从零开始》清华大学社杨欣王玉凤刘湘黔编著[3]《51单片机应用系统开发典型实例》中国电力出版社戴佳等编著第 11 页共 11 页。

相关主题