- 3
- 0
- 约4.21千字
- 约 17页
- 2016-08-30 发布于湖北
- 举报
光电工程实践
——单片机课程设计
姓 名
学 号
专业班级
指导老师
日 期 2015.6.23~2015.6.27
摘要 2
一、 实现功能 2
二、设计原理 2
2.1系统软件工作流程 2
2.2硬件电路原理 5
2.2.1 STC89C52RC最小系统 5
2.2.2 DS18B20 6
2.2.3 LCD1602 7
2.2.4 AT24C02与PCF8591 8
2.2.5按键 9
2.2.6蜂鸣器 9
三、设计结果 10
四、心得体会 13
五、参考文献 14
附录 主函数部分程序代码 15
摘要
本作品是基于普中51单片机开发板编写可调温度范围的温控报警系统程序,采用开发板上DS18B20、AT24C02、PCF8591、LCD1602芯片构成的应用电路1602上并在设定的温度范围实时监测并启动蜂鸣器报警
实现功能
1.能实时采集温度和电压值,显示在1602上;
2.能实时显示时钟并可手动修改,显示在1602上;
3.按键1按下,将当前的温度值保存到AT24C02;
4.按键2按下,可逐个显示之前采集到的温度值;
5.当温度超过设定值,则蜂鸣器报警;
6.能手动调整温度报警阈值。
二、设计原理
2.1系统软件工作流程
一上电,程序首先进行初始化,在主程序的循环程序中首先调用DS18B20温度采集和PCF8591电压采集程序,接着将调用报警子程序,采集到的温度值与预设的温度报警阈值进行比较,判断是否启动蜂鸣器报警,调用1602显示子程序显示时间采集的电压、温度、温度阈值及预存储温度。若按键未按下,则一直执行上述命令。若按键按下,则转到相应的按键检测程序执行,系统定义了7个按键功能,分别为左移键、右移键、加、减键、存储键、提取键、释放键,实现时间和温度报警阈值的手动调整,调整过程会实时显示在LCD1602上24C02存储子程序按下提取键时将调用AT24C02提取子程序并将所存的温度显出来
图2.1 软件设计流程图
图2.2 时钟流程图
2.2硬件电路原理
图2.2系统方框图
2.2.1 STC89C52RC最小系统
(1)复位电路:t=RC1(t≥10ms);
(2)时钟电路:C2=C3=(30±10)pF(一般是20~30pF);
(3)存储器访问路经控制:EA/VPP=+5V时,先内后外
图2.2.1 STC89C52RC最小系统图
2.2.2
图2.2.2 DS18B20
2.2.3 LCD1602
LCD1602可以显示2行16个字符,有8位数据总线D0—D7和RS、R/W、EN三个控制端口,工作电压为5V并且带有字符对比度调节和背光。
LCD1602引脚说明如下表所示:
表2.2.3 1LCD液晶显示器各引脚功能及结构
VDD:电源正极,4.5V—5.5V,通常使用5V电压;
VL:LCD对比度调节端,电压调节范围为0—5V。接正极时对比度最弱,接地电源时对比度最高,但对比度过高会产生“鬼影”,因此通常使用一个10K的电位器来调整对比度,或者直接串接一个电阻到地;
RS:MCU写入数据或者指令选择端。MCU要写入指令时,使RS为低电平;MCU要写入数据时,使RS为高电平;
R/W:读写控制端。R/W为高电平时,读取数据;R/W为低电平时,写入数据;
EN:LCD模块使能信号控制端。写数据时,需要下降沿触发模块。
D0—D7:8为数据总线,三态双向。如果MCU的I/O口资源紧张的话,该模块也可以只使用4位数据线D4—D7接口传送数据。
A:LED背光正极。需要背光时, A串接一个限流电阻接VDD,
K接地。 K:LED背光地端。
图2.2.3 LCD电路引脚图
2.2.4 AT24C02与PCF8591AT24C02是一个2K位串行CMOS E2PROM, 内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。AT24C02有一个8字节页写缓冲器。该器件通过IIC总线接口进行操作,有一个专门的写保护功能。
图2.2.4 24C02与PCF8591引脚连线图按键.2.6蜂鸣器
原创力文档

文档评论(0)