已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要家人和其他人带来美的享受。本系统采用单片机at89c51为中心器件来设计彩灯控制器,并用发光二极管作为被控制部件来显示。系统实用性强、操作简单、扩展性强。彩灯控制器在我门日常生活中有重要的运用,如广告牌的设计和节日彩灯的设计都能运用到它的原理。关键词:at89c51; 节日彩灯控制器;发光二极管目 录摘要.1设计任务11.1功能及技术指标要求.11.2设计内容.11.3设计思路及关键技术.12彩灯灯的设计程序框图.23彩灯程序的主程序.34系统硬件电路的设计.124.1 时钟源. 124.2 周期控制 . 124.3方向控制电路 .134.4执行电路 134.5电路仿真 145原理图.146检测与调试.156.1硬件调试156.2软件调试157总结与体会.168参考文献.169致谢.161.设计任务1.1功能及技术指标要求设计节日彩灯的基本要求:设计一个节日彩灯,要应用dvcc实验系统。1.2、设计内容按设计技术指标进行节日彩灯的硬件和软件设计。1.3设计思路及关键技术一个完整的节日彩灯相当于一个简单的单片机系统,该系统有彩灯设置电路、单片机、显示电路等构成。单片机是集成的ic芯片,只需根据实际要求选型。其他部分都需要根据应用要求和性能指标自行设计。基于单片机的节日彩灯设计时要充分的认识以下几个问题:1.3.1因为本实验是彩灯控制实验,所以要先了解所设计的彩灯变化规律,我们设计的为可以循环移动的彩灯控制电路,灯总数为16盏,一个红灯一个绿灯间隔的排在一起,其工作规律是先红灯1、5亮,其余灭,右移三次后全灭;4 、8亮,其余灭,左移三次后全灭 ;4 、5亮,其余灭,各向两边移三次后全灭 ;1、8亮,其余灭,各向中间移三次后全灭 ,灯移动间隔为1s,然后为全亮,1s后全灭。然后换为绿灯1、5亮,其余灭,右移三次后全灭;4 、8亮,其余灭,左移三次后全灭;4、5 亮,其余灭,各向两边移三次后全灭 ;1、8亮,其余灭,各向中间移三次后全灭 ,灯移动间隔为 1s,然后为全亮,1s后全灭,然后红绿灯全亮,1s后全灭,然后再红灯1、5亮.依次循环。1.3.2双色灯是由8个红色发光二极管管芯和8个绿色发光二极管管芯封装在一起,红灯和绿灯各共用一个负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高点平时,绿灯亮,两端都加高点平时,红色和绿色灯全部亮。 2、节日彩灯的设计程序序构图 开始 红灯1、5 亮,其余灭,右移三次后全灭 红灯4 、 8 亮,其余灭,左移三次后全灭 红灯4 、 5 亮,其余灭,各向两边移三次后全灭 红灯1、,8 亮,其余灭,各向中间移三次后全灭 红灯全亮,1s后全灭绿灯1、5 亮,其余灭,右移三次后全灭 绿灯4 、 8 亮,其余灭,左移三次后全灭 绿灯4 、 5 亮,其余灭,各向两边移三次后全灭 绿灯1、,8 亮,其余灭,各向中间移三次后全灭 绿灯全亮,1s后全灭红绿灯全亮 灯移动间隔为 1s 3节日彩灯设计的主程序 程序如下:led 一次为红灯led1-led8,一次为绿灯led1-led8状态1:红灯1、5亮,其余灭,右移三次后全灭状态2:红灯4 、 8 亮,其余灭,左移三次后全灭状态3:红灯4 、 5 亮,其余灭,各向两边移三次后全灭 状态4:红灯1、,8 亮,其余灭,各向中间移三次后全灭 状态5: 红灯全亮,1s后全灭状态6:绿灯1、5 亮,其余灭,右移三次后全灭 状态7: 绿灯4 、 8 亮,其余灭,左移三次后全灭 状态8:绿灯4 、 5 亮,其余灭,各向两边移三次后全灭 状态9: 绿灯1、,8 亮,其余灭,各向中间移三次后全灭 状态10: 绿灯全亮,1s后全灭状态11:红绿灯全亮设用p1.0作供电控制,p1.1-p1.8分别控制8只led,“1”亮,“0”灭。mov p1,#0;置灯全暗 红色灯jnb p1.0,$;p1.0=0时则等待通电 sta:setb p1.1;sta:setb p1.5;点亮1和5号led(开始状态1) lcall lll1;延时1秒钟clr p1.1;clr p1.5;灭1和5号led setb p1.2;setb p1.6;点亮2和6号led lcall lll1;延时1秒钟clr p1.2;clr p1.6;灭2和6号led setb p1.3;setb p1.7;亮3和7号ledlcall lll1;延时1秒钟 clr p1.3;clr p1.7;灭3和7号ledsetb p1.4;setb p1.8;点亮4和8号led lcall lll1;延时1秒钟 clr p1.4;clr p1.8;灭4和8号led setb p1.4;setb p1.8;再次点亮4和8号led(开始状态2)lcall lll1;延时1s clr p1.4;clr p1.8;灭4和8号led setb p1.3; setb p1.7;点亮3和7号led lcall lll1;延时1s clr p1.3;clr p1.7;灭3和7号led setb p1.2;setb p1.6;亮2和6号ledlcall lll1;延时1s clr p1.2;clr p1.6;灭2和6号ledsta:setb p1.1;sta:setb p1.5;点亮1和5号ledlcall lll1;延时1秒钟clr p1.1;clr p1.5;灭1和5号led setb p1.4; setb p1.5;点亮4和5号led(开始状态3) lcall lll1;延时1s clr p1.4; clr p1.5;灭4和5号led setb p1.3; setb p1.6;点亮3和6号led lcall lll1;延时1s clr p1.3;clr p1.6;灭3和6号led setb p1.2;setb p1.7;亮2和7号led lcall lll1;延时1s clr p1.2;clr p1.7;灭2和7号ledsetb p1.1;setb p1.8;点亮1和8号ledlcall lll1;延时1s clr p1.1;clr p1.8;灭1和8号led setb p1.1;setb p1.8;再次点亮1和8号led(开始状态4)lcall lll1;延时1s clr p1.1;clr p1.8;灭1和8号led setb p1.2;setb p1.7;亮2和7号led lcall lll1;延时1s clr p1.2;clr p1.7;灭2和7号ledsetb p1.3; setb p1.6;点亮3和6号led lcall lll1;延时1s clr p1.3;clr p1.6;灭3和6号led setb p1.4; setb p1.5;点亮4和5号ledlcall lll1;延时1s clr p1.4; clr p1.5;灭4和5号led setb p1.1.1.8 点亮所有红灯(开始状态5)clr p1.1.1.8灭所有灯 绿灯sta:setb p1.1;sta:setb p1.5;点亮1和5号led(开始状态6) lcall lll1;延时1秒钟clr p1.1;clr p1.5;灭1和5号led setb p1.2;setb p1.6;点亮2和6号led lcall lll1;延时1秒钟clr p1.2;clr p1.6;灭2和6号led setb p1.3;setb p1.7;亮3和7号ledlcall lll1;延时1秒钟 clr p1.3;clr p1.7;灭3和7号ledsetb p1.4;setb p1.8;点亮4和8号led lcall lll1;延时1秒钟 clr p1.4;clr p1.8;灭4和8号led setb p1.4;setb p1.8;再次点亮4和8号led(开始状态7)lcall lll1;延时1s clr p1.4;clr p1.8;灭4和8号led setb p1.3; setb p1.7;点亮3和7号led lcall lll1;延时1s clr p1.3;clr p1.7;灭3和7号led setb p1.2;setb p1.6;亮2和6号ledlcall lll1;延时1s clr p1.2;clr p1.6;灭2和6号ledsta:setb p1.1;sta:setb p1.5;点亮1和5号ledlcall lll1;延时1秒钟clr p1.1;clr p1.5;灭1和5号led setb p1.4; setb p1.5;点亮4和5号led(开始状态8) lcall lll1;延时1s clr p1.4; clr p1.5;灭4和5号led setb p1.3; setb p1.6;点亮3和6号led lcall lll1;延时1s clr p1.3;clr p1.6;灭3和6号led setb p1.2;setb p1.7;亮2和7号led lcall lll1;延时1s clr p1.2;clr p1.7;灭2和7号ledsetb p1.1;setb p1.8;点亮1和8号ledlcall lll1;延时1s clr p1.1;clr p1.8;灭1和8号led setb p1.1;setb p1.8;再次点亮1和8号led(开始状态9)lcall lll1;延时1s clr p1.1;clr p1.8;灭1和8号led setb p1.2;setb p1.7;亮2和7号led lcall lll1;延时1s clr p1.2;clr p1.7;灭2和7号ledsetb p1.3; setb p1.6;点亮3和6号led lcall lll1;延时1s clr p1.3;clr p1.6;灭3和6号led setb p1.4; setb p1.5;点亮4和5号ledlcall lll1;延时1s clr p1.4; clr p1.5;灭4和5号led setb p1.1.1.8 点亮所有绿灯(开始状态10)clr p1.1.1.8灭所有绿灯 setb p1.1.1.8 点亮所有红灯、绿灯(开始状态11)lcall lll1;延时1s clr p1.1.1.8灭所有红灯和绿灯 sjmp sta;转入状态1 org 00h sjmp main org 40h main:mov sp,#05fh mov p1,#0ffh ;按键输入 ,从p1.0-p1.8 分别代表状态1-8,低电平有效 mov p0,#0ffh ;led输出,p1.1-p1.8 分别是led1-led8高电平为led点亮,低电平为led息灭 loop:lcall do sjmp loop do:jb p1.0,lp1 mov b,p1 lcall do1 lp1:jb p1.1,lp2 mov b,p1 lcall do2 lp2:jb p1.2,lp3 mov b,p1 lcall do3 lp3:jb p1.3,lp4 mov b,p1 lcall do4 lp4:mov p0,#0ffh;无按键不等任何事retdo1:mov p0,#0ffh ;状态1 clr p0.0 lcall delay lcall delay mov p0,#0ffh clr p0.1 lcall delay lcall delay mov p0,#0ffh clr p0.2 lcall delay lcall delay mov p0,#0ffh clr p0.3 lcall delay lcall delay mov p0,#0ffh clr p0.4 lcall delay lcall delay mov p0,#0ffh clr p0.5 lcall delay lcall delay ret do2:mov p0,#0ffh ;状态2 clr p0.0 lcall delay mov p0,#0ffh clr p0.2 lcall delay mov p0,#0ffh clr p0.4 lcall delay ret do3:mov p0,#0ffh ;状态3 clr p0.1 lcall delay mov p0,#0ffh clr p0.3 lcall delay mov p0,#0ffh clr p0.5 lcall delay ret do4:lcall do1 ;状态4 lcall do2 lcall do3 ret delay:mov r5,#48 ;延时1sl1:mov r6,#0fah l2:mov r7,#0fah l3:mov a,p1 cjne a,b,l4 djnz r7,l3 djnz r6,l2 djnz r5,l1 l4:ret end 4系统硬件电路的设计十六盏灯可分为二组、每组只有八个红灯和八个绿灯,红灯和绿灯的移动方向各有二种,即左移或右移、组与组之间只有一种亮灯模式为全亮。 单元电路设计 4.1 时钟源 时钟源主要是由一个 32khz 晶体振荡器产生,再由一个分频器 4060 进行分频即可得到多种不同频率的时钟信号。 4.2 周期控制 这里选用计数器 74ls163 和非门 74ls04 对所输入的时钟信号进行 5 分频,用于控制每一组的八盏灯依次点亮后再熄灭的一轮循环的周期 4 .3方向控制电路 图所示的方向控制电路,单独对于每一组来说,移动的方向只有两种,即左移或右移。 因此,这里用一个 d 触发器 74ls74 将周期控制信号再一次分频,这样在每一个周期控制信号的周期里,方向控制输出不是 0 就是 1 ,正好用于表示左移和右移。 4.4执行电路 这个模块比较简单,用发光二极管 led 将移位寄存器的输出信号显示出来,可以感受到漂亮的彩灯流动的感觉。 这里需要注意的就是要给每一盏 led 串一个限流电阻,因为移位寄存器的输出信号为 ttl 电平,这个电平超过了 led 的正常的正向偏置的电压。 由于这里设计的是数字系统,用的都是 ttl 型的数字集成电路芯片,所以给这些器件供电的电压为单电源 +5v 即可,这个电源可以由实验室里的稳压源提供。 4.5电路仿真 将各单元电路原理图综合后输入到软件中,红灯和绿灯的闪亮情况一致,电路综合后并联设置一个开关,对其进行时序仿真和功能仿真。时序仿真可反映每一路信号与时钟信号之间的关系即不同路信号之间的关系。功能仿真可看出执行模块控制彩灯循环点亮的效果。5原理图方向控制周期控制输出驱动时钟源 周期控制 执行 电源 时钟源: 周期性的方波信号,用于控制灯移动的快慢。 周期控制: 用于控制每组灯一轮移动的时间。 方向控制: 用于控制灯移动的方向 输出驱动: 接收上述各模块的控制信号,将其变成需要执行的输出信号。 执行 : 将输出驱动的输出信号表现成循环点亮的形式。 电源: 给整个系统供电。6检测与调试6.1硬件调试 是利用dvcc实验与开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。硬件调试可分为静态调试与动态调试两步进行。静态调试是在用户系统未工作时的一种硬件检测。第一步:目测。检查外部的各种元件或者是电路是否有断点。第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。第三步:加电检测。检查所有插座或是器件的电源端是否符合要求的值第四步:联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的方法是由近及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试即告完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年广西壮族梧州市四年级数学第二学期期中质量跟踪监视试题(含答案)
- 2025-2026学年岳阳市岳阳县三下数学期中考试试题含解析
- 水利长期活动策划合同
- 市政排他性借款协议
- 汽车预备特许经营协议
- 环保排他性贷款合同
- 骨科三级考试题及答案
- 高速养护考试题及答案
- 洼田饮水试验考试题及答案
- 药品辅料考试题及答案
- 2026年小学心理健康教研教师招聘考试笔试试题【含答案】
- 2026年上海中考(化学)考试试卷真题(含答案)
- 护理个案:消化系统疾病的护理
- 2026年苏教版七年级下册数学期末学业检测卷(含答案可下载)
- 关于《弱胶结地层巷道与应力计锚杆(索)支护技术规范》的解读
- 2026江西省住房和城乡建设厅直属事业单位高层次人才招聘1人备考题库及答案详解(全优)
- 初中英语阅读教学中分级阅读策略的实践研究课题报告教学研究课题报告
- 2025海南国资运营旗下国改基金公司招聘4人笔试历年难易错考点试卷带答案解析
- 2026年单细胞多组学技术在肿瘤微环境研究中的突破应用
- 2025年校园食堂管理员招聘面试题及答案
- 三一重工销售员奖惩制度
评论
0/150
提交评论