
单片机课程设计论文节日彩灯控制器的设计.doc
29页课程设计(论文)课 题 名 称 节日彩灯控制器的设计 学 生 姓 名 学 号 系、年级专业 信息工程系﹑07级网络工程工程专业 指 导 教 师 2008年 5 月 24 日摘 要节日彩灯使生活中常常用到的装饰物品它集中地运用了单片机、LED、,自动控制等技术,是典型的基于单片机的电子产品本文以AT89C51单片机为控制核心,采用模块化的设计方案,运用LED彩灯、按键等组成电路,实现彩灯在开启时满足不一样的闪亮方法按键可以在彩灯使用的时候选择不同的亮法,使彩灯变化多样,键一可以使彩灯依次循环点亮,健二可以使彩灯从左到又从右到左循环点亮,三号键使两端灭,中间亮,再对半交替亮,然后再奇偶亮通过按键能方便使用者选择不同样的亮法 关键字:AT89C51; 节日彩灯;循环; 目 录摘 要 I1 绪论 11.1 引言 11.2 课题来源 11.3 国内外现状 12 硬件电路设计 22.1 AT89C51单片机硬件结构 22.2 电路设计..........................................................6 3 软件设计 73.1 程序设计 73.2 主程序设计 83.3 方式一设计 133.4 方式二程序设计 143.5 方式三程序设计 173.6 方式四程序设计 183.7 延时程序设计 203.8 电路仿真 213.9仿真结果分析 244 结束语 24参考文献资料 251 绪论1.1 引言节日彩灯使生活中常常用到的装饰物品。
它集中地运用了单片机、LED、,自动控制等技术,是典型的基于单片机的电子产品本文以AT89C51单片机为控制核心,采用模块化的设计方案,运用LED彩灯、按键等组成电路,实现彩灯在开启时满足不一样的闪亮方法按键可以在彩灯使用的时候选择不同的亮法,使彩灯变化多样,键一可以使彩灯依次循环点亮,健二可以使彩灯从左到又从右到左循环点亮,三号键使两端灭,中间亮,再对半交替亮,然后再奇偶亮通过按键能方便使用者选择不同样的亮法 1.2 课题来源随着计算机、微电子、信息技术的快速进步,智能化技术的开发速度越来越快 ,智能度越来越高 ,应用范围也得到了极大的扩展在海洋开发、宇宙探测、工农业生产、军事、社会服务、娱乐等各个领域在娱乐方面,场地的装饰离不开彩灯在建筑方面也采用彩灯来装饰高楼大厦彩灯又灵活多变的点亮方式,装饰效果非常好,特别时晚上使得高楼大厦更加漂亮是彩灯的应用才使得城市的夜景非常迷人 1.3 国内外现状在国内外,微控制系统主要采用单片机作为控制核心因此,单片机的发展将有助于简单实用电子产品的开发在本设计中,采用比较先进的AT89C51单片机为控制核心,它的功耗很低单片机技术发展至今,掌握最先进技术的仍然是国外的几大公司。
如Intel公司发展的MCS-51系列的新一代产品,如8xC152、80C51FA/FB、80C51GA/GB、8xC451、8xC452,还包括了Philips、Siemens、ADM、Fujutsu、OKI、Harria-Metra、ATMEL等公司以80C51为核心推出的大量各具特色﹑与80C51兼容的单片机新一代的单片机的最主要的技术特点是向外部接口电路扩展,以实现Microcomputer完善的控制功能为己任,可连接一些外部接口功能单元如A/D、PWM、PCA(可编程计数器阵列)﹑WDT(监视定时器)﹑高速I/O口、计数器的捕获/比较逻辑等这一代单片机中,在总线方面最重要的进展是为单片机配置了芯片间的串行总线,为单片机应用系统设计提供了更加灵活的方式Philips公司还为这一代单片机80C51系列8xC592单片机引入了具有较强功能的设备间网络系统总线---CAN(Controller Area Network BUS)2硬件电路设计单片机(SCM)是单片微型计算机(Single Chip Microcomputer)的简称它是把中央处理器CPU、随机存储器RAM、只读存储器ROM、I/O接口电路、定时/计数器以及输入输出适配器都集成在一块芯片上,构成一个完整的微型计算机。
随着SCM在技术上、体系上不断扩展其控制功能,国际上已经采用MCU(MicroControllerUnit)代替单片机的名词它的最大优点是体积小,可放在仪表内部但存储量小,输入输出适配器简单,功能较低目前,单片机在民用和工业测控领域得到最广泛的应用,早已深深地融入人们的生活中近年来,AT89C51在我国非常流行,它最大的特点是内部有可以多次重复编程的闪烁ROM,并且闪烁ROM可以直接用编程器来擦写(电擦写),使用起来比较方便【10】一个单片机应用系统的硬件电路设计包含有两部分内容:一是系统扩展,即单片机内部的功能单元,如ROM﹑RAM﹑I/O口﹑定时/记数器﹑中断系统等能量不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路二是系统配置,既要按照系统功能要求配置外围设备,如键盘显示器﹑打印机﹑A/D﹑D/A转换器等,又要设计合适的接口电路本系统采用AT89C51单片机作为中央处理器其主要任务收集按键的信息,判断按键时否按下来执行相应彩灯的点亮方式在本系统中,AT89C51单片机的P1口用于接按键,方便使用者选择方式P0口接的时LED彩灯2.1 AT89C51单片机硬件结构AT89C51是一种低功耗/低电压、高性能的八位CMOS单片机,片内有一个4KB的FLASH可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory),它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器技术,而且其输出引脚和指令系统都与MSC—51兼容。
片内置通用8位中央处理器(CPU)和FLASH存储单元,片内的存储器允许在系统内改编程序或用常规的非易失性存储器编程因此,AT89C51是一种功能强、灵活性高且价格合理的单片机,可方便的应用于各种控制领域[11]2.1.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中的内容,直到下次硬件复位为止2.1.2 管脚说明 VCC(40):供电电压,其工作电压为5VGND(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.1所示表2.1 P3端口引脚兼用功能表P3口同时为闪烁编程和编程校验接收一些控制信号复位RST(9):复位输入在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位复位后P3.0-P3.7口均置1,引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序复位操作不会对内部RAM有所影响ALE/(30):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节在FLASH编程期间,此引脚用于输入编程脉冲在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6因此它可用作对外部输出的脉冲或用于定时目的然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲如想禁止ALE的输出可在SFR8EH地址上置0此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高如果微处理器在外部执行状态ALE禁止,置位无效 (29):外部程序存储器的选通信号在由外部程序存储器取指令期间,每个机器周期两次有效但在访问外部数据存储器时,这两次有效的信号将不出现EA/VPP(31):当保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器注意加密方式1时,将内部锁定为RESET;当端保持高电平时,此间内部程序存储器在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)XTAL1(19):反向振荡放大器的输入及内部时钟工作电路的输入XTAL2(18):来自反向振荡器的输出其引脚图如图3.1所示图2.2 AT89C51引脚图2.1.3 振荡器特性 XTAL1和XTAL2分别为反向放大器的输入和输出该反向放大器可以配置为片内振荡器石晶振荡和陶瓷振荡均可采用如采用外部时钟源驱动器件,XTAL2应不接有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度2.1.2 芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。
在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程。












