基于单片机的光强检测系统.doc
- 文档编号:84413
- 上传时间:2022-10-02
- 格式:DOC
- 页数:30
- 大小:649.50KB
基于单片机的光强检测系统.doc
《基于单片机的光强检测系统.doc》由会员分享,可在线阅读,更多相关《基于单片机的光强检测系统.doc(30页珍藏版)》请在冰豆网上搜索。
微处理器原理与应用课程设计报告
基于单片机的光强检测系统
2018年11月30日
25
摘要
随着电子技术的发展、数字电路应用领域的扩展,现今社会,产品智能化、数字化已成为人们追求的一种趋势,设备的性能、价格、发展空间等备受人们关注。
性能好的电子设备,对外围保护电路要求很高,尤其是精密仪器对光线要求等设备要求更高,为了延长设备的使用寿命。
所以,在企业设备保护中,设计一款智能的光电检测电路尤为重要。
本设计采用单片机作为数据处理与控制单元,为了进行数据处理,通过光敏电阻来感应光强弱变化,经过ADC0804转换,直接将数字信号送入到单片机中进行数据处理。
单片机数据处理之后,将光照强度发送到LED进行显示,并通过和LED进行声光。
关键词:
单片机,ADC0804,光敏电阻
ABSTRACT
Withthedevelopmentofelectronictechnology,theexpansionofthedigitalcircuitapplications,today'ssociety,theproductofintelligent,digitalhasbecomeatrendforpeopletopursue,equipmentperformance,price,roomfordevelopment,andsomuchattention.Goodperformanceelectronicdevices,highexternalprotectioncircuit,precisioninstruments,lightrequirements,equipmentrequirements,inordertoextendtheusefullifeofequipment.Therefore,intheprotectionofbusinessequipment,thedesignofanintelligentphotoelectricdetectoralarmcircuitisparticularlyimportant.
Thisdesignusesamicrocontrollerasdataprocessingandcontrolunitfordataprocessing,theSCMADC0804acquisitionphotoresistorand10Kresistorvoltagedividertosensethelightintensitychange.MCUdataprocessingwillbesentwhenthelightintensitytotheLEDdisplay.SoundandlightalarmbuzzerandLED.
Keywords:
MCU,ADC0804,Photoresistor,buzzer
目 录
摘要 I
ABSTRACT I
第一章系统需求分析 1
1.1课程设计任务及要求 1
1.2软、硬件运行环境及开发工具 1
1.3系统功能要求 1
第二章光强检测系统的总体设计 2
2.1系统的方案分析 2
2.1.1单片机的选型 2
2.1.2显示方案选择 3
2.1.3AD转换方案 3
2.2工作原理 3
2.3总电路原理图 4
第三章光强检测系统的软、硬件设计与实现 5
3.1软件设计 5
3.1.1ADC子程序 6
3.1.2数据处理程序 7
3.1.3显示子函数 8
3.1.4按键程序 9
3.2硬件设计 9
3.2.1AT89S52单片机 10
3.2.2AT89S52的时钟电路 11
3.2.3AT89S52的复位电路 12
3.2.4ADC0804电路 12
3.2.4.1A/D转换器芯片ADC0804简介 12
3.3.5.2AT89S52单片机与ADC0804的接口 14
3.3.6显示电路 14
3.3.7光强采集电路 16
3.3.8键盘电路 16
3.3.9控制输出电路 17
第四章系统调试与操作说明 19
4.1系统调试 19
4.1.1系统硬件调试 19
4.1.2系统软件调试 19
4.1.3系统功能调试 19
4.2问题分析 19
第五章课程设计总结与体会 21
参考文献 22
附录:
源程序 23
第一章系统需求分析
1.1课程设计任务及要求
本次课程要求设计一套光强检测系统,包括:
(1)系统实物
(2)系统软件仿真
(3)系统硬件原理图
1.2软、硬件运行环境及开发工具
本系统是基于单片机的光强检测器的设计,设计程序代码使用C语言编写,设计的软件开发环境采用KeiluVision4软件,系统仿真采用Protues软件,系统硬件电路板的绘制采用AltiumDesigner软件。
1.3系统功能要求
本系统是基于单片机的光强检测器设计,其利用单片机作为系统的主要控制器,通过光敏电阻和10K电阻分压,经过ADC0804转换,直接将数字信号,送入到单片机中进行数据处理,经过一定的控制算法后通过LED显示,达到良好的人机交互。
本系统运用AT89S52单片机作为主控制单元及数据处理单元,控制光敏电阻检测光强信号,数据处理。
实现基本的人机对话功能,显示光强值。
第二章光强检测系统的总体设计
2.1系统的方案分析
系统总体框图,如图2-1:
图2-1系统总体框图
以AT89S52单片机为核心,在单片机内部完成数据的存储及处理功能,通过数模转换芯片完成模拟信号到数字信号的转换及输入,再将数据存入存储芯片,在单片机进行数据处理后再对需要显示的数字信号进行译码显示在四位一体七段数码显示器上。
每个芯片的电源处有耦合电容相连,当电容器充电达到2V时,此电容就作为电源为电路提供工作电压。
单片机的RESET口上提供了供电自启动,在X1,X2口上提供了12MHZ晶振,以支持单片机的运行与启动。
系统完成了采集功能,存储功能,数据处理功能,测量数据显示功能,达到了设计的基本要求。
2.1.1单片机的选型
在本设计中单片机是系统的控制核心,因此,单片机的选择,对于所设计系统的实现以及功能的扩展有着很大的影响。
单片机种类很多,在众多51系列单片机中,较为常用的是ATMEL公司的AT89S52和AT89S52单片机。
AT89S52片内4KROM是Flash工艺的,使用专用的编程器自己就可以随时对单片机进行电擦除和改写,片内有128字节的RAM。
AT89S52已满足本次设计的要求,同时我们对于这个单片机芯片也较为熟悉,因此,在本次设计中选用了ATMEL公司的AT89S52单片机。
2.1.2显示方案选择
(1)七段LED数码显示
在单片机系统中,发光二极管(LED)常常作为重要的显示手段。
LED显示器内部由7段发光二极管组成,因此亦称之为七段LED显示器,由于主要用于显示各种数字符号,故又称之为LED数码管。
每个显示器还有一个圆点型发光二极管,用于显示小数点。
但其显示并不是很直观,同时编程相对复杂,可显示字符比较少,但成本相对很低廉。
(2)液晶显示模块芯片
LCD为英文LiquidCrystalDisplay的缩写,即液晶显示器,是一种数字显示技术,可以通过液晶和彩色过滤器过滤光源,在平面面板上产生图象。
在实际应用中,用户很少直接设计LCD显示器驱动接口,一般是直接使用专用的LCD显示驱动器和LCD显示模块。
其中,LCD显示模块LCM(LiquidCrystalDisplayModule)是把LCD显示器、背景光源、线路板和驱动集成电路等部件构成一个整体,作为一个独立的部件使用,具有功能较强、易于控制、接口简单等优点,在单片机系统中应用较多。
而本次选择的4位一体的LED数码显示模块,具有价格低、功耗低、连接方便等特点,已经成为单片机应用设计中最常用的信息显示器件了。
2.1.3AD转换方案
A/D转换采用ADC0804。
ADC0804由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。
三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
2.2工作原理
本系统是基于单片机的光强检测器设计,其利用单片机作为系统的主要控制器,通过光敏电阻和10K电阻分压,经过ADC0804转换,直接将数字信号,送入到单片机中进行数据处理,经过一定的控制算法后通过LED显示,达到良好的人机交互。
本系统运用AT89S52单片机作为主控制单元及数据处理单元,控制光敏电阻检测光强信号,数据处理。
实现基本的人机对话功能,显示光强值。
2.3总电路原理图
第三章光强检测系统的软、硬件设计与实现
3.1软件设计
根据系统功能,可以将系统设计分为若干个子程序进行设计,如光强采集子程序,数据处理子程序、显示子程序、执行子程序。
采用KeiluVision4集成编译环境和C语言来进行系统软件的设计。
系统要完成光强检测器,需要实现光强信号的采集与A/D转换、数据处理、数据显示、数据输出等基本功能。
从功能上可将其分为光强信号采集及A/D转换、数据处理、人机交互、执行四大部分进行设计,软件系统框图如图3-1所示:
数据处理子程序
人机交互子程序
程序
光强采集子程序
控制执行
子程序
图3-1软件系统框图
光强信号采集子程序,主要完成光强信号采集与A/D功能。
采集子程序主要包括单片机给ADC0804写命令、单片机ADC0804写数据、单片机从ADC0804读数据等部分。
数据处理子程序,当单片机收到温度传感器发送的温度数据后,数据处理子程序对该数据进行处理,主要是把采集到的二进制的温度数据转换成十进制温度数据。
人机交互子程序包括按键子程序、LED显示子程序。
LED显示子程序的功能是,实现将数据处理后的十进制光强数据,使用LED显示出来。
执行子程序,该子程序所实现的功能,是把程序设置的系统光强限定值与数据处理子程序处理后的当前光强值进行比较,根据比较的结果,执行单片机的I/O口输出的状态。
控制LED灯与主程序流程图如图3-2所示:
光强限值设置子程序
光强采集子程序
执行子程序
显示子程序
数据处理子程序
设置键按下
N
Y
初始化
采集光强
N
Y
开始
返回
图3-2主程序流程图
3.1.1ADC子程序
模/数(A/D)转换测量子函数用来控制对ADC0804的模拟输入电压进行A/D转换,并将对应的数值移入内存单元。
其程序流程如图3-3。
开始
启动一次转换
A/D转换结束?
EOC=1?
N
Y
取数据(OE=1)
返回
图3-3A/D转换测量子函数流程图
ALE为地址锁存允许输入线,高电平有效。
ST为转换启动信号。
当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。
EOC为转换结束信号。
当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。
OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。
OE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 检测 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)