基于单片机最小系统的流水灯
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电气工程学院学生科研实践计划项目
总结报告
项目编号:SRPP201715
项目名称:基于单片机最小系统的流水灯项目参加人:李恺(论文撰写者)任子业所在班级:电子161
项目指导教师:宋潇
项目完成时间:2017年 6 月
填报日期:2017年 6 月 4 日
河南科技大学电气工程学院
2016年制
目录
一、项目研究内容 (3)
二、设计方法 (3)
三、系统各模块的设计过程 (4)
1.电源模块 (4)
2.单片机最小系统 (5)
3.驱动电路 (8)
4.PCB设计 (8)
四、系统软件设计 (10)
1.源程序 (10)
2.程序流程图 (11)
五、系统调试与结果分析 (12)
六、总结 (14)
一、研究内容
单片微型计算机简称单片机,是指集成在一块芯片上的计算机,它具有与结构简单,控制功能强,可靠性高,体积小,价格低等优点。单片机技术作为计算机技术的一个重要的分支,广泛的应用于工业控制,智能仪器仪表,家用电器,电子玩具等各个领域。
此次研究的内容是:用AltiumDesigner制作基于单片机最小系统流水灯的原理和PCB,自己进行各个原件的焊接。并进行程序的设计,通过程序来精确的控制LED的亮灭时间,从而达到预期的目的。
二、设计方法
首先,我们设计使用8个LED小灯制作流水灯,采用STC90C51RC作为主控芯片,并在单片机外围设计了电源指示模块,复位电路和晶振。通过编程控制I/O口的电平高度,使8个LED灯能够准确的以不同的时间亮灭。
其基本的模块图如下所示:
图2-1-1 流水灯结构
在这之后,为了防止所设计的系统没有误差,同时练习自己的焊接能力,于是我们找到了洞洞板并将单片机的最小系统焊于其上,录入程序看是否工作。如果不工作则进行修改,直到成功为止。这样,即练习了焊接技术以防焊接PCB时失误又能够进一步掌握单片机最小系统。
最后进行程序和PCB的设计。主要通过Keil uVision5和AltiumDesigner两个软件进行单片机的程序设计,原理图和PCB的制作。最后用stc-isp-15将所得到HEX文件烧录到单片机中,观察说设计的系统是否达到所预期的目的
三、系统的各模块设计过程
1、电源模块
供电采用5v的USB供电
图3-1-1 电源电路
C4为去耦合电容,通过此电容将电路中的耦合产生的能量传递抵消,从而减小了对单片机工作的影响。
2、单片机最小系统
(1)单片机裸片如图所示
STC90C516RC+系列单片机是宏晶科技推出的新一代超高速、低功耗的单片机,指令代码完全兼容传统8051单片机。指令代码完全兼容传统8051单片机,12时钟的机器周期和6时钟的机器周期可任意选择,内部集成MAX810专用复位电路,时钟频率在12MHz以下时,复位脚可直接接地。
我们用P2引脚作为电路的驱动接口,用RST引脚连接复位电路,用XTAL1和XTAL2连接晶振,用RXD和TXD连接下载模块,VCC和GND连接电源。
图3-2-1 单片机
(2)晶振
如图所示:
XTAL2
XTAL1
图3-2-2 晶振电路
每个单片机系统里都有晶振,全程是叫晶体震荡器,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。晶振旁边接的是负载电容,负载电容是指晶振的两条引线连接IC块内部及外部所有有效电容之和,可
看作晶振片在电路中串接电容。负载频率不同决定振荡器的振荡频率不同,而我们采用的是12MHz的晶振,结合芯片手册的说明所以使用了47pf的负载电容。
(3)复位电路
如图所示:
当单片机的RST引脚置于高电平几秒后,单片机复位,程序重新执行。
RST
图3-2-3 复位电路
VCC上电时,C充电,在10K电阻上出现电压,使得单片机复位;几个毫秒后,C充满,10K电阻上电流降为0,电压也为0,使得单片机进入工作状态。工作期间,按下S,C放电,在10K电阻上出现电压,并持续一段时间,使得单片机复位。松开S,C又充电,几个毫秒后,单片机进入工作状态。
(4)下载模块如图所示:
插针2接单片机TXD引脚,插针1接单片机RXD引脚。
图3-2-4 插针
图3-2-5 下载模块
USB下载模块是单独的物件,没有直接焊入PCB中,于是用四头插针与相应功能的接口连接,然后再用杜邦线与插针连接就能实现相应的功能。
(5)上拉电阻的设计
如图所示:
图3-2-6 上拉电阻
P0口是集电极开路输出,也就是OC门,这种结构没有输出高电平的能力
就相当于一个一端接地的开关, 按下去就输出低电平0V,断开就没有电压,是悬空状态.如果要输出高电平控制一个器件,而这个器件本身又没有内置上拉,就必须自己接一个上拉电阻。3、驱动模块
如图所示:
图3-3-1 驱动电路
单片机的I/O输出能力不足以驱动LED灯,所以采用灌电流的方式来驱动LED灯发光。
4、PCB的设计
我主要设计PCB,在设计PCB时遇到了不少的困难。首先是原理图,设计时需要很多的原件,有的元件库里的元件没有封装有的有,但是有很多是不能用的。而且,不同的元件库里的原件还不一样,而自己画原件又很浪费时间,也不会画。于是就在网上找了很多的资源,最终将原理图的问题解决。在画PCB时,先进行原件的布局,之后开始布线,为了减少信号的损失我把地线加粗为30mil,电源线加粗为20mil。考虑我们所做的板子非常的小,就没有进行覆铜。然而一些封装却无法解决,比如说排阻即找不到封装自己也不会画,还有就是一些电容,找到封装,但是不符合实际,不是太大就是太小,结果只画了图而没有去制作。
原理图如下: