基于51单片机光照强弱检测报警器的设计与制作_第1页
基于51单片机光照强弱检测报警器的设计与制作_第2页
基于51单片机光照强弱检测报警器的设计与制作_第3页
基于51单片机光照强弱检测报警器的设计与制作_第4页
基于51单片机光照强弱检测报警器的设计与制作_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

湖南商务职业技术学院毕业设计

目录

1产品功能分析...........................................................................................................3

2设计方案选择...........................................................................................................3

2.1单片机的选择...............................................................................................3

2.2系统框图设计...............................................................................................4

3产品硬件设计...........................................................................................................4

3.1STC89C52RC单片机核心电路设计..............................................................4

3.2按键电路接口设计.......................................................................................6

3.3LCD1602液晶显示模块电路........................................................................7

3.4光照检测模块电路........................................................................................8

3.5蜂鸣器报警模块电路.....................................................................................9

4产品软件设计.........................................................................................................10

4.1主程序流程图..............................................................................................10

4.2LCD1602液晶显示程序设计......................................................................11

4.3程序设计.....................................................................................................12

4.4产品程序清单.............................................................................................12

5产品使用说明.........................................................................................................13

5.1产品装配图.................................................................................................13

5.2产品调试.....................................................................................................13

5.3产品使用说明.............................................................................................14

6产品设计技术标准.................................................................................................17

7参考资料.................................................................................................................17

附录.............................................................................................................................18

附录1元器件清单..........................................................................................18

附录2电路原理图..........................................................................................19

附录3PCB设计图...........................................................................................20

附录4产品实物图..........................................................................................21

1

湖南商务职业技术学院毕业设计

附录5主程序代码..........................................................................................22

2

湖南商务职业技术学院毕业设计

基于51单片机光照强弱检测报警器的设计与制作

1产品功能分析

随着科技发展的进步,人们在工作或学习中,都需要有合适的光照强度。

光照太强或者太弱对人体的眼睛都是有害的。所以合适的光照强度,对我们生

活是很重要的。为了检验光照强度是否合适,就可以用本文介绍的光线强弱报

警器。本产品是一个基于单片机的数字式光照检测仪,通过数码管显示光照强

度,并且具有判断光照强弱能力。以89C52单片机为核心,控制A/D芯片采集

数据,辅以数码管、元器件、比较器、数据选择器等器件,实现功能。

本设计适当地利用了光敏电阻的特性以及单片机的强大的运算控制功能,

实现了光照强度的检测,并在LCD1602液晶上显示。比较光照强度数值大小

确定了当前光照可用值。本系统充分利用了现有资源,在光照对人体不利的情

况下都会自动报警。

加强对单片机的学习和认识,正确运用所学单片机的理论知识,将理论与

实际相结合,单片机在我们的生活中得到越来越广泛的应用,单片机的广泛使

用影响着新时代,在计算机行业运用很广泛,学好单片机对今后的学习和工作

发展有很大益处。

2设计方案选择

本次选题的设计思路,采用光敏电阻为光传感器,利用光敏电阻的光照特

性完成光强的检测。以STC89系列单片机为核心,通过传感器测试实验室光照

强弱调光照强度以达到舒适的环境。

2.1单片机的选择

选择STC89C52RC系列单片机,STC89C52RC系列简单常见易上手操作,内

外都有完整的操作系统。是一款非常经典的产品。使用起来很便利。

3

湖南商务职业技术学院毕业设计

2.2系统框图设计

系统框图的设计,如下图2.1所示:

图2.1系统框图

3产品硬件设计

本设计采用STC89C52单片机作为主控芯片,在此基础上加入LCD显示电

路模块、光照强度检测模块、按键模块电路模块、报警电路模块等几个功能模

块构成了本系统。这几个功能模块电路的硬件设计见下面介绍。

3.1STC89C52RC单片机核心电路设计

STC89C52功能特性:具有低功耗、高性能的特点。其通过CMOS的8口位

的微型控制器,可编程Flash存储器。与工业产品80C51引脚和指令完全适

配。机片上Flash允许程序存储器在系统可以修改编程,也适用于常见的编程

器。在机芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得89C52为

众多嵌入式控制应用系统提供灵活、有效的解决方案,在一块芯片上电路集成

中央处理器、程序数据储存器定时器等的一台微型计算机,它体积小、结构紧

4

湖南商务职业技术学院毕业设计

凑、功耗低,嵌入到系统中,完成控制功能,又称“嵌入式微控制器”。本设

计采用STC89C52单片机,单片机引脚如下图3.1所示:

图3.1STC89C52单片机引脚图

单片机STC89C52RC是微型处理器,简单容易构成嵌入式系统。它把中央

处理器、随机存取器、定时计算器以及I/O接口电路的功能集成与一块单一的

电路芯片的微型计算器。这是生活中比较常见的单片机的存在形式。与此不同

还有增强型的单片机。它加入了如A/D转换器、PMW、WDT、有些增强型的

单片机甚至将LCD驱动电路都集成在单一的芯片上这样一来单片机里面所包

含的电路就更加多样,相应的性能也就会得到相应的提升,功能效果也能得到

大大提升。

下图涵盖单片机最小系统,是由单片机、晶振电路、S1按键复位电路三部

分构成可以工作的系统。接口灵活简单,容易上手操作。下图还包含了电源电

路、电容、电阻等元器件。

5

湖南商务职业技术学院毕业设计

图3.2单片机STC89C52最小系统

3.2按键电路接口设计

本设计中,采用了三个按键来实现对光照强度报警值的设置,具体电路设

计如下图3.3所示。

图3.3按键电路

按键功能如下所示:

S2按键:减档值,使上下限值减少,S2按键一端连接地线,一端连接单

片机P3口管脚。

S3按键:加档值,使上下限值增加,S3按键一端连接地线,一端连接单

片机P3口管脚。

S4按键:复位键设置上下限数值,S4按键一端连接地线,一端连接单片

机P3口管脚。

6

湖南商务职业技术学院毕业设计

3.3LCD1602液晶显示模块电路

LCD1602液晶显示的原理:是利用液晶的物理特性,通过电压对其显示区

域进行控制,有电就可以显示出图形,形状数字等。液晶显示器具有厚度薄、

适用于各种常见的大规模集成电路直接使用、又容易实现全彩色显示的特点,

其无辐射、重量轻、质量高、耗能少、机身薄节省空间等特性,目前已被广泛

运用在各个领域。

LCD1602液晶显示特点:LCD1602接收到信号后会一直保持发出的亮度和

色彩,恒定不变的发光发亮。也是一种工业常用的字符型液晶,能同时显示两

行数字,在我们日常生活中,液晶显示器很常见。液晶显示能够显示数字、符

号和图形。它显示出来的字体清晰,画面清晰不会闪烁,方便观看,使用起来

还是比较方便好用的。LCD1602实物如下图3.4所示。

图3.4LCD1602实物图

LCD1602电路接口设计如下所示:

图3.5LCD1602电路接口设计

7

湖南商务职业技术学院毕业设计

3.4光照检测模块电路

光照检测电路采用了一个光敏电阻来实现光照的检测,通过ADC0832来

实现A/D转换。光照检测电路接口设计,如下图3.6所示。

图3.6光照检测电路设计

光敏电阻器是利用半导体的光电导效应通过入射光照的强弱改变阻值大小

的电阻器,又称之为光电导探测器;光照强度越强,电阻阻值越小,光照强度

越弱,电阻阻值越大。光照的特性是指光敏电阻输出的电信号随光照度强而增

大减小变化的特性。形成ADC的转化,组成模拟数字电路。光照作用传输如

下:

1、通过光敏电阻的检测,采集数据搜集数据,及时传输给单片机,完成

ADC的转化;

2、单片机将收到的信号进行分析、整理和处理,将采集到的温度实时数

据传送给1602液晶显示屏;

3、通过1602LCD液晶屏来完成温度的数据显示。

8

湖南商务职业技术学院毕业设计

3.5蜂鸣器报警模块电路

图3.7蜂鸣器报警电路设计

根据按键按钮设置温度上下限数值,接入蜂鸣器,液晶显示器显示光照强

度达到70%以上,显示器发光,蜂鸣器报警,液晶显示器显示光照强度达到

25%以下,显示器发光,则蜂鸣器报警。

9

湖南商务职业技术学院毕业设计

4产品软件设计

本产品采用了C语言,KELL编程环境。采用了简单的设计理论,由程序

和多部分模块构成。

4.1主程序流程图

4.1主程序流程图

10

湖南商务职业技术学院毕业设计

4.2LCD1602液晶显示程序设计

4.2显示程序流程图

11

湖南商务职业技术学院毕业设计

4.3程序设计

对程序编写完毕后,通过软件对程序进行调试,下载和编译,实现传输效

果。

图4.3程序设计

4.4产品程序清单

图4.4程序清单

12

湖南商务职业技术学院毕业设计

5产品使用说明

5.1产品装配图

图5.1产品装配图

5.2产品调试

图5.2产品调试烧录图

13

湖南商务职业技术学院毕业设计

5.3产品使用说明

1、接上电源上电,在按下电源开关,光敏电阻自动检测光照强度。

图5.3

14

湖南商务职业技术学院毕业设计

2、若液晶显示器显示光照强度达到70%以上,则蜂鸣器报警。

操作演示图5.4:图中光照显示值是75,大于上限值70,指示灯亮蜂鸣器报警

3、若液晶显示器显示光照强度达到25%以下,则蜂鸣器报警。

操作演示图5.5:图中光照显示值是20,小于下限值25,指示灯亮蜂鸣器报警

15

湖南商务职业技术学院毕业设计

4、按键可以调节蜂鸣器报警值

操作演示图5.6:复位键设置上下限数值

操作演示图5.7:按键加档键,使上限值增加

16

湖南商务职业技术学院毕业设计

操作演示图5.8:按键减档键,使上下限值减少。

6产品设计技术标准

[1]J-STD-001E电气与电子组件的焊接要求

[2]IPC-A-610D(中文版),IPC-A-610E电子组件的可接受性要求

[3]IPC-7711/21电子组件和电路板的返工&返修

[4]GB/T11457-2006信息技术软件工程术语;

[5]GB/T8566-2007信息技术软件生存周期过程标准;

[6]GB/T8567-2006计算机软件文档编制规范。

7参考资料

[1]陈明荧.8051单片机课程设计实训教材[M].北京:清华大学出版社,2003.

[2]徐新艳.单片机原理、应用与实践[M].北京:高等教育出版社,2005.

[3]吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用[M].北京:清华大学出版社,2002.

[4]王千.实用电子电路大全[M].电子工业出版社,2001.

[5]冯博琴.微型计算机原理与接口技术[M].北京:清华大学出版社,2004.

[6]张毅刚.MCS-51单片机应用设计[M].哈尔滨工业大学出版社,2004.

17

湖南商务职业技术学院毕业设计

[7]张淑清,姜万录等.单片微型计算机接口技术及应用[M].国防工业出版社,2003.

[8]吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用[M].北京:清华大学出版社,2001.

[9]冯博琴.微型计算机原理与接口技术[M].清华大学出版社,2004.

[10]张毅刚.MCS-51单片机应用设计[M].哈尔滨工业大学出版社,2004.

[11]赵亮,侯国锐.单片机C语言编程与实例[M].北京:人民邮电出版社,2003.

[12]王振红,李洋,郝承祥.ISD4004语音芯片的工作原理及其在智能控制系统中的应用

[J].电子器件2002年3月第25卷第1期.

附录

附录1元器件清单

18

湖南商务职业技术学院毕业设计

附录2电路原理图

19

湖南商务职业技术学院毕业设计

附录3PCB设计图

20

湖南商务职业技术学院毕业设计

附录4产品实物图

21

湖南商务职业技术学院毕业设计

附录5主程序代码

#include<reg52.h>//调用单片机头文件

#defineucharunsignedchar//无符号字符型宏定义变量范围0~255

#defineuintunsignedint//无符号整型宏定义变量范围0~65535

sbitCS=P2^2;//CS定义为P1口的第3位脚,连接ADC0832CS脚

sbitCLK=P2^1;//SCL定义为P1口的第4位脚,连接ADC0832CLK脚

sbitDODI=P2^0;//DO定义为P1口的第5位脚,连接ADC0832DODI脚

sbitbeep=P1^4;//蜂鸣器IO口定义

uchargx;//光线等级

uchargx_high=70,gx_low=25;//光线上下限报警值

uintflag_300ms;//300毫秒的变量

ucharmenu_1;//设置不同报警参数的变量

22

湖南商务职业技术学院毕业设计

//这三个引脚参考资料

sbitrs=P1^0;//1602数据/命令选择引脚H:数据L:命令

sbitrw=P1^1;//1602读写引脚H:数据寄存器L:指令寄存器

sbite=P1^2;//1602使能引脚下降沿触发

sbitkey1=P3^7;//按键IO口定义

sbitkey2=P3^6;//按键IO口定义

sbitkey3=P3^5;//按键IO口定义

/********************************************************************

*名称:delay_uint()

*功能:小延时。

*输入:无

*输出:无

***********************************************************************/

voiddelay_uint(uintq)

{

while(q--);

}

/********************************************************************

*名称:write_com(ucharcom)

*功能:1602指令函数

*输入:输入的指令值

*输出:无

***********************************************************************/

voidwrite_com(ucharcom)

{

rs=0;//写指令

rw=0;//对1602写操作

P0=com;//P0口对1602写指令

delay_uint(25);

e=1;//e=1使能信号

delay_uint(100);//延时一下等1602完成操作

e=0;

}

/********************************************************************

*名称:write_data(uchardat)

*功能:1602写数据函数

*输入:需要写入1602的数据

*输出:无

***********************************************************************/

23

湖南商务职业技术学院毕业设计

voidwrite_data(uchardat)

{

rs=1;//写数据

rw=0;//对1602写操作

P0=dat;//P0口对1602写数据

delay_uint(25);

e=1;//e=1使能信号

delay_uint(100);//延时一下等1602完成操作

e=0;

}

/********************************************************************

*名称:write_lcd2(ucharhang,ucharadd,uchardate)

*功能:显示2位十进制数,如果要让第一行,第五个字符开始显示"23",调用

该函数如下

write_lcd2(1,5,23)

*输入:行,列,需要输入1602的数据

*输出:无

***********************************************************************/

voidwrite_lcd2(ucharhang,ucharadd,uintdate)

{

if(hang==1)

write_com(0x80+add);//写1602第一行的地址

else

write_com(0x80+0x40+add);//写1602第二行的地址

write_data(0x30+date/10%10);//显示十位数

write_data(0x30+date%10);//显示个位数

}

/********************************************************************

*名称:write_string(ucharhang,ucharadd,uchar*p)

*功能:改变液晶中某位的值,如果要让第一行,第五个字符开始显示"abcd

ef",调用该函数如下

write_string(1,5,"abcdef;")

*输入:行,列,需要输入1602的数据

*输出:无

***********************************************************************/

voidwrite_string(ucharhang,ucharadd,uchar*p)

{

if(hang==1)

write_com(0x80+add);//写1602第一行的地址

else

write_com(0x80+0x40+add);//写1602第二行的地址

24

湖南商务职业技术学院毕业设计

while(1)

{

if(*p=='\0')break;//\0字符串的结尾标志break结束while循环结束写

字符

write_data(*p);//写数据

p++;//指针地址加1

}

}

/********************************************************************

*名称:init_1602()

*功能:初始化1602液晶

*输入:无

*输出:无

***********************************************************************/

voidinit_1602()

{

write_com(0x38);//显示模式设置:16×2显示,5×7点阵,8位数据接口不检

测忙信号

write_com(0x0c);//开显示不显示光标

write_com(0x06);//当写一个字符是,地址指针加1

write_string(1,0,"GX:00%");//初始化1602显示

write_string(2,0,"H:00%L:00%");//初始化1602显示

}

/***********************1ms延时函数*****************************/

voiddelay_1ms(uintq)

{

uinti,j;

for(i=0;i<q;i++)

for(j=0;j<120;j++);

}

/***********读数模转换数据*******************/

//请先了解ADC0832模数转换的串行协议,再来读本函数,主要是对应时序图来

理解,本函数是模拟0832的串行协议进行的

unsignedcharad0832read(bitSGL,bitODD)

{

unsignedchari=0,value=0;

CLK=0;

DODI=1;

CS=0;//开始

CLK=1;//第一个上升沿

25

湖南商务职业技术学院毕业设计

CLK=0;

DODI=ODD;//通道选择

CLK=1;//第二个上升沿

CLK=0;

DODI=SGL;//通道选择

for(i=0;i<8;i++)

{

CLK=1;//下降沿接收数据

value<<=1;//8位的数据高位在前

CLK=0;

if(DODI==1)//如果DO为1

value++;//8位的数据低位置1

}

returnvalue;//返回0832采集到的数据

}

/********************独立按键程序*****************/

ucharkey_can;//按键值

voidkey()//独立按键程序

{

key_can=0;//按键值还原成0

if(key1==0||key2==0||key3==0)//有按键按下

{

delay_1ms(1);//按键延时消抖动

if(key1==0)//确认是按键按下

key_can=1;//得到按键值

if(key2==0)//确认是按键按下

key_can=2;//得到按键值

if(key3==0)//确认是按键按下

key_can=3;//得到按键值

}

}

/****************按键处理显示函数***************/

voidkey_with()

{

if(key_can==1)//设置键

{

menu_1++;

if(menu_1>=3)

{

menu_1=0;//menu_1=0退出设置了,在正常显示界面下

26

温馨提示

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

评论

0/150

提交评论