欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载  

    基于单片机的温度报警器解读.docx

    • 资源ID:11732033       资源大小:453.44KB        全文页数:28页
    • 资源格式: DOCX        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机的温度报警器解读.docx

    基于STC89C51的温度报警器设计一.设计背景温度是一个十分重要的物理量,对它的测量与控制有十分重要的意义。随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。温度控制电路在工农业生产中有着广泛的应用。日常生活中也可以见到, 如电冰箱的自动制冷, 空调器的自动控制等等。在工业生产中,温度、压力、流量和液位是四种最常见的过程变量。其中, 温度是一个非常重要的过程变量。例如:在冶金工业、化工工业、电力工业、机械加工和食品加工等许多领域,都需要对各种加热炉、 热处理炉、反应炉和锅炉的温度进行监控。 然而, 用常规的监控方法,潜力是有限的,难以满足较高的性能要求。采用单片机来对它们进行监 控不仅具有监控方便、简单和灵活性大的优点,而且可以大幅度提高被测温度的技术指标, 从而能够大大提高产品的质量和数量。因此,单片机对温度的监控问题是一个工业生产中经常会遇到的监控问题。 现代社会是信息化的社会,随着安全化程度的日益提高,而通过温度报警器及时报警,避免不必要的损失。二.设计功能介绍此次要设计的是一个温度报警器,DS18B2廓集温度数据送到单片机,单片 机根据收到的数据判断是否超过报警界限,如果超过做出报警响应,报警界限可调。12864显示单片机收到的数据。三.主要器件简介MCS-51简介8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM卜定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器, 能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。.数据存储器(RAM)8051内部有128个8位用户数据存储单元和 128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据, 用户只能访问,而不能用于存放用户数 据,所以,用户能使用的RAMR有128个,可存放读写的数据, 运算的中间结果或用户定义 的字型表。S051内部结构腥麻存储黑I瞰据荐储器I I定时i十数据数总地总控总5 im旧8051时钟仆 ""nn-* Jr.*:并行获I口II串行由信口I中断区箫程序存储器(ROM):8051共有4096个8位掩膜ROM用于存放用户程序,原始数据或表格。 定时/计数器(ROM):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转 向。 并行输入输出(I/O) 口:8051共有4组8位I/O 口(P0、P1、P2或P3),用于对外部数据的传输。 全双工串行口:8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。 中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。 时钟电路:8051内置最高频率达12MH那时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton) 结构。INTEL的MCS-51系列单片机采用的是哈佛结构的形式, 而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。卜图是MCS-51系列单片机的内部结构示意图。ALEJEA*4 RST*bP0. 0-F0. 7F2. 0P2. 7I通道。驱动器I通道-驱动器RAN地址哥存器RAMni通道口驱动器通道2驱动器ACEFROMROM工匚程序地址寄存第口|每冲器上B寄存器THP2定时和指令 控制逻辑寄存踹书OS匚TMP1堆栈指针中断、串行口定时器建辑DPTE程序 讨数器通道1地存器通道i胆动器I通道3锁存器"1""KTAL1 HQH KTAL2- ?1.0F1. 7P3 0P3 7毗-51结构框图DS18B20W介1. DS18B2ctt本DS18B20字温度计是 DALLA然司生产的1 Wire ,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多 这样的数字温度计,十分方便。2、DS18B20r品的特点(1) .只要求一个端口即可实现通信。(2) .在DS18B20中的每个器件上都有独一无二的序列号。(3) .实际应用中不需要外部任何元器件即可实现测温。(4) .测量温度范围在55。C到+ 125。C之间。(5) .数字温度计的分辨率用户可以从9位到12位选择。(6) .内部有温度上、下限告警设置。3、DS18B2闻脚图及引脚功能介绍TJ 92封装的DS18B20的引脚排列见图1,其引脚功能描述见表1。(底视图)图表1DS18B20详细弓|脚功能描述序号名称引脚功能描述1 GND 地信号2 DQ 数据/&入/输出引脚。开漏单总线接口弓I脚。当被用着在寄生电源 下,也可以向器件提供电源。3 VDD 可选择的VDD5I脚。当工作于寄生电源时,此引脚必须接地。4 . DS18B20B勺使用方法由于DS18B20采用白是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。 DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。 数据和命令的传输都是低位 在先。DS18B20B勺复位时序主机发出复位脉冲f <最小值,15sVTDGND限最大值:960ue 处呼主机接收近彘最辣时间V-D518B20 爰出/ 一应答脉冷的复位时序向DS18B20B勺读时序对于DS18B20的读时序分为读 0时序和读1时序两个过程。对于DS18B20的读时隙是从主机把单总线拉低之后,在 15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。口$18820完成一个读时序过程,至少需要60us才能完成。DS18B20W写时序对于DS18B20的写时序仍然分为写 0时序和写1时序两个过程。对于DS18B2啊0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少 60us, 保证DS18B20能够在15us到45us之间能够正确地采样 IO总线上的“0”电平,当要写 1 时序时,单总线被拉低之后,在 15us之内就得释放单总线。主口耳h憎-皿主刑号”他12864简介12864A-1汉字图形点阵液晶显示模块,可显示汉字及图形,内置 8192个中文汉字(16X16 点阵)、128个字符(8X16点阵)及64X256点阵显示 RAM (GDRAM )。主要技术参数和显示特性:电源:VDD 3.3V+5M内置升压电路,无需负压 );显示内容:128列X 64行显示颜色:黄绿显示角度:6: 00钟直视LCD 类型:STN与MCU接口: 8位或4位并行/3位串行配置LED背光多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等外形尺寸11.三10507 a 一a9373T64,974101僧僧何阚网付科僧河网河网阚曲河由河网网15,4PS.5 4X19=4864斑N4A5BEELU1E 口JHI口口口口,509S3 3,<H4WO1IIRM12864A主要外形尺寸项目标准尺寸单位模块体积113.0 X65.0 X12.8mm止位尺寸105.0 X55.0mm视域73.4 X 38.8mm行列点阵数128X64dots占 八、距 离0.52 X 0.52mm占 八、大 小0.48 X 0.48mm模块引脚说明128X64引脚说明弓1脚号引脚名称方向功能说明1VSS-模块的电源地2VDD-模块的电源正端3V0-LCD驱动电压输入端4RS(CS)H/L并行的指令/数据选择信号;串行的片选信号5R/W(SID)H/L并行的读写选择信号;串行的数据口6E(CLK)H/L并行的使能信号;串行的同步时钟7DB0H/L数据08DB1H/L数据19DB2H/L数据210DB3H/L数据311DB4H/L数据412DB5H/L数据513DB6H/L数据614DB7H/L数据715PSBH/L并/串行接口选择:H-并行;L-串行16NC空脚17/RETH/L复位低电平后效18NC空脚19LED_A-背光源正极(LED+5V )20LED_K-背光源负极(LED-OV )逻辑工作电压(VDD) : 4.55.5V电源地(GND) : 0V工作温度(Ta): 060c(常温)/ -2075c (宽温)接口时序模块有并行和串行两种连接方法(时序如下):8位并行连接时序图MPU写资料到模块R3R/WEDB0-DB7MPU从模块读出资料TC串行数据连接时序图1 2 3 4 5 6 7 6 3 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24wjuuwmmmmww-具体指令介绍:1、清除显示CODE :RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLLLLH功能:清除显示屏幕,把 DDRAM位址计数器调整为 00H”2、位址归位CODE :RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLLLHX功能:把DDRAM位址计数器调整为 00H”,游标回原点,该功能不影响显示DDRAM3、位址归位CODE :RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLLHI/DS功能:把DDRAM 位址计数器调整为 00H”,游标回原点,该功能不影响显示DDRAM 功能:执行该命令后,所设置的行将显示在屏幕的第一行。显示起始行是由Z地址计数器控制的,该命令自动将 A0-A5位地址送入Z地址计数器,起始地址可以是0-63范围内任意一行。Z地址计数器具有循环计数功能,用于显示行扫描同步,当扫描完一行后自动加一。4、显示状态开/关CODE :RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLHDCB功能:D=1 ;整体显示 ON C=1;游标ON B=1 ;游标位置 ON5、游标或显示移位控制CODE :RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLHS/CR/LXX功能:设定游标的移动与显示的移位控制位:这个指令并不改变DDRAM的内容6、功能设定CODE :RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLHDLX0 REXX功能:DL=1 (必须设为1) RE=1;扩充指令集动作RE=0:基本指令集动作7、设定 CGRAM 位址CODE :RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLHAC5AC4AC3AC2AC1AC0功能:设定CGRAM位址到位址计数器(AC)8、设定 DDRAM 位址CODE :RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLHAC6AC5AC4AC3AC2AC1AC0功能:设定DDRAM位址到位址计数器(AC)9、读取忙碌状态(BF)和位址CODE :RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LHBFAC6AC5AC4AC3AC2AC1AC0功能:读取忙碌状态(BF)可以确认内部动作是否完成,同时可以读出位址计数器( AC) 的值10、写资料到RAMCODE :RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0HLD7D6D5D4D3D2D1D0功能:写入资料至U内部的RAM (DDRAM/CGRAM/TRAM/GDRAM ) 11、读出RAM的值CODE :RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0HHD7D6D5D4D3D2D1D0功能:从内部 RAM 读取资料(DDRAM/CGRAM/TRAM/GDRAM )12、待命模式(12H)CODE :RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLLLLH功能:进入待命模式,执行其他命令都可终止待命模式13、卷动位址或IRAM位址选择(13H)CODE :RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLLLHSR功能:SR=1;允许输入卷动位址SR=0;允许输入IRAM位址LLLLHHX1 REGLCODE :16、扩充功能设定(016H)CODE :RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0功能:RE=1;扩充指令集动作图显示OFF14、反白选择(14H)LLLLLLLHR1R0RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0功能:选择4行中的任一行作反白显示,并可决定反白的与否15、睡眠模式(015H)CODE :RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLLLLHSLXX功能:SL=1;脱离睡眠模式 SL=0;进入睡眠模式RE=0;基本指令集动作G=1 ;绘图显示ON G=0;绘17、设定IRAM位址或卷动位址(017H)CODE :RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0LLLHAC5AC4AC3AC2AC1AC0功能:SR=1; AC5AC0为垂直卷动位址SR=0; AC3AC0写ICONRAM 位址18、设定绘图 RAM 位址(018H)DB6 DB5 DB4 DB3 DB2 DB1 DB0CODE :RW RS DB7LLHAC6AC5AC4AC3AC2AC1AC0功能:设定GDRAM位址到位址计数器(AC)四.各部分电路简介1.最小系统介绍最小系统由单片机,时钟电路和复位电路组成:如下图所示-Iui_TZZ- yj鱼而上O ACRYSTALXT的匕PDODO P 口的 DI P02D2 P03D3 PO.IDi P015WD5POJ5D6RGTPOTDTPSENI ALE EA限批P2JXRSP22AMDP2.4M12P2513P2J6JSM4P2.7Jft15TPIC F1.1 P1J /13PLi P15 P15 flUP-3IPT!XD PNVTXD P3J1MTO PJJflNTTP3.VTUP3J5TT1畤日而PZH而时钟电路复位电路时钟电路为单片机工作提供时序,电路复位时单片机程序指针指向初始位置2.数据采集电路3.显示电路ooooRP1RE&PACI4S 工丁日田矮 品 inw至A 口Hc 4.报警电路ATOC51LEDR2 1KD3LED丁日g5.总原理图OOOdlilzP3&ft:xD 2mnPZCA3F 3加 1口 P2.1AI1K1DMDD POID" HL3AD2 PEL 阴口口 HUADI 帕 SCM5POTDT蝮.加呼 F2ARII FZT居 16仲叽 丝坦Li FJJM业1 PSTfflDLZ j五.程序清单#include <reg51.h>#include <intrins.h> #include <stdlib.h>#include <math.h>/要用至U取绝又值函数 abs() #define uchar unsigned char#define uint unsigned int/*端口定义*/数据口寄存器选择输入液晶读/写控制液晶使能控制串/并方式控制#define LCD_data P0sbit LCD_RS = P3A5;sbit LCD_RW = P3A6;sbit LCD_EN = P3A4;sbit LCD_PSB =P3A7;sbit key1=P2A4;sbit key2=P2A5;sbit key3=P2A6;sbit key4=P2A7;sbit LED0=P1A0;sbit LED1=P1A1;sbit LED2=P1A2;sbit ds=P2A2;sbit beep=P2A3;int tempValuel;unsigned int temp;uchar code th0=(65535-3000)/256;uchar code tl0=(65535-3000)%256;uchar disbuf7;uchar disl尸"温度报警器的设计"uchar dis2 = "温度上限:C"uchar dis4口 = "温度:.C"uchar dis3 = "温度下限:C"uchar wenmax=20,wenmin=10;void delay_1ms(uint x)uint i,j;for(j=0;j<x;j+)for(i=0;i<110;i+);void write_cmd(uchar cmd)LCD_RS = 0;LCD_RW = 0;LCD_EN = 0;P0 = cmd;delay_1ms(20);LCD_EN = 1;delay_1ms(20);LCD_EN = 0;/*/*/*/*/*/*写显示数据到LCD/*RS=H , RW=L , E=高脉冲,D0-D7=数据。,*void write_dat(uchar dat) LCD_RS = 1;LCD_RW = 0;LCD_EN = 0;P0 = dat;delay_1ms(20);LCD_EN = 1;delay_1ms(20);LCD_EN = 0; /*/*/*设定显示位置*/*/ /*/ void lcd_pos(uchar X,uchar Y)uchar pos;if (X=0)X=0x80;else if (X=1)X=0x90;else if (X=2)X=0x88;else if (X=3)X=0x98;pos = X+Y ;write_cmd(pos);显示地址/*/*/* LCD初始化设定*/*/*/void lcd_init()LCD_PSB = 1;write_cmd(0x30);delay_1ms(20);write_cmd(0x0C);delay_1ms(20);write_cmd(0x01);delay_1ms(20);并口方式基本指令操作显示开,关光标/清除LCD的显示内容/*/*/*/*主程序/*/*/ void ceshi()write_cmd(0x01);/清除显示,并且设定地址指针为00Hdelay_1ms(20);/DS18B20/延时函数,对于11.0592MHz时钟,例i=10,则大概延时10ms. void delay(unsigned int i) unsigned int j;while(i-)for(j = 0; j < 125; j+);void dsInit()/对于11.0592MHz时钟,unsigned int型的i,作一个i+操作的时间大于 ?usunsigned int i;ds = 0;i = 100;拉低约800us,符合协议要求的 480us以上while(i>0) i-;ds = 1;/产生一个上升沿,进入等待应答状态i = 4;while(i>0) i-;void dsWait()unsigned int i;while(ds);while(ds);/检测到应答脉冲i = 4;while(i > 0) i-;向DS18B20读取一位数据/读一位,让DS18B20 一小周期低电平,然后两小周期高电平,/之后DS18B20则会输出持续一段时间的一位数据bit readBit()unsigned int i;bit b;ds = 0;i+;延时约8us,符合协议要求至少保持1usds = 1;i+; i+; 延时约16us,符合协议要求的至少延时15us以上b = ds;i = 8;while(i>0) i-; 延时约64us,符合读时隙不低于 60us要求 return b;/读取一字节数据,通过调用readBit()来实现unsigned char readByte()unsigned int i;unsigned char j, dat;dat = 0;for(i=0; i<8; i+)j = readBit();最先读出的是最低位数据dat = (j << 7) | (dat >> 1);return dat;向DS18B20写入一字节数据void writeByte(unsigned char dat)unsigned int i;unsigned char j;bit b;for(j = 0; j < 8; j+)b = dat & 0x01;dat >>= 1;写"1",将DQ拉低15us后,在15us60us内将DQ拉高,即完成写1 if(b)ds = 0;i+; i+; 拉低约16us,符号要求1560us内ds = 1;i = 8; while(i>0) i-;延时约64us,符合写时隙不低于60us要求else 写"0",将 DQ 拉低 60us120usds = 0;i = 8; while(i>0) i-; 拉低约 64us,符号要求 ds = 1;i+; i+; 整个写0时隙过程已经超过 60us,这里就不用像写1那样,再延时64us 了向DS18B20发送温度转换命令void sendChangeCmd()dsInit();初始化DS18B20,无论什么命令,首先都要发起初始化dsWait();等待 DS18B20 应答delay(1); /延日1ms,因为DS18B20会拉低 DQ 60240us作为应答信号 writeByte(Oxcc); /写入跳过序列号命令字 Skip RomwriteByte(0x44);/写入温度转换命令字 Convert T向DS18B20发送读取数据命令void sendReadCmd()/EA=0;关闭中断是因为进入显示中断会影响到DS18B20的读写时序dsInit();dsWait();delay(1);writeByte(0xcc); /写入跳过序列号命令字Skip RomwriteByte(0xbe); / 写入读取数据令字Read ScratchpadEA=1;/获取当前温度值int getTmpValue()unsigned int tmpvalue;int value; 存放温度数值float t;unsigned char low, high;sendReadCmd();连续读取两个字节数据low = readByte();high = readByte();将高低两个字节合成一个整形变量计算机中对于负数是利用补码来表示的若是负值,读取出来的数值是用补码表示的,可直接赋值给int型的valuetmpvalue = high;tmpvalue <<= 8;tmpvalue |= low;value = tmpvalue;使用DS18B20的默认分辨率12位,精确度为0.0625度,即读回数据的最低位代表0.0625 度t = value * 0.0625;将它放大100倍,使显示时可显示小数点后两位,并对小数点后第三进行4舍5入如t=11.0625,进行计数后,得至ij value = 1106,即11.06度如 t=-11.0625,进行计数后,得到 value = -1106,即-11.06 度value = t * 100 + (value > 0 ? 0.5 : -0.5); 大于 0 加 0.5,小于 0 减 0.5return value;void keyscan()if(!key1)delay_1ms(10);if(!key1)wenmax-;while(!key1);delay_1ms(10);if(!key2)delay_1ms(10);if(!key2)wenmax+;while(!key2);delay_1ms(10);if(!key3)delay_1ms(10);if(!key3)wenmin-;while(!key3);delay_1ms(10);if(!key4)delay_1ms(10);if(!key4)wenmin+;while(!key4);delay_1ms(10);main()uchar i;delay_1ms(20);延时lcd_init();lcd_pos(0,0);i=0;while(dis1i != 0)write_dat(dis1i);显示字符i+;初始化LCDlcd_pos(1,0);/设置显示位置为第二行的第1个字符i = 0;while(dis2i != 0)write_dat(dis2i);显示字符i+;lcd_pos(2,0);i = 0;while(dis3i != 0)write_dat(dis3i);i+;lcd_pos(3,0);i = 0;while(dis4i != 0)write_dat(dis4i);/设置显示位置为第三行的第1个字符显示字符/设置显示位置为第四行的第1个字符显示字符i+;while(1)启动温度转换sendChangeCmd();tempValuel = getTmpValue();temp = abs(tempValuel);disbuf1 = temp % 10000 / 1000;disbuf2 =temp % 1000 / 100;disbuf3 = temp % 100 / 10;disbuf4 = temp % 10;keyscan();if(disbuf1*10+disbuf2)>=wenmax)beep=1;LED1=0;LED0=1;LED2=1;delay_1ms(500);LED1=1;elseif(disbuf1*10+disbuf2)<wenmin)beep=1;LED1=1;LED0=1;LED2=0;delay_1ms(500);LED2=1;elsebeep=0;LED1=1;LED2=1;LED0=0;delay_1ms(500);LED0=1;lcd_pos(1,5);设置显示位置为第二行的第1个字符i = 0;write_dat(wenmax/10+0x30);lcd_pos(1,6);/设置显示位置为第二行的第1个字符i = 0;write_dat(wenmax%10+0x30);lcd_pos(2,5);设置显示位置为第二行的第1个字符i = 0;write_dat(wenmin/10+0x30);lcd_pos(2,6);/设置显示位置为第二行的第1个字符i = 0;write_dat(wenmin%10+0x30);lcd_pos(3,3);设置显示位置为第三行的第1个字符1 = 0;write_dat(disbuf1+0x30); 显示字符lcd_pos(3,4);write_dat(disbuf2+0x30);lcd_pos(3,5);write_dat(disbuf3+0x30);lcd_pos(3,6);write_dat(disbuf4+0x30);6 .总结本次的课程设计共一周周时间,分别进行了BS18D20电路原理图的设计,电路仿真图Protues的设计以及实物电路板的焊制三个过程。经过这次的课程设计,我们不仅加深了对和Keil软件的了解和使用,还学到了许多课本上没有涉及知识,练习了电路原理图的设计 和仿真运行,同时对上学期学习的单片机课程进行了一次全面的复习和巩固,收益很大。课程设计一般强调能力培养为主,在独立完成设计任务的同时,还要注意其他几方面能力的培养与提高,如独立工作能力

    注意事项

    本文(基于单片机的温度报警器解读.docx)为本站会员(李医生)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开