欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    毕业设计(论文)单片机控制的循环彩灯系统设计.doc

    • 资源ID:3977959       资源大小:481.50KB        全文页数:51页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计(论文)单片机控制的循环彩灯系统设计.doc

    2006届普通本科毕业论文(设计)存档编号: 毕业论文(设计)题目: 单片机控制的循环彩灯系统设计 专 业: 计算机科学与技术 院 系:计算机科学与技术学院 年 级: 计科Q0245 学 号: 02014104 姓 名: 指导教师: 职 称: 副 教 授 湖北经济学院教务处 制目 录前 言·····························································1绪 论.····························································摘 要·····························································1第1章 设计概述····················································21.1引 言··························································21.2彩灯功能描述····················································2第2章 彩灯原理与系统框架设计······································32.1 彩灯原理介绍···················································32.2 系统设计框架···················································42.3 系统技术方案···················································7第3章 彩灯硬件设计实现············································123.1 系统电源·······················································123.2 交流检测电路···················································133.3 LED控制电路···················································14第4章 彩灯软件设计实现············································164.1 编程语言的选择·················································164.2 系统总流程·····················································174.3 状态内部流程···················································194.4 系统编程实现···················································19第5章 系统调试····················································355.1 电源的调试·····················································355.2 单片机调试·····················································365.3 系统软件调试···················································375.4 综合调试·······················································38结束语····························································39致 谢·····························································40参考文献··························································41前 言单片机技术的出现给现代工业测控领域带来了一次技术革命。目前,单片机仍以其高可靠性、高性价比,在工业控制系统、数据采集系统、智能画仪器仪表、智能家电等诸多领域得到了广泛的应用。作为将要从事单片机应用系统开发方面的技术人员,掌握单片机的应用技术是必要的。 在单片机的应用过程中,单片机只是应用系统的一个核心部件,为把单片机系统应用于不同的领域,只掌握单片机的基础知识是远远不够的,要想构成一个完善的应用系统,还要熟悉执行机构及硬件接口电路的应用特性,同时,还应该掌握系统的结构布局、印刷电路板的结构布局及软件的设计技巧这些书本上学不到的知识,因此为设计出完善的应用系统,必须在实际工作中勤于实践,逐步积累这方面的经验。本设计就是以此为出发点,以构建单片机应用系统来展开的。本设计主要介绍了单片机应用系统的设计思路,并简要的介绍了硬件电路设计及软件编程技巧。同时对51系列单片机EM78P153的特点及其各引脚特性做了详尽地阐述。整个设计共分五章。第一章讲解了该设计的设计概要第二章讲解了该设计的彩灯原理与系统框架设计第三章讲解了该设计的硬件实现方案第四章讲解了该设计的软件设计方案与编程实现第五章讲解了该设计的调试问题 由于个人水平所限,设计中的缺点和不妥之处在所难免,请指导老师指正。绪 论单片微型计算机(Sing Chip Microcomputer)简称单片机,又称微控制器(Microcontroller Unit)或嵌入式控制器(Embedded Controller)。它是将计算机的基本部件微型化,使之集成在一块芯片上的微机。片内含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线等。单片机有着体积小、攻耗底、功能强、性能价格比高、易于推广应用等显著优点,在工业、农业、国防、科研、机关、教育、商业以及家电、生活、娱乐、玩具等各个领域之中得到日益广泛的应用。从国内开发应用单片机的情况看,我国目前和今后相当长的一段时间内,8位单片机仍然是实际应用中的主导品种,大多数单片机的应用仍会以51系列单片机为主。尽管16位和32位单片机已为人们所熟悉和了解。本篇主要讲解以51系列单片机EM78P153这款单片机为主线来开发实现单片机控制的循环彩灯系统的设计与实现。现就此款单片机作如下的简单介绍:EM78P153是一款由台湾义隆公司在基于美国微芯公司生产的PCI芯片的基础上开发出来的一种采用低攻耗、高速CMOS工艺制造的8位单片机。同时它还在构架上应用了与众不同的设计手法哈佛体系及哈佛总线结构。EM78P153单片机的外观如图1所示, 图1 EM78P153单片机的外观其管脚说明如下:/RST:人工复位信号输入端/施密特出发输入,当该脚保持低电平时单片机复位。不接地其他电路时,可将该脚接VDD。TCC:定时器/计数器输入脚,施密特触发输入,当该脚不用时,必须接地或VCC/INT:外部中断输入脚,下降沿触发中断OSCI:晶体振荡器的输入脚。为单片机工作提供时钟脉冲信号OSCO:晶体振荡器的输出脚。通常在OSCI和OSCO之间外接一只晶振VDD:电源正极VSS:电源负极或地P50P53:P50P53为双向I/O端口。P60P67:P60P67为双向I/O端口。具有下面的性能特点:a) 工作频率范围:DC20MHZb) 工作电压范围;2.35.5Vc) 工作温度范围:070d) 底功耗:5V/4M工作条件下电流小于1.5mA5V/32K条件下电流为15A在休眠模式下电流低于1A e) 自带1024×13位的片内ROMf) 具有程序加密措施,可以保护程序不能够被非法读出g) 32×8位的片内数据寄存器组(即静态存储器,SRAM一般寄存器)h) 两族双向I/O端口 P5x和P6x,其各条引脚可以独立编程i) 具有一个8位宽的定时器/计数器,其信号源、触发边缘可编程选择,溢出产生中断j) 具有两种节电模式(休眠模式),以利于延长供电电池的使用寿命k) 具有3种中断模式 TCC益处中断、输入变化中断和外部中断l) 7个可编程上拉和漏极开路I/O管脚 P6xm) 6个可编程下拉管脚n) 其端口带有推挽功能o) 指令系统中的全部指令采用统一长度,也就是全都整齐划一为13bit长 的指令字p) 具有一个自由运行的看门狗定时器q) 采用共有5级的硬件堆栈结构,方便于堆栈的操作r) 采用精简指令集(RISC)技术,其指令系统只有57条指令共5总寻址方式s) 每个指令周期内部仅包含两个时钟周期t) 绝大多数的指令为单指令周期的指令u) 该单片机为14管脚双列直插封装型号v) 外围电路简洁。该单片机片内集成了上电复位、I/O引脚的上位、漏极开路、看门狗等功能电路,能够最大程度减少或免用外接电路,从而便于实现单片机在嵌入系统中的“纯单片”应用摘 要本系统介绍了一种新型的LED彩灯控制系统的设计方法,它以价格低廉的51系列单片机EM78P153为主控核心,是基于计数器和PWM调试的,并与按键、拨码开关等较少的辅助硬件电路相结合而实现的。此设计利用PWM技术控制各基色LED灯泡的亮度,利用系统计数器实现彩灯色彩的变换,利用中断转换实现色彩状态子程序的连续调用(即利用软件实现对基色LED彩灯进行控制)。本系统具有体积小、硬件少、电路结构简单及容易操作等优点。关键词:LED彩灯; EM78P153单片机;彩灯控制器;模块设计。ABSTRACTThe system introduced design methodology of a new type of LED Lantern controlling system.EM78P153 of cheap 51 series Microcontroller Unit is used as its core,and is based on counter and PWM debugging,And ancillary hardware circuits such as click, monitor less combined with. This design uses PWM technology LED dwell in the brightness control, the use of the system counter achieves Lantern color changing, the use of the state library was converted to color continuous use(use software to control the base color LED Lantern ).With the small size of the system, less hardware, circuit structure simple , easy operation advantages and so on.Keyword : LED Lantern; EM78P153 single-chip microcomputer; lantern signal controllers; Modular design.第1章 设计概述1.1 引 言:随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。LED彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用。用彩灯来装街道和城市建筑物已经成为一种时尚。但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外,从功能效果上看,彩光模式少而且样式单调, 缺乏用户可操作性,影响灯光效果。因此有必要对现有的彩灯控制器进行改进。1.2 彩灯功能描述:彩灯可以通过定时或随用户要求来变换不同的颜色。传统的彩灯一般只有3种颜色,分别对应3种颜色的灯泡,当需要其中某种颜色的时候,点亮该颜色的灯泡,熄灭其他颜色的灯泡;先进的彩灯利用三基色原理做简单的混合,其控制系统则只是几个开关或按钮。在本设计中则采用三基色原理,利用价格低廉的51系列单片机EM78P153来控制基色LED灯泡,从而实现丰富的色彩变化。利用三基色原理的艺术彩灯的功能如下:(1)实现七彩颜色变化利用3个独立的单色LED灯泡进行组合搭配,应用三基色原理,利用价格低廉的51系列单片机控制基色LED灯泡来实现丰富的色彩变化。在此例中则使单个彩灯可有7种不同的颜色。(2)设置色彩变换的快慢可利用拨码开关来自行设定彩灯色彩的变换快慢,并可随时修改这种设置。同时也可利用拨码开关来设定彩灯点亮时的初始状态。此外,系统自我缺省地设置了一组节奏。第2章 彩灯原理与系统框架设计2.1 彩灯原理介绍:系统根据三基色原理,以红、绿、蓝3种基本颜色组成一个可变的单元,将红绿蓝3种基色LED灯泡放到磨沙的玻璃罩内,3种基色光经混合后,便可对外呈现7种颜色。系统则利用单片机I/O口的PWM调制来调节LED亮度,使各种颜色之间的变化柔和;还可以应用拨码开关来进行外部设置,如设置颜色变化的周期、起始状态的颜色以及呈现不同的景象。1.1 彩灯实现原理系统使用3个具有独立颜色的LED灯泡,根据三基色原理,这3个LED的发光颜色为红、绿、蓝。这3个具有独立发光颜色的LED将按照颜色搭配能发出不同颜色光彩的特性进行组合,使彩灯呈现不同的色彩。三基色原理的基本公式如下: 红色 + 蓝色 + 绿色 = 白色 红色 + 蓝色 = 紫色 蓝色 + 绿色 = 青色 绿色 + 红色 = 黄色1.2 色彩转换分析系统利用单片机控制连接红、绿、蓝3个LED的I/O口,使其产生不同的波形即可得到相应的颜色。假设通过接口电路在单片机I/O口连接好基色LED,I/O口输出PWM波形控制LED的灯光亮度,其亮度波形如图2-1:图2-1 亮度波形图2-1显示了红(r)LED、绿(g)LED和蓝色(B)LED在单片机控制下的亮度波形。000、001这样的二进制编码为三基色的联合状态值,3位编码分别表示红、绿、蓝。其中,0表示熄灭;1表示亮度达到最大值。该波形是一个时序图,例如蓝色LED在T0T3时段熄灭;在T3T4时间段渐渐亮起来,直到最亮;在T4T7时间段保持最亮;在T7T8时间段渐渐暗下。同时为了亮度的需要,可以通过外部电路取反使不需要的3个熄灭的状态转为全亮的状态。1.3 色彩变换的实现LED灯泡发光恒定,若要达到色彩变换的效果还需利用单片机控制各色LED发出不同亮度的灯光。控制LED亮度需要利用单片机I/O口的PWM来实现数字/模拟转换,D/A转换的实质是对某一固定频率的脉冲进行占空比调节。假设LED灯泡的工作电压为Uo,单片机I/O口的输出占空比为a,LED的平均工作电压为Uavg,它可以有公式Uavg=a*Uo计算得到。由此公式可知,只要改变LED的平均工作电压Uavg,就能使发光亮度有所改变。然而工作电压Uo是220V市电经过整流后的恒定电压,不可随意变更,因此只能通过改变占空比a来改变Uavg的值。及色彩变换可以转变为通过调节占空比a来调节LED灯光亮度,进而利用三基色原理调出所需色彩。2.2 系统设计框架彩灯需要定时变换灯光色彩,也可以根据需要设定色彩的变换方式。这使系统必须具备一定的控制功能,并提供可操作的接口。另外,还需要选用特殊的灯泡来变换色彩;最后,系统还将留出功能接口,便于扩展。2.1 单片机控制单片机主要完成定时控制和彩灯色彩变换控制,它不负责驱动彩灯。由于单片机是弱电系统,它只能给出控制使能信号,而使能过后的动作则由具体电路来实现。下图2-2为单片机控制模块和基本功能的划分结果。图2-2 单片机控制模块单片机控制模块图2-2说明了单片机的控制模块和基本功能划分。具体实现的功能描述如下:l 系统利用单片机内部的计数/计时器来实现计时,完成灯泡色彩的变换。计时信号分为两个,利用两者的比较来调节灯泡的亮度,实现色彩的平滑转换。同时,这两个计时器可用于协调多个彩灯之间的同步/异步变化,由单片机的计时控制实现。l 利用单片机产生PWM波形,实现交流控制。彩灯采用的是交流电,单片机使用直流电,这种情况下,通常利用单片机产生PWM波形来控制彩灯。l 利用交流检测实现多个基色LED灯泡的亮度的同步变化。单片机I/O连接交流检测电路,利用它来检测交流过零,利用采集的检测值实现多个基色LED灯泡的亮度的同步变化。l 响应并保存用户的自行设置。本系统允许用户自行设置,因此单片机要能够保存设定参数,然后单片机根据相应的参数循环执行程序。 2.2 灯泡的选定基于实际开发的考虑,本系统选择了具有高亮特性的LED灯泡。它具有发热量低(冷光特性)、耗电量少、寿命长的特点,可平面封装用于各式灯饰照明,配合不同灯罩后适用于各种场所。LED亮度恒定、无闪烁感、能耗小、不发热,所以选择这种LED灯泡可以让彩灯的色彩变换比较柔和,灯光色彩稳定。所以用3个LED灯泡并通过三基色原理搭配出不同的色彩。2.3 系统框架设计系统的电路原理图2-3如下所示:图2-3:系统电路原理图本系统的规模较小,按照单片机选型的总原则,本系统选用的单片机型号为EM78P153,它不仅可以满足系统功能实现的要求,同时可使本应用系统有比较高的可靠性,较高的性能价格比,拥有较长的使用寿命,并提供了升级换代的可能。它的指令与51单片机相兼容,属于51系列。该单片机内部集成了可编程RC振荡器和复位电路。具体的端口定义如图2-4所示:图2-4 EM78P153单片机端口定义这款EM78P153单片机为14管脚封装的系统,其特征参数如下:u 工作电压范围2.35.5Vu 功耗5v/4MHZ时低于1.5mA;5v/32MHZ时为15A;在休眠模式时低于1A。u 1024*13位片内ROM。u 4个内建校准IRC振荡器 8MHZ、4MHZ、1MHZ和45Khz。u 32*8位片内寄存器组(SRAM,一般寄存器)。u 两族双向I/O端口 P5x和P6x。u 8位实时计时/计数器(TCC),其信号源、触发边缘可编程选择,益处产生中断。u 3种中断模式 TCC益处中断、输入变化中断和外部中断。u 7个可编程上拉和漏极开路I/O管脚 P6x。u 6个可编程下拉管脚。 LED灯泡一般选用高亮LED,由于红色LED的亮度相对较弱,所以蓝色和绿色LED比红色少一个。正常工作状态下,绿色和蓝色LED的工作电压为3.2v,而红色LED的工作电压为2.0v。红、绿、蓝3种LED的工作电流相同,一般设定为18mA。 由电路原理图2-3可知,单片机利用I/O口直接驱动和控制基色LED灯泡,并采用PWM波形调节脉冲宽度,从而改变LED的占空比,使其平均工作电压发生变化,调节基色LED的亮度。这样,彩灯内部的3种基色LED即可混色出不同的色彩。2.3 系统技术方案本方案中的技术方案包括PWM实现技术、系统计数器的使用和系统中断转换。其中,利用PWM技术控制各LED灯泡的亮度;利用系统计数器实现彩灯色彩的变换;利用中断转换实现色彩状态子程序的连续调用。(1)PWM实现技术PWM调制是实现系统功能的关键之一,在次采用两个计数/计时器,通过比较它们的状态来调节基色LED的亮度。设两个计数器的范围均为0256,记为CNT1和CNT2,他们向上生长的速度(计数器累加的速度)快慢不一:CNT1快速的向上计数,计到256后又开始从0计数;CNT2则每10ms向上计数一次。如果CNT1的值小于CNT2,则输出高电平,点亮基色LED;如果CNT1的值大于CNT2,则输出低电平,基色LED熄灭;如果两个计数器都从0开始变化,则单片机控制平均电压从大到小变化,CNT2计数满一次为256*10ms=2.56s,即经过2.56s后,基色LED由暗到亮变化。(2) PWM编程描述以蓝色LED的控制为例,利用c语言伪代码描述PWM的实现过程。a) 函数功能描述本函数利用PWM调节单片机I/O口的波形,控制其输出高/低电平;根据相应的输出电平点亮/熄灭LED灯泡。b) 函数实现描述如上系统电路原理图2-3所示,P51P53是单片机的I/O口,它们连接基色LED。本函数利用计数器状态比较来实现PWM,函数没有输入,输出,CNT1和CNT2的初始状态可进行需要的相应设置。伪码如下: Bool LED(void) for(;cnt1+) if(cnt1<cnt2) red=1; /点亮蓝色LED else red=0; /熄灭蓝色LED /flms为定时器中断产生的10ms时间标志if(flms) flms=0; /清楚10ms标志 cnt2+; /计数器2加1 if(cnt2=255) return 0; /2.5s时间到则退出,返回return 1; (3) 系统中断转换系统可呈现7种彩色灯光,分别对应图2-1中T2T8状态。T1状态为系统保留,它代表白色光。因此,系统主要由这8种状态的模块组成,每一种状态对应于设定的中断号。当彩灯的色彩发生变换时,一定会进入某个中断子程序,并且由此中断的中断点开始按顺序进入下一中断子程序;否则,系统中断不发生转换,彩灯固定在一种色彩灯光下。系统中断转换由主流程控制,主流程包括主程序模块和各中断模块。下图2-5表示的系统状态转换图则说明了若系统由T1状态开始,发生顺序转换的过程。图2-5 系统状态转换各中断模块的程序实现以及中断实现由后面T1T8的程序实现来进行详细的介绍。为了便于控制各中断的执行,使得每一次中断调用能保证最终态的稳定,在此将中断转换嵌入至各中断模块内部。如:T1至T2的状态转换程序代码如下: JBS FLAG,DIRECT_F ;状态是否跳转 JMP LOOP_T1 ;否!回到本状态 BC FLAG,DIRECT_F JMP LOOP_T20 ;进入T2,红灯亮 LT1: BC PORT5,3 ;输出,红灯亮 JBS FLAG,DIRECT_F ;状态是否跳转 JMP LOOP_T1 ;维持T1 BC FLAG,DIRECT_F ;再次判断跳转(4) 系统计数器的使用方法PWM的实现过程中使用了两个计数器CNT1和CNT2,通过技术比较来判定LED灯泡是否点亮:若CNT1CNTT2,LED灯泡由熄灭状态进入点亮状态;若CNT1CNT2,LED灯泡的状态进入熄灭状态。各基色LED灯泡是串行连接的,并且只需改变一种基色LED灯泡的状态便能实现色彩的变换,因此,系统计数器CNT1和CNT2只设立一组。如果当前改变的是红色LED灯泡的亮度,那么绿色和蓝色LED灯泡的亮度保持原状态不变。系统计数器的另一个作用是控制色彩变换的频率,它可以由系统的初值设定,也可以由用户来设定。系统计数器的实现代码将在4.4.3和4.4.4中进行详细的代码分析。(5) 本系统采用了EM78P153型号的单片机,用来检测交流信号,产生色彩变化的PWM信号输出。EM78P153内部集成频率可编程的RC振荡器和复位电路,大大减小了电路的体积,可使电路能够容纳在一个灯泡里面。图2-6 EM78P153单片机外观(6) EM78P153单片机的外观如上图2-6,其管脚说明如下/RST:人工复位信号输入端/施密特出发输入,当该脚保持低电平时单片机复位。不接地其他电路时,可将该脚接VDD。TCC:定时器/计数器输入脚,施密特触发输入,当该脚不用时,必须接地或VCC/INT:外部中断输入脚,下降沿出发中断OSCI:晶体振荡器的输入脚。为单片机工作提供时钟脉冲信号OSCO:晶体振荡器的输出脚。通常在OSCI和OSCO之间外接一只晶振VDD:电源正极VSS:电源负极或地P50P53:P50P53为双向I/O端口。P60P67:P60P67为双向I/O端口。本系统中单片机的外部接线和端口接线较为简单,其详细的端口的定义如图2-4所示。其中P51接红LED,P52接绿色LED,P53接蓝色LED。此外,系统还预留了用户端口P61P67,它们连接了一个如下图2-7所示的拨码装置,用来设置系统状态值。图2-7 拨码装置的连接第3章 彩灯硬件设计实现系统的实际布线包括3个部分;单片机系统、电源电路和LED控制。具体电路图如图3-1所示:图3-1 系统电路图3.1 系统电源本系统中的彩灯要求电路体积较小,且直接利用220v的市电供电。因此,电源部分要采用电容降压、全桥整流,如图3-2所示。交流市电经过5v稳压管即可得到单片机所需的5v直流工作电压。在本系统设计中采用全桥整流,它提供的电流比半波整流电流大1倍。在电容降压回路上,串联一个300的电阻,主要防止上电时大电流的冲击。3.2 交流检测电路图3-2 系统电源电路此应用不需要严格的过零检测,所以如图3-1交流检测电路利用一个1M的电阻与单片机的I/O口连接,检测交流过零。(从电路技术来说,利用弱电系统检测交流强电的原理是利用晶振脉冲的上升沿和下降沿检测此刻的交流电状态。如果两次采样的交流点状态没有变化,那么此时没有发生交流过零;如果两次采样的交流电状态发生变化,那么一定发生交流过零。)这样连接的目的是当很多灯泡同时变化时,可以起到同步的作用。系统完全依靠单片机内部的RC振荡器,由于它会受温度的影响,一致性不好,长时间运行会使色彩变化不一致,所以通过检测同一交流电,能保证所有同时上电的彩灯同步变化。交流检测电路连接了一个0.01F的电容,如图3-2所示的电容C5,它能很好地起到抗干扰的作用。单片机从外部电路得到交流电压,并对其进行交流过零检测,这部分功能必须对单片机编程才能实现。交流检测电路的实现过程,首先保存I/O口的初始状态,在系统运行时利用时钟脉冲间隔不断检测I/O的状态,如果状态发生改变,则发生交流过零。为说明此算法原理,在此利用C语言伪代码描述这一过程。(1)函数功能描述函数Dectec_Ac()完成交流电的过零检测。它的设计思路是利用函数的输出状态确定是否交流过零。(2)函数实现描述如图3-1所示,P60/INT是单片机的I/O口,用它连接交流检测电路。本函数无输入,函数输出为交流过零检测的结果:1(TRUE)表示交流过零;0(FALSE)表示交流电没有过零。函数设计两个交流的状态值:s0为交流输入初始状态值;s1为当前状态值;执行该函数时,只需要比较s0和s1的值即可。实现伪代码如下:Bool Dctect_Ac(void) Bit Ac_flag; If(s0=!s1) /s0为交流输入初始状态值;s1为当前状态值 .s0=s1;/一次过零后,更改初始值,等待下一过零出现 Ac_flag=TRUE; /过零标志置1 Return Ac_flag; Ac_flag=FALSE; /过零标志置0 Return Ac_flag;3.3 LED控制电路LED控制电路如下图3-3所示:图3-3 LED控制电路蓝色LED和绿色LED由两个三极管控制,当与单片机I/O口连接的NPN截止时,控制LED的PNP三极管也截止,LED导通点亮;相反,如果单片机I/O口输出高电平,PNP三极管的基极电位为地,PNP三极管的基极电位为地,PNP的CE极间导通,接在PNP间的LED被短路、熄灭。两个PNP三极管间的电阻要选得恰当,截止的时候要求在电阻上产生的压降小于几个LED的电亮电压。 一般说来,PNP管和NPN管的选取原则是:放大系数、截止特性曲线应保证基本一致;尽量选择同一厂家的产品;产品型号若能接近则最近。第4章 彩灯软件设计实现4.1 编程语言的选择根据系统设计的分工,硬件系统设计完成后,下一步工作就是应用系统的软件编制。所谓软件,是指完成各种功能的计算机程序的综合,如:操作、监控、管理、控制、计算和自诊断程序等。所以软件可以说是微机系统的神经中枢,整个系统的动作都是在软件的指挥下协调和完成的。然而软件是由语言来实现的,且语言并非一种,按使用语言的类别来区分,语言大致可分为机器语言,汇编语言和高级语言3种,所以选择语言要视具体情况而定。因为本设计要实现的功能具有比较强的实时性,同时为了节约成本,提高其性价比。又由单片机选型原则可知其要尽可能的利用自身所带的资源,充分发挥自身的功能。考虑到汇编语言具有这两方面的特性,所以在设计中我选择了用汇编语言来实现软件功能。下图4-1所示是系统的总体流程以及各状态内的实现流程。 (a)系统主流程 (b)状态内部程序流程 图4-1 系统流程图4.2 系统总流程由系统流程图4-1(a)可以看出,系统加电后首先完成初始化过程,给内部寄存器赋值,然后从单片机外部读入各参数值和用户设定值。完成上述初始化步骤后,系统进入循环,由一个状态进入到另一个状态。系统总共定义了8种状态,每进到一个状态,执行相应代码,这种状态的连续变化就使得彩灯的色彩不断变化。系统总的流程描述如下:(1)单片机上电后,初始化寄存器。单片机上电后,主函数模块将调用CALL指令进入初始化函数模块,初始化工作包括4个方面:1. 定义全部寄存器和单片机端口。2. 初始化片内寄存器和P5、P6端口状态。3. 关闭中断,初始化中断标志位。4. 设定用于实现PWM调制的片内计数器CNT1和CHT2的初始值。(2)完成初始化后,系统读取外部状态,初始变化周期并散转至各状态分支程序。完成初始化后,系统将利用P6端口读取用户的设置值(即拨码开关设置的变化周期),同时设定变化的状态值。这部分的操作在编程过程中与寄存器初始化过程统称INIT模块,利用CALL指令调用。(3)根据外部状态值,进入相应状态的分支程序并执行。系统总共定义了8种状态,分别实现了不同的颜色变化。状态1:红色LED灯泡渐亮进入状态1之前,红色LED灯泡为熄灭状态,绿色和蓝色LED灯泡可为任意状态;进入状态1之后,系统将点亮红色LED灯泡,逐渐熄灭蓝色和绿色LED灯泡,最终红色LED灯泡亮度达到最大值,彩灯呈现红色。状态2:绿色LED灯泡渐亮进入状态2之前,绿色LED灯泡为熄灭状态,红色LED灯泡亮度达到最大值,蓝色LED灯泡可为任意状态;进入状态2之后,系统将点亮绿色LED灯泡,红色LED灯泡保持亮度,逐渐熄灭蓝色灯泡,最终绿色LED灯泡亮度达到最大值。彩灯的颜色变化为红色橙色黄色,并最终稳定在黄

    注意事项

    本文(毕业设计(论文)单片机控制的循环彩灯系统设计.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开