1、2.1 系统开发背景 随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。 led 彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰已经成为一种时尚。但目前市场上各式样的 LED 彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行改进。2.2 系统操作流程
2、图通过以上的描述,画出系统的操作流程图如下: 图2.2 节日彩灯操作流程图3 系统开发方法及工具简介3.1 系统开发简介单片机(SCM)是单片微型计算机(Single Chip Microcomputer)的简称。它是把中央处理器CPU、随机存储器RAM、只读存储器ROM、I/O接口电路、定时/计数器以及输入输出适配器都集成在一块芯片上,构成一个完整的微型计算机。随着SCM在技术上、体系上不断扩展其控制功能,国际上已经采用MCU(MicroControllerUnit)代替单片机的名词。它的最大优点是体积小,可放在仪表部。但存储量小,输入输出适配器简单,功能较低。目前,单片机在民用和工业测控领
3、域得到最广泛的应用,早已深深地融入人们的生活中。近年来,AT89C51在我国非常流行,它最大的特点是部有可以多次重复编程的闪烁ROM,并且闪烁ROM可以直接用编程器来擦写(电擦写),使用起来比较方便【10】。一个单片机应用系统的硬件电路设计包含有两部分容:一是系统扩展,即单片机部的功能单元,如ROMRAMI/O口定时/记数器中断系统等能量不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系统配置,既要按照系统功能要求配置外围设备,如键盘显示器打印机A/DD/A转换器等,又要设计合适的接口电路。本系统采用AT89C51单片机作为中央处理器。其主要任务收集按键的信息
4、,判断按键时否按下来执行相应彩灯的点亮方式在本系统中,AT89C51单片机的P1口用于接按键,方便使用者选择方式。P0口接的时LED彩灯。3.2 开发工具介绍本次设计主要用到的是80C51单片机,以及LED灯,电阻,振荡器,电容等简单器件构成,元件简单,操作方便。3.2.1 80C51简介单片微型计算机简称为单片机,又称为微型控制器,是微型计算机的一个重要分支。单片机是70年代中期发展起来的一种大规模集成电路芯片,是CPU、RAM、ROM、I/O接口和中断系统于同一硅片的器件。80年代以来,单片机发展迅速,各类新产品不断涌现,出现了许多高性能新型机种,现已逐渐成为工厂自动化和各控制领域的支柱产
5、业之一。1)四个I/O口:P0口有三个功能1、外部扩展存储器时,当作数据总线(如图1中的D0D7为数据总线接口) 2、外部扩展存储器时,当作地址线(如图1中的A0A7为地址总线接口)3、不扩展时,可做一般的I/O使用,但部无上拉电阻,作为输入或输出时应在外部接上拉电阻。P1口只做I/O口使用:其部有上拉电阻。P2口有两个功能1、扩展外部存储器时,当作地址总线使用 2、做一般I/O口使用,其部有上拉电阻;P3口有两个功能除了作为I/O使用外(其部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。有部EPROM的单片机芯片(例如8751),为写入程序需提供专门的
6、编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的, 即:编程脉冲:30脚(ALE/PROG) 编程电压(25V):31脚(EA/Vpp) 接触过工业设备的兄弟可能会看到有些印刷线路板上会有一个电池,这个电池是干什么用的呢?这就是单片机的备用电源,当外接电源下降到下限值时,备用电源就会经第二功能的方式由第9脚(即RST/VPD)引入,以保护部RAM中的信息不会丢失。3)汇编指令指令由于操作码和操作数。分为单字节指令,双字节指令,三字节指令。4)寻址方式:立即寻址:操作数包含在指令字节中,指令操作码后面字节的容就是操作数本身。直接寻址:1部数据存储器的低128个字节单元(00H-7FH)2位
7、地址空间;3专用功能寄存器 寄存器寻址:由指令指出某一个寄存器中的容作为操作数,这种寻址方式称为寄存器寻址。寄存器间接寻址:由指令指出某一个寄存器的容作为操作数的地址。基址寄存器加变址寄存器间接寻址:用于访问程序存储器中的数据表格。相对寻址:以PC的容作为基地址,加上指令中给定的偏移量所得结果作为转移地址,只适用于双字节转移指令。4 系统分析4.1 系统分析介绍4.1.1 技术可行性51系列单片机是目前应用最为广泛的一类微处理器,它以低廉的价格和强大的功能,受到广大电子设计爱好者和工程师的欢迎。51系列单片机部具有丰富的硬件资源,例如定时器/计数器、中断系统、串行接口,并且它还提供了详尽的指令
8、操作系统,可以供程序员很方便地进行程序设计。在51系列单片机的开发过程中,程序设计是重点也是难点。初学者往往很难快速掌握单片机指令的应用、各个功能部件的编程方法及程序设计思路。 因此,技术上完全可行。4.1.2 经济可行性本系统由于本身并不复杂,不需要投入太多的人力、物力,从而开发所需要的资金投入也不会很大,在经济上是完全可行的。4.1.3 操作可行性分析随着校园网的建成与发展,正是此系统大显身手的好机会,且此系统是在校园部网上运行的。通过以上方面的分析得出结论:基于校园网的毕业设计综合管理系统符和软件开发是完全可行的。4.2 系统的综合要求1、设计4个按键key5、key6、key7、key
9、8, key5开始,按此键则灯开始流动(由上而下)。 key6停止,按此键则停止流动,所有灯为暗。 key7上,按此键则灯由上向下流动。 key8下,按此键则灯由下向上流动。2、由按键控制功能的流水灯,其中的LED采取共阳极接法,通过依次向连接LED的/口送出低电平,可实现题目要求的功能。3、要求做出实物。 5 系统设计5.1 系统总体设计5.1.1 系统的综合要求1、了解节日彩灯控制器的工作原理2、掌握按键输入的消抖处理程序和延时程序的编写3、掌握电路板的实物焊接5.1.2 系统的电路图电路图连接如下 图5.1.2 系统的电路图 6 程序设计代码代码如下:#includeintrins.h/
10、单片机上的4个独立按键sbit key5 = P14; /开始键sbit key6 = P15; /停止键sbit key7 = P16; /上sbit key8 = P17; /下void delay_ms(int n) /延时n毫秒 int i,j; for(i=0;in;i+) for(j=0;j110;j+);void main() char tmp; int key = 7, flag=0; tmp = 0xfe; /让最低位的LED灯得到低电平点亮 while(1) if(key5=0) /判断按键key5是否按下 delay_ms(10); /延时重新判断按键是否按下,延时消除抖
11、动 if(key5=0) key = 5; if(key6=0) /判断按键key6是否按下 if(key6=0) key = 6; if(key7=0) /判断按键key7是否按下 if(key7=0) key = 7;if(key8=0) /判断按键key8是否按下 if(key8=0) key = 8; if(key=5) flag=1; key=7; if(key=6) flag=0; if(flag=1) if(key=7)tmp=_crol_(tmp,1); /灯开始由上而下流动 if(key=8)tmp=_cror_(tmp,1); /灯由下向上流动 P0=tmp;delay_ms(300); /亮300毫秒 7 运行结果7.1 正向运行7.2 反向运行总结通过本次课程设计,我对51系列单片机有了更进一步的了解,同时对汇编语言的使用也有了更深一步的认识。学会了Proteus以及keil51这两款软件的使用,知道了如何用这两款软件进行程序
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1