关于单片机毕业设计Word文件下载.docx

上传人:b****5 文档编号:16962794 上传时间:2022-11-27 格式:DOCX 页数:25 大小:701.91KB
下载 相关 举报
关于单片机毕业设计Word文件下载.docx_第1页
第1页 / 共25页
关于单片机毕业设计Word文件下载.docx_第2页
第2页 / 共25页
关于单片机毕业设计Word文件下载.docx_第3页
第3页 / 共25页
关于单片机毕业设计Word文件下载.docx_第4页
第4页 / 共25页
关于单片机毕业设计Word文件下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

关于单片机毕业设计Word文件下载.docx

《关于单片机毕业设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《关于单片机毕业设计Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。

关于单片机毕业设计Word文件下载.docx

汪祖民(副教授)

评阅人:

胡玲艳

完成日期:

2012年5月20日

摘要

随着科学技术的发展,LED在城市化的过程中功不可没,各种夜景灯牌和广告显示屏,都在日益充斥人们新奇的眼球。

以往霓虹灯的发光体只有亮和灭两种状态,亮度都是突然变化的,往往给人一种图案变化生硬的感觉;

而现在很多霓虹灯已经实现了发光体亮度逐渐变化,这样形成的各种变化的霓虹灯图案更加柔和、流畅。

控制发光体亮度变化总体上可以分为模拟方法和数字方法,其中通过单片机控制D/A转换器实现发光体亮度控制的方法具有电路简单、维护和调整方便的特点,是当前霓虹灯控制的发展方向。

霓虹灯的发光体以气体放电灯管为主,现在随着高亮度发光二极管的产生,寿命长、能耗低的LED灯牌应用越来越广泛[1]。

这里讨论应用DAC0832在单片机控制下如何控制多个发光二极管的亮度变化。

本文通过DAC0832和单片机AT89C51控制技术,实现对LED亮度系统的控制,在单片机的控制下,利用多路开关和电压保持电路实现了对多个发光二极管亮度的变化控制,实现了LED灯的灯光旋转的效果。

关键词:

单片机,LED,D/A转换,亮度控制

ABSTRACT

Withthedevelopmentofscienceandtechnology,theLEDischangedinthecity,theprocessofourworkcannotbedoneifwithoutit,wholenightlightslicensingandadvertisingdisplay,areincreasinglyfilledpeoplenoveleye.Previousneonlightonlylightandshadetwo,brightnessissuddenlychanged,oftengiveapersonakindofpatternchangesofcurtfeeling;

andnowalotofneonlamphasachievedtheluminousbrightnessgraduallychanges,soformedvariousneonpatternsmoregentle,smooth.Controlluminousbrightnessvariationsingeneralcanbedividedintosimulationmethodandnumericalmethod,whichiscontrolledbythesinglechipmicrocomputerD/Aconvertertoachievelightbrightnesscontrolmethodhastheadvantagesofsimplecircuit,convenientmaintenanceandadjustmentofthecharacteristic,istheneonlightcontroldevelopmentdirection.Neonlightwithagasdischargelamp,nowwithhighbrightnesslightemittingdiodeproduction,longservicelife,lowenergyconsumptionoftheLEDlampisappliedmoreandmorewidely.ItdiscussestheapplicationofDAC0832underthecontrolofsinglechipmicrocomputertocontrolapluralityofthebrightnessofthelightemittingdiodechanges.ThisarticlethroughtheDAC0832andsinglechipcomputerAT89C51toLEDbrightnesscontrol,underthecontrolofsinglechipcomputer,realizingtheLEDlamp'

slightrotationeffect.

Keywords:

SingleChipMicrocomputer;

LightingEmittingDisplay;

D/AConversion;

Brightness

1绪论

1.1引言

目前,我国LED产品技术创新与应用开发能力逐渐提高,器件可靠性研究位置越来越重要,测试方法与标准也渐行渐近,所有这一切均标志着中国LED产业已经进入了一个崭新的发展阶段。

经过30多年的发展,中国LED产业已初步形成了包括外延片的生产、芯片的制备和封装,以及LED产品应用在内的较为完整的产业链。

节能环保型产品日益上涨,LED灯的广泛应用于我们的生活中。

1.2LED的发展现状

据了解,为了促进我国半导体照明产业上下游、产学研合作,加快我国半导体照明专利战略的建立,国家半导体照明研发及产业联盟专利池工作组已于08年6月底完成收集入池专利收集工作。

根据“谁参与谁受益,不参与难受益”的原则,由国家资助项目中申请的专利自愿提供,以及适当考虑对外购买等形式;

其次是绘制专利地图,建立我国的半导体照明专利战略,工作组联合技术专家、专利律师,先从支持“337调查”等类似专利纠纷应诉开始;

最后是专利池的建设有助于搭建标准和产业无缝衔接的平台,为国内企业带来国际竞争优势。

科技部国家半导体照明办主任吴玲表示,2008北京奥运会主会场“鸟巢”和“水立方”等场馆用的高亮度60lm/w的LED芯片均是由国内厂家提供,这一举彻底扭转了国外高端LED芯片垄断国内市场的局面。

同时,要突破跨国企业的技术垄断,我国LED产业不但要逐步向外延片和芯片生产等技术含量和附加值较高、技术突破难度较大的领域取得突破,也应该关注向专利纠纷少的上游领域延伸。

这表明,我国LED产业在经历了买器件、买芯片、买外延片之路后,

目前已经真正具备了自主生产外延片和芯片的能力。

由此可见,LED发光产品的应用正吸引着世人的目光,LED作为一种新型的绿色光源产品,必然是未来发展的趋势,给整个绿色照明生产行业带来广阔的市场前景与新的机遇[2]。

1.3课题概述

本次做了关于LED灯课题,主要是基于单片机控制,通过D/A控制的方法控制LED灯的亮度,设计LED灯控制系统,运用了单片机,汇编语言,以及一些相关芯片的应用,控制LED灯亮的方法有很多种,本次课题主要是用D/A控制用DAC0832控制,采用DAC0832的单极性输出,输出接保护电阻、接LED灯,用单片机的P1口作为位选,用拨动开关来选择两种亮灯的模式,实现对LED亮度的控制。

2总体设计

2.1设计要求

1、通过单片机控制D/A转换器实现LED亮度控制

2、要求有足够带负载能力,同时控制多个LED按不同规律改变亮度。

3、按键控制各种变化的图案不少于三种。

2.2设计方案

D/A是把数字量转化为模拟量,可以把00H~FFH转换成0~5伏的电压输出,我们可以通过控制D/A的输入转换量来得到我们想要的电压,从而实现对LED灯亮度的控制。

2.3设计电路图框

LED灯控制系统设计图如图2-1。

图2-1LED灯控制系统图

通过开关控制,单片机执行一波形发生程序后,向DAC0832的输入端按一定规律发生数据,而在DAC0832的输出端得到相应的信号,在单片机的P2口接按钮,通过编程来选择信号的幅值电压和频率。

3硬件设计

3.1硬件电路设计

  通过单片机和D/A转换芯片DAC0832控制三个发光二极管亮度按顺序逐渐变化,实现一种灯管旋转的效果。

设计中主要考虑下面三个问题:

  

(1)DAC0832与单片机的接口电路设计。

  

(2)基准电压源的设计。

  (3)同时控制多个LED按不同规律改变亮度的电路设计。

3.2数模转换器与与单片机的接口电路

  启动DAC0832实现模数转换有单缓冲和双缓冲两种方式。

多缓冲方式是在多片DAC0832配合时采用;

本设计中只须一片DAC0832就可完成工作,所以采用单缓冲方式,向其8位数据输入口输入数据,然后在其写触发管脚WR1发送一低电平脉冲,该芯片就会将收到的数字量转换成模拟量输出。

其输出为电流输信号,而控制发光二极管亮度需要用电压实现,所以需要外接由运算放大器构成的电流电压转换电路,用到的单片机是AT89C51,它是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案[3]。

DAC0832与单片机的接口电路如图3-1。

图3-1DAC0832与单片机接口电路图

图中,由于选片端CS接到了p2.7所以启动DAC0832开始转换时,需要将单片机的P2.7脚设置为低电平。

  输出的电流经过运算放大器转换成电压,如果需转换的数字量为B,则对应输出电压值为[4]:

其中VREF是外接的基准电压,输出电压最高为0V,最低为-VREF,如果基准电压取5V,则最低输出电压为-5V,为了满足负电压输出的要求,运算放大器的电源电压VCC要高于5V,VEE要低于-5V,本设计中运算放大器采用ML324芯片,电源电压VCC取10V,VEE取-10V。

3.3基准电压的设计

  要保证DAC0832数模转换的精度和准确度,必须提供一个高度稳定的基准电压。

在数模转换器中一般选用带隙基准电压源或隐埋式齐纳稳压管。

  设计中选用了LM336—5型隐埋式齐纳二极管,它具有价格低、使用方便的特点,齐纳二极管接线如图3-2:

图3-2齐纳二极管接线图

3.4如何同时控制多个LED的亮度

  设计中需要控制三个发光二极管,每个发光二极管的亮度和变化规律都不一样,而DACC0832只有一路模拟量输出,为了控制三个发光二极管的亮度,需要加一个多路电子开关,本例中选用的是CD4051,该芯片的引脚如图3-3。

  

图3-3芯片引脚图

该芯片是一个常用的8路到1路的多路电子开关,工作电压最高为32V,通过ABC三个地址管脚确定选通哪个通道[5]。

  因为前面转换出的电压为负值最低为-5V,所以CD4051的工作电压取VDD=10V,VEE=-10V,地址控制端A、B、C分解接到单片机的P210、P211、P212口,用来选通某个通道通,D/A转换后的模拟量接到多路开关的电压输入端3引脚,输出引脚13、14、15分别控制发光二极管D1、D2、D3。

  DAC0832只有1路模拟输出,必须采用分时控制的方式循环控制三个发光二极管的亮度,实现接通某一个LED时,其它LED保持要原有亮度不能熄灭,为了达到这个目的,这里采用了运算放大器接成电压跟随器的形式控制LED的亮度,即多路电子开关的每个输出与发光二极管间都接一个电压跟随器,而且在运算放大器的正向输入端接了一个保持电容,使输入电压能够保持一段时间,输出电压保持电路如图3-4。

图3-4输出电压保持电路

 由于运算放大器的输入阻抗很大,所以Ch2上的电压能够保持一段时间,在数模转换器输出电压控制其它发光二极管期间,该运算放大器的输出电压能够保持不变[6]。

装置硬件原理图如图3-5。

图3-5硬件装置原理图

4软件设计

4.1软件功能

  软件主要完成两个功能,第一,完成各个LED的循环点亮;

第二,通过程序控制各个LED亮度的变化。

本例中要实现灯光旋转的效果,所以每个LED都按三角波的行式亮度变化,先逐渐变亮,达到最亮时再由最亮逐渐变暗,如此反复进行;

三个LED的亮度变化要有一个时差,如果一个LED从暗到亮再到暗作为一个周期的话,则D2比D1滞后1/3周期,D3比D2滞后1/3个周期[7]。

4.2主程序设计

使各个LED循环点亮通过主程序循环实现,将表示三个LED亮度的三个数据放到连续的三个RAM单元30H、31H、32H中,主程序中循环读取这三个单元的数据送到DAC0832转换,根据30H、31H、32H中数值的不同,转换输出的模拟电压也不同,单片机控制多路电子开关将不同的模拟电压送给不同的LED,从而实现各个LED具有不同的亮度[8]。

由于本课题中用P2口控制DAC0832的选通和电子开关的选通,根据原理图接线可知,点亮发光二极管D0、D1、D2对应的P2口数据分别为00H、01H、02H。

4.3中断程序设计

控制LED亮度变化通过定时器T0定时中断程序实现,T0中断改变30H、31H和32H的数值就可以改变LED亮度了,若实现灯光旋转的效果,则三个LED的亮度应按如图4-1曲线变化。

图4-1LED亮度变化曲线

图中横坐标表示时间,在一个周期内发光二极管的亮度会按三角形规律变化,设每个变化周期为T,第二个发光二极管D1的变化滞后第一个发光二极管D0三分之一周期,同样D2滞后D1三分之一周期。

  图4-1中的纵坐标表示亮度,也就是对应的要转换成模拟量的数字量的数值。

在主程序中三个字节30H、31H、32H中数值对应三个发光二极管的亮度,设定三个字节33H、34H和35H的值控制三个二极管亮度增加还是减弱(1增强,0减弱)。

假设开始时D1对应亮度为0,D0、D2对应亮度均为170,则三个二极管的亮度变化应该是D0和D2亮度增加,D2亮度减弱,则三个亮度控制字节的值分别为33H、35H中为1,35H中为0。

  采用T0中断实现三个发光二极管亮度的改变,则每到一次定时中断将完成如下功能:

  1)根据三个字节33H、34H和35H的值,分别对30H、31H和32H的值进行增1或减1操作[9]。

  2)当亮度字节的数值增加到255时对应控制字节数值清零,亮度字节数值减到0时,对应控制字节数值置1。

  由于在主程序中和中断子程序同时使用工作寄存器R0,所以在中断程序的开始和结束有一个保存和恢复R0中数值的过程[10]。

中断程序框图如图4-2。

图4-2中断程序框图

即:

TH0=F0H,TL0=BEH3

5软件调试

5.1仿真电路图

仿真电路图如图5.1:

图5.1仿真电路图

5.2调试过程

调试所用的软件:

keil、ptoteus、progisp和程序下载器,我已根据原理图做过模拟仿真,但做的都只是模块化的仿真。

在进行仿真前,检查好电路,看看是否是有虚寒或漏焊,一切正常后,上电,探探各个原件的温度,当这一切都正常后,调入一个简单的测试程序,检查电路是否工作,开始时,并不是一试就出来,再经过电路的检查,检查电压值,发现硬件没问题,再去修改软件,改了两次,最终电路正常显示了,说明电路是正确的[11]。

接着进行模块性的测试,先调试中断模块,调好后,再调试控制字节模块、字节清零模块、字节直一模块,四个模块都出来后,进行整体调试。

5.3调试结果

1、开始时D1不亮,D0和D3亮,接着,D1开始变亮,D0亮度增强,D2亮度变弱,当各自的亮度到达极限后,都开始变暗,然后又回到初始状态,如此循环。

在模拟仿真时出现一个问题,理论上DAC0832单极性输出的应该是0~+5V的电压,但是仿真时发现他输出的是负电压,也许是跟运放有关,运放我选择的是NE5532,后来再加一个NE5532做反相电压跟随器,这样就达到了0~+5V电压的输出。

2、在模拟仿真时,开始我是用地址来选通DAC0832,P2口送高位的地址,但我P2口的P2.1、P2.0也拿来接双刀开关,因为在读P2口判断输入是00还是10时,有很多脚是不确定的,且当执行完程序后,P2口会自动变高电平,因为整个过程都没对P2赋值过,它只是在送地址选通的时候有变,其他时候都回到FFH状态[12]。

后来我改成直接对P2口赋值来选通DAC0832,例如P2.7控制片选,我直接送00H即选通,且一直保持,状态稳定。

6结论

论文中设计了基于DAC0832实现对LED控制的系统,采用D/A输出控制,在单片机的控制下,利用多路开关和电压保持电路实现了对多个发光二极管亮度的变化控制,实现了LED灯的灯光旋转的效果。

目前的LED还存在不足之处,LED的耐热很差会带来灯芯寿命的问题。

现有的LED灯的设计往往散热难以达到要求,在一个散热要求非常苛刻的领域,却使用十分低劣的被动散热方式,而且多是风冷,甚至是封闭式的风冷。

像一些灯具在驱动板和铝散热片之间要加塑料套管以增加绝缘的可靠性,还需要灌散热硅胶以提高散热能力。

T8的灯管灯管还是封闭的,灯芯只能依靠空气对流传热到灯管背面的铝管上进行散热。

一般这类灯的内部温度都会有七八十度。

并且要是兼顾散热,重量又是问题;

兼顾重量,散热难以保证,这在现有设计中是两难的选择,尚没有可行的标准。

通过这次LED亮度控制系统的设计,让我更熟练了对单片机的应用以及汇编的编程能力,同时对LED灯有了深入的了解,通过这次课题后,现在感觉自己能很好的使用了,还有对D\A的使用也更熟练了。

我觉得这次设计过程中,让我收获最大的是加深了我对单片机的了解,了解他的IO口的性能和使用,其次,也加强了我的编程能力和程序的调试方法。

参考文献

[1]曾璐,李明.基于AT89C52单片机的智能控制系统[J].家电科技,2007,(09):

46-69.

[2]李永.LED的发展现状和发展趋势.电脑知识与技术[J].2005,(03):

68-69.

[3]胡汉才.单片机原理及其接口技术(第二版)[M]北京:

清华大学出版社,2009.

[4]王选民主编.智能仪器原理及设计.北京:

清华大学出版社,2008

[5]谢剑英,贾青编著.微型计算机控制技术.北京:

国防工业出版社,2009

[6]阎石主编.数字电子技术基础(第五版).北京:

高等教育出版社,2006

[7]沈连丰,宋铁成,等.嵌入式系统及开发应用[M].北京:

电子工业出版社,2005.

[8]李群芳,张士军,黄建.单片机微型计算机与接口技术(第二版)[M].北京:

电子工业出版社,2005.

[9]马忠梅,籍顺心,等.单片机的C语言应用程序设计(第四版)[M].北京:

北京航空航天大学出版社,2007.

[10]白驹珩,雷晓平编著.单片计算机及其应用(第二版).成都:

高等教育出版社,2005

[11]朱清慧,张凤蕊,翟天嵩,等.Proteus教程——电子线路设计、制版与仿真[M].北京:

清华大学出版社,2008.

[12]康光华主编.电子技术基础(第五版).北京:

高等教育出版社,2006

附录

附录1

程序:

ORG0000H

AJMPMAIN

ORG0030H

MAIN:

MOVP2,#0FFH

MOVA,P2

CJNEA,#0FCH,TYP2

TYP1:

ACALLY1

SJMPTYP1

TYP2:

CJNEA,#0FDH,TYP3

ACALLY2

CJNEA,#0FDH,TYP3

SJMPTYP2

TYP3:

CJNEA,#0FEH,TYP4

ACALLY3

CJNEA,#0FEH,TYP4

SJMPTYP3

TYP4:

CJNEA,#0FFH,MAIN

MOVP1,#0FEH

MOVP3,#00H

MOVA,#00H

LOOP:

MOVP2,#00H

MOVP0,A

ACALLDELAYY

INCA

MOVR1,A

MOVA,P1

RLA

MOVP1,A

MOVP2,#0FFH

MOVA,R1

AJMPLOOP

DELAYY:

MOVR3,#5

HHY:

MOVR4,#0FFH

DJNZR4,$

DECR3

CJNER3,#00H,HHY

RET

Y1:

CLRP3.7

ACALLDELAY16

SETBP3.7

ACALLDELAYL

CLRP3.6

ACALLDELAY15

SETBP3.6

CLRP3.5

ACALLDELAY14

SETBP3.5

CLRP3.4

ACALLDELAY13

SETBP3.4

CLRP3.3

ACALLDELAY12

SETBP3.3

CLRP3.2

ACALLDELAY11

SETBP3.2

CLRP3.1

ACALLDELAY10

SETBP3.1

CLRP3.0

ACALLDELAY9

SETBP3.0

CLRP1.7

ACALLDELAY8

SETBP1.7

CLRP1.6

ACALLDELAY7

SETBP1.6

ACALLDELAYL

CLRP1.5

ACALLDELAY6

SETBP1.5

CLRP1.4

ACALLDELAY5

SETBP1.4

CLRP1.3

ACALLDELAY4

SETBP1.3

CLRP1.2

ACALLDELAY3

SETBP1.2

CLRP1.1

ACALLDELAY2

SETBP1.1

CLRP1.0

ACALLDELAY1

SETBP1.0

Y2:

ACALLDELAY

S

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1