基于STC89C52单片机的花房照明控制系统设计(附程序代码)_第1页
基于STC89C52单片机的花房照明控制系统设计(附程序代码)_第2页
基于STC89C52单片机的花房照明控制系统设计(附程序代码)_第3页
基于STC89C52单片机的花房照明控制系统设计(附程序代码)_第4页
基于STC89C52单片机的花房照明控制系统设计(附程序代码)_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西南科技大学应用型自学考试毕业设计(论文)引言花是一种非常美丽诱人的植物,但同时它也是一种极其娇嫩脆弱的植物。那是因为花卉在它生长过程中会受到周围环境中很多因素的影响,所以花卉的生长要在一定的环境中进行。在外界的众多因素中,周围环境中的光照度是对花卉生长影响最大的因素。外界环境中随着时间的流逝。昼夜间的光照度变化很大,这是很不利于花卉的生长。因此为了花卉的健康成长,就必须对环境中的光照度进行监测和控制,并将环境中的光照度控制在一个适宜花卉成长的区间内。本课程设计就是要利用基于单片机来设计一个精度高,控制操作方便的花房光照度控制系统。因为在以前种植花卉等植物一般都用温室栽培,所以为了充分的利用好温室栽培这一高效技术,就必须要有一套科学的管理方法,用来针对对不同种类的花卉在生长的各个时期所需的不同的光照度进行实时的监控。而光照度控制对于单片机的应用具有一定的实际意义,它代表了一类自动控制的方法。其应用十分广泛。

2照明系统总体设计2.1照明系统总体设计根据本设计所需要实现的功能,并考虑到硬件电路的复杂性、性价比和软件实现的难易程度等情况。本系统决定由控制模块、按键模块、传感器模块和灯泡驱动模块四个模块组成。本系统的工作原理如下:当系统启动后,当检测到外界光照强度小于了系统设定的上限时,系统将会驱动继电器,点亮灯泡;而当检测到外界光照强度大于或者等于了设定的上限时,灯泡将会熄灭。而本系统设定的光照强度上限是可以调整。2.2系统硬件方案2.2.1主控制器控制部分是整个系统的核心部分,功能为发送数据和控制指令处理后控制相应的负载。一些比较常用的电子设计方法有单片机、DSP、及EDA技术。这几种设计方法都有其各自的特点:(1).单片机单片机是集成CPU,ROM,RAM和I/O口的微型计算机。它有很强的接口性能,非常适合于工业控制,因此又叫微控制器(MCU)。单片机品种齐全,型号多样CPU从8,16,32到64位,多数采用了RISC技术,片上I/O非常丰富,有的单片机集成有A/D,“看门狗”,PWM,显示驱动,函数发生器,键盘控制等。它们的价格也高低不等,这样极大地满足了需求者们的选择。除此之外单片机还具有低电压和低功耗的特点。随着超大规模集成电路的发展,NMOS工艺单片机被CMOS代替,并开始向HMOS过渡。供电电压由5V降到3V,2V甚至到1V,工作电流由mA降至μA,这在便携式产品中是占有优势的。(2).DSP芯片DSP又叫数字信号处理器。它主要被运用于数字信号处理领域,适合重复运算,高密度以及大数据容量的信号处理。现在被广泛应用于通信、便携式计算机和仪表、雷达、航空、家用电器、医疗设备等领域。DSP具有修正的哈佛结构,多总线技术以及流水线结构。将程序与数据存储器分开,使用多总线,取指令和取数据同时进行,以及流水线技术,这些使得其速度有了较大的提高。DSP区别于一般微处理器的另一重要标志是硬件乘法器以及特殊指令,一般微处理器用软件实现乘法,逐条执行指令,速度慢。而DSP依靠硬件乘法器单周期完成乘法运算,而且还具有专门的信号处理指令,如TM320系列的FIRS,LMS,MACD指令等。(3)FPGA/CPLDFPGA是基于SRAM的架构,集成度高,以LE为基本单元,有内嵌Mwmory,DSP等,支持IO标准丰富。具有具有易挥发性,需要有上电加载过程。在实现复杂算法,队列调度,数据处理,高性能设计,大容量缓存设计等领域中有广泛的应用。CPLD是基于EEPROM工艺,集成度低,以MicroCell(包括组合部分与寄存器)为基本单元。具有非挥发特性,可以重复写入。在粘合逻辑,地址译码,简单控制,EPGA加载等设计中有广泛的应用。FPGA/CPLD均可实现硬件上的并行工作,在实时测控和高速应用领域前景广阔;另一方面,FPGA/CPLP器件在功能开发上是软件实现的,但物理机制却和纯硬件电路一样,十分可靠。三种选择方式相比较各有优点且都能够实现控制功能,但单片机的技术门槛较低开发成本也较低非常适合我们这种初学者进行学习和锻炼使用。现在市场上常用的单片机主要有MCS-51、AVR、ARM、PIC等。其中应用最广泛的单片机首推Intel的51系列,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的优势常作为单片机学习的教材。且51系列的I/O脚的设置和使用非常简单,当该脚作输入脚使用时,只须将该脚设置为高电平(复位时,各I/O口均置高电平)。当该脚作输出脚使用时,则为高电平或低电平均可。所以在本次设计控制部分的方案中选择51系列单片机作为控制部分的核心器件。2.2.2硬件设计方案本次硬件设计采用单片机最小系统、按键模块、传感器模块、灯泡驱动模块和显示模块组成(如图2.1)图2-1硬件设计结构框图(1).光照传感器模块BH1750FVI光照传感器介绍:BH1750FVI是一种用于两线式串行总线接口的数字型光强度传感器集成电路。这种集成电路可以根据收集的光线强度数据来调整液晶或者键盘背景灯的亮度。利用它的高分辨率可以探测较大范围的光强度变化。(1lx-65535lx)特点:a.支持I2C

BUS接口(f/s

Mode

Support)。

b.接近视觉灵敏度的光谱灵敏度特性(峰值灵敏度波长典型值:560nm)。

c.输出对应亮度的数字值。

d.对应广泛的输入光范围。

e.通过降低功率功能,实现低电流化。

f.通过50Hz/60Hz除光噪音功能实现稳定的测定

g.支持1.8V逻辑输入接口。

h.无需其他外部件。

i.光源依赖性弱。

j.有两种可选的I2C

slave地址。

k.可调的测量结果影响较大的因素为光入口大小。

l.使用这种功能能计算1.1

lx到100000

lx马克斯/分钟的范围。

m.最小误差变动在±20%。

n.受红外线影响很小HA2021光照传感器介绍:HA2021传感器是采用先进光电转换模块,将光照强度值转化为电压值,再经调理电路将此电压值转换为0~2V或4~20mA特点:

a.高精度的光照强度测量

b.体积小巧

c.IP65防护等级设计

d.传感器结实、耐腐蚀

e.响应速度快

f.可选用电压或电流输出,电流输出在长缆线传输的时候没有信号衰减

g.采用真实太阳光标定,使光源影响最小

两种传感器都有各自的特点,但BH1750FVI光照传感器结构简单,并不依赖其他的外围电路。并且模块内部包含通信电平转换,可以与5v单片机直接连接。所以最终本次设计选择了使用BH1750FVI光照传感器。(2)显示模块LED显示器介绍:LED是一种平板显示器,由一个个小的LED模块面板组成。一般用来显示文字、图像、视频、录像信号等各种信息。适用性强,色彩丰富:由三基色显示单元箱体组成,256级灰度构成16777216种颜色,使电子屏显示色彩丰富、高饱和度、高解析度、显示频率高的动态图像。LED的基本结构是一块电致发光的半导体材料,放置在一个有引线的架子上,然后四周用环氧树脂密封,起到保护内部芯线的作用,所以LED的抗震性能好。而且LED的工作范围较大,其光输出和工作电流成正比,因此可以减小电流的方法来调光。同时LED进行频繁开关并不会对其有太大的损伤。LED光源使用寿命很长,其中不含有害金属汞,不会像高压钠灯或金属卤化物灯在报废时对环境造成危害。LED还有耗电少、成本低、亮度高、故障少、视角大、可视距离远等特点。LCD显示屏介绍:LCD是液晶显示屏LiquidCrystal

Display的全称,是运用于数字型钟表和许多便携式计算机的一种显示器类型。主要有TFT、UFB、TFD、STN等几种类型的液晶显示屏。笔记本液晶屏常用的是TFT。TFT(ThinFilmTransistor)是指薄膜晶体管,每个液晶像素点都是由集成在像素点后面的薄膜晶体管来驱动,从而可以做到高速度、高亮度、高对比度显示屏幕信息,是目前最好的LCD彩色显示设备之一,是现在笔记本电脑和台式机上的主流显示设备。和STN相比,TFT有出色的色彩饱和度,还原能力和更高的对比度,太阳下依然看的非常清楚,但是缺点是比较耗电,而且成本也较高。目前液晶显示技术大多以TN、STN、TFT三种技术为主轴TN型的液晶显示技术可说是液晶显示器中最基本的,而之后其它种类的液晶显示器也可说是以TN型为原点来加以改良。同样的,它的运作原理也较其它技术来的简单。LCD与LED是两种不同的显示技术,LCD是由液态晶体组成的显示屏,而LED则是由发光二极管组成的显示屏,两种显示屏都有各自不同的特点,但LED与LCD的功耗比大约为1:10,LED比LCD更加节能的多。LED拥有比LCD更高的刷新速率,在视频方面会有更好的性能表现。同时LED可以提供宽达160°的视角,可以显示各种文字,数字等。而且LED显示屏的单个元素反应速度是LCD液晶屏的1000倍,即使在强光下也可以照看不误,没有太大的影响。LCD显示器与LED显示器相比,LED在亮度、功耗、可视角度和刷新速率等方面,都更具优势。所以本次设计选用了LED显示屏。(3)按键控制键盘是单片机应用系统中使用最广泛的一种数据输入设备。通常,键盘有编码和非编码两种。编码键盘通过硬件电路产生被按按键的键码和一个选通脉冲。选通脉冲可作为CPU的中断请求信号。这种键盘使用方便,所需程序简单,但硬件电路很复杂,所以本次设计并不采用。而非编码键盘按组成结构又可以分成独立式键盘和矩阵式键盘。独立式键盘的工作过程和矩阵式键盘是类似的,无论是硬件结构还是软件设计都比较简单。独立式键盘每个按键是占用一条I/O线,程序编制简单,适用于按键较少的时候。而矩阵键盘的电路连接复杂,软件编程也比较复杂,适用于需要大量的按键的时候。所以在比较了本次设计的实际需要后,选用了独立键盘。3硬件系统设计与实现3.1硬件系统的总体设计本设计采用STC89C52单片机为核心控制器件,采集按键和传感器的信号,控制数码管显示和驱动灯泡。系统方框图如图3-1所示。图3-1系统方框图3.2单片机系统设计3.2.1STC89C52单片机简介图3-2单片机引脚图本设计使用的是STC89C52单片机,原因是此款单片机具有众多优点STC89C52是51系列单片机的一个型号,它是ATMEL公司生产的。STC89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的STC89C52单片机可为您提供许多较复杂系统控制应用场合。STC89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。同时它还有加密性强,难解密超强抗干扰超低功耗掉电模式:<0.1μA空闲模式:2mA正常工作模式:4mA~7mASTC89C52的基本结构与8051相同,但是比传统的8051单片机拥有更多的内部Flash,最高可达64KB。片内SRAM容量同样是非常吸引的数字,最高可拥有1280Byte的SRAM。而且还内置EEPROM存储器等功能。另外它还可以用串口直接仿真程序,不需要另外加用仿真器或者下载线。3.2.2STC89C52单片机引脚功能VCC:接电源正极,一般输入电压为5V。GND:接电源地端。P0口:P0口为一个8位漏级开路双向I/O口,每个脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(计数器0外部输入)P3.5T1(计数器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.2.3复位电路设计为确保单片机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般单片机正常工作所需要的供电电压为+5V,由于单片机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC在特定的工作电压范围内以及晶体振荡器稳定工作时,复位信号才被撤除,单片机开始正常工作。复位电路工作原理如图3-3所示,VCC上电时,C充电,在10k电阻上出现电压,使得单片机复位;几个毫秒后,C充满,10k电阻上电流降为零,电压也为零,使得单片机进入工作状态。工作期间,按下S、C放电。S松手,C又充电,在10k电阻上出现电压,使得单片机复位。几个毫秒后,单片机进入工作状态。图3-3复位电路图3-4电路接线图如图3-4所示,复位电路REST接口与RESET端口相连接。3.2.4时钟电路的设计内部时钟,是用芯片内部振荡电路,精度不高,温飘也较大,不需要外部振荡器件。外部时钟,分RC振荡和石英晶振,RC精度不高,成本低,石英晶振,精度高,稳定性好,根据使用场合选择,适合的时钟方式。STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是反相放大器的输入端和输出端,由这个放大器与作为反馈元件的片外晶体或搪瓷谐振器一起构成了一个自激振荡器,这种方式形成的时钟信号称为内部时钟方式。利用芯片内部的振荡电路,在XTAL1和XTAL2两端跨接晶体(或陶瓷)振荡器和两个电容就构成了一个稳定的自激振荡器。晶体振荡频率可在1.2MHz~12MHz之间选择。电容值无严格要求,但其取值对振荡频率输出的稳定性、大小、振荡电路起振速度稍有影响,C1、C2可在20pF~100pF之间取值。一般当外接晶体时,电容选为30pF。本设计采用外部时钟电路,电路图如图3-5所示。图3-5电路接线图如图3-5所示,时钟电路X1接口与端口X1相连接,X2接口与X2端口相连接。3.3控制单元设计控制单元是整个显示系统的核心,本系统中采用51系列单片机为核心器件,用来发送控制指令和显示内容,并且直接输出数据通过译码电路控制LED显示屏的显示内容和显示状态。在51系列单片机中选定一款合适的机型来作为控制单元的主控芯片。根据设计的需要该芯片必须要具有的就是方便的编程能力,因为在软件设计时方便的程序下载对程序的验证和编写非常有用,所以选择了STC89C52为控制单元的主控芯片。3.4光照传感器电路设计本设计中所使用的传感器BH1750FVI实物图如图3-6所示,电路图如图3-7所示:图3-6BH1750FVI传感器实物图3-7BH1750FVI传感器电路图图3-8电路接线图如图3-8,传感器SCL接口与P36端口相连接,SDA接口与P37端口相连接。BH1750FVI传感器引脚连接图如图3-9所示。图3-9连接线路图3.5继电器驱动电路设计继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)释放。这样吸合、释放,从而达到了在电路中的导通、切断的目的。对于继电器的“常开、常闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”。继电器一般有两股电路,为低压控制电路和高压工作电路。设置中,通过继电器控制小灯泡工作,如图3-10所示:图3-10继电器驱动电路图3-11电路接线图如图3-11所示,继电器驱动电路jdq接口与P10端口相连接。3.6按键电路设计本次设计中设置有4个按键,分别为:调整、加、减和确认,用来调整设置的上限值,默认上限值为100。这四个键可以采用中断的方法,也可以采用查询的方法来识别。系统采用的是扫描的查询方法来识别按键的四个按键均采用低电平有效,具体电路连接图如图3-12所示。图3-12按键电路图 3-13电路接线图如图3-13所示,S2按键接口与P11端口相连接,S3按键接口与P12端口相连接,S4按键接口与P13端口相连接,S5按键接口与P14端口相连接。3.7显示电路设计对于数字显示电路,通常采用液晶显示或数码管显示。但对于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性差,不适合远距离观看;对于具有驱动电路和单片机接口的液晶显示模块,一般多采用并行接口,对单片机的接口要求较高,占用资源多;另外,STC89C52单片机本身无专门的液晶驱动接口。而数码管作为一种主动显示器件,具有亮度高、响应速度快、防潮防湿性能好、温度特性极性、价格便宜、易于购买等优点,而且有远距离视觉效果,很适合夜间或是远距离操作。因此,本设计的显示电路采用7段数码管作为显示介质。数码管显示可以分为静态显示和动态显示两种。由于本设计需要采用四位数码管显示时间,如果静态显示则占用的口线多,硬件电路复杂。所以采用动态显示。动态显示是一位一位地轮流点亮各位\o"数码管"数码管,这种逐位点亮显示器的方式称为位扫描。通常各位\o"数码管"数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的公共阳极位选线由另外的I/O口线控制。动态方式显示时,各\o"数码管"数码管分时轮流选通,要使其稳定显示必须采用扫描方式,即在某一时刻只选通一位\o"数码管"数码管,并送出相应的段码,在另一时刻选通另一位\o"数码管"数码管,并送出相应的段码,依此规律循环,即可使各位\o"数码管"数码管显示将要显示的字符,虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人同时显示的感觉。电路连接图如图3-14所示。图3-14电路接线图如图3-11,d1接口与P27端口相连接,d2接口与P26端口相连接,d3接口与P25端口相连接,d4接口与P24端口相连接。a接口与P00端口相连接,b接口与P01端口相e连接,c接口与P02端口相连接,d接口与P03端口相连接,e接口与P04端口相连接,f接口与P05端口相连接,g接口与P06端口相连接,dp接口与P07端口相连接4系统软件设计如果说硬件是一个人的身体躯干,那么,软件就是一个人的灵魂、思想。只有合理并且完美的程序才能使指导一个人成功地去完成一项任务。对于单片机来说更是如此,基础的硬件电路焊接好后,就需要从软件设计来下手,想要实现硬件电路的正常工作,往往需要对软件进行系统的设计,设计的思想、设计的目标、设计方案、代码的编写、软件的测试等对软件设计的成功有着非同一般的指导意义。该系统的工作原理如下:系统启动后,系统检测到光照强度小于设定的上限时,驱动继电器,点亮灯泡,系统检测到光照强度大于等于设定的上限时,是不点亮灯泡的。设定的上限可以调整。程序流程图如图4-1所示:图4-1程序流程图5电路硬件的焊接与调试5.1电路的焊接硬件焊接严格按照电路图。焊接时要注意短路、虚焊、缺焊的情况都不要出现,而且尽量减少跳线的出现。在每一次焊接完成后都要认真检查有没有出现错误,避免在总体的焊接完毕后,出现不知所以的问题。下图5-1、5-2为电路硬件正面、背面图:图5-1电路硬件正面图图5-2电路硬件背面图5.2程序烧录采用的是模块:USB转TTLUSB-TTL/STC单片机编程器PL2303中九升级板(1)下载器的用法:如下图5-3和5-4所示图5-3下载器的接法图5-54下载器配套烧写软件5.3显示调试下载程序完成,再次检查无误后开始进行调试。加电后,在一切正常的情况下,系统初始化后,能正确驱动继电器。如图5-5所示:图5-5实物检测5.4系统调试在单片机的开发过程中我们除了必要的硬件之外,同样离不开软件。随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。对于使用51系列单片机的人群来说掌握这一软件的使用是十分必要的。结论本文详细讲述了基于单片机的花房照明控制系统设计方案,并给出了相关程序流程。以单片机STC89C52为中心控制器件,外围电路配有光照度传感器,可以感应到外界环境中光照度的变化,当外界环境光线不足时,就会驱动继电器开关自动开启,当感应到外界光线达到了所需要求时,开关自动关闭。本次设计还涉及到一些电子线路的知识,成为我大学几年的一次总复习。本次设计的创新点在于详细设计了基于单片机STC89C52的光照度控制系统。本系统可以广泛的应用于各种花卉种植的温室花棚,具有良好的应用前景。并且基于单片机的各种优越的特性,能使得它的经济效益显的更加突出,因此有很好的实用性。通过本次毕业设计,我学到了许多课本上学不到的知识,将自己学到的理论知识与实际相结合。但由于是初次自己设计电路,在整个过程中也存不少问题,碰到问题是件麻烦的事,但解决问题本身又是充满乐趣的.

致谢在本次论文设计过程中,老师给了很多的建议和指导,使我得以最终完成毕业论文设计,在此,对老师致以衷心的感谢和崇高的敬意!回顾这几年的历程,大学时光转瞬即逝,有太多的感谢要送给我亲爱的老师和同学们,感谢老师们对我的教导,感谢同学对我的帮助,谢谢你们!还要感谢一直在我身边帮助我的同学,是他们在我遇到难题时帮我找到大量资料,解决难题。在我平时设计中和我一起探讨问题,让我能及时的发现和解决问题,把设计顺利的进行下去,没有他们的帮助我不可能这样顺利地结稿,在此表示深深的谢意。通过这次毕业设计不仅提高了我独立思考问题解决问题的能力而且培养了认真严谨,一丝不苟的学习态度。由于经验匮乏,能力有限,设计中难免有考虑不周全的地方,希望各位老师多加指教。最后,我要向百忙之中抽时间对本文进行审阅,评议和参与本人论文答辩的各位老师表示感谢!

参考文献[1]阎石,数字电子技术基础.西安:高等教育出版社2021[2]赵保经,中国集成电路大全.北京:国防工业出版社,1985.[3]高吉祥,电子技术基础实验与课程设计.西安:电子工业出版社,2021.[4]陈光禹.现代电子测量技术.北京:国防工业出版社,2021.[5]张友德单片机微型机原理、应用与实验.上海:复旦大学出版社,2021.[6]杨宝清、宋文贤.实用电路手册.南京:机械工业出版,2021.[7]童师白、华成英.模拟电子技术基础.西安:高等教育出版社,2021第三版.[8]杨文龙.单片机原理及应用.西安:西安电子科技大学出版社,2021.

附录总系统电路图:程序:#include<REG51.H> #include<math.h>//Keillibrary#include<stdio.h>//Keillibrary #include<INTRINS.H>#defineucharunsignedchar#defineuintunsignedint #defineDataPortP0//sbit SCL=P3^6;//IIC时钟引脚定义sbit SDA=P3^7;//IIC数据引脚定义sbitP27=P2^7; sbitP26=P2^6; sbitP25=P2^5; sbitP24=P2^4; sbitshezhi=P1^1;//设置按键sbitjia=P1^2;//加按键sbitjian=P1^3;//减按键sbitqueren=P1^4;//确认按键sbitjdq=P1^0;//继电器ucharcodedis[14]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}#define SlaveAddress0x46//定义器件在IIC总线中的从地址,根据ALTADDRESS地址引脚不同修改//ALTADDRESS引脚接地时地址为0x46,接电源时地址为0xB8typedefunsignedcharBYTE;typedefunsignedshortWORD;BYTEBUF[8];//接收数据缓存区 ucharge,shi,bai,qian,wan;//显示变量intdis_data;//变量voiddelay_nms(unsignedintk);voidInit_BH1750(void);voidconversion(uinttemp_data);voidSingle_Write_BH1750(ucharREG_Address);//单个写入数据ucharSingle_Read_BH1750(ucharREG_Address);//单个读取内部寄存器数据voidMultiple_Read_BH1750();//连续的读取内部寄存器数据//voidDelay5us();voidDelay5ms();voidBH1750_Start();//起始信号voidBH1750_Stop();//停止信号voidBH1750_SendACK(bitack);//应答ACKbitBH1750_RecvACK();//读ackvoidBH1750_SendByte(BYTEdat);//IIC单个字节写BYTEBH1750_RecvByte();//IIC单个字节读voiddisp();intsz=0,a,b,c,d,xianzhi=100,ss=0,guangzhao;///*********去抖延迟********/voidqudou(void){inti;for(i=0;i<2400;i++);}//*********************************************************voidconversion(uinttemp_data)//数据转换出个,十,百,千,万{switch(sz){case0:temp_data=temp_data%10000;//取余运算 guangzhao=temp_data; qian=temp_data/1000;temp_data=temp_data%1000;//取余运算bai=temp_data/100;temp_data=temp_data%100;//取余运算shi=temp_data/10;temp_data=temp_data%10;//取余运算ge=temp_data; break; case1: if(ss<15)qian=10;elseqian=xianzhi/1000;bai=xianzhi%1000/100; shi=xianzhi%1000%100/10; ge=xianzhi%1000%100%10; break; case2: qian=xianzhi/1000;if(ss<15)bai=10;elsebai=xianzhi%1000/100; shi=xianzhi%1000%100/10; ge=xianzhi%1000%100%10; break; case3: qian=xianzhi/1000;bai=xianzhi%1000/100; if(ss<15)shi=10;elseshi=xianzhi%1000%100/10; ge=xianzhi%1000%100%10; break; case4: qian=xianzhi/1000;bai=xianzhi%1000/100; shi=xianzhi%1000%100/10; if(ss<15)ge=10;elsege=xianzhi%1000%100%10; break; }}//毫秒延时**************************voiddelay_nms(unsignedintk) { unsignedinti,j; for(i=0;i<k;i++){ for(j=0;j<121;j++) {;}} }/**************************************延时5微秒(STC90C52RC@12M)不同的工作环境,需要调整此函数,注意时钟过快时需要修改当改用1T的MCU时,请调整此延时函数**************************************/voidDelay5us(){disp();}/**************************************延时5毫秒(STC90C52RC@12M)不同的工作环境,需要调整此函数当改用1T的MCU时,请调整此延时函数**************************************/voidDelay5ms(){disp();}/**************************************起始信号**************************************/voidBH1750_Start(){SDA=1;//拉高数据线SCL=1;//拉高时钟线Delay5us();//延时SDA=0;//产生下降沿Delay5us();//延时SCL=0;//拉低时钟线}/**************************************停止信号**************************************/voidBH1750_Stop(){SDA=0;//拉低数据线SCL=1;//拉高时钟线Delay5us();//延时SDA=1;//产生上升沿Delay5us();//延时}/**************************************发送应答信号入口参数:ack(0:ACK1:NAK)**************************************/voidBH1750_SendACK(bitack){SDA=ack;//写应答信号SCL=1;//拉高时钟线Delay5us();//延时SCL=0;//拉低时钟线Delay5us();//延时}/**************************************接收应答信号**************************************/bitBH1750_RecvACK(){SCL=1;//拉高时钟线Delay5us();//延时CY=SDA;//读应答信号SCL=0;//拉低时钟线Delay5us();//延时returnCY;}/**************************************向IIC总线发送一个字节数据**************************************/voidBH1750_SendByte(BYTEdat){BYTEi;for(i=0;i<8;i++)//8位计数器{dat<<=1;//移出数据的最高位SDA=CY;//送数据口SCL=1;//拉高时钟线Delay5us();//延时SCL=0;//拉低时钟线Delay5us();//延时}BH1750_RecvACK();}/**************************************从IIC总线接收一个字节数据**************************************/BYTEBH1750_RecvByte(){BYTEi;BYTEdat=0;SDA=1;//使能内部上拉,准备读取数据,for(i=0;i<8;i++)//8位计数器{dat<<=1;SCL=1;//拉高时钟线Delay5us();//延时dat|=SDA;//读数据SCL=0;//拉低时钟线Delay5us();//延时}returndat;}//*********************************voidSingle_Write_BH1750(ucharREG_Address){BH1750_Start();//起始信号BH1750_SendByte(SlaveAddress);//发送设备地址+写信号BH1750_SendByte(REG_Address);//内部寄存器地址,//BH1750_SendByte(REG_data);//内部寄存器数据,BH1750_Stop();//发送停止信号}//********单字节读取*****************************************/*ucharSingle_Read_BH1750(ucharREG_Address){ucharREG_data;BH1750_Start();//起始信号BH1750_SendByte(SlaveAddress);//发送设备地址+写信号BH1750_SendByte(REG_Address);//发送存储单元地址,从0开始 BH1750_Start();//起始信号BH1750_SendByte(SlaveAddress+1);//发送设备地址+读信号REG_data=BH1750_RecvByte();//读出寄存器数据 BH1750_SendACK(1); BH1750_Stop();//停止信号returnREG_data;}*///*********************************************************////连续读出BH1750内部数据////*********************************************************voidMultiple_read_BH1750(void){uchari; BH1750_Start();//起始信号BH1750_SendByte(SlaveAddress+1);//发送设备地址+读信号 for(i=0;i<3;i++)//连续读取2个地址数据,存储中BUF{BUF[i]=BH1750_RecvByte();//BUF[0]存储0x32地址中的数据if(i==3){BH1750_SendACK(1);//最后一个数据需要回NOACK}else{ BH1750_SendACK(0);//回应ACK}}BH1750_Stop();//停止信号Delay5ms();}//初始化BH1750,根据需要请参考pdf进行修改****voidInit_BH1750(){Single_Write_BH1750(0x01);}voidDelay(uinti)//显示延迟{while(i--);}voidkey(){if(shezhi==0) {qudou();if(shezhi==0){sz++; if(sz>4){sz=0;ss=0;}}while(shezhi==0);}if(sz>0){ss++; if(ss==30)ss=0;if(jia==0) {qudou();if(jia==0){a=xianzhi/1000;b=xianzhi%1000/100; c=xianzhi%1000%100/10; d=xianzhi%1000%100%10; switch(sz) {case1:a++;if(a==10)a=0;break; case2:b++;if(b==10)b=0;break; case3:c++;if(c==10)c=0;break; case4:d++;if(d==10)d=0;break; } xianzhi=a*1000+b*100+c*10+d;}while(jia==0);} if(jian==0) {qudou();if(jian==0){a=xianzhi/1000;b=xianzhi%1000/100; c=xianzhi%1000%100/10; d=xianzhi%1000%100%10; switch(sz) {case1:a--;if(a<0)a=9;break; case2:b--;if(b<0)b=9;break; case3:c--;if(c<0)c=9;break; case4:d--;if(d<0)d=9;break; } xianzhi=a*1000+b*100+c*10+d;}while(jian==0);} if(queren==0) {qudou();if(queren==0){sz=0;ss=0;}while(queren==0);}}}voiddisp()//显示{P27=0;P26=0;P25=0;P24=0;P0=dis[qian];P27=1;P26=0;P25=0;P24=0;Delay(30);P27=0;P26=0;P25=0;P24=0;P0=dis[bai];P27=0;P26=1;P25=0;P24=0;Delay(30);P27=0;P26=0;P25=0;P24=0;P0=dis[shi];P27=0;P26=0;P25=1;P24=0;Delay(30);P27=0;P26=0;P25=0;P24=0;P0=dis[ge];P27=0;P26=0;P25=0;P24=1;Delay(30);P27=0;P26=0;P25=0;P24=0;key();if(guangzhao>xianzhi)jdq=1;elsejdq=0;}/*********显示********/voidxianshi(){inti;for(i=0;i<30;i++){ disp();} }//*********************************************************//主程序********//*********************************************************voidmain(){floattemp;delay_nms(100);//延时100ms Init_BH1750();//初始化BH1750while(1)//循环{Single_Write_BH1750(0x01);//poweronSingle_Write_BH1750(0x10);//H-resolutionmodexianshi();Multiple_Read_BH1750();//连续读出数据,存储在BUF中dis_data=BUF[0];dis_data=(dis_data<<8)+BUF[1];//合成数据,即光照数据temp=(float)dis_data/1.2;conversion(temp);//计算数据和显示 disp();}}

咖啡店创业计划书第一部分:背景在中国,人们越来越爱喝咖啡。随之而来的咖啡文化充满生活的每个时刻。无论在家里、还是在办公室或各种社交场合,人们都在品着咖啡。咖啡逐渐与时尚、现代生活联系在一齐。遍布各地的咖啡屋成为人们交谈、听音乐、休息的好地方,咖啡丰富着我们的生活,也缩短了你我之间的距离,咖啡逐渐发展为一种文化。随着咖啡这一有着悠久历史饮品的广为人知,咖啡正在被越来越多的中国人所理解。第二部分:项目介绍第三部分:创业优势目前大学校园的这片市场还是空白,竞争压力小。而且前期投资也不是很高,此刻国家鼓励大学生毕业后自主创业,有一系列的优惠政策以及贷款支持。再者大学生往往对未来充满期望,他们有着年轻的血液、蓬勃的朝气,以及初生牛犊不怕虎的精神,而这些都是一个创业者就应具备的素质。大学生在学校里学到了很多理论性的东西,有着较高层次的技术优势,现代大学生有创新精神,有对传统观念和传统行业挑战的信心和欲望,而这种创新精神也往往造就了大学生创业的动力源泉,成为成功创业的精神基础。大学生创业的最大好处在于能提高自己的潜力、增长经验,以及学以致用;最大的诱人之处是透过成功创业,能够实现自己的理想,证明自己的价值。第四部分:预算1、咖啡店店面费用咖啡店店面是租赁建筑物。与建筑物业主经过协商,以合同形式达成房屋租赁协议。协议资料包括房屋地址、面积、结构、使用年限、租赁费用、支付费用方法等。租赁的优点是投资少、回收期限短。预算10-15平米店面,启动费用大约在9-12万元。2、装修设计费用咖啡店的满座率、桌面的周转率以及气候、节日等因素对收益影响较大。咖啡馆的消费却相对较高,主要针对的也是学生人群,咖啡店布局、格调及采用何种材料和咖啡店效果图、平面图、施工图的设计费用,大约6000元左右3、装修、装饰费用具体费用包括以下几种。(1)外墙装饰费用。包括招牌、墙面、装饰费用。(2)店内装修费用。包括天花板、油漆、装饰费用,木工、等费用。(3)其他装修材料的费用。玻璃、地板、灯具、人工费用也应计算在内。整体预算按标准装修费用为360元/平米,装修费用共360*15=5400元。4、设备设施购买费用具体设备主要有以下种类。(1)沙发、桌、椅、货架。共计2250元(2)音响系统。共计450(3)吧台所用的烹饪设备、储存设备、洗涤设备、加工保温设备。共计600(4)产品制造使用所需的吧台、咖啡杯、冲茶器、各种小碟等。共计300净水机,采用美的品牌,这种净水器每一天能生产12l纯净水,每一天销售咖啡及其他饮料100至200杯,价格大约在人民币1200元上下。咖啡机,咖啡机选取的是电控半自动咖啡机,咖啡机的报价此刻就应在人民币350元左右,加上另外的附件也不会超过1200元。磨豆机,价格在330―480元之间。冰砂机,价格大约是400元一台,有点要说明的是,最好是买两台,不然夏天也许会不够用。制冰机,从制冰量上来说,一般是要留有富余。款制冰机每一天的制冰量是12kg。价格稍高550元,质量较好,所以能够用很多年,这么算来也是比较合算的。5、首次备货费用包括购买常用物品及低值易耗品,吧台用各种咖啡豆、奶、茶、水果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论