单片机循环灯控制设计摘要本文提出了一种基于80C51单片机灯控制方案,实现对LED灯的控制。本方案以80C51单片机作为主控核心,进一步熟悉和掌握8051单片机的结构及工作原理,掌握单片机的接口技术及相关外围芯片的外特性,控制方法;通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术,通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法,通过完成一个包括电路设计和程序开发的完整过程,了解开发一单片机应用系统的全过程,为今后从事相应工作打下基础。
关键词:80C51单片机 中断 循环 目 录
第1章 硬件电路设计 41.1设计要求 41.2芯片选取及介绍 41.2.1 8051的主要性能 41.2.2 信号引脚介绍 51.2.3 信号引脚的第二功能 61.3 硬件连接图 8第2章 软件电路设计 102.1 程序流程图 102.2 程序清单 10论文小结 13参考文献 347
单片机循环彩灯控制设计硬件电路设计1.1设计要求有八个发光二极管,要求第一个闪烁十次后转到下一个继续闪烁,如此循环不止,八个信号灯通过限流电阻,接到I/O口线上,把单片机正确接线包括晶振与看门狗上电复位,+5V电源及地线,编程:单片机上电复位后把接有八个灯的口给置零,编一个100MS的中断子程序,根据你所设定的闪烁时间进行设定产生几次中断开始灯的明灭,每次明灭将30H(自定义,程序开始时清零)加1,查看是否够10,如果到10刚将接灯的I/O口的数送入A,然后再将带进位位右移或左移,然后返回循环就可以了1.2芯片选取及介绍 1.2.1 8051的主要性能1、8位微处理器和控制器2、内含一个一位布尔运算处理器,可直接对数据的位进行操作和运算,特别适用于逻辑控制。3、内部含有4KB的程序ROM。4、2个16位的计数/定时器。5、内部时钟振荡器6、全双工方式的串行接口(UART)7、两极中断优先权的6个中断源/5个中断矢量的中断逻辑。8、哈佛结构的存储器组织,支持高达64K为单周期指令,支持六种寻址方式。9、最高时钟振荡频率可达12MHZ,大部分指令执行时间为1µs,乘、除指令为4µs。1.2.2 信号引脚介绍 1、输入/输出口线 ~ 口8位双向口线 ~ 口8位双向口线 ~ 口8位双向口线 ~ 口8位双向口线2、ALE 地址锁存控制信号在系统扩展时,ALE用于控制把 口输出的底8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。此外由于ALE是以六分之一晶振频率的固定频率输出的正脉冲,因此可作为外部时钟或外部定时脉冲使用。3、 外部程序存储器读选通信号在读外部ROM时 有效(低电平),以实现外部ROM单元的读操作。4、 访问程序存储器控制信号当 信号为低电平时,对ROM的读操作限定在外部程序存储器;而当 信号为高电平时,则对ROM的读操作是从内部程序存储器开始,并可延续至外部程序存储器。5、RST 复位信号当输入的复位信号延续2个机器周期以上高电平时即为有效,用以完成单片机的复位操作。6、XTAL1和XTAL2外接晶体引线端当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。7、VSS地线 VCC+5V 电源
1.2.3 信号引脚的第二功能由于工艺及标准化等原因,芯片的引脚数目是有限的,例如MCS—51系列芯片引脚数目40条,但单片机为实现其功能所需要的信号数目却远远超过此数,因此就出现了供需矛盾,所以只能“复用”,即给一些信号引脚赋予双重功能。1、常见的第二功能信号(1) 口线的第二功能信号 的8条口线都定义有第二功能,详见下表2—1
表2—1 口线的第二功能(2)EPROM存储器程序固化所需要的信号有内部EPROM的单片机芯片(例如87C51),为写入程序需提供专门的编程脉冲和编程电源,它们也是由信号引脚以第二功能的形式提供的,即:编程脉冲: 30脚(ALE/PROG)编程电压(25V):31脚( / )(3)备用电源引入MCS—51单片机的备用电源也是以信号引脚第二功能的方式由9脚(RST/VPD)引入的。当电源发生故障,电压降低到下限值时,备用电源经端向内部RAM提供电压,以保护内部RAM中的信息不丢失。1.3 硬件连接图取晶振频率6MHZ,则一个机器周期为1us,设待求的计数初值为X,则有: (216—X)×2×10-6=100×10-3 X=15536转化为二进制数:0011110010110000,则十六进制为3CB0 有计数初值 TH1=3CH TL1=0B0H TMOD寄存器初始化 TMOD=10H
单片机循环灯控制设计软件电路设计2.1 程序流程图 2.2 程序清单程序如下: ORG 0000H AJMP START ORG 0003H ; 外部中断向量地址 AJMP DELAYSTART: MOV R2,#10 ; 设定闪烁次数 MOV A,#00H ;上电后八个灯口置0 SETB EA ;开中断 SJMP DELAY SJMP contentnbsp; ;等待中断LOOP: MOV A,#01H ;P1.0口送1 MOV P1,A LCALL DELAY ;延时100ms RLC A ;左移一位 DJNZ R2, LOOP ;判断是否闪烁10次LOOP1:lwfree.cn烁10次 LJMP START DELAY: MOV TMOD,#10H ;定时器1工作方式1 MOV TH1,#3CH ;设置计数初值 MOV TL1,#0B0H SETB EA ; 开中断 SETB TR1 ; 定时器1允许中断LOOP2: JB TF1,LOOP3 ;查询溢出标志,TF1=1时转移 SJMP LOOP2LOOP3: CLR TR1 MOV TH1,#3CH ; 重新设置计数初值 MOV TL1,#0B0H CPL P1.0 ; 输出取反 RETI ; 中断返回 END
单片机循环灯控制设计论文小结
通过这次课程设计,让我在理论的基础上对这门课程有了更深入地了解,真正做到了由理论上升到实践的过程。也由此得到一个结论:知识必须通过应用才能实现其价值!这次的设计使我在运用所学的专业知识来分析和解决实际问题方面有了很大的进步。同时,在单片机的基本原理、单片机应用技术等方面也有了很大的提高。在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益。参考文献[1] 李华,王思明,张金敏.单片机原理及应用.[J].兰州大学出版社,2009[2] 赵晓安.MCS-51单片机原理及应用. [A].天津大学出版社,2009.3[3] 胡汉才.单片机原理及接口技术.[D].北京:清华大学出版社,1995.[4] 夏继强.单片机实验与实践教程.[C].北京航空航天大学出版社, 2009[5] 张哗,王玉民,倪志莲等.单片机应用技术.[J].高等教育出版社,2009.6