| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

基于DS18B20的温度显示及其报警控制系统(含完整原理图及C程序)毕业论文

z***u

贡献于2019-05-28

字数:18528


XX 学

毕 业 设 计( 文 )




题目
基单片机数字温度计报警系统
作者

学院
物理学院
专业
电子信息科学技术
学号

指导教师



二〇XX 年 X 月 X日

XX 学
毕业设计(文)务书
物理学 院 电子 系(教研室)
系(教研室) (签名) 年 月 日
学生姓名 学号 专业 电子信息科学技术
1 设计(文)题目专题: 基单片机数字温度计报警系统
2 学生设计(文)时间: 20XX 年 3 月 18 日开始 20XX年 5 月 28 日止
3 设计(文)资源参考资料:
[1] 张毅刚彭喜元单片机原理应设计M北京:电子工业出版社20084
[2] 郭天祥新概念51单片机C语言教程M北京:电子工业出版社20091
[3] 康华光电子技术基础模拟部分M北京:高等教育出版社20061
4 设计(文)应完成容:
1讲述系统测温方式原理
2设计硬件系统
3设计软件系统
5 提交设计(文)形式(设计说明图纸文等)求:
文求格式正确调理清晰严格湖南科技学文格式求撰写提交文
6 发题时间: 20XX 年 12 月 28 日










指导教师: (签名)

学 生: (签名)
XX 学
毕业设计(文)指导评语
[学生毕业设计(文)工作态度研究容方法工作量文献应创新性实性科学性文(图纸)规范程度存足等进行综合评价]

期五月毕业设计中该学老师求利完成整毕业设计工作文撰写文容准确描述证系统工作程实现原理做出系统实物系统正常工作种测试条件利完成测试目标该设计具定创新性实时设置温度范围范围值存储EEPROM中设置值掉电丢失根系统实物测试结果该系统实时显示目标温度值温度超出设范围时进行温度控制处理报警具较强实性较解决现实生产生活工作中该容需求整毕业设计程中该学态度端正学较认真遇难题时积极请教老师学查阅相关资料时间安排合理基阶段完成相应务
文述紧扣题语言表达流畅格式符合规范求建议评良

















指导: (签名)

年 月 日


指导评定成绩: 良
XX 学
毕业设计(文)评阅评语
[学生毕业设计(文)文格式图纸规范程度工作量研究容方法实性科学性结存足等进行综合评价]





























评阅: (签名)

年 月 日


评阅评定成绩:
XX 学
毕业设计(文)答辩记录
日期:
学生: 学号: 班级:
题目:
提交毕业设计(文)答辩委员会列材料:
1 设计(文)说明书 页
2 设计(文)图 纸 页
3 指导评阅评语 页
毕业设计(文)答辩委员会评语:
[学生毕业设计(文)研究思路设计(文)质量文图纸规范程度设计(文)介绍回答问题情况等进行综合评价]
















答辩委员会: (签名)
委员: (签名)
(签名)
(签名)
(签名)


答辩成绩:

总评成绩:


着科技断进步工业生产中温度常控参数采单片机控参数进行控制已成流温度传感器DS18B20具性稳定灵敏度高抗干扰力强方便等优点广泛应冰箱空调器粮仓等日常生活中温度测量控制文采51单片机实现温度测量报警组成部分:STC89C52单片机DS18B20键盘显示电路AT24C02温度范围存储电路温度报警控制电路实时检测显示温度设定温度范围实现温度报警动控制

关键词:温度计DS18B2051单片机温度报警
ABSTRACT

Temperature sensor DS18B20 has a lot of advantagessuch as stable performancehigh sensitivitystrong antiinterference capabilityconvenience of useetc And it was widely used for the measurement and control of temperature in refrigerators air conditioners barn and other daily life in the measurement and control of temperature In this article We used a single chip for realizing temperature measurement and alarm It was mainly component of STC89S52 chip DS18B20 keyboard and display circuitstorage circuit of temperature range temperature alarm and circuit control It realize not only realtime detection and display temperature but also setting the temperature range and the measurement and control of temperature

Key words Thermometer DS18B2051 MCU temperature alarm
目 录

第章 绪 1
11 设计背景 1
12 温度测量报警系统国外情况 1
13 文研究容 1
第二章 系统总体设计 2
21 系统方案选择 2
22 系统组成 2
23 系统工作程 3
第三章 系统硬件设计 5
31 单片机系统设计 5
311 89C52单片机简介 5
312 单片机系统 8
32 温度检测电路DS18B20测温原理 8
321 DS18B20介绍 8
322 DS18B20特性 9
323 DS18B20硬件电路 10
33 报警温度调节电路 10
34 报警温度存储电路 11
35 报警控制电路 12
36 显示电路 13
37 结 13
第四章 系统软件设计 14
41 软件总体设计方案 14
42 程序设计 14
43 测温程序设计 16
431 温度转换工作流程 16
432 读暂存器工作流程 16
433 读数求出十进制 16
44 报警温度调节存储设计 17
441 键设置程序 17
442 温度储存程序 17
45 温度报警控制设计 19
46 结 20
第五章 系统测试 21
51 模块测试 21
52 整体软件测试 21
第六章 结 22
参考文献 23
致谢 24
附件A 整体硬件电路图 25
附件B 硬件实物图 26
附件C 程序清单 27
第章 绪
11 设计背景
温度重物理量直接影响化学反应发酵煅烧浓度蒸馏结晶空气流动等物理化学程温度控制失误引起生产安全质量产量等系列问题温度测量工业生产程中日常生活中起着非常重作传统温度采集方法仅费时费力精度差单片机出现温度采集数处理问题够解决特环境恶劣温度较高等场合保证生产程正常安全进行提高产品质量数量减轻工劳动强度节约源求加热炉温度进行测量显示报警控制达工艺标准单片机核心设计温度测量系统温度进行实时测量温度数进行显示报警进行相应控制
12 温度测量报警系统国外情况
温度检测系统国行业应然已十分广泛国生产温度控制器讲总发展水然高日德国美国等先进国家相着较差距采51单片机温度进行检测控制仅具成低廉控制方便灵活性等优点提高控温度技术指标 提高产品质量数量单片机温度处理问题工业生产中常会遇问题
13 文研究容
文基STC89C52单片机采数字温度传感器DS18B20需AD转换直接进行温度采集显示报警控制数字温度计设计包括传感器数采集电路温度显示电路限报警调整存储电路温度报警控制电路单片机板电路等组成
第二章 系统总体设计
21 系统方案选择
该系统温度测量数采集数处理部分组成实现方案种面列出两种常实现方案
211 方案
采热敏电阻传感器利热敏电阻阻值温度变化显著变化直接温度变化转换电压变化进制成温度计数采集部分带AD 通道单片机专业AD转换芯片进行AD 转换单片机进行数处理显示电路测温度显示出时温度进行相应报警控制
方案优点工作温度范围非常宽体积精确度高存着输出电压抗干扰力差缺点种设计需AD 转换电路感温电路较复杂增系统设计难度
222 方案二
采数字温度芯片DS18B20测量温度输出信号全数字化便单片机控制处理省传统测温方法外围电路该芯片性较稳定线形较0—100°C时线性偏差1°CDS18B20采单总线数传输DS18B20微控制器STC89C52构成温度测量装置直接输出温度数字信号直接单片机连接样测温系统结构较简单体积采51单片机控制软件编程度通C语言编程实现种样算术算法逻辑控制硬件实现简单安装方便外51单片机工业控制着广泛应编程技术外围功电路配合成熟
该系统利STC89C52芯片控制温度传感器DS18B20进行实时温度检测显示够实现快速测量环境温度根需设定限报警温度进行报警相应控制处理该系统扩展性强利键盘进行温度范围调整利AT24C02芯片作存储器件获数通I2C总线协议AT24C02通信温度范围数储存起方便应中实时调整关机重启加载数
两种方案容易出方案二测温装置电路更简单实现更方便程序设计更容易实现次设计采方案二
22 系统组成
课题51单片机核心设计种数字温度报警系统系统整体硬件电路包括温度采集电路温度显示电路限报警调整电路存储电路报警控制电路单片机板电路等组成
系统框图控制器温度传感器报警键设置AT24C02数码显示报警控制电路组成
系统框图图21示










图 21 系统框图
单元模块功:
检测电路 DS18B20构成DS18B20美国 DALLAS 半导体公司推出种改进型智温度传感器 传统热敏电阻等测温元件相直接读出测温度根实际求通简单编程实现9~12位数字值读数方式
系统核心器件51单片机整系统心脏控制协调功模块正常工作考虑系统功济性素采性价较高 STC89C52
温度范围值存储采AT24C02AT24C022K串行CMOS E2PROM存储器通I2C协议单片机进行通信报警温度值储存起关机重启保留报警温度值需进行设置
报警功蜂鸣器完成通单片机IO口蜂鸣器发出频率脉发出警报声相应温度进行报警
温度控制模块温度高时风扇制冷温度低时红色LED灯模拟加热器进行升温处理
显示模块数码进行显示
23 系统工作程
系统DS18B20采集温度进行转换温度数传递单片机单片机控制数码进行步温度显示时温度值进行处理温度高设定值进行制冷处理温度继续升超设定值+3°C时控制蜂鸣器进行高频率报警处理温度低设定值进行加热处理温度继续降低设定值3°C时控制蜂鸣器进行低频率报警处理系统运作程中时温度限制进行设置通键输入调整数值单片机片RAM具掉电丢失数特性里温度限数值存入AT24C02中系统断电重启首先通AT24C02温度范围值加载单片机保证系统正常工作































第三章 系统硬件设计
31 单片机系统设计
系统采STC89C52控器兼容89C51单片机
311 89C52单片机简介
89C52单片机片结构
89C52单片机片结构图31示作控制应必需基功部件集成集成电路芯片功部件组成:
(1) 微处理器(CPU)
(2) 数存储器(RAM)
(3) 程序存储器(4K Flash ROM)
(4) 48位编程行IO口(P0口P1口P2口P3口)
(5) 1全双工串行口
(6) 216位定时器计数器
(7) 中断系统
(8) 特殊功寄存器(SFR)

图 31 89C52单片机片结构
1 CPU
89C52单片机中18位CPU通CPU基相样包括运算器控制器两部分增加面控制位处理功
2 数存储器(RAM)
片256B片外扩展64KB片128BRAM高速RAM形式集成单片机加快单片机运行速度种结构RAM降低功耗
3 程序存储器(ROM)
程序存储器存储程序89C52片集成8KBFlash存储器片外外扩64KB
4 中断系统
5中断源2级中断优先权
5 定时器计数器
片316位定时器计数器具4种工作方式
6 串行口
1全双工串行口具4中工作方式进行串行通信扩展行IO甚单片机相连构成级系统单片机应更广
7 P1口P2口P3口P0口
48位行IO口
8 特殊功寄存器(SFR)
21特殊功寄存器CPU片功部件进行理控制监视特殊功寄存器实际片功部件控制寄存器状态寄存器特殊功寄存器映射片RAM区80H~FFH址区间
二89C52单片机引脚功说明


图 32 89C52单片机引脚图
(1)电源引脚
VCC(40脚):接+5V电源
GND(20脚):接
(2)时钟引脚
XTAL1(19脚):片振荡器反相放器时钟发生器电路输入端
XTAL2(18脚):片振荡器反相放器输出端
(3)控制引脚
RST(9脚):复位信号输入端高电效单片机运行时引脚加持续时间2机器周期高电时单片机完成复位操作
VPP(31脚):引脚高电时89C52单片机读片程序存储器PC值超8KB时动转外部程序存储器中程序低电时程序存储器读操作先顶着外部程序存储器
(4)IO口引脚
P0口:8位漏极开路双IO口89C52扩展外部存储器IO口芯片时P0口作址总线低8位数总线分时复端口作通IO口时需加拉电阻作普通IO口输入时应先端口输出锁存器写入1
P1口:8位准双IO口具部拉电阻作普通IO输入时先端口输出锁存器写入1
P2口:8位准双IO口具部拉电阻作普通IO输入时
P3口:8位准双IO口具部拉电阻作普通IO输入时P3口提供第二功第二功定义表31示[1]:
表 31 P3口第二功
引脚
第二功
说明
P30
RXD
串行数输入口
P31
TXD
串行数输出口
P32

外部中断0输入
P33

外部中断1输入
P34
T0
定时器0外部技术输入
P35
T1
定时器1外部计数输入
P36

外部数存储器写选通输出
P37

外部数存储器读选通输出


312 单片机系统
整系统核心部件单片机搭建稳定单片机系统系统正常工作重

图33 单片机系统

单片机系统图33示中4双8位行IO端口分记作P0P1P2P3数输出输入P3口具第二功系统提供控制信号时钟电路产生单片机工作必须时钟控制信号部电路时钟信号控制严格时序指令工作单片机部构成振荡器高增益反放器该高增益反放器输入端芯片引脚XTAL1输出端XTAL2两引脚跨接石英晶体振荡器微调电容构成稳定激振荡器电路中微调电容通常选择30pF左右该电容会影响振荡器频率高低振荡器稳定性起振快速性晶体振荡频率采12MHz
MCS51复位外部复位电路实现采简单电复位电路
32 温度检测电路DS18B20测温原理
321 DS18B20介绍
DS18B20引脚图34示

图34 DS18B20脚排列

DALLAS半导体公司单线数字温度传感器DS18B20种新型线器件体积适种场合DS18B20世界第片支持线总线接口温度传感器温度测量范围55~+125 °C编程9位~12 位转换精度测温分辨率达00625°C测温度符号扩展16位数字量方式串行输出DS18B20联3根2根线CPU需根端口线诸DS18B20 通信占微处理器端口少节省量引线逻辑电路
322 DS18B20特性
(1) 适应电压范围宽:30 V~55V寄生电源方式数线供电
(2) 独特单线接口方式微处理器连接时仅需条口线实现微处理器 DS18B20双通讯
(3) DS18B20中需外围元件全部传感元件转换电路集成形 三极集成电路
(4) 测温范围-55℃~+125℃10℃~+85℃时精度±05℃
(5) 编程分辨率9~12位应分辨温度分05℃025℃0125 ℃00625℃实现高精度测温
(6) 9位分辨率时9375ms温度转换数字12位分辨率时 750ms温度值转换数字
(7) 测量结果直接输出数字温度信号线总线串行传送CPU时传 送CRC校验码具强抗干扰纠错力
(8) 负压特性:电源极性接反时芯片会发热烧毁正常工作[2]


323 DS18B20硬件电路
硬件DS18B20单片机连接两种方法种VCC接外部电源GND接IO单片机IO线相连种寄生电源供电时VDDGND接IO接单片机IO部寄生电源外部供电IO口线接10KΩ左右拉电阻采第种连接方法图35示DS18B20数线单片机P25脚连接加拉电阻

图35 DS18B20连接图
33 报警温度调节电路
系统设置3键系统运作时key1键切换限温度设置模式时数码显示限温度key2key3相应限温度进行加减设置key1键切换限温度设置模式时显示限温度样key2key3进行设置key1切换正常显示温度模式时限温度值储存AT24C02中键电路图36示直接IO口通键接程序运行时检测低电键

图36 温度调整键电路

34 报警温度存储电路
系统需通键报警温度限进行灵活设置设置系统断电重启单片机复位温度限值会回初值设置值需利FLASH限值储存起里AT24C02
AT24C02美国Atmel公司低功耗CMOS型EEPROM含256*8位存储空间具工作电压宽(25V~55V)擦写次数(10000次)写入速度快(10ms)抗干扰力强数易丢失体积等特点采I2C总线式进行数读写串行操作占少资源IO线AT24C0216字节页写缓器该器件通I2C总线接口进行操作专门写保护功
AT24C02引脚图37引脚功[3]:
SCL:串行时钟输入脚产生器件数发送接收时钟
SDA:双串行数址脚器件数发送接收
A0A1A2:器件址输入端输入脚器件级联时设置器件址脚悬空时默认值0AT24C02级联8器件
WP:写保护果WP脚连接VCC容写保护进行读操作WP脚连接GND悬空允许器件进行正常读写操作
GND:电源(GND)
VCC:电源电压(5V)





图37 AT24C02引脚图

AT24C02通IIC总线单片机进行通信电路连接图38










图 38 AT24C02电路
35 报警控制电路
温度太高太低报警报警功复杂里没采语音报警功蜂鸣器代样系统更简洁软件方面较控制成更低蜂鸣器电路图39采PNP三极驱动蜂鸣器[4]

图 39 蜂鸣器电路
温度控制方面降温利风扇实现考虑成简便加热器红色LED灯模拟电路图310

图 310 温度控制电路




36 显示电路
显示部分液晶显示数码显示系统需显示数字数码显示图311里采阴数码

图 311 阴数码
S2S3S4分十数位阴极阴极NPN三极加拉电阻驱动图312

图 312 数码阴极驱动
图中shigexiao相应连接单片机P10P11P12口控制S2S3S4电高低
37 结
系统硬件电路采Altium Designer69制作硬件制作程中遇少困难电路板制作硬件调试等懈努力老师学帮助终完成硬件设计整机硬件电路图请见附录A
第四章 系统软件设计
41 软件总体设计方案
设计软件分4部分:温度测量部分温度显示部分报警温度设置部分温度处理部分中温度测量部分软件设计关键部分决定温度精度
系统电首先加载EEPROM中限温度值然初始化定时器蜂鸣器控制然进入系统循环循环中首先温度进行测量然进行显示步温度进行处理超出温度范围情况进行控制报警处理然扫描键盘果扫描键1进入温度设置模式通键123限温度进行调节设置完成限值限值储存EEPROM相应址中
系统流程图图41:

图 41 系统流程
42 程序设计
系统软件温度显示键盘扫描间循环隔段时间DS18B20进行温度获取显示扫描循环50次温度测量部分构成系统循环约秒获取次温度数
系统程序:
void main()
{
uint j 计数器
xiaread_add(2)
delayms(10)
shangread_add(4) 读出保存限数

TMOD0x01 定时器工作方式1
ET01
EA1
TH0(65536250)256
TL0(65536250)256
TR00 先关闭定时器

while(1)
{
tempchange() 温度转换
dis_temp(temp) 显示温度
dis_temp(temp)
get_temp() 获取温度
dis_temp(temp)
dis_temp(temp)
deal() 温度处理
j50
while(j)
{
dis_temp(temp)

if(KEY10)set() 键盘扫描
}
}

}



43 测温程序设计
DS18B20单片机通信采单总线技术采单条信号线传输时钟传输数数传输双种单总线技术具线路简单硬件开销少成低廉便总线扩展维护等优点
DS18B20测温程分三步骤:DS18B20温度转换DS18B20度暂存数数求出十进制图42:

图 42 测温流程
431 温度转换工作流程
1 DS18B20复位
2 写入跳ROM字节命令0xcc
3 写入开始转换功命令0x44
4 延迟月750~900ms
432 读暂存器数流程
1 DS18B20复位
2 写入跳ROM字节命令0xcc
3 写入读暂存器功命令0xee
4 读入第0字节LS转换结果低八位
5 读入第1字节MS转换结果高八位
6 复位表示读取暂存结果
433 数求出十进制
1 整合LSMS数
2 判断否正(系统测量范围0999间)
3 求十进制值系统求精度01°C测数00625
44 报警温度设置储存设计
温度设置采三键设置利键1转换模式键2键3分进行加减
441 键设置程序
键1应键值key1进行模式转换扫描键1时key1加1key11时限设置模式key12时限设置模式key13时满足key1>2时key1清零限值储存EEPROM中然退出设置模式进入设置模式时数码显示相应设置温度利显示KEY2KEY3扫描消抖延时流程图图43:

图 43 键设置流程图
442 温度储存程序
EEPROM采I2C总线单片机进行通信
I2C总线飞利浦公司推出年微电子通信控制领域广泛采种新型总线标准具接口线少控制简单器件封装形式通信速率较高等优点
I2C总线两条导线构成数导线称串行数线(SDA)时钟导线称串行时钟线(SCL)发送数接受数CPUIC间ICIC间进行双通信高传送速率400kbps种控器件均联总线器件唯址
I2C总线数传输起始条件启动图44示SDA信号发生高低转换时SCL信号保持高表示起始条件I
2C总线数传输终止条件结束图示SDA信号发生低高转换时SCL信号保持高表示终止条件实际数起始终止条件间传输

图 44 起始停止条件
典型I2C字节写入周期操作程:执行设备起始条件启动传输接着发送设备址该址写入数字节设备址高位前低位方式发送数发送图45示图中执行设备数位值放SDA信号线时SCL信号线低SDA信号线值直保持SCL信号线出现时钟脉发送接收设备址执行设备发送0接收设备第ACK时钟周期SDA信号线保持低确认收该址确认执行设备高位前低位方式发送字节数接收设备第二ACK时钟周期SDA信号线保持低确认收数
典型I2C字节读取周期操作程:执行设备起始条件启动传输接着发送设备址该址读取数字节设备址高位前低位方式发送10发送发送读取设备址执行设备发送1请求读取等接收确认信号接着发送设备发送字节数接收设备产生终止条件确认数接收终止传输

图 45 I2C总线数传输
1EEPROM指定址中写入字节数程序:
void write_add(uchar addressuchar date)
{
start() 开始信号
write_byte(0xa0) 写入0xa0
respons() 应答
write_byte(address) 写入址
respons()
write_byte(date) 写入数
respons()
stop() 停止信号
}

2EEPROM指定址中读出字节数程序:
uchar read_add(uchar address)
{
uchar date
start() 开始信号
write_byte(0xa0) 写入0xa0
respons() 应答
write_byte(address) 写入址
respons()
start() 开始信号
write_byte(0xa1) 写入0x01
respons()
dateread_byte() 读出字节数赋予date
stop()
return date date作返回值
}
45 温度报警控制设计设计
系统报警功设计相应温度控制功温度超定范围先进行温度控制控制温度继续恶化启动报警功报警采蜂鸣器利单片机定时器控制蜂鸣器频率进行报警果温度低限温度点亮LED低频报警温度高限温度低限温度加3°C时点亮LED温度高限温度开风扇高频报警温度低限温度高限温度减3°C时开风扇情况关闭风扇LED关闭定时器予报警

46 结
系统采C语言编程编程软件采Keil uVision4程序构思编写调试程中样遇困难尤调试程中发现编程惯导致程序出现致命问题通努力利调试成功编程中定注意改掉编程惯



















第五章 系统测试
51 模块测试
温度采集模块测试:调节温度变化温度变化时数码步显示前温度
数码显示测试:通程序控制数码显示数字观察否显示正常显示否清晰测试数码显示意数字
键测试:键分长短两种短时数变动次长时数停变动会抖动发生误判
蜂鸣器发声测试:测试通程序控制蜂鸣器发出声音
温度报警控制模块测试:通键温度限设置完成调节温度变化温度超出设置范围时观察蜂鸣器风扇LED工作情况结果说明该模块工作正常
测试图图51

图 51 系统测试图
52 整体软件测试
1 通键进入温度限设置模式时数码显示前设置值系统关机重启KEY1键显示温度范围值次设置值说明温度范围值存储成功
2 测温程中数码实时显示前温度
3 温度差3°C达设定限值时进行相应温度控制处理达限值会发出相应报警声整体程序请见附录C
第六章 结
设计基51单片机控制温度报警控制系统系统采DS18S20STC89C52单片机数码显示AT24C02存储硬件电路完成温度实时显示利 DS18S20 单片机连接软件硬件电路配合实现LED风扇实时控制超出设定限温度报警系统
系统设计程中遇问题特程序调试方面解决问题程中学许东西深深感实践理重性通断强化身实践动手力理指导实践通实践进步深入理解理
次设计数字温度报警系统次测试工作稳定灵敏度较高抗干扰力强等特点外该系统器件均常规元件较高利价值


参 考 文 献
[1] 张毅刚彭喜元单片机原理应设计M北京:电子工业出版社200841013
[2] 郭天祥新概念51单片机C语言教程M北京:电子工业出版社20091343
[3] 郭天祥新概念51单片机C语言教程M北京:电子工业出版社20091185
[4] 康华光电子技术基础模拟部分M北京:高等教育出版社20061103110


致 谢
课题选题研究程中XX老师悉心指导设计程中遇困难指导老师周围学帮助帮助利完成毕业设计特感谢指导导师聂老师月毕业设计指导求鼓励文利完成指出方谨导师样毕业设计程中予帮助XX老师学致诚挚谢意
感谢08级电子班学物理学院老师学四年里教会许专业知识帮助支持学生活充实谢谢
附件A:
整机硬件电路图

附件B:
硬件实物图






















附件C:
程序清单
#include
#include
#define uchar unsigned char
#define uint unsigned int


***********定义端口***********
sbit sdaP2^7
sbit sclP2^6
sbit dsP2^5 温度传感器信号线
sbit buzzerP2^4 蜂鸣器信号
sbit fengP2^3
sbit warmP2^2
sbit KEY1P3^0
sbit KEY2P3^1
sbit KEY3P3^2


**********定义全局变量***********
uint temp 整型温度数
float f_temp 浮点型温度数
uchar shang 限报警温度10数
uchar xia 限报警温度10数
uint buz 蜂鸣器频率计数
uchar tent 定时器计数值

uint key10 键计数值
uint key20
uint key30

**********带数点数码码***********
uchar code table[]
{
0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f
}
**********带数点数码码***********
uchar code tabler[]
{
0xbf0x860xdb0xcf0xe60xed0xfd0x870xff0xef
}








**********延时函数***********
void delayms(uint z)
{
uint xy
for(xzx>0x)
for(y110y>0y)
}

void delay()
{}


***********定时器工作函数***********
void timer() interrupt 1
{
TH0(65536250)256
TL0(65536250)256
tent++ 025ms加次
if(tent>buz) 记满buz次时
{
tent0
buzzer~buzzer 蜂鸣器电取反
}
}


***********IIC开始信号***********
void start()
{
sda1
delay()
scl1
delay()
sda0
delay()
}

***********IIC停止信号***********
void stop()
{
sda0
delay()
scl1
delay()
sda1
delay()
}

***********IIC应答信号***********
void respons()
{
uchar i
scl1
delay()
while((sda1)&&(i<250))i++
scl0
delay()
}

***********IIC初始化***********
*void init()
{
sda1
delay()
scl1
delay()
} *

***********EEPROM写字节***********
void write_byte(uchar date)
{
uchar itemp
tempdate
for(i0i<8i++)
{
temptemp<<1
scl0
delay()
sdaCY
delay()
scl1
delay()
}
scl0
delay()
sda1
delay()
}

***********EEPROM读字节***********
uchar read_byte()
{
uchar ik
scl0
delay()
sda1
delay()
for(i0i<8i++)
{
scl1
delay()
k(k<<1)|sda
scl0
delay()
}
return k
}

***********EEPROM指定址写字节***********
void write_add(uchar addressuchar date)
{
start()
write_byte(0xa0)
respons()
write_byte(address)
respons()
write_byte(date)
respons()
stop()
}

***********EEPROM指定址读字节***********
uchar read_add(uchar address)
{
uchar date
start()
write_byte(0xa0)
respons()
write_byte(address)
respons()
start()
write_byte(0xa1)
respons()
dateread_byte()
stop()
return date

}





***********显示程序***********
void dis_temp(uint t)
{
uchar i
it100
P0table[i]
P10x04
delayms(5)

i(t100)10
P0tabler[i]
P10x02
delayms(5)

it10
P0table[i]
P10x01
delayms(7)
}




***********18B20复位初始化函数***********
void dsreset(void)
{
uint i
ds0
i103
while(i>0)i
ds1
i4
while(i>0)i
}

***********读1位函数***********
bit tempreadbit(void)
{
uint i
bit dat
ds0i++ i++ 起延时作
ds1i++i++
datds
i8while(i>0)i
return (dat)
}

***********读1字节***********
uchar tempread(void)
{
uchar cddat
dat0
for(c1c<8c++)
{
dtempreadbit()
dat(d<<7)|(dat>>1) 读出数低位前面样刚字节DAT里
}
return(dat)
}

***********18B20写字节数***********
void tempwritebyte(uchar dat)
{
uint i
uchar j
bit testb
for(j1j<8j++)
{
testbdat&0x01
datdat>>1
if(testb) 写 1
{
ds0
i++i++
ds1
i8while(i>0)i
}
else
{
ds0 写 0
i8while(i>0)i
ds1
i++i++
}

}
}

***********DS18B20 开始获取温度转换***********
void tempchange()
{
TR00
dsreset()
dis_temp(temp)
tempwritebyte(0xcc) 写跳读ROM指令
tempwritebyte(0x44) 写温度转换指令

}

***********读取寄存器中存储温度数***********
uint get_temp()
{
uchar ab
TR00
tempchange() 温度转换
dsreset()
delayms(1)
tempwritebyte(0xcc)
tempwritebyte(0xbe)
atempread() 读低8位
btempread() 读高8位
tempb
temp<<8 两字节组合1字
temptemp|a
f_temptemp*00625 温度寄存器中12位 分辨率位00625°
f_tempf_temp+005 加005四舍五入
tempf_temp*10 10表示数点面取1位
return temp temp整型
}


***********报警控制函数***********
void deal()
{
uint itemp10 扩10倍温度值缩10倍限温度
if(i {
TR01 启动定时器0
buz5 蜂鸣器低频
feng1 关风扇
warm1 点亮LED
}
else if((i>(xia+1))&&(i<(xia+3)))
{
TR00buzzer1 关闭定时器0
feng1 关风扇
warm1 点亮LED
}
else if(i>(shang3)&&(i<(shang1)))
{
TR00buzzer1 关闭定时器0
feng0 开风扇
warm0 关LED
}
else if(i>shang)
{
TR01 开启定时器0
buz1 蜂鸣器高频
feng0 开风扇
warm0 关LED
}
else if((i>(xia+3))&&(i<(shang3)))
{
TR00buzzer1 关闭定时器0
feng1 关风扇
warm0 关LED
}
}

***********线温度设置***********
void set()
{
uint i10
key1++
while(i)dis_temp(xia*10) 首先显示限温度延时
while(key1<3)
{

if(key11) 转换成限温度模式
{
dis_temp(xia*10) 显示限温度

if(KEY10) 时扫描KEY1KEY2KEY3键
{
key1++
i10
while(i)dis_temp(xia*10) 抖延时

}
if(KEY20) 果KEY2限温度加1
{
xia++
i10
while(i)dis_temp(xia*10)显示限温度延时抖

}
if(KEY30) 果KEY3限温度减1
{
xia
i10
while(i)dis_temp(xia*10)

}
}
if(key12)
{
dis_temp(shang*10)

if(KEY10)
{
key1++
i10
while(i)dis_temp(shang*10) 抖延时

}
if(KEY20)
{
shang++
i10
while(i)dis_temp(shang*10)

}
if(KEY30)
{
shang
i10
while(i)dis_temp(shang*10)

}
}

}
dis_temp(temp)
if(key1>2)key10 果键值2调零
write_add(2xia) 线温度储存起
dis_temp(temp) 利温度显示延时
write_add(4shang)
}


***********************************************
***********************************************
*********** 程序 ***********
void main()
{
uint j 计数器
xiaread_add(2)
delayms(10)
shangread_add(4) 读出保存限数


TMOD0x01 定时器工作方式1
ET01
EA1
TH0(65536250)256
TL0(65536250)256
TR00

while(1)
{
tempchange() 温度转换
dis_temp(temp) 显示温度
dis_temp(temp)
get_temp() 获取温度
dis_temp(temp)
dis_temp(temp)
deal() 温度处理
j50
while(j)
{
dis_temp(temp)

if(KEY10)set() 键盘扫描
}
}

}
文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 10 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

基于单片机的温度控制系统设计毕业论文

职业学院毕业论文 题目:单片机温度控制系统研制 系 院:工程技术学院 学生姓名: 学 号: 专 业:机电一体化 年 级: 指导教师: 完成日期:X月X日 毕业设计(论文)任务书 设计(论文)题目 单片机温度控制系统研制

z***u 5年前 上传5896   0

基于PID的温度控制系统设计论文

 (20XX届) 毕业设计 题  目:   基于PID的温度控制系统设计  学  院:             专  业:     电气工程及其自动化     班  级:      电气        学  号:            姓  名:          指导教师: 

z***u 5年前 上传2021   0

基于VHDL的电子琴设计(含完整程序)

 课程设计报告 题 目 专业、学号 授课班号 学生姓名 指导教师 完成时间 课程设计(报告)任务书 (理 工 科 类) Ⅰ、课程设计(报告)题目: 电子琴

文***享 5年前 上传887   0

基于AT89C51单片机的鸡舍温度控制系统

基于AT89C51单片机制作一个温度控制器,用于自动接通电加热或制冷设备,从而使鸡舍内温度达到设想温度的要求,并能实时显示室内温度。当室内温度低于设定下限温度时,控制器连通电加热设备,当室内温度等于设定下限温度时,控制器断开电加热设备;当室内温度大于设定上限温度时,控制器接通电制冷设备,当室内温度等于设定上限温度时,控制器断开电制冷设备。

y***6 6年前 上传14651   0

基于单片机的音乐喷泉论文(含原理图、PCB图、程序)

咅乐喷泉控制器是咅乐喷泉的核心部分。在咅乐喷泉中,喷头的多姿造型和 缤纷的水下灯光都受喷泉控制器的控制。由于不同的喷泉对水泵和彩灯组数的要 求各不相同,因此可以设计一种简单、通用、组数可灵活扩充的喷泉控制器。木 喷泉控制器采用全数字集成电路设计,可以灵活改变水泵和彩灯的组数。

雅***韵 5年前 上传1844   0

基于单片机的空调温度控制系统设计毕业设计

 毕业设计  题 目 基于单片机的空调温度控制系统设计 学生姓名 学 号 学 院 计算机与信息工程系 专业班级 指导教师 职 称   年 月 内容摘要 空调是一种能够改善室内温度、湿度、洁净度和空气流速等参数的电器装置。它在生产生活中用途非常广泛。空调

z***u 5年前 上传2592   0

基于ARM的嵌入式温度控制系统设计

 毕业设计说明书(论文)作 者: 学 号: 系 部: 通信工程学院 专 业: 通信工程(计算机通信) 题 目:基于ARM的嵌入式温度控制系统的设计 指导者: 副教授 评阅者:

文***品 2年前 上传374   0

论文:基于单片机的温度控制系统

本设计以AT89C51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路、PC机与单片机串口通讯电路和一些接口电路 。

文***品 5年前 上传1855   0

基于单片机的高精度温度检测与控制系统

温度的检测与控制的系统渐渐在我们的日常生活中愈发重要,在我们的日常生活的领域还有各个国家和地方的都大量涉及单片机对温度的检测与其控制,比如温度计,酒店的紧急火灾报警温度感应器等等。

爱***享 3年前 上传866   0

论文:基于单片机的温度控制系统

本设计以AT89C51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。

z***u 5年前 上传2444   0

基于AT89C52智能吸尘器控制系统设计毕业论文

摘要 本设计的智能吸尘器控制系统与智能小车的控制系统相似。是以AT89C52单片机为控制核心,加以步进电机、光电传感器、超声波传感器、压敏传感器和电源电路以及其他电路构成。

z***u 4年前 上传1279   0

全自动电热水壶的设计(包含原理图和程序)

单片机控制电热水壶温度的设计中文摘要随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。本设计论述了一种以STC89C52单片机为主控制单元,以DS18B20为温度传感器的温度控制系统。该控制系统可以实时存储相关的温度数据并记录当前的时间。系统设计了相关的硬件电路和相关应用程序。硬件电路主要包括STC8

文***享 3年前 上传608   0

温度报警器外文翻译

 毕业设计(论文)外文翻译 题 目: 基于51单片机温度报警器的设计 英文题目: 51 MCU-based design of a temperature alarm 系 别: ______ 信息工程系_ 专 业: ______ 电子信息工程_______ 班 级: ______ ___________ 学

文***品 5年前 上传903   0

基于89C51的交通灯控制系统设计

自从1858年英国人发明了原始的机械扳手交通灯之后,随后的一百多年里,交通灯改变了交通路况,也在人们日常生活中占据了重要地位,随着人们社会活动日益增加,经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通灯更加显示出了它的功能,使得交通得到有效管制,对于交通疏导,提高道路导通能力,减少交通事故有显著的效果。

文***享 5年前 上传1340   0

基于plc的智能交通灯控制系统设计毕业论文

PLC可编程序控制器是以微处理器为基础,综合了计算机技术、自动控制技术和通讯技术发展而来的一种新型工业控制装置。它具有结构简单、编程方便、可靠性高等优点,已广泛用于工业过程和位置的自动控制中。

知***享 4年前 上传3119   0

基于Socket通信的远程控制系统设计-毕业论文

浙江工业大学之江学院毕业设计(论文)                                                       1 绪 论 1.1 远程控制系统概述 远程控制是在网络上由一台主控端计算机远距离地控制另一台被控端计算机的技术。远程控制系统一般分客户端程序(Client)和服务器端程序(Server)两部分,通常将客户端程序安装到主控端的计算机上,将服务器端

小***1 8年前 上传6935   0

基于PLC灌装机控制系统毕业论文

PLC控制是目前工业上最常用的自动化控制方法,由于其控制方便,能够承受恶劣的环境,因此,在工业上优于单片机的控制。PLC将传统的继电器控制技术、计算机技术和通信技术融为一体,专门为工业控制而设计,具有功能强、通用灵活、可靠性高、环境适应性强、编程简单、使用方便以及体积小、重量轻、功耗低等一系列优点,因此在工业上的应用越来越广泛。

z***u 5年前 上传2254   0

基于单片机的自动窗帘控制系统毕业论文

 题目 自动窗帘控制系统 年 月 日 摘 要 自动控制属于电子及信息科学的一个重要分支,并且在现代家居中有着较好的目前发展前景。目前,家庭居住环境的采光及避光问题主要采用的是手动开闭窗帘,手动开闭不仅费力而且很多方面不够人性化,可能对用户造成一定的困扰,窗帘控制系统可以解决这些问题。本文综述了自动窗帘控制系统的设计与制作过程,介绍了设计制

文***享 5年前 上传2368   0

基于单片机的自动门控制系统设计毕业论文

 职业技术学院 毕业设计(论文) 作 者: 学 号: 系 部: 电气工程系 班 级: 题 目: 基于单片机的自动门控制系统设计 指导者: 评阅者:

z***u 5年前 上传1762   0

基于LabVIEW的温度分析仪

XX大学 毕 业 设 计(论 文) 题 目:基于LabVIEW的温度分析仪 院 (系): 自动化学院 专 业: 自动化 班 级: 学生姓名:

文***品 2年前 上传449   0

2021基于555芯片的简易报警电路

基于555芯片的简易报警电路电子工艺设计论文简易报警器学院:电子与信息工程学院专业:电子科学技术、姓名:学号:一、课题任务和要求课题任务是利用两个555芯片构成一个定时报警器,主要原理是555芯片结合电容具有延时功能,前一级简单的利用555芯片的单稳态特性为后一级电路提供高电平,后一级电路用555芯片构成施密特触发器,再构成多谐振荡器。参考电路如下所示二、实现方案的分析1

和***6 3年前 上传715   0

基于单片机的智能窗帘控制系统设计毕业论文

基于单片机的智能窗帘控制系统设计 摘 要 在现代的社会中,人们对生活环境很重视,智能家居对人们的生活产生了极其重要的影响。本文将研究一种基于单片机的智能窗帘控制系统。在此设计系统中,以STC89C52单片机作为电路的主控部分,语音识别芯片和光敏电阻作为信号输入部分,加以按键控制和液晶显示,从而实现电动窗帘的智能控制。硬件电路是由语音识别模块、按键模块、系统总控制模块、光控模块、步进电机驱动模块和

z***u 5年前 上传4415   0

基于FPGA的温度检测系统设计

XX学院信息工程学院数字系统与Verilog设计报告题 目: 基于FPGA的温度检测系统设计 姓 名: 学 号: 指导老师: 2014摘 要 本文利用数字温度传感器DS18B20的数据接口和特点,阐述了一种基于现场可编程门阵列( FPG

文***享 3年前 上传615   0

基于MSP430的温度采集系统开题报告

毕 业 论 文 开 题 报 告1.结合毕业设计(论文)课题情况,根据所查阅的文献资料,撰写2000字左右的文献综述:文 献 综 述一、题目背景和研究意义 温度是工业生产中最常见和最基本的参数之一,在生产过程中常需对温度进行实时监控。通常采用单片机完成对温度信息的存储、实时控制、检测以及数字显示。这对于提高企业生产效率、提升产品质量、节约能源等都有重要的作用。为此,本文设计了一种温度采集系

文***品 3年前 上传691   0

基于PLC的温室控制系统的设计

基于PLC的温室控制系统的设计摘 要随着人们生活水平的提高,由温室大棚种植的反季节蔬菜成为人们越来越离不开的食物,所以温室大棚技术越来越重要,而温度控制是最为重要的一环。考虑到PLC具有灵活性、操作简单等优点,所以设计出了基于PLC的温度控制系统。该论文介绍了温室控制系统的构成,包括信息采集部分、智能控制部分以及最后的执行部分。由于温度的变化因素很多,包括光照、湿度、通风等因素,所以

文***品 3年前 上传846   0