职场文秘网

首页 > 领导讲话 > 组织讲话 / 正文

基于单片机的彩灯控制器设计毕业设计

2020-12-21 09:51:43

 

 题目:

 基于单片机的节日彩灯控制器的设计

  作 者 姓 名:

  学

  号:

  系

  (院):

 机械与电子工程学院

  专

 业:

  电子信息工程

  指导教师姓名:

 指导教师职称:

 讲

 师

  2012-X-X

 Title: Design of Lantern Controller Based on Single-chip

  Author:

 Student ID:

  Department:

 Mechanical and Electronic Engineering

 Major:

  Electrical Information Engineering

  Instructor:

  Professional Title:

  Lecturer Instructor

 Apr .21th.2012

 摘  要

 随着微电子技术的发展,人民的生活水平不断提高,人们对周围环境的美化和照明已不仅限于单调的白炽灯,彩灯已成为时尚的潮流。彩灯控制器的实用价值在日常生产实践日常生活中的作用也日益突出。基于各种器件的彩灯也都出现,单片机因其价格低廉,使用方便,控制简单而成为控制彩灯的主要器件。

 目前市场上更多用全硬件电路实现,电路结构复杂,结构单一,一旦制成成品就只能按固定模式,不能根据不同场合,不同时段调节亮度时间,模式和闪烁频率等动态参数,而且一些电路存在芯片过多,电路复杂,功率损耗大,亮灯样式单调缺乏可操作性等缺点,设计一种新型彩灯已迫不及待。

 近年来,彩灯对于美化、亮化城市有着不可轻视的重要作用。因此作为城市装饰的彩灯需求量越来越大,对与彩灯的技术和花样也越来越高。目前市场上各种式样的LED彩灯多半是采用全硬件电路实现,存在电路结构复杂、功能单一等局限性,因此有必要对现有的彩灯控制器进行改进。本文介绍了一种简易LED彩灯控制系统的软硬件设计过程,以STC-89C52单片机作为主控核心与辅助硬件电路相结合,利用软件实现对LED彩灯进行控制。本系统具有电路结构简单、操作容易、硬件少、成本低等特点。

  关键词:LED彩灯 STC-89C52单片机 彩灯控制器

 ABSTRACT

 With the development of microelectronics technology, improve people's living standard, people on the surrounding environment, landscaping and lighting are not limited to monotonous incandescent lights have become a fashion trend. Lantern controller practical value in daily production practices in daily life have become increasingly prominent role. Carnival is also based on a variety of devices have emerged, the microcontroller because of its low price, easy to use, simple to control your lights controlling the main device.

 More on the market with all the hardware circuit, the circuit structure is complex, single structure, once the finished products can only be a fixed pattern, not according to different occasions, adjust the brightness of different time periods, patterns and blinking frequency of the dynamic parameters, and some circuit The chip too much, circuit complexity, power consumption large, Liang Deng style monotonous lack of operation and other shortcomings, design a new type of lights can not wait. In recent years, the lantern for the landscaping, lighting the city has an important role should not be underestimated. So the city decorated with lanterns as the growing demand for technology and lanterns have become more sophisticated and synchronized. Currently on the market a variety of style LED lantern is the most hardware-wide realization of the existence of complex circuit structure, functions and other limitations of a single, it is essential to the current controller to improve the lantern. This paper introduces a simple control system of the LED lantern design process of hardware and software, with STC-89C52 single-chip microcomputer as the master core and supporting the combination of hardware circuitry, using software control of the LED lanterns. The specialties of this system are simple structure, easy control, less hardware, low cost, and so on.

 Key words: LED Lantern STC-89C52 SCM Lantern controller

  目  录

 前  言 1 第1章 单片机的介绍 2 第1.1节 单片机的简介 2 第1.2节 单片机的发展史 3 第1.3节 单片机的工作过程 4 第1.4节 单片机的应用 5 第1.5节 单片机的学习应用 6 第1.6节 几种常见的单片机 8 第2章 彩灯控制器简介 10 第2.1节 基于单片机的彩灯控制器 10 第2.2节 单片机在彩灯方面的应用 10 第3章 基于单片机的彩灯控制器的硬件设计 12 第3.1节 芯片的选择及简介 12 第3.2节 两种芯片的比较 16 第3.3节 Protel 99SE介绍 22 第4章 基于单片机的彩灯控制器的软件设计 27 第4.1节 系统总体设计及流程图 27 第4.2节 系统程序 28 结  论 34 附  录 36 参考文献 38 致  谢 39

  前  言

  现在这个时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。学习单片机的最有效方法就是理论与实践并重,本文是作者用自制了一款简易的流水灯,重点介绍了其软件编程方法,以期给单片机初学者以启发,更快地成为单片机领域的优秀人才,为国家做出贡献。

 随着人们生活环境的不断改善和变化 ,在许多场合可以看到彩色霓虹灯。彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到广泛应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。目前彩灯种类繁多, 但有一种趋势, 冷光源、低功耗、寿命长的已渐成主流。在照明工程中推广和普及使用,将为节约我国宝贵的资源,保护我们的环境发挥出巨大的作用。本文根据单片机原理设计的一种彩灯电路。本文侧重对彩灯的闪烁频率,亮灯时间及模式进行设计。导向是软硬件兼使软件为主硬件为辅,很容易实现对彩灯的控制。本电路没有复杂的结构,更容易让人理解接受。操作起来更加简单、方便,当然效率也更高。

  第1章 单片机的介绍 第1.1节 单片机的简介

  单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳[1]。

  早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端[1]的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。

  单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。

  单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。

  单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可……用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影……它主要是作为控制部分的核心部件。

  它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。

  第1.2节 单片机的发展史

  1971年intel公司研制出世界上第一个4位的微处理器;Intel公司的霍夫研制成功世界上第一块4位微处理器芯片Intel 4004,标志着第一代微处理器问世,微处理器和微机时代从此开始。因发明微处理器,霍夫被英国《经济学家》杂志列为“二战以来最有影响力的7位科学家”之一 。

  1971年11月,Intel推出MCS-4微型计算机系统(包括4001 ROM芯片、4002 RAM芯片、4003移位寄存器芯片和4004微处理器 )其中4004(下图)包含2300个晶体管,尺寸规格为3mm×4mm,计算性能远远超过当年的ENIAC,最初售价为200美元。

  1972年4月,霍夫等人开发出第一个8位微处理器Intel 8008。由于8008采用的是P沟道MOS微处理器,因此仍属第一代微处理器。

  1973年intel公司研制出8位的微处理器8080;1973年8月,霍夫等人研制出8位微处理器Intel 8080,以N沟道MOS电路取代了P沟道,第二代微处理器就此诞生。

 主频2MHz的8080芯片运算速度比8008快10倍,可存取64KB存储器,使用了基于6微米技术的6000个晶体管,处理速度为0.64MIPS(Million Instructions Per Second)。

  1975年4月,MITS发布第一个通用型Altair 8800,售价375美元,带有1KB存储器。这是世界上第一台微型计算机。

  1976年intel公司研制出MCS-48系列8位的单片机,这也是单片机的问世。Zilog公司于1976年开发的Z80微处理器,广泛用于微型计算机和工业自动控制设备。当时,Zilog、Motorola和Intel在微处理器领域三足鼎立。

  20世纪80年代初,Intel公司在MCS-48系列单片机的基础上,推出了MCS-51系列8位高档单片机。MCS-51系列单片机无论是片内RAM容量,I/O口功能,系统扩展方面都有了很大的提高。

 第1.3节 单片机的工作过程

  单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储功能的部件——存储器中。存储器由许多存储单元(最小的存储单位)组成,就像大楼房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分配到了唯一一个房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行[2]。

  程序通常是顺序执行的,所以程序中的指令也是一条条顺序存放的,单片机在执行程序时要能把这些指令一条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中),在开始执行程序时,给PC赋以程序中第一条指令所在的地址,然后取得每一条要执行的命令,PC在中的内容就会自动增加,增加量由本条指令长度决定,可能是1、2或3,以指向下一条指令的起始地址,保证指令顺序执行。

 第1.4节 单片机的应用

  单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:

  (1)在智能仪器仪表上的应用

 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。

  (2)在工业控制中的应用

 用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理芯片,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。

  (3)在家用电器中的应用

 可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。

  (4)在计算机网络和通信领域中的应用

 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。

  (5)单片机在医用设备领域中的应用

 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。

  (6)在各种大型电器中的模块化应用

  某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。

  (7)单片机在汽车设备领域中的应用

 单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统,abs防抱死系统,制动系统等等[3]。

 第1.5节 单片机的学习应用

 单片机学习应用的六大重要部分

 (1)总线:

 我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两个器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。器件的数据线也就被称为数据总线,器件所有的控制线被称为控制总线。在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址,才能使用,分配地址当然也是以电信号的形式给出的,由于存储单元比较多,所以,用于地址分配的线也较多,这些线被称为地址总线。

  (2)数据、地址、指令:

 之所以将这三者放在一起,是因为这三者的本质都是一样的——数字,或者说都是一串‘0’和‘1’组成的序列。换言之,地址、指令也都是数据。指令:由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关系,不可以由单片机的开发者更改。地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元可以由单片机开发者自行决定,但有一些地址单元是一定要有的(详见程序的执行过程)。数据:这是由微处理机处理的对象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况:

  地址(如MOV DPTR,1000H),即地址1000H送入DPTR。

  ‚方式字或控制字(如MOV TMOD,#3),3即是控制字。

  ƒ常数(如MOV TH0,#10H)10H即定时常数。

  „实际输出值(如P1口接彩灯,要灯全亮,则执行指令:MOV P1,#0FFH,要灯全暗,则执行指令:MOV P1,#00H)这里0FFH和00H都是实际输出值。又如用于LED的字形码,也是实际输出的值。

  理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指令来执行了。

  (3)P0口、P2口和P3的第二功能用法:

 初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间要有一个切换的过程,或者说要有一条指令,事实上,各端口的第二功能完全是自动的,不需要用指令来转换。如P3.6、P3.7分别是WR、RD信号,当微片理机外接RAM或有外部I/O口时,它们被用作第二功能,不能作为通用I/O口使用,只要一微处理机一执行到MOVX指令,就会有相应的信号从P3.6或P3.7送出,不需要事先用指令说明。事实上‘不能作为通用I/O口使用’也并不是‘不能’而是(使用者)‘不会’将其作为通用I/O口使用。你完全可以在指令中按排一条SETB P3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么去做,因为这通常会导致系统的崩溃。

  (4)程序的执行过程:

 单片机在通电复位后8051内的程序计数器(PC)中的值为‘0000’,所以程序总是从‘0000’单元开始执行,也就是说:在系统的ROM中一定要存在‘0000’这个单元,并且在‘0000’单元中存放的一定是一条指令。

  (5)堆栈:

 堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一部份,特殊的是它存放和取用数据的方式,即所谓的‘先进后出,后进先出’,并且堆栈有特殊的数据传输指令,即‘PUSH’和‘POP’,有一个特殊的专为其服务的单元,即堆栈指针SP,每当执一次PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原来值的基础上)自动减1。由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP的值,就可以把堆栈设置在规定的内存单元中,如在程序开始时,用一条MOV SP,#5FH指令,就是把堆栈设置在从内存单元60H开始的单元中。一般程序的开头总有这么一条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元开始往后,而08H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的混乱。不同作者编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问题。当设置好堆栈区后,并不意味着该区域成为一种专用内存,它还是可以象普通内存区域一样使用,只是一般情况下编程者不会把它当成普通内存用了。

  (6)单片机的开发过程:

 这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件,下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编辑器(如EDIT、CCED等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就可以写片(将程序固化在EPROM中)。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片[4]。

 第1.6节 几种常见的单片机

 STC单片机:STC公司的单片机主要是基于8051内核,是新一代增强型单片机,指令代码完全兼容传统8051,速度快8~12倍,带ADC,4路PWM,双串口,有全球唯一ID号,加密性好,抗干扰强。   (1) PIC单片机:是MICROCHIP公司的产品,其突出的特点是体积小,功耗低,精简指令集,抗干扰性好,可靠性高,有较强的模拟接口,代码保密性好,大部分芯片有其兼容的FLASH程序存储器的芯片。  (2) EMC单片机:是台湾义隆公司的产品,有很大一部分与PIC 8位单片机兼容,且相兼容产品的资源相对比PIC的多,价格便宜,有很多系列可选,但抗干扰较差。

    (3) ATMEL单片机(51单片机):ATMEl公司的8位单片机有AT89、AT90两个系列,AT89系列是8位Flash单片机,与8051系列单片机相兼容,静态时钟模式;AT90系列单片机是增强RISC结构、全静态工作方式、内载在线可编程Flash的单片机,也叫AVR单片机。   (4) PHLIPIS 51LPC系列单片机(51单片机):PHILIPS公司的单片机是基于80C51内核的单片机,嵌入了掉电检测、模拟以及片内RC振荡器等功能,这使51LPC在高集成度、低成本、低功耗的应用设计中可以满足多方面的性能要求。   (5) HOLTEK单片机:台湾盛扬半导体的单片机,价格便宜,种类较多,但抗干扰较差,适用于消费类产品。

    (6) TI公司单片机(51单片机):德州仪器提供了TMS370和MSP430两大系列通用单片机.TMS370系列单片机是8位CMOS单片机,具有多种存储模式、多种外围接口模式,适用于复杂的实时控制场合;MSP430系列单片机是一种超低功耗、功能集成度较高的16位低功耗单片机,特别适用于要求功耗低的场合。

 (8)松翰单片机(SONIX):是台湾松翰公司的单片,大多为8位机,有一部分与PIC 8位单片机兼容,价格便宜,系统时钟分频可选项较多,有PMW ADC 内振 内部杂讯滤波。缺点RAM空间过小,抗干扰较好。

  第2章 节日彩灯控制器简介

 第2.1节 基于单片机的节日彩灯控制器

  近年来,彩灯对于美化、亮化城市有着不可轻视的重要工作。因此作为城市装饰的彩灯需求量越来越大,对与彩灯的技术和花样也越来越高。但传统的彩灯控制电路一般是由数字电路组成,这种彩灯控制器电路结构复杂、成本较高、功率损耗大,此外从功能效果上看,彩灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行改进。而单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。LED彩灯具有成本低、发光纯度高、发光热量小、耗电量低、超长寿命的特点。所以利用单片机作LED彩灯控制,不仅是使控制花样、路数大大增加,成本也很低,而且对环境能源没有污染,有着很大的发展前景。本方案是一种基于STC-89C52单片机的彩灯控制方案,实现对LED彩灯的控制。主要以STC-89C52单片机作为主控核心与发光二极管、晶振、复位、电源等组成电路,利用软件编辑实现彩灯流水灯的效果。

 第2.2节 单片机在节日彩灯方面的应用

  随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。彩灯是现代大都市装扮美化城市夜景的灯饰之一。以前的彩灯控制器均是采用模拟或数字技术设计,电路复杂,成本较高,并且功能简单,已不能满足日益增长的用户需要。本设计采用单片机AT89C51设计,电路结构简单,成本低廉,功能灵活多样,实用性较强。特别是当今充满竞争的时代,各地政府为吸引游客和投资者,在城市的沿街、沿道、沿河、沿线等地用霓虹灯造景,实施“亮化工程“,以美化环境、树立城市形象。

 由于LED彩灯克服了传统霓虹灯投资大,制作工艺复杂,使用玻璃管、高压电源及惰性气体等诸多不便,同时解决了耗电高、造价高,使用寿命短的不足,因此得到了广泛的应用。越来越多的商家开始关注这块商机无限的市场,竞相制作生产。

 但是目前市场上各种式样的LED彩灯多半是采用全硬件电路实现,电路结构复杂、功能单一,这样一旦制成成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。同时这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外从功能上来看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行改进。

 第3章 基于单片机的节日彩灯控制器的硬件设计

 第3.1节 芯片的选择及简介

  STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容[5]。

 单片机总控制电路如下图3.1:

  图3.1 单片机总控制电路

 3.1.1 时钟电路 STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图3.2(a) 所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用。

 外部方式的时钟电路如图3.2(b)所示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用[6]。

  (a)内部方式时钟电路

 (b)外部方式时钟电路 图3.2 时钟电路

 3.1.2 复位及复位电路 (1)复位操作 复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。

 除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表3.1所示。

 表3.1 一些寄存器的复位状态 寄存器 复位状态 寄存器 复位状态 PC 0000H TCON 00H ACC 00H TL0 00H PSW 00H TH0 00H SP 07H TL1 00H DPTR 0000H TH1 00H P0-P3 FFH SCON 00H IP XX000000B SBUF 不定 IE 0X000000B PCON 0XXX0000B TMOD 00H

 (2)复位信号及其产生 RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。

 产生复位信号的电路逻辑如图3.3所示:

 图3.3 复位信号的电路逻辑图

 整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。

 复位操作有上电自动复位相按键手动复位两种方式。

 上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图3.4(a)所示。这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。

 按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图3.4(b)所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的。

 其电路如图3.4(c)所示:

  (a)上电复位

  (b)按键电平复位

 (c)按键脉冲复位 图3.4 复位电路

 上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。

 本系统的复位电路采用图3.4(b)上电复位方式。

 3.1.3 具体介绍 STC89C52具体介绍如下:

 (1)主电源引脚(2根) VCC(Pin40):电源输入,接+5V电源 GND(Pin20):接地线 (2)外接晶振引脚(2根) XTAL1(Pin19):片内振荡电路的输入端 XTAL2(Pin20):片内振荡电路的输出端 (3)控制引脚(4根) RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。

 ALE/PROG(Pin30):地址锁存允许信号 PSEN(Pin29):外部存储器读选通信号 EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。

 (4)可编程输入/输出引脚(32根) STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。

 PO口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7 P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7

 P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7

 P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7 STC89C52主要功能如表3.2所示。

 表3.2 STC89C52主要功能 主要功能特性 兼容MCS51指令系统 8K可反复擦写Flash ROM 32个双向I/O口 256x8bit内部RAM 3个16位可编程定时/计数器中断 时钟频率0-24MHz 2个串行中断 可编程UART串行通道 2个外部中断源 共6个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 第3.2节 两种芯片的比较

 STC89C51与AT89C51单片机在结构上有许多相同的地方,下面就对这两种芯片进行比较。

 AT89C51是一种低功耗/低电压、高性能的八位CMOS单片机,片内有一个4KB的FLASH可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory),它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器技术,而且其输出引脚和指令系统都与MSC—51兼容。片内置通用8位中央处理器(CPU)和FLASH存储单元,片内的存储器允许在系统内改编程序或用常规的非易失性存储器编程。因此,AT89C51是一种功能强、灵活性高且价格合理的单片机,可方便的应用于各种控制领域[7]。

 3.2.1 主要特性 (1)与MCS-51产品指令系统兼容

 (2)4K字节可编程闪烁存储器

 (3)寿命:1000写/擦循环 (4)数据保留时间:10年 (5)全静态工作:0Hz-24Hz (6)三级程序存储器锁定 (7)128*8位内部RAM (8)32可编程I/O线 (9)两个16位定时器/计数器 (10)6个中断源

 (11)可编程串行通道 (12)低功耗的闲置和掉电模式 (13)片内振荡器和时钟电路

 另外,AT89C51是用静态逻辑来设计的,其工作频率可下降到零并提供两种软件的省电方式-空闲方式和掉电方式。在空闲方式中,CPU停止工作。在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,只保存片内RAM中的内容,直到下次硬件复位为止。

 3.2.2 管脚说明 VCC(40):供电电压,其工作电压为5V。

 GND(20):接地。

 P0端口(P0.0-P0.7):P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

 P1端口(P1.0-P1.7):P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高电平,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

  P2端口(P2.0-P2.7):P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

 P3端口(P3.0-P3.7):P3口管脚是一个带有内部上拉电阻的8位的双向I/O端口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入端时,由于外部下拉为低电平,P3口将输出电流(ILL)。

 P3口也可作为AT89C51的一些特殊功能口,如表3.3所示。

 表3.3 P3端口引脚兼用功能表

 P3口同时为闪烁编程和编程校验接收一些控制信号。

 复位RST(9):复位输入。在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P3.0-P3.7口均置1,引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。复位操作不会对内部RAM有所影响。

 ALE/PROG (30):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

  PSEN(29):外部程序存储器的选通信号。在由外部程序存储器取指令期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。

 EA/VPP(31):当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

 XTAL1(19):反向振荡放大器的输入及内部时钟工作电路的输入。

 XTAL2(18):来自反向振荡器的输出。其引脚图如图3.5所示。

  图3.5 AT89C51引脚图

 3.2.3振荡器设定 XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度[8]。

 3.2.4 芯片擦除 整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

  3.2.5 AT89C51最小系统

 AT89C51最小系统接线如图3.6所示,在XTAL1、XTAL2端接上晶振及两个谐振电容,在RESET端接上相应的电阻、电容,如需要按键复位,加上按键即可组成一个最小系统,按要求通电后,系统就可以工作了。

 图3.6 AT89C51最小系统 3.2.6 两种芯片的比较 STC89C52RC单片机:8K字节程序存储空间;512字节数据存储空间;内带2K字节EEPROM存储空间;

  AT89C51单片机:8K字节程序存储空间;256字节数据存储空间;没有内带EEPROM存储空间;

  另外 sTC系列的直接用串口下载就可以 ,而AT系列的貌似要多装一个驱动。

 STC和S52均支持ISP下载,区别在于STC可以通过串口下载,S52的ISP一般需要专用下载器。STC有内部EEPROM,AT没有。STC解密相对C51来说要难一点。批量的话STC价格比C51低。STC的Datasheet含糊其辞,就像一本广告,很多关键参数都找不到;Atmel的Datasheet编写详尽且规范。一般认为C51比STC抗干扰差。初学者如果有串口的话,STC在一定程度上可以降低开发的成本。

 第3.3节 Protel 99SE介绍

 3.3.1 Protel 99SE介绍 随着计算机技术的飞速发展,集成电路被广泛应用,电路越来越复杂,集成度越来越高,加之新型元件层出不穷,使得越来越多的工作已经无法用手工来完成,因此计算机辅助电路板设计已经成为电路板设计制作的必然趋势。Protel 99SE具有丰富的设计功能,能进行原理图的设计、印制电路板的设计、PCB板的设计等功能,现对其进行介绍。

 Protel 99SE采用数据库的管理方式。Protel 99SE软件沿袭了Protel以前版本方便易学的特点,内部界面与Protel 99大体相同,新增加了一些功能模块,功能更加强大。新增的层堆栈管理功能,可以设计32个信号层,16个地电层,16个机械层。新增的3D功能让您在加工印制版之前可以看到板的三维效果。增强的打印功能,使您可以轻松修改打印设置控制打印结果。Protel 99SE容易使用的特性还体现在“这是什么”帮助,按下右上角的小问号,然后输入你所要的信息,可以很快地看到特性的功能,然后用到设计中,按下状态栏末端的按钮,使用自然语言帮助顾问[9]。

 Protel 99SE 设计平台软硬件配置要求:

 硬件配置   最低:

 CPU-Pentium II 233MHZ

 内存-32M

 硬盘-300M

 显示器-15〃     

   显示分辩率-1024´768

 建议配置:CPU-Pentium II 300 以上        内存-128M

 硬盘-6G以上        显示器-17〃以上     

  显示分辩率-1280´1024 操作系统 Microsoft

 Windows NT 4.0 或以上版本(含中文版)。

 Microsoft

 Windows 98/95 或以上版本(含中文版) Protel 99SE附件安装方法非常简单,只需双击光盘目录下的Install.exe即可。

  3.3.2 Protel99SE使用 (1)新建设计数据库文件

 在WINDOWS 95/98或NT界面下双击Protel 99SE 图标,点击File(文件)中new项,新建设计数据库。

 新建设计文件,有两种方式:一种为MS Access Database方式,全部文件存储在单一的数据库中,同原来的99文件格式。另一种为Windows File System方式,全部文件被直接保存在对话框底部指定的磁盘驱动器中的文件夹中,在资源管理器中可以直接看到所建立的原理图或PCB文件。

 在Browse选项中选取需要存储的文件夹,然后点击OK即可建立自己的设计数据库。

  我们可以先在Design Team 中设定设计小组成员,Protel 99SE可在一个设计组中进行协同设计,所有设计数据库和设计组特性都由设计组控制。定义组成员和设置他们的访问权限都在设计管理器中进行,确定其网络类型和网络专家独立性不需要求助于网络管理员。

 为保证设计安全,为管理组成员设置一个口令。这样如果没有注册名字和口令就不能打开设计数据库。

 回收站( Recycle Bin) 相当于Windows 中的回收站,所有在设计数据库中删除的文件,均保存在回收站中,可以找回由于误造作而删除的文件。

 设计管理器(Documents) 所有Protel 99SE设计文件都被储存在唯一的综合设计数据库中,并显示在唯一的综合设计编辑窗口。在Protel 99SE中与设计的接口叫设计管理器。使用设计管理器,可以进行对设计文件的管理编辑、设置设计组的访问权限和监视对设计文件的访问。

 (2)可以观看多个设计文档 打开Photoplotte.ddb设计数据库,点"+"找到Electronics 和Photohead文件夹,打开Photohead Parts list 设计窗口,用同样方法打开Photohead.pcb文件和Photohead.prj文件。在Photohead Parts List窗口下击鼠标右键,选择"Split Horizontal”菜单,界面将被水平分割。在Photohead.prj设计窗口下点右键,选Split Vertical 菜单。界面将被垂直分割.可以用鼠标调整分割窗口的大小。要想分割更多的窗口,可重复上述操作。

  按Ctrl+Tab可循环切换打开的设计文件,按Shift+Tab可在导航板和设计窗口中有效文件夹的内容间切换。

 (3)原理图连线设计 确定起始点和终止点,Protel99 SE就会自动地在原理图上连线,从菜单上选择“Place/Wire”后,按空格键切换自动连线方式。观察状态栏就可以看出“Auto Wire”Protel99 SE 自动连线、任意角度、45连线、90连线,使得设计者在设计时更加轻松自如。只要简单地定义AutoWire方式。自动连线可以从原理图的任何一点进行,不一定要从管脚到管脚。

 (4)产生元件类和网络类 可以从原理图上建立PCB元件类,包括PCB上所有元件在内。可以从总线建立PCB网络类。点Design 》Update PCB菜单项,在Update Design 对话框Classes选项中实现。

 第3.4节 硬件电路组成与设计

 按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。因此,本彩灯控制系统实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。其具体硬件组成如图3.7所示。

  图3.7 彩灯硬件原理图

 从图3.7中可以看出,如果要让接在P10口的LED亮起来,那么只要把P10口的电平变为低电平就可以了;相反,如果要让接在P10口的LED熄灭,就要把P10口的电平变为高电平;同理,接在P11~P17口的其他7个LED的点亮和熄灭的方法同LED。因此,要实现彩灯功能,我们只要将发光二极管依次点亮、熄灭,8只LED灯便会一亮一暗的做彩灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“彩灯”效果了。

  第4章 基于单片机的彩灯控制器的软件设计

 第4.1节 系统总体设计及流程图

 开始

  初始化

  有 有 外部中断2 判断是否有中断

  外部中断1

 无 调用流水灯子程序

 调用两头向中间亮子程序

  调用奇偶交替亮子程序

  结束

  图4.1 主程序流程图 第4.2节 系统程序

  ORG 0000H

 LJMP START

 ORG

  0003H

 ;外中断0中断入口地址

  LJMP

 OUT0

  ORG

  0013H

 ;外中断1中断入口地址

  LJMP

 OUT1

  ORG 0030H

 START: SETB EA

 ;开中断

  SETB EX0

  SETB EX1

  CLR

 IT0

  CLR

 IT1

  MAIN: LCALL LOOP0

  LCALL LOOP1

  LCALL LOOP2

  LJMP

 MAIN

  OUT0: ACALL LOOP1

  RETI

  OUT1: ACALL LOOP2

  RETI ;流水灯子程序:

 LOOP0:

 CLR P1.7 ;点亮第1个灯

 ACALL DEL;延时

 SETB P1.7;关闭低一个灯

 CLR P1.6;点亮第2个灯

 ACALL DEL

 SETB P1.6

 CLR P1.5;点亮第3个灯

 ACALL

 DEL

 SETB P1.5

 CLR P1.4;点亮第4个灯

 ACALL

 DEL

 SETB P1.4

 CLR P1.3;点亮第5个灯

 ACALL DEL

 SETB P1.3

 CLR P1.2;点亮第6个灯

 ACALL DEL

 SETB P1.2

 CLR P1.1 ;点亮第7个灯

  ACALL DEL

 SETB P1.1

 CLR P1.0 ;点亮第8个灯

  ACALL DEL

 SETB P1.0

 CLR P1.1 ;点亮第7个灯

  ACALL DEL

 SETB P1.1

 CLR P1.2;点亮第6个灯

 ACALL DEL

 SETB P1.2

 CLR P1.3;点亮第5个灯

 ACALL DEL

 SETB P1.3

 CLR P1.4;点亮第4个灯

 ACALL

 DEL

 SETB P1.4

 CLR P1.5;点亮第3个灯

 ACALL

 DEL

 SETB P1.5

 CLR P1.6;点亮第2个灯

 ACALL DEL

 SETB P1.6

 CLR P1.7 ;点亮第1个灯

 ACALL DEL;延时

 SETB P1.7;关闭低一个灯

  RET ;两头开始向中间亮子程序

 LOOP1: CLR

 P1.7

 ;点亮第8个灯

  CLR

 P1.0

 ;点亮第1个灯

  ACALL DEL

  SETB

 P1.7

  SETB

 P1.0

  CLR

 P1.6

  ;点亮第7个灯

  CLR

 P1.1

  ;点亮第2个灯

  ACALL DEL

  SETB

 P1.6

  SETB

 P1.1

  CLR

 P1.5

  ;点亮第6个灯

  CLR

 P1.2

  ;点亮第3个灯

  ACALL DEL

  SETB

 P1.5

  SETB

 P1.2

  CLR

 P1.4

  ;点亮第5个灯

  CLR

 P1.3

  ;点亮第4个灯

  ACALL DEL

  SETB

 P1.4

  SETB

 P1.3

  CLR

 P1.5

  ;点亮第6个灯

  CLR

 P1.2

  ;点亮第3个灯

  ACALL DEL

  SETB

 P1.5

  SETB

 P1.2

  CLR

 P1.6

  ;点亮第7个灯

  CLR

 P1.1

  ;点亮第2个灯

  ACALL DEL

  SETB

 P1.6

  SETB

 P1.1

  CLR

 P1.7

  ;点亮第8个灯

  CLR

 P1.0

  ;点亮第1个灯

  ACALL DEL

  SETB

 P1.7

  SETB

 P1.0

  RET ;奇偶灯交替亮子程序:

  LOOP2: CLR

 P1.0

  ;点亮第1个灯

  ACALL DEL

  SETB P1.0

  CLR

 P1.2

  ;点亮第3个灯

  ACALL DEL

  SETB P1.2

  CLR

 P1.4

  ;点亮第5个灯

  ACALL DEL

  SETB P1.4

  CLR

 P1.6

  ;点亮第7个灯

  ACALL DEL

  SETB P1.6

  CLR

 P1.1

  ;点亮第2个灯

  ACALL DEL

  SETB P1.1

  CLR

 P1.3

  ;点亮第4个灯

  ACALL DEL

  SETB P1.3

  CLR

 P1.5

  ;点亮第6个灯

  ACALL DEL

  SETB P1.5

  CLR

 P1.7

  ;点亮第8个灯

  ACALL DEL

  SETB P1.7

  CLR

 P1.0

  ;点亮第1,3,5,7灯

  CLR

 P1.2

  CLR

 P1.4

  CLR

 P1.6

  ACALL DEL

  SETB

 P1.0

 ;关闭第1,3,5,7灯

  SETB

 P1.2

  SETB

 P1.4

  SETB

 P1.6

  CLR

  P1.1

  ;点亮第2,4,6,8灯

  CLR

  P1.3

  CLR

  P1.5

  CLR

  P1.7

  ACALL DEL

  SETB

 P1.1

  ;关闭第2,4,6,8灯

 SETB

 P1.3

  SETB

 P1.5

  SETB

 P1.7

  RET DEL:

 MOV R7,#10

  ;延时子程序

 DEL1:

  MOV R6,#100 DEL2:

  MOV R5,#100

 DEL3:

  DJNZ R5,DEL3

 DJNZ R6,DEL2

 DJNZ R7,DEL1

 RET

 END

 结  论

 在为时将近一年的设计中,经历了许多,包括查阅资料,购买零件,程序的编写,机器的调试等等,这些都是在平时的学习当中学不到的东西。这次设计是基于单片机STC89C52的彩灯控制器设计,从本次的设计中,我对STC89C52有了进一步的了解和关注,学习单片机的最有效方法就是理论与实践并重,现在我把单片机彩灯设计作为一个毕业课程设计,需要更深的去了解单片机的很多功能,努力的去查找资料,当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。

 通过这次毕业设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。而安排毕业设计的基本目的,是在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟和领悟力。尤其是观察、分析和解决问题的实际工作能力。它的一个重要功能,在于运用学习成果,检验学习成果。运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。这也是一次预演和准备毕业设计工作。通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。课程设计促进了我系人才培养计划的完善和课程设置的调整。课程设计之后,我们普遍感到不仅实际动手说,这应该是个警示,在剩下的大学生活里,我应该好好珍惜,好好学习各方面的知识。在单片机方面也是了解了一些些,我相信这次课程设计会对我以后的工作通过这次单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为自己的东西。

  附  录

  图1 节日彩灯控制器实验室模拟

  图2 节日彩灯彩灯控制器实验室模拟

 参考文献    [1]肖红兵.跟我学单片机[M]. 北京:北京航空航天大学出版社,2006. [2]何利民.单片微型计算机原理接口与应用[M]. 北京:高等教育出版社,2002. [3]王振波.单片机应用系统设计[M]. 北京:北京机械出版社,2009. [4]何小艇.电子系统设计[M]. 北京:北京工业出版社,2008. [5]张晓乡.89C51单片机实用教程[M]. 北京:北京航空航天大学出版社,2010. [6]陈志强,胡辉.单片机应用系统设计实践指南[M]. 北京:中国水利水电出版社,2008. [7]张齐,朱宁西.单片机应用系统设计技术-基于C51的Proteus仿真[M].北京:北京航空航天大学出版社,2009. [8]张友德.单片微型机原理应用与实验[M].北京:北京理工大学出版社,2006. [9]周月霞,孙传友.DS18B20硬件连接及软件编程[M].北京:北京航空航天大学出版社,2001. [10]马忠梅.单片机的C语言应用和设计[M].北京:教育科学出版社,2008. [11]Dogan Ibrahim.Microcontroller Based Applied Digital Control[M]. New York:John Wiley & Sons,2006. [12]Craig Steiner.The 8051/8052 Microcontroller: Architecture, Assembly Language, and Hardware Interfacing[M]. Washington,D.C.:McGraw-Hill/Tab Electronics,2005. [13]Daniel J. Pack,Daniel Pack,Steven Barrett M.D.,Steven F. Barrett.Microcontroller Theory and Applications 2nd[M]. New York:Prentice Hall,2007. [14]Han-Way Huang,Huang.Pic Microcontroller[M]. New York:Prentice Hall,2004. [15]Peter Spasov.Microcontroller Technology[M]. New York:Prentice Hall,2004.

 致  谢

 紧张、充实而又难忘的大学学习生涯即将结束,在大学几年和撰写论文期间得到了许多人的帮助,使我终身难以忘怀。轻风系不住流云,流云却带走了岁月,打开尘封的记忆,往事如风却又历历在目,大学的学习生活即将结束。在这里我首先要感谢这几年来为我授课的各位老师,真心地说一句:你们辛苦了!感谢胡波老师在我的论文选题、定稿以及中期检查等方面都给了我精心的指导。您提出的宝贵意见使我在论文选题、撰写以及修改的过程中,不再像当初那样茫然无措,而是知道自己论文的不足和修改的方向。您正直、严谨的治学态度对我影响颇深,受益匪浅,无论在今后的学习还是工作当中,我都铭记于心。

 

Tags: 彩灯   毕业设计   单片机  

搜索
网站分类
标签列表