版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计说明书一 概述信息科学和微电子技术的飞速发展给控制领域带来了巨大的飞跃,控制技术更加趋向自动化和智能化,为无数的使用者带来了方便。在控制领域里,温度是一个常见的名词,然而它所带来的技术问题和所起的作用却是非同一般的。在控制领域中,对温度的控制有着举足轻重的作用。例如陶瓷的烧烤,只有控制住温度的适度,才能制作出一件完美的艺术品,否则只是一件废品;还有如酿酒的过程,也需要对温度进行控制。可见,在生活的许多方方面面都有着对温度进行感知和控制的需要。温度是一个十分重要的物理量,对它的测量与控制有十分重要的意义。随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。在
2、人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。温度对于工业如此重要,由此推进了温度传感器的发展。 测量温度的基本方法是使用温度计直接读取温度。最常见到的测量温度的工具是各种各样的温度计,例如,水银玻璃温度计,酒精温度计,热电偶或热电阻温度计等。它们常常以刻度的形式表示温度的高低,人们必须通过读取刻度值的多少来测量温度。而在传统的模拟信号温度测量系统中,测温电路的电磁环境非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响
3、测量精度,不能满足数字化时代的需求。利用单片机和温度传感器构成的电子式智能温度计精度高、抗干扰能力强,可扩展性强、集成方便得到了广泛的应用。而且可以直接测量温度,得到温度的数字值,既简单方便,又直观准确,新型数字温度传感器是温度计设计的最有效方案。在生活和生产中,经常要用到一些测温设备。但是传统的测温设备具有制作成本高、硬件电路和软件设计复杂等缺点。基于at89c51单片机的数字温度计具有制作简单、成本低、读数方便、测温范围广和测温准确等优点,应用前景广阔。大多单片机接口输入的信号是数字信号,或有带ad转换的高端单片机也可以输入模拟信号。由单片机获取非电信号的温度信息,必须通过温度传感器。传统
4、的温度测量虽多以热敏电阻作为温度传感器。但是,热敏电阻的可靠性较差、测量温度精度较低,而且还需经ad转换成数字信号后才能由单片机进行处理。因此,使用数字温度传感器ds18b20了简化硬件设计、方便单片机读取数据、节约成本。 本文主要包括两个方面的设计:一方面是硬件电路的设计,另一方面是系统程序的设计。其中,硬件电路各部分组成如下:中央控制器采用单片机at89c51,温度检测部分采用ds18b20温度传感器,用四位七段数码管作为显示器。其次,系统软件程序包括主程序,温度值读取、转换程序,显示数据程序等。该温度计整体功能的实现是通过温度传感器ds18b20采集温度信号送该给单片机处理,单片机再把温
5、度数据送液晶显示器1602显示。二 系统设计2.1功能简介数码管直接显示ds18b20所测量的温度,超出-50110范围时喇叭报警并且数码管开始闪烁,在温度范围内时喇叭停止报警并且数码管停止闪烁,运行期间可以随时进行复位操作。2.2设计思路at89c51作为温度测试系统设计的核心器件,具有低电压供电和体积小等特点。该器件是intel公司生产的mcs-5l系列单片机中的基础产品,采用了可靠的cmos工艺制造技术,具有高性能的8位单片机,属于标准的mcs-51的cmos产品。芯片中集成了cpu、ram、rom、定时/计数器和多功能i/o接口等计算机所需的基本功能部件。程序存储在单片机的程序存储器中
6、,运行过程由程序控制。时钟信号用来控制单片机内各种微操作的时间基准,通常有两种形式得到,即内部震荡方式和外部震荡方式。内部震荡方式所得的信号比较稳定,故设计数字温度计的时钟信号选用内部震荡方式,晶振选用12mhz。复位电路使片内单片机的片内寄存器初始化,使单片机从一种确定的状态开始运行。复位电路有两种基本形式,即上电复位和开关复位。为了保证温度计的正常工作,采用上电且开关复位,也就是cr复位。温度传感器选用达拉斯公司的单线数字温度传感芯片ds18b20。它将地址线、数据线和控制线合为一根双向串行传输数据的信号线,允许在这根信号线上挂接多个ds18b20。每个芯片内有一个64位的rom,其中存有
7、各个器件自身的序列号,作为器件独有的id号码。其测温范围是-55128,测温分辨率在12位时精度为0.0625。ds18b20简化了温度器件与计算机的接口电路,使得电路简单,使用更加方便。显示部分使用4位led数码管来作为温度的直接输出,使用1位喇叭作为报警灯,当温度超出-50110时,喇叭报警和数码管闪烁来提示。采用单片机汇编程序语言设计温度计的程序,对ds18b20进行初始化、读、写,读取温度,数据的转换,温度显示和报警处理等等。2.3 芯片器材主机:单片机at89c51一片;温度传感器:ds18b20一片,显示电路:共阴极七段数码管四片,;报警电路:,反向驱动74ls04一片;时钟电路:
8、电容两个,晶振片一个;复位电路:电容一个,开关按钮一个;导线若干,+5v电源等等。三 主要元器件介绍3.1主控芯片at89c52图1 at89c51引脚图at89c51是一个低功耗,高性能cmos 8位单片机,片内含4kbyteisp(in-system programmable)的可反复擦写1000次的flash只读程序存储器,器件采用atmel公司的高密度、非易失性存储技术制造,兼容标准mcs-51指令系统及80c51引脚结构,芯片内集成了通用8位中央处理器和isp flash存储单元,功能强大的微型计算机的at89s51可为许多嵌入式控制应用系统提供高性价比的解决方案。at89c51具有
9、如下特点:40个引脚,4k bytes flash片内程序存储器,128 bytes的随机存取数据存储器(ram),32个外部双向输入/输出(i/o)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(wdt)电路,片内时钟振荡器。此外,at89s51设计和配置了振荡频率可为0hz并可通过软件设置省电模式。空闲模式下,cpu暂停工作,而ram定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存ram的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有pdip、tqfp和plcc等三种封装形式,以适应不同产品的需求。其主要功能
10、特性: 兼容mcs-51指令系统 4k可反复擦写(1000次)isp flash rom 32个双向i/o口 4.5-5.5v工作电压 2个16位可编程定时/计数器 时钟频率0-33mhz 全双工uart串行中断口线 128x8 bit内部ram 2个外部中断源 低功耗空闲和省电模式 中断唤醒省电模式 3级加密位 看门狗(wdt)电路 软件设置空闲和省电功能 灵活的isp字节和分页编程 双数据寄存器指针 可以看出at89c51提供以下标准功能:4k字节flash闪速存储器,128字节内部ram,32个i/o口线,看门狗(wdt),两个数据指针,两个16位定时器/计数器,一个5向量两级中断结构,
11、一个全双工串行通信口,片内振荡器及时钟。同时, at89s51可降至0hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止cpu的工作,但允许ram,定时/计数期,串行通信口及中断系统继续工作。掉电方式何在ram中的内容,但振荡器停止工作并禁止其它所有部件工作直接到一个硬件复位。下面是本次设计所用到的两组i/o口:p0口(3932):是一组8位漏极开路行双向i/o口,也既地址/数据总线复用口。可作为输出口使用时,每位可吸收电流的方式驱动8个ttl逻辑电路,对端口写“1”可作为高阻抗输入输入端用。在访问外部数据存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内
12、部上拉电阻。在flash编程时,po口接收指令字节,而在程序校验时,输出指令字节,校验时,要求接上拉电阻。p3口(1017):是一组带有内部上拉电阻的8位双向i/o口,p1的输入缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。对p3口写入“1”时,它们被内部上拉电阻拉高并可作为输出端口。xtal1(19)和xtal2(18):使用内部振荡电路时,用来接石英晶体和电容;使用外部时钟时,用来输入时钟脉冲。3.2温度获取ds18b20测温范围在-55+125;转换精度912位进制数,可编程确定转换的位数;测温分辨率为9位精度为0.5,12位精度为0.0625;转换时间:9位精度为93.75ms、
13、10位精度为187.5 ms、12位精度为750 ms;内部有温度上、下限告警设置。ds18b20内部结构2如图3所示:存储和控制逻辑高速暂存器温度传感器高温触发器th低温触发器tl配置寄存器8位crc生成器64位rom和一线端口供电方式图2 ds18b20内部结构ds18b20功能命令2如表1所示:表1 ds18b20功能命令表命令功能描述代码convert启动温度转换44hread scratchpad读取温度寄存器behread rom读ds18b20的序列号33hwrite scratpad将数据写入暂存器的第2、3字节中4ehmatch rom匹配rom55hsearch rom搜索
14、romf0halarm search报警搜索echskip rom跳过读序列号的操作cchread power supply读电源供给方式,0寄生,1外部电源b4h其连线使用如图3所示(2接p3.7):图4 ds18b20连线图 由于ds18b20单线通信功能是分时完成的,所以有严格的时隙概念,读写时序很重要。系统对ds18b20的各种操作必须按协议进行。操作协议为:初始化ds18b20(发复位脉冲)发rom功能命令发存储器操作命令处理数据。3.3温度显示电路四位共阴极数码管,能够显示带一位小数的正负温度。零下时:1显示负号,2显示十位,3显示个位,4显示小数位。零上时:1显示百位,2显示十位
15、,3显示个位,4显示小数位。当温度超过109.5或低于49.5时,四个数码闪烁。图8 总体电路 四 软件设计4.1程序流程图n跳过读序列号的操作yny读温度命令将温度高、低位读出处理数据到百、十、个、小数位,并在数码管上显示超出限制?报警器报警和数码管闪烁初始化ds18b20开始初始化ds18b20应答脉冲?跳过读序列号的操作发出温度转换的命令等待温度转换完成图9 程序流程图主程序如下:xiao_bit equ 30h ;存个位数据单元ge_bit equ 31h ;存个位数据单元shi_bit equ 32h ;存十位数据单元bai_bit equ 33h ;存百位数据单元di_8bit e
16、qu 34h ;低8位gao_8bit equ 35h ;高8位dq equ p3.7 ;数据通信线org 0000hljmp startorg 0030hstart: mov sp,#60hlcall zhuanhuan ;调用读温度子程序lcall chulilcall display ;调用数码管显示子程序ljmp start4.2初始化子程序使用ds18b20时,单片机先向ds18b20送出复位信号,单片机将数据拉低并保持480960s;再释放数据线,由上拉电阻拉高1560s;然后再由ds18b20发出低电平60240s,就完成了复位操作。ds18b20复位初始化子程序init_182
17、0: setb dqnopclr dqmov r1,#3du_1: mov r0,#107djnz r0,$djnz r1,du_1setb dq ;拉高数据线nopnopnopmov r0,#25hdu_2: jnb dq,du_3 ;等待ds18b20回应djnz r0,du_2ljmp du_4 ;延时du_3: setb f0 ;置标志位,表示ds1820存在ljmp du_5du_4: clr f0 ;清标志位,表示ds1820不存在ljmp du_7du_5: mov r0,#117du_6: djnz r0,du_6 ;时序要求延时一段时间du_7: setb dqret4.3读
18、子程序读数据之前,单片机先将数据线拉低,再释放。ds18b20在数据线从高电平跳低后15s内将数据送到数据线上。单片机在15s后读数据线。read_1820: mov r4,#2 ;将温度高位和低位从ds18b20中读出mov r1,#di_8bit ;低位存入di_8bit,高位存入gao_8bitre0: mov r2,#8 ;数据一共有8位re1: clr csetb dqnopnopclr dqnopnopnopsetb dqmov r3,#9re2: djnz r3,re2mov c,dqmov r3,#23re3: djnz r3,re3rrc adjnz r2,re1mov r1
19、,ainc r1djnz r4,re0ret;读出后转换的温度值zhuanhuan: lcall init_1820 ;先复位ds18b20jb f0,zh1ljmp start ;判断ds1820是否存在?若ds18b20不存在则返回zh1: mov a,#0cch ;跳过rom匹配lcall write_1820mov a,#44h ;发出温度转换命令lcall write_1820lcall display ;等待ad转换结束lcall init_1820 ;准备读温度前先复位mov a,#0cch ;跳过rom匹配lcall write_1820mov a,#0beh ;发出读温度命令
20、lcall write_1820lcall read_1820ret4.4 写子程序在单片机对ds18b20写数据时,应先将数据线拉低1s以上,再写入数据(写1为高,写0为低)。待单片机写入的数据变化1560s后,ds18b20将对数据线采样。单片机写入数据到ds18b20的保持时间为60120s。写ds18b20的子程序write_1820: mov r2,#8 ;一共8位数据clr cwr1: clr dqmov r3,#6djnz r3,$rrc amov dq,cmov r3,#23djnz r3,$setb dqnopdjnz r2,wr1setb dqret4.5数据处理子程序先判
21、断温度高8位的cy,如果cy为1,则将高、低8八位求补;对高、低8位的数据按权整合称一个整数,判断是否在-50110之间,否则停留在-50或110;将该数按百、十、个位分别存入相应的存储单元。流程图如图10所示: yyn符号为正?求补码n高、低8位整合成为一个整数存入a中-50110之间?停止分别存入百、十、个、小数位取温度值图10 数据处理流程图数据处理子程序chuli: clr 37hmov a,gao_8bitjb acc.7,fumov a,di_8bitmov b,#16div abmov 36h,a ;将di_8bit的高四位右移四位,存入36h中mov a,b ;将temper_
22、l的低四位x10/16得小数后一位数mov b,#10mul abmov b,#16div abmov 30h,a ;将小数后一位数.存入30h中mov a,gao_8bit ;temper_h中存放高8位数,权重16mov b,#16mul abadd a,36h ; a中存入温度值的整数部分cjne a,#110,$ljmp zhengzhengzc: clr p3.6clr 38hfu: setb 37hmov a,di_8bitcpl aadd a,#1mov f0,cmov b,#16div abmov 36h,a ;将di_8bit的高四位右移四位,存入36h中mov a,b ;将
23、temper_l的低四位x10/16得小数后一位数.mov b,#10mul abmov b,#16div abmov 30h,a ;将小数后一位数.存入30h中mov a,gao_8bit ;temper_h中存放高8位数,权重16cpl amov c,f0addc a,#00hmov b,#16mul abadd a,36h ;a中存入温度值的整数部分cjne a,#50,$ljmp fu4.6显示子程序将百、十、个、小数位的数据查表,送到对应的数码管显示,程序流程图如11所示:ynyyn温度为负?显示百位,延时显示负号,延时显示十位,延时显示个位,延时显示1000遍?取温度返回显示小数位
24、,延时延时n超过范围?图11 显示程序流程图显示子程序display: mov dptr,#tablemov r0,#4xun: mov r1,#250 ;显示1000次huan: jnb 37h,zhengmov a,#10 ;显示-movc a,a+dptrmov p1,aclr p3.0lcall delay1setb p3.0sjmp go_onzheng: mov a,bai_bit ;示温度百位movc a,a+dptrmov p1,aclr p3.0lcall delay1setb p3.0go_on: mov a,shi_bit ;显示温度十位movc a,a+dptrmov
25、p1,aclr p3.1lcall delay1setb p3.1mov a,ge_bit ;显示温度个位和小数点movc a,a+dptradd a,#80hmov p1,aclr p3.2lcall delay1setb p3.2mov a, xiao_bit ;显示小数movc a,a+dptrmov p1,aclr p3.3lcall delay1setb p3.3djnz r1,huan ;250次没完循环djnz r0,xun ;4个250次没完循环jb 38h, delay2retdelay1: mov r7,#9djnz r7,$retdelay2: mov r4,#10lp1: mov r5,#200lp2: mov r6,#126djnz r6,$djnz r5,lp2djnz r4,lp1rettable: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhdb 01000000b ;-end五 课程设计体会这一个礼拜的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年自动驾驶硬件太阳辐射测试与防护
- 财务月结数据核对催办函(8篇)
- 母婴健康与生育保障承诺书样本7篇
- 网络虚拟现实技术伦理承诺书5篇
- 业务流程自动化工具集成平台
- 电力设施故障排查操作手册
- 高风险操作安全控制承诺书(9篇)
- 多部门工作流程自动化标准模板
- 费用预算编制工具预算规划与控制
- 2025 八年级地理下册塔里木盆地生态环境的生态修复模式创新课件
- 船舶气象仪现场比测方法
- 2025-2030中国皮肤健康检测设备行业应用状况与盈利前景预测报告
- TSG-21-2016-固定式压力容器安全技术监察规程
- CJ/T 407-2012城市轨道交通基于通信的列车自动控制系统技术要求
- TCACM1315-2019中医内科临床诊疗指南阿尔茨海默病
- 采购基础知识与技巧(第三版)课件:采购谈判
- 农田转租合同协议书范本
- TSG Z7002-2022特种设备检测机构核准规则
- 建筑工程行业发展趋势
- 2025年全国中学生数学奥林匹克竞赛(预赛)模拟卷(全国高中数学联赛一试)(含解析)
- 2024-2025学年人教版四年级体育下册全册教案
评论
0/150
提交评论