多按键花样流水灯的设计_第1页
多按键花样流水灯的设计_第2页
多按键花样流水灯的设计_第3页
多按键花样流水灯的设计_第4页
多按键花样流水灯的设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

摘要自人类创造计算机以来,单片机技术在社会各领域中得到了广泛的应用。在流水灯控制系统中,单片机的作用更是发挥的淋漓尽致,成为此系统中的核心局部。利用单片机的可编程功能,软硬件结合,来控制LED的灯的开通关断,通过丰富多彩的把戏变化,给人以不同的视觉效果,更是成为现代商业社会不可缺少吸引消费者的普遍手段。本文结合单片机的突出特点,着重介绍通过单片机来实现多按键把戏流水灯的变化,主要包括其软件程序的编写、硬件电路的搭接、器件的选择,以及通过PROTEUS的仿真和PCB板的制作等。

关键词:

单片机、可编程控制器、多按键把戏流水灯、准确。前言单片微型计算机简称单片机〔single-chip

microcomputer〕,又称为单片机微型控制器〔single-chip

microcontroller〕,是由CPU、RAM、ROM、定时/计时器、I/O接口电路通过应刷电路板上的总线连成一体的完整计算机系统。从1971年出现单片机的雏形开始,短短四十多年的时间里,单片机便社会各领域中得到了广泛的应用在流水灯控制系统中,单片机更是取代了由齿轮调节延迟时间的旧式控制系统,成为日后此系统中的核心局部。由于单片机具有一些突出的优点:体积小、重量轻、电源单一、功耗低;功能强、价格低;数据大都在单片机内部传送,运行速度快、抗干扰能力强、可靠性高,所以单片机被广泛的应用于测控系统、数据采集、智能仪器仪表、机电一体化产品、智能接口、计算机通信以及单片机的多级系统等领域。本文主要讲的是单片机,课题名称为多按键把戏流水灯,它使我们学会了如何使用单片机控制我们日常生活中的多设备设施的应用。通过本课题的设计以后,使我了解到了单片机的许多方面的应用。目录摘要1前言2第一章设计目的和要求41设计目的42设计根本要求4第二章

80c51单片机简介480c51单片机4引脚介绍:5总线系统:6第三章:方案设计任务分析7第四章软件设计91中断子程序92跑马灯子程序93流水灯子程序94戏水灯子程序105循环子程序106延时子程序11第五章:硬件系统设计121时钟及复位局部电路122主控系统133把戏灯输出控制局部14第六章:系统仿真151KeilC51仿真152proteus仿真18第七章:课程设计与总结20参考文献21第一章设计目的和要求1

设计目的掌握51系列单片机的根本硬件结构及工作原理;

2〕掌握51系列单片机的汇编语言及根本程序设计方法;3〕学习并掌握使用51系列单片机开发控制系统的根本步骤及方法2设计根本要求1〕选择一个I/O口控制八只流水灯。2〕设置四个按键K1—K4,按下K1跑马灯,K2流水灯,K3戏水灯,K4那么循环三种控制方式。3〕跑马灯:共8个LED逐次点亮,每隔100ms点亮一个LED,点亮100ms后关闭。4〕流水灯:共8个LED逐次点亮,每隔100ms点亮一个LED,点亮100ms后下一个LED点亮,当所有LED灯全部点亮后,延时100ms,然后全灭;然后继续上次操作。5〕戏水灯:共8个LED,第一次1、3、5、7号灯点亮,延时100ms,关闭,延时100ms,2、4、6、8号灯点亮,延时100ms,关闭,延时100ms。然后继续上次操作。第二章80c51单片机简介80c51单片机80C51单片机属于MCS-51系列单片机,由Intel公司开发,其结构是8048的延伸,改良了8048的缺点,增加了如乘〔MUL〕、除〔DIV〕、减〔SUBB〕、比拟〔PUSH〕、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源。采用40引脚双列直插式DIP〔Dual

In

Line

Package〕,内有128个RAM单元及4K的ROM。80C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。80C51内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。由于80C51的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故采用作为控制核心。MCS-51系列单片机内部采用模块式结构,其结构组成框图如下图。引脚介绍:引脚是单片机和外界进行通信的通道连接点,用户只能通过引脚组建控制系统。从应用的角度来看,引脚的应用是单片机应用的一个重要根底。因此熟悉引脚是学习应用单片机的根底。单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。⒈电源:VCC-芯片电源,接+5V;⑵VSS-接地端;⒉时钟:XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。⒊控制线:控制线共有4根,⑴ALE/PROG:地址锁存允许/片内EPROM编程脉冲①ALE功能:用来锁存P0口送出的低8位地址②PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。⑵PSEN:外ROM读选通信号。⑶RST/VPD:复位/备用电源。①RST〔Reset〕功能:复位信号输入端。②VPD功能:在Vcc掉电情况下,接备用电源。⑷EA/Vpp:内外ROM选择/片内EPROM编程电源。①EA功能:内外ROM选择端。②Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。⒋I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号〔属控制总线〕。P0口输入时需要接上拉电阻才能置1:

MCS-51系列单片机的引脚封装主要有:

PDIP40、PLCC44和PQFP/TQFP44。不同封装的芯片其引脚的排列位置有所不同,但他们的功能和特性都相同。方形封装〔PLCC44和POFP/TQFP44〕有44引脚,其中4个NC为空引脚。采用40引脚PDIP封装的80C51单片机的引脚排列及逻辑符号如下图。引脚示意图由于工艺及标准化等原因,芯片的引脚数量是有限的,但单片机为实现控制所需要的信号数目却远远超过其引脚数目。为解决这一矛盾,单片机的某些信号引脚被赋予双重功能。PDIP封装的80C51单片机的引脚排列及逻辑符号图总线系统:所谓总线,就是连接单片机与各外部器件的一组公共的信号线。当系统要求扩展时,单片机要与一定数量的外部器件和外围设备连接。如果各部件及每一种外围设备都分别用各自的一组线路与CPU直接连接,那么连线将会错综复杂,甚至难以实现。为了简化硬件电路的设计和系统结构,常用一组线路,并配以适当的接口电路来与各个外部器件和外围设备连接,这组共用的连接线路就是总线。采用总线结构便于扩展外部器件和外围设备,而统一的总线标准那么使不同设备间的互连更容易实现。

利用片外引脚可以构造MCS-51系列单片机的三总线结构。单片机的引脚除了电源端VCC、接地端VSS、复位端RST、晶振接入端XTAL1和XTAL2、通用I/O口的P1.0~P1.7以外,其余的引脚都是为实现系统扩展而设置的。用这些引脚构造的单片机系统的三总线结构如下图MCS-51系列单片机片外三总线结构第三章:方案设计任务分析I/O口及总线分配:采用标准80c51单片机作为控制器;采用P2口作为输出口控制八个LED的亮灭;P1口为输出口,P1.0,P1.1,P1.2,P1.3分别与四个开关K1,K2,K3,K4相连作为输入控制口,采用外部中断的控制方式控制各种把戏灯的开通。采用以上结构,考虑到只有8个LED灯,所选单片机的I/O口完全够用,不需外部扩展。该系统具有电路简单,设计方便,显示亮度高,显示准确,耗电较少,可靠性高等特点。把戏流水灯控制系统软件流程图。第四章软件设计1

中断子程序T0INT:JNBP1.0,PAOMA1JNBP1.1,LIUSHUI2JNBP1.2,XISHUI3JNBP1.3,XUNHUAN4;判0转移到相应亮灯方式MOVP2,#0FFH;P2口至高电位,关闭所有LEDRETI;中断返回2

跑马灯子程序先让P2口全部为高电平,让后让P2.1口点亮,考虑到人眼的视觉暂停效应,延时100ms,在通过移位指令依次点亮别的口,没点亮一个灯延时100ms.

PAOMA1:;跑马灯程序MOVP2,#0FFHMOVA,#0FEHLOOP1:MOVP2,ALCALLDELAYRLAJNBP1.0,LOOP1;开关闭合继续循环执行SJMPT0INT;返回到T0INT继续判断3

流水灯子程序依次点亮八个LED灯,没点亮一个延时100ms,当全部点亮时,延时100ms,关闭所有的LED灯,继续从头开始循环。

LIUSHUI2:;流水灯程序CLRP2.0;点亮P2.0口LCALLDELAYCLRP2.1LCALLDELAYCLRP2.2LCALLDELAYCLRP2.3LCALLDELAYCLRP2.4LCALLDELAYCLRP2.5LCALLDELAYCLRP2.6LCALLDELAYCLRP2.7LCALLDELAYMOVP2,#0FFH;P2口熄灭LCALLDELAYJNBP1.1,LIUSHUI2;假设开关闭合那么循环执行SJMPT0INT4戏水灯子程序先点亮1、3、5、7号LED延时100ms后关闭,再点亮2、4、6、8号LED,延时100ms后关闭,循环执行上述程序。

XISHUI3:;戏水灯程序MOVP2,#55H;点亮1,3,5,7号灯LCALLDELAYMOVP2,#0FFH;熄灭1,3,5,7号灯LCALLDELAYMOVP2,#0AAH;点亮2,4,6,8号灯LCALLDELAYMOVP2,#0FFH;熄灭2,4,6,8号灯LCALLDELAYJNBP2.2,XISHUI3;循环点亮P2口SJMPT0INT5

循环子程序XUNHUAN4:;顺序循环执行三种把戏灯MOVP2,#0FFHMOVA,#0FEHLOOP2:MOVP2,ALCALLDELAYRLAJBP2.7,LOOP2SETBP2.7LCALLDELAYINGCLRP2.0LCALLDELAYCLRP2.1LCALLDELAYCLRP2.2LCALLDELAYCLRP2.3LCALLDELAYCLRP2.4LCALLDELAYCLRP2.5LCALLDELAYCLRP2.6LCALLDELAYCLRP2.7LCALLDELAYMOVP2,#0FFHLCALLDELAYINGMOVP2,#55HLCALLDELAYMOVP2,#0FFHLCALLDELAYMOVP2,#0AAHLCALLDELAYMOVP2,#0FFHLCALLDELAYINGJNBP1.3,XUNHUAN4LCALLT0INT6延时子程序由于人眼的视觉有暂停效应,所以必须延时才能区分灯光的亮灭。考虑到实际效果本程序段延时100ms

,当执行循环子程序时,相邻两个循环灯之间的间隔时间延时500ms,以区分程序段之间的间隔。DELAY:MOVR5,#200;延时100ms程序DELAY1:MOVR6,#250DELAY2:DJNZR6,DELAY2DJNZR5,DELAY1RETDELAYING:MOVR5,#5;延时500mS程序DELAYING1:MOVR6,#200DELAYING2:MOVR7,#250DELAYING3:DJNZR7,DELAYING3DJNZR6,DELAYING2DJNZR5,DELAYING1RET第五章:硬件系统设计整套电路系统由时钟已复位局部电路、控制系统模块、把戏灯输出控制显示模块组成。1时钟及复位局部电路时钟电路单片机本身如同一个复杂的同步时序电路,为了保证同步工作,电路应在唯一的时钟信号控制下,严格地按规定时序工作。而时钟电路就用于产生单片机工作所需要的时钟信号。80c51单片机时钟电路振荡电路示意图如下图在80c51芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为引脚XTAL1,输出端为引脚XTAL2,在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容C1、C2形成反应电路,可构成稳定的自激振荡器,振荡频率范围通常是1.2~12MHz。晶体振荡频率高,那么系统的时钟频率也高,单片机的运行速度也就快。

也可以由外部时钟电路向片内输入脉冲信号作为单片机的振荡脉冲。这时外部脉冲信号是经XTAL1引脚引入的,而XTAL2引脚悬空或接地。对外部信号的占空比没有要求,但上下电平持续的时间不应小于20ns。这种方式常用于多块芯片同时工作,便于同步。本课设由于只采用了一片单片机,所以采用单片机的内部时钟电路,其晶振频率为12MHZ。2主控系统主控系统采用80c51单片机,单片机P1口用于开关控制输入,P2口用于控制输出把戏灯把戏变化,P3.2〔INTO〕口用于外部中断外输入。把戏灯输入控制模块由四个开关,电源,上拉电阻及四个二极管组成。各开关风别和相应的P1口相连于此同时通过二极管与P3.2〔INTO〕口相连。当开关处于断开状态时,各开关所对应P1.N(N为0到3)口处于高电位状态,当开关闭合时,所对应得P1.N(N为0到3)口直接与地相连,便处于低电位状态,于此同时二级管也导通,使P3.2〔INTO〕也经过二极管也直接与地相连,因此P3.2〔INTO〕的电位便被拉升到低电位,引起外部中断。此处电路二极管的设置十分必要和关键,利用二极管的单向导电性使得任意开关按下时,不至使得P1.0-P1.3口发生短路,全部被拉到低电位,假设无二极管按下任意开关时,四个开关的右端将同时处于低电位,这就使得程序不能准确判断到底是哪个开关闭合,从而就不能顺利执行相应的把戏灯程序。把戏灯输入控制系统局部电路设置十分必要和关键,利用二极管的单向导电性使得任意开关按下时,不至使

得P1.0-P1.3口发生短路,全部被拉到低电位,假设无二极管按下任意开关时,四个开关的右端将同时处于低电位,这就使得程序不能准确判断到底是哪个开关闭合,从而就不能顺利执行相应的把戏灯程序。

3把戏灯输出控制局部如图为把戏灯输出控制局部电路图。图中共有八个发光二极管,其采用共阳极结构。输出信号从80c51单片机的P2口输出,每个P2.N(N从1-7)通过总线与其相对应一个发光二极管相连,发光二管与限流电阻相连,设置限流电阻的目的是限制流过发光二极管的电流大小,不至于使其因为热效应损坏。当P2.N(N从1-7)处于低电平的时候,与其相连的二极管便被点亮,通过对P2口的上下电平的控制便控制了发光二极管的点亮与熄灭。从而实现把戏灯的变化。把戏灯输出局部电路第六章:系统仿真1Keil

C51仿真本设计使用的Keil

C51软件来进行编程。Keil

C51提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部份组合在一起。主程序显示如下:ORG0000HLJMPSTARTORG0003H;外部中断0入口地址LJMPT0INTORG0100HSTART:SETBP3.2;外部中断置1SETBEA;总中断允许SETBEX0;允许外部中断0CLRIT0;设置电平触发方式SJMP$;等待中断T0INT:JNBP1.0,PAOMA1JNBP1.1,LIUSHUI2JNBP1.2,XISHUI3JNBP1.3,XUNHUAN4;判0转移到相应亮灯方式MOVP2,#0FFH;P2口至高电位,关闭所有LEDRETI;中断返回PAOMA1:;跑马灯程序MOVP2,#0FFHMOVA,#0FEHLOOP1:MOVP2,ALCALLDELAYRLAJNBP1.0,LOOP1;开关闭合继续循环执行SJMPT0INT;返回到T0INT继续判断LIUSHUI2:;流水灯程序CLRP2.0;点亮P2.0口LCALLDELAYCLRP2.1LCALLDELAYCLRP2.2LCALLDELAYCLRP2.3LCALLDELAYCLRP2.4LCALLDELAYCLRP2.5LCALLDELAYCLRP2.6LCALLDELAYCLRP2.7LCALLDELAYMOVP2,#0FFH;P2口熄灭LCALLDELAYJNBP1.1,LIUSHUI2;假设开关闭合那么循环执行SJMPT0INTXISHUI3:;戏水灯程序MOVP2,#55H;点亮1,3,5,7号灯LCALLDELAYMOVP2#0FFH;熄灭1,3,5,7号灯LCALLDELAYMOVP2,#0AAH;点亮2,4,6,8号灯LCALLDELAYMOVP2#0FFH;熄灭2,4,6,8号灯LCALLDELAYJNBP2.2,XISHUI3;循环点亮P2口SJMPT0INTXUNHUAN4:;顺序循环执行三种把戏灯MOVP2,#0FFHMOVA,#0FEHLOOP2:MOVP2,ALCALLDELAYRLAJBP2.7,LOOP2LCALLDELAYINGCLRP2.0LCALLDELAYCLRP2.1LCALLDELAYCLRP2.2LCALLDELAYCLRP2.3LCALLDELAYCLRP2.4LCALLDELAYCLRP2.5LCALLDELAYCLRP2.6LCALLDELAYCLRP2.7LCALLDELAYMOVP2,#0FFHLCALLDELAYINGMOVP2,#55HLCALLDELAYMOVP2,#0FFHLCALLDELAYMOVP2,#0AAHMOVP2,#0FFHLCALLDELAYINGJNBP1.3,XUNHUAN4LCALLT0INTDELAY:MOVR5,#200;延时100ms程序DELAY1:MOVR6,#250DELAY2:DJNZR6,DELAY2DJNZR5,DELAY1RETDELAYING:MOVR5,#10;延时1S程序DELIAYING1:MOVR6,#200DELAYING2:MOVR7

温馨提示

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

评论

0/150

提交评论