红绿双色彩灯设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
郑州科技学院
单片机课程设计
题目红绿双色彩灯的控制学生姓名---------
专业班级 11级电科二班
学号=========
院(系)电气工学院
指导教师 90090900 完成时间 2015年 1月 9 日
目录
1 课程设计的目的、要求及思想 (1)
1.1 设计目的 (1)
1.2设计要求 (1)
1.3设计思想 (1)
2 硬件设计与焊接调试 (2)
2.1硬件结构 (2)
2.2硬件设计 (3)
2.3硬件连接图 (4)
2.4电路的焊接 (4)
2.5电路的调试 (4)
3 软件设计 (5)
3.1软件总体设计 (5)
3.2 主程序设计 (6)
3.3子程序设计 (6)
3.4码程序设计 (7)
3.5程序流程图 (9)
4 软件调试与仿真说明 (9)
4.1仿真过程 (9)
4.2仿真结果 (10)
5 结束语 (10)
参考文献 (12)
附录1:总体电路原理图 (13)
附录2:元器件清单 (14)
附录3:实物图 (15)
1 课程设计的目的、要求及思想
1.1 设计目的
近年来随着科技的发展,单片机的应用正在不断走向深入,同时带动传统控制检测日新月异更新,在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象点的软件结合,加以完善。流水灯,可以更简单、方便的使用。通过本课程设计使学生进一步巩固单片机原理及应用的基本概念、基本理论,分析问题的基本方法,增强系统地运用已学的理论知识解决实际问题的能力和查阅资料的能力。培养一定的自学能力和独立分析问题、解决问题的能力,能通过独立思考、查阅工具书、参考文献,寻找解决方案。
1.2设计要求
设计流水灯的基本要求:设计一个流水灯,应用AT89C51试验系统,电路开启后红、绿两种颜色的灯在时钟信号作用下按一定规律转换状态。
1.3设计思想
整个系统工作由软件程序控制运行,根据需要,可以上电后系统经过初始化,进入用户设定模式状态。基于AT89C51单片机的彩灯控制方案,实现对LED彩灯的控制。本方案以AT89C51单片机作为主控核心,与驱动等模块组成核心主控制模块。在主控模块上设有晶振电路和16个LED显示二极管,根据需要编写若干种亮灯模式,根据各种亮灯时间的不同需要,在不同时刻输出灯
亮或灯灭的控制信号。
2 硬件设计与焊接调试
2.1硬件结构
由图2-1可以看出,单片机内部主要包含下列几个部件:一个8位CPU;一个时钟电路;4Kbyte程序存储器;128byte数据存储器;两个16位定时/计数器;64Kbyte扩展总线控制电路;四个8-bit并行I/O端口;一个可编程串行接口;五个中断源,其中两个优先级嵌套中断。
图2-1 AT89C51硬件结构框图
2.2硬件设计
51单片机是整个彩灯循环系统的核心是控制彩灯循环闪烁等等一切功能的部件;其中内部有ROM、有RAM、有并行I/O口等,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O 口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。
电路中C1、R2……组成复位电路,它的作用是将单片机内部特殊功能寄存器和端口寄存器恢复到初始状态,从内部FLASH存储器的初始状态开始执行。
单片机本身如同一个复杂的同步时序电路,为了保证同步工作,电路应在唯一的时钟信号控制下,严格地按规定时序工作。而时钟电路就用于产生单片机工作所需要的时钟信号。
利用单片机的P口控制:LED的发光闪烁,再利用编程实现流水灯的电路,用软件来实现对LED的控制,每个LED接一个限流电阻,来控制流入LED发光管的电流。
2.3硬件连接图
图2-2 硬件连接图
2.4电路的焊接
(1)对所有元件进行检测,确保每个元件的质量。
(2)在万能板上依据单片机最小应用系统原理图设计电路图,进行规划振荡电路、复位电路、电源电路、外围电路、单片机芯片的布局时要疏密合理。
(3)依据电路图,先焊接振荡电路,在焊接外围电路,复位电路,电源电路,焊接的时候要注意晶振电路应尽量靠近单片机芯片,性能会更稳定。
2.5电路的调试
(1)用万用表检测电源是否接通,主要是看看40脚和20脚之间是否有5V电压。
(2)检测第31引脚,是否有5V电压,目的是确保使用了片内存储器。
(3)检测P3口或P2口的空闲电压是否有5V电压,如果没有,说明单片机系统没有工作。
(4)用万用表检测复位电路,通过复位按键,检测第9脚的电压是否为变化,如果按键没有按下,电压为0V,按键按下后,电压立刻变为5V,之后很快的降为0V,则表示复位电路正常。
(5)用示波器检测振荡电路,主要是检测第18、19脚,检测是否有震荡波产生,如果有,表示震荡电路正常。
(6)最后,检测电路板上的焊接走线是否有短路、断路、虚焊等焊接故障。
3 软件设计
3.1软件总体设计
用查表的方法控制点亮流水灯,即移位的思想
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff;//左边单个点亮
0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00;//右边逐个点亮
0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff;//左边逐个熄灭
0x7f,0x8f,0xdf,0xef,0xf7,0xf8,0xfd,0xfe,0xff;//右边单个点亮
0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00;//左边逐个点亮
0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff;//右边逐个熄灭
0xfc,0xf9,0xf3,0xef,0xcf,0x9f,0x3f,0xff;//左边逐两个点亮0x3f,0x9f,0xcf,0xe7,0xf3,0xf9,0xfc,0xff;//右边逐两个点亮0xf8,0xf1,0xe3,0x07,0x8f,0x1f,0xff;//左边逐三个亮