基于单片机的流水灯系统_第1页
基于单片机的流水灯系统_第2页
基于单片机的流水灯系统_第3页
基于单片机的流水灯系统_第4页
基于单片机的流水灯系统_第5页
已阅读5页,还剩7页未读, 继续免费阅读

下载本文档

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

文档简介

1、列表1.选择系统方案.x1.1设计要求.x1.2选择方案.x2系统的硬件设计与实现.x2.1芯片简介.x2.2电源.x2.3时钟.x2.4 I/o线.x2.5晶振电路.x2.6 LED电路.x2.7键电路.x3系统的软件设计.x3.1流程图.x3.2编程.x3.3模拟电路图.x3.3.1模拟电路初始化图.x3.3.2模拟结果(设计实施的功能).x3.3.3结论.x4.设计经验和经验.x5.参考文献.x【摘要】:多个灯泡有规律地点燃或顺序流动的水等。这用于夜间建筑装饰。例如,在建筑物的角落放置流动的水灯,有使其美丽发光的效果。一般来说,单片机的流动灯由多个LED发光二极管组成,在单片机系统运行时

2、,可以显示不同状态下不同组合的流动,在单片机系统发生故障的情况下,可以显示当前的错误代码,并可用于诊断错误。单片机(AT89C52 .BUS),该设计对微控制器I/O端口控制LED进行编程,以显示上下流、停止流、闪灯等功能,按键控制多种照明方法,并通过键盘扫描LED的工作方式。LED通过总阳极连接依次传送到连接的LED上的I/O端口,从而使LED亮起。关键字:流灯键控制微控制器1、程序:1.1设计要求:以单片机为中心设计节日彩灯控制器:P1.2开始,按此键,灯开始(从上到下)流动。P1.3停止,按此键将停止流,所有灯光都变暗。P1.4按下此键,灯从上到下流动。P 1.5-按下此键,灯从下向上流

3、动。1.2选择方案:根据主题要求,控制模块必须选择微控制器作为核心控件,可以选择AT89C51、AT89C52和自己的总线型号,可以选择BUTTON作为击键,当然也可以用交换机代替。显示模块的LED发光二极管也有红色、蓝色、绿色等多种颜色可供选择。考虑到主题要求和电路图布线问题,经过仔细分析和论证的最终方案如下:SCM: AT89C52。BUS,关键点:BUTTONLED-RED。如系统的基本方框图1.2.1所示,单片机主要用于控制流动灯模块(发光二极管),流动灯实现自上而下、停止、自下而上、闪烁的功能,关键模块控制微控制器I/O端口的输出级别,间接控制流动灯模块。微控制器AT89C52击键模

4、块流光模块(发光二极管)图1.2.1系统基本框图工作流程:系统运行后,按键1(从上到下),流灯模块的循环指示从上到下流动。释放键并停止流动。按下键2后,流灯模块环路的显示从下向上流动。释放键会停止流动。按键3时,流灯模块环路的显示交错闪烁。松开键,停止闪烁。按按钮4,从上到下打开流灯模块循环,全部打开后,一次全部关闭,从下到上全部打开。无论按哪个键,再次按5键都会停止循环,直到松开5键。2、系统硬件的设计与实现2.1芯片简介根据单片机系统扩展和系统配置的不同,单片机应用系统可分为最小系统、最小电源系统和一般系统等。AT89C52微控制器是美国ATMEL生产的低电压高性能CMOS 8位微控制器。

5、8kB闪存、256BRAM、32个I/O端口线、3个16位计时/计数器、6个矢量两级中断结构、4.25至5.50V电压操作范围和0至24mhz操作频率的2个全双工串行端口,AT89C52微控制器不需要外部扩展内存如图2.1.1所示,要使连接到P1.0端口的LED1变亮,只需将P1.0端口的级别更改为较低级别即可。相反,要关闭连接到P1.0端口的LED1,请将P1.0端口的级别更改为更高的级别。同样,打开和关闭p 1.1到p 1.7端口以及P2.0到P2.7端口上的其他15个指示灯的方法与LED1相同。因此,为了实现水灯功能,只要依次打开和关闭发光二极管(LED1到LED 16),16个led就

6、会接收到明亮的光,形成流动的水灯。在这里,我们可以看到人眼的视觉持续性效应和单片机的每个指令执行时间都很短,所以在控制二极管关闭的时候需要短暂延迟。否则,看不到“流动的水”效果。图2.1.1硬件原理图2.2电源VCC-芯片电源,5V。VSS-接地端子。使用万用表测试单芯片针脚电流通常为0v或5v是标准的TTL级别,但是有时,在单芯片程序运行的情况下,测试结果介于0v-5v之间,而不是此值。这意味着万用表反映的不是那么快,在某一时刻,单芯片针脚电流保持在0v或5v。2.3时钟XTAL1,XTAL2-晶体振荡电路逆相输入和输出部。2.4 I/O线89C52总共4个8位并行I/O端口:P0、P1、P

7、2、P3端口,总计32针。P3端口还具有特殊信号输入输出和控制信号(总控制)的第二个功能。2.5晶体电路晶体的选择对高可靠性的系统设计非常重要。尤其重要的是设计具有省电模式关闭(经常以低电压消耗低功耗)的系统。这是因为低功耗电压降低了提供给晶体的这里功率,晶体振动缓慢,或者根本不发生。这种现象在相变复位时并不特别明显,原因上电时电路有足够的扰动,容易产生振动。睡醒后,电路的扰动比电力时间小得多,启动起来不容易。在振荡电路中,晶体不能过激(容易在谐波中振动)或欠激(不易振动)。晶体的选择至少要考虑谐振频率点、负载电容、激发功率、温度特性、长期稳定性。89C52单片机时钟信号通常采用冷电路形式,具

8、有内部振荡和外部振荡方式。基于晶振的振荡器通常提供很高的初始准确度和较低的温度系数。相对RC振荡器可以快速启动,但提供的初始精度和温度系数可能不好。图2所示的电路可以产生稳定的时钟信号,但是其性能受环境条件和电路组件选择以及振荡器布局的影响。使用时,组件应根据特定的逻辑系列进行优化。在针脚XTAL1和XTAL2外部晶体振荡器或陶瓷谐振器中配置内部振动子。微控制器内部是增益高的逆相放大器,XTAL1是内部逆相放大器的输入端,XTAL2是内部逆相放大器的输出端,在两端连接正振后构成自激振荡电路并产生振荡脉冲,振荡电路输出的脉冲信号的频率是正振的固有频率。内部振荡模式外部电路如图2所示。在实际应用中

9、,通常需要晶振两端和地面之间的小电容器在图2.2.5中,C1、C2起到振动频率、快速振动的作用。起始值为5-30PF。晶体频率的典型值为12MHZ,内部振荡产生的时钟信号相对稳定,更多用于实用电路。外动振动方式是外部已有的时钟信号进入微控制器内部,将适用的微控制器时钟与外部信号同步的方式。89C52XTAL1 XTAL2图2.2.5内部冲击方式的外部电路图2.6,LED电路LED是能够将电力转换为可见光的半导体,改变白炽灯钨丝发光和节能灯三原色粉末发光的原理,使用电场发光。图2.1.1指示灯连接220欧姆的电阻,连接5V的电压。LED灯电路连接到单片机P1入口。LED指示灯阳极连接电源、阴极连

10、接微控制器I/O端口、低级驱动器、微控制器相应的针脚具有低级驱动器时,指示灯亮起2.7,关键电路图2.1.1微控制器3。0.4端口各有键,键的另一端在一起,按键时相应的端口输入0,以驱动相应的电灯功能。3、软件设计和仿真3.1流程图开始初始化中P3.0=0?P3.1=0?P3.2=0?P3.3=0?P3.4=0?键盘扫描延迟从下往上流延迟交错闪烁延迟延迟东流西流够了由上往下流延迟yyyyynnnnn3.2编程单片机的应用系统由硬件和软件组成。完成上述硬件的结构图后,我们还看不到流动的水灯循环的现象,也必须告诉微控制器如何工作。也就是说,编写控制单片机针脚水平高低变化的程序,使发光二极管变亮。软

11、件编程是单片机应用系统的重要组成部分是单片机学习的重点和难点。以下是此设计的程序代码:#include#include#include#define LED_PORT1 P1#define LED_PORT2 P2sbit aSwitch=P3 0;Sbit bSwitch=P3 1 1Sbit cSwitch=P3 2 2sbit dSwitch=P3 3 3;Sbit eSwitch=P3 4 4int b;int c;int d;void time(unsigned int ucMs);/*延迟单位:毫秒*/Void main(void)Unsigned char ucTimesUnsi

12、gned char temp# define DELAY _ TIME 200/200毫秒延迟int a;A=DELAY _ TIME进入While (1) /死循环 LED _ PORT1=0x00/所有指示灯亮起LED _ PORT2=0x00While(!ASwitch) /密钥a控制子例程 temp=0xfeD=0x01C=0x00for(UC times=0;UcTimes8UcTimes)LED _ PORT2=tempb=c d;LED _ port 1=b;TIME(DELAY _ TIME);temp=1;c=b;d=1;Temp=0xfeD=0x01C=0x00for(UC

13、 times=0;UcTimes9UcTimes)LED _ PORT1=tempb=c d;LED _ port 2=b;TIME(DELAY _ TIME);temp=1;c=b;d=1;While(!e交换机) LED _ PORT1=0xffLED _ PORT2=0xffWhile(!BSwitch) /密钥b控制子例程Temp=0x7fD=0x80C=0x00for(UC times=0;UcTimes9UcTimes)LED _ PORT1=tempb=c d;LED _ port 2=b;TIME(DELAY _ TIME);temp=1;c=b;d=1;Temp=0x7fD=0x80C=0x00for(UC times=0;UcTimes9UcTimes)LED _ PORT2=tempb=c d;LED _ port 1=b;TIME(DELAY _ TIME)

温馨提示

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

评论

0/150

提交评论