首页 节日彩灯控制器设计报告

节日彩灯控制器设计报告

举报
开通vip

节日彩灯控制器设计报告节日彩灯控制器设计报告 学生学号: 200927042 学生姓名: 郭征 同组学号: 200827041 同组姓名: 刘雪妮 I 一、设计需求分析 节日彩灯使生活中常常用到的装饰物品。它集中地运用了单片机、LED、,自动控制等技术,是典型的基于单片机的电子产品。 本文以AT89C51单片机为控制核心,采用模块化的设计方案,运用LED彩灯、按键等组成电路,实现彩灯在开启时满足不一样的闪亮方法。按键可以在彩灯使用的时候选择不同的亮法,使彩灯变化多样,键一可以使彩灯依次循环点亮,健二可以使彩灯从左到又从右...

节日彩灯控制器设计报告
节日彩灯控制器 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 报告 学生学号: 200927042 学生姓名: 郭征 同组学号: 200827041 同组姓名: 刘雪妮 I 一、设计需求分析 节日彩灯使生活中常常用到的装饰物品。它集中地运用了单片机、LED、,自动控制等技术,是典型的基于单片机的电子产品。 本文以AT89C51单片机为控制核心,采用模块化的 设计方案 关于薪酬设计方案通用技术作品设计方案停车场设计方案多媒体教室设计方案农贸市场设计方案 ,运用LED彩灯、按键等组成电路,实现彩灯在开启时满足不一样的闪亮方法。按键可以在彩灯使用的时候选择不同的亮法,使彩灯变化多样,键一可以使彩灯依次循环点亮,健二可以使彩灯从左到又从右到左循环点亮,三号键使两端灭,中间亮,再对半交替亮,然后再奇偶亮。通过按键能方便使用者选择不同样的亮法 随着计算机、微电子、信息技术的快速进步,智能化技术的开发速度越来越快 ,智能度越来越高 ,应用范围也得到了极大的扩展。在海洋开发、宇宙探测、工农业生产、军事、社会服务、娱乐等各个领域。在娱乐方面,场地的装饰离不开彩灯。在建筑方面也采用彩灯来装饰高楼大厦。彩灯又灵活多变的点亮方式,装饰效果非常好,特别时晚上使得高楼大厦更加漂亮。是彩灯的应用才使得城市的夜景非常迷人。 在国内外,微控制系统主要采用单片机作为控制核心。因此,单片机的发展将有助于简单实用电子产品的开发。在本设计中,采用比较先进的AT89C51单片机为控制核心,它的功耗很低。 单片机技术发展至今,掌握最先进技术的仍然是国外的几大公司。如Intel公司发展的MCS-51系列的新一代产品,如8,C152、80C51FA/FB、80C51GA/GB、8,C451、8,C452,还包括了Philips、Siemens、ADM、Fujutsu、OKI、Harria-Metra、ATMEL等公司以80C51为核心推出的大量各具特色)与80C51兼容的单片机。新一代的单片机的最主要的技术特点是向外部接口电路扩展,以实现Microcomputer完善的控制功能为己任,可连接一些外部接口功能单元如A/D、PWM、PCA(可编程计数器阵列))WDT(监视定时器))高速I/O口、计数器的捕获/比较逻辑等。这一代单片机中,在总线方面最重要的进展是为单片机配置了芯片间的串行总线,为单片机应用系统设计提供了更加灵活的方式。Philips公司还为这一代单片机80C51系列8,C592单片机引入了具有较强功能的设备间网络系统总线---CAN(Controller Area Network BUS)。 二、硬件电路设计 一个单片机应用系统的硬件电路设计包含有两部分内容:一是系统扩展,即单片机内部的功能单元,如ROM)RAM)I/O口)定时/记数器)中断系统等能量不能 II 满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系统配置,既要按照系统功能要求配置外围设备,如键盘显示器)打印机)A/D)D/A转换器等,又要设计合适的接口电路。 本系统采用AT89C51单片机作为中央处理器。其主要任务收集按键的信息,判断按键时否按下来执行相应彩灯的点亮方式 在本系统中,AT89C51单片机的P1口用于接按键,方便使用者选择方式。P0口接的时LED彩灯。 2.1 AT89C51单片机硬件结构 AT89C51是一种低功耗/低电压、高性能的八位CMOS单片机,片内有一个4KB的FLASH可编程可擦除只读存储器(FPEROM—Flash Programmable a nd 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停止工作。在掉电方式中, III 片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,只保存片内RAM中的内容,直到下次硬件复位为止。 2.1.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口将输出电流(I)。 LL P3口也可作为AT89C51的一些特殊功能口,如 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 3.1所示。 表2.1 P3端口引脚兼用功能表 IV 端口引脚第二功能 P3.0RXD(串行输入口) P3.1TXD(串行输出口) ______P3.2 (外中断0)INT0 ______P3.3 (外中断1)INT1 P3.4T0(定时/计数0) P3.5T1(定时/计数1) _____P3.6 (外部数据存储器写选通)WR ____P3.7 (外部数据存储器读选通)RD P3口同时为闪烁编程和编程校验接收一些控制信号。 复位RST(9):复位输入。在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P3.0-P3.7口均置1,引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。复位操作不会对内部RAM有所影响。 ALE/(30):当访问外部存储器时,地址锁存允许的输出电平用于锁存PROG 地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 (29):外部程序存储器的选通信号。在由外部程序存储器取指令期间,PSEN 每个机器周期两次有效。但在访问外部数据存储器时,这两次有效的信PSENPSEN号将不出现。 ____ EAEA/VPP(31):当EA保持低电平时,则在此期间外部程序存储器__(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,EA将内__ 部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在FLASH编 V 程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1(19):反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2(18):来自反向振荡器的输出。其引脚图如图3.1所示。 图2.2 AT89C51引脚图 2.1.3 振荡器特性 XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 2.1.4 芯片擦除 整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 VI 2.1.5 AT89C51最小系统 AT89C51最小系统接线如图3.2所示,在XTAL1、XTAL2端接上晶振及两个谐振电容,在RESET端接上相应的电阻、电容,如需要按键复位,加上按键即可组成一个最小系统,按要求通电后,系统就可以工作了。 图2.3 AT89C51最小系统 2.2 电路设计 将MUC、LED和按键进行PROTEUS设计。 打开PROTEUS的ISIS编辑环境,从PROTEUS中选取该电路所需要的元器件,放置元器件、放置电源和地、连线得到如图3.7所示的电气原理图,再点菜单栏工具下拉的电气规则检查,当规则检查出现:“NETLIST GENERATED OK NO ERC ERRORD FOUND”,表示通过检查。电路设计完成。 VII R910kD1U1R11939XTAL1P0.0/AD038P0.1/AD130037LED-REDP0.2/AD21836XTAL2P0.3/AD3D235R2P0.4/AD434P0.5/AD533300P0.6/AD6LED-RED932RSTP0.7/AD7D3R321P2.0/A822300P2.1/A923LED-REDP2.2/A102924D4PSENP2.3/A11R43025ALEP2.4/A123126EAP2.5/A1330027LED-REDP2.6/A1428P2.7/A15D5R5110P1.0P3.0/RXD300211P1.1P3.1/TXDLED-RED312P1.2P3.2/INT0D6413R6P1.3P3.3/INT1514P1.4P3.4/T0615300P1.5P3.5/T1AT89C51LED-RED716P1.6P3.6/WR817D7P1.7P3.7/RDR7300LED-REDD8R8300LED-RED 图2.4 系统部分电气原理图 三、软件设计原理 3.1 程序设计 程序设计(Programming)是指设计、编制、调试程序的方法和过程。它是目标明确的智力活动。在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。因此,软件设计在微机控制系统设计中占重要地位。对于本系统,软件也占有重要的地位。 在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。数据处理包括:数据的采集、数字滤波、标度变换等。过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制生产。 为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。把一个程序分成具有多个明确任务的程序模块,分别编制、调试后再把它们连接在一起形成一个完整的程序,这样的程序设计方法称为模块化程序设计。所谓“模块”,实质上就是能完成一定功能,并相对独立的程序段,这种程序设 [14]计方法称为模块程序设计法。 模块程序设计法的主要优点是: (1)单个模块比起一个完整的程序易编写、调试及修改。 VIII (2)程序的易读性好。 (3)程序的修改可局部化。 (4)模块可以共存,一个模块可以被多个任务在不同条件下调用。 (5)模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。 方式二,方式三,方式四和延时本系统软件采用模块化结构,由主程序)方式一, 等子程序构成。 3.2 主程序设计 在系统的程序设计中,主控模块只负责根据消息调用相应模块的处理函数,具体如何处理这些消息由各功能模块中的对应程序决定。 当收到按键一按下使P1.0的电平有高电平变成低电平时,主程序就跳到方式一的子函数执行,这样就实现了方式一的点亮。 当收到按键二按下使P1.1的电平有高电平变成低电平时,主程序就跳到方式二的子函数执行,这样就实现了方式二的点亮。 当收到按键三按下使P1.2的电平有高电平变成低电平时,主程序就跳到方式三的子函数执行,这样就实现了方式三的点亮。 当收到按键四按下使P1.3的电平有高电平变成低电平时,主程序就跳到方式四的子函数执行,这样就实现了方式四的点亮。 IX 开 始 长跳转到Start Y P1.0=0? 方式一亮灯 N Y P1.0=0? 方式二亮灯 N Y P1.0=0? 方式三亮灯 N Y P1.0=0? 方式四亮灯 N 图3.1 系统 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图 X 系统程序: org 00h ljmp start org 30h start: mov sp,#60h mov p0,#0ffh jnb p1.0,paoma jnb p1.1,zyc jnb p1.2,zbc jnb p1.3,gdjo sjmp start paoma: mov p0,#0feh ;1键跑马子程序 restart:mov r7,#7 loop: mov a,p0 rl a lcall delay mov p0,a jb p1.0,start djnz r7,loop sjmp restart ret XI zyc: mov p0,#0feh ;2键左右循环 mov a,p0 restart1: mov r5,#7 mov r4,#7 loop3: ; mov a,p0 jb p1.1,start rl a lcall delay mov p0,a djnz r5,loop3 loop4: rr a lcall delay mov p0,a djnz r4,loop4 sjmp restart1 ret zbc: mov p0,#0c3h ;3键中边循环 loop5: mov a,p0 XII jb p1.2,start swap a lcall delay mov p0,a sjmp loop5 ret gdjo: mov p0,#0f0h ;4键高低奇偶交替 mov a,p0 swap a lcall delay mov p0,a mov p0,#55h loop6: mov a,p0 jb p1.3,start rl a lcall delay mov p0,a sjmp loop6 ret delay: ;延时 mov r6,#200 loop2: mov r7,#250 loop1: nop XIII nop djnz r7,loop1 djnz r6,loop2 ret end 3.3 方式一程序设计 当按下一号键时,主程序跳到方式一子数,彩灯循环点亮. 开 始 给r7赋值为7 将P0赋值给a 调用延时程序 Y R7=0? N 图3.2 方式一 流程图 破产流程图 免费下载数据库流程图下载数据库流程图下载研究框架流程图下载流程图下载word XIV 方式一子程序: paoma: mov p0,#0feh ;1键跑马子程序 restart:mov r7,#7 loop: mov a,p0 rl a lcall delay mov p0,a jb p1.0,start djnz r7,loop sjmp restart ret 3.4 方式二程序设计 当二号键按下时,主函数跳转到方式二的子程序执行,使彩灯的变换方式为右左 到右循环点亮再由右向左循环点亮. XV 开 始 给P0赋值 R5R4赋值为7 将P0传给a N P1.1=0 Y 跳转到start 左移一位a值 调用延时程序 将a赋给P0 N R4=0? Y 右移一位a值 调用延时程序 将a赋给P0 Y N R4=0? 图3.3 方式二流程图 XVI 方式二子程序: zyc: mov p0,#0feh ;2键左右循环 mov a,p0 restart1: mov r5,#7 mov r4,#7 loop3: ; mov a,p0 jb p1.1,start rl a lcall delay mov p0,a djnz r5,loop3 loop4: rr a lcall delay mov p0,a djnz r4,loop4 sjmp restart1 ret 3.5 方式三子程序设计 XVII 当按下三号键的时,主函数跳转到方式三子程序,使彩灯的变换方式为,两端的 两个LED灯亮中间的四个灭,再中间四个亮两边的两个灭,依次这样循环. 开 始 给P0赋值 将P0传值给a N P1.2=0, Y Swap a start 跳转到 将P0值传给a 短跳转 图3.4 方式三流程图 XVIII 方式三子程序: zbc: mov p0,#0c3h ;3键中边循环 loop5: mov a,p0 jb p1.2,start swap a lcall delay mov p0,a sjmp loop5 ret 3.6 方式四子程序设计 当四号键按下时,主程序跳转到方式四子程序,使彩灯的变换方式为奇偶交替亮 灭,依次这样循环 XIX 开 始 P0赋值0F0H 将P0传值给a Swap a 调用延时程序 员 将a赋值给P0 给P0赋值55H 将P0赋值给a N P1.3=0? Y Rl a 跳转到start 调用延迟程序 将a赋值给P0 短跳转 图3.5 方式四流程图 XX 3.7 延时子程设计 开 始 给R6赋值200 给R7赋值250 两次nop操作 N R7=0, Y N R6=0? Y 返 回 图3.6延时程序流程图 XXI 延时子程序: delay: ;延时 mov r6,#200 loop2: mov r7,#250 loop1: nop nop 3.8电路仿真 PROTEUS软件自带编辑器,可以实现对汇编程序的编译,其操作步骤是: ? 新建源文件:点菜单Source?Add/Remove source Files在出现的对话框中,选择ASEM51编辑器,新建NOMAME1.asm 源文件。 ? 程序设计:点菜单Source?NAMAME1.asm打开源文件编辑器,将将附录程序输入到文本中。 ? 源程序编译:点菜单Source?Build ALL编译汇编源程序,生成目标代码文件PMD.HEX,若编译失败,可对程序进行修改调试直至编译成功。 ? 目标代码加载:在PROTEUS编辑环境双击AT89C51,弹出如图4.6所示的对话框,在PROGRAM FILE一栏中单击打开按钮,选中NOMAME1.HEX文件。在CLOCK FREQUENCY栏中设置系统工作频率为12MHZ,单击OK完成目标代码加载。 图3.8 程序代码加载 XXII 最后,点击运行按钮,启动系统仿真.仿真结果如图3.9所示。当按下一号键时 图3.9方式一仿真结果1 当按键二按下时仿真结果如图3.10所示。 XXIII 图3.10方式二仿真结果 当按键三按下时仿真结果如图 图3.11方式三仿真结果 当按键四按下时仿真结果如图 图3.12 方式四仿真结果 XXIV 3.9仿真结果分析 通过对上述模块的仿真,可以看出基于单片机控制的节日彩灯在PROTEUS软件上可以很好的实现各种变换花样的仿真。 当仿真开始运行时,各个模块处于初始状态。当有按键触发后,主程序跳到相应的彩灯闪亮方式循环闪亮。因此,从仿真结果可以看出,本设计可以得到预期的仿真效果。 四、小结 通过这次单片机课程设计,我了解到自己在单片机方面还有很多不足,特别是 因此我在设计中遇单片机指令系统及AT89C51各引脚的第二功能等等知识不够了解. 到不懂的东西就马上查资料或请教同学.这不仅加深了我对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。 这个设计过程中,我们要实现彩灯的多功能化,老师平时指导我们将程序模块化,首先实现一个功能,接着逐个地添加功能,最后达到多功能化.有了明确的方向后,我们开始认真的搞我们的课程设计.这个过程中,我们花费了大量的时间和精力,同时还懂得合作精神的重要性,学会了与他人合作,不懂的不明白的就要和同学们交流,这样学习才更有乐趣。 在课程设计过程中,不断调试程序和修改程序,提高了对单片机的应用能力,分析问题和解决问题的能力。在和同学们交流的同时也明白了做任何事情都要有团结合作的精神,只有这样才能更快更好的掌握好要学习的知识。 XXV XXVI
本文档为【节日彩灯控制器设计报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_574951
暂无简介~
格式:doc
大小:162KB
软件:Word
页数:21
分类:生活休闲
上传时间:2017-10-07
浏览量:79