您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页基于单片机的温度控制系统单片机期末课程设计

基于单片机的温度控制系统单片机期末课程设计

来源:华佗小知识


目 录

第1节 引 言„„„„„„„„„„„„„„„„„„„„„„„„„„„„„1

1.1 温度控制概述„„„„„„„„„„„„„„„„„„„„„„„„„„1 1.2 本设计任务和主要内容„„„„„„„„„„„„„„„„„„„„„„2 第2节 系统主要硬件电路设计„„„„„„„„„„„„„„„„„„„„„„4

2.1 温控系统硬件接线原理图„„„„„„„„„„„„„„„„„„„ „4 2.2 单线数字温度传感器DS18B20„„„„„„„„„„„„„„„„„„„4

2.2.1 DS18B20的内部结构„„„„„„„„„„„„„„„„„„„„5 2.2.2 DS18B20的测温原理„„„„„„„„„„„„„„„„„„„„7 2.3 DS18B20与单片机的典型接口设计„„„„„„„„„„„„„„„„„8 第3节 系统软件设计„„„„„„„„„„„„„„„„„„„„„„„„„„9

3.1 系统主程序设计„„„„„„„„„„„„„„„„„„„„„„„„„9 3.2 DS18B20初始化程序设计„„„„„„„„„„„„„„„„„„„ „12 3.3 键盘扫描子程序设计„„„„„„„„„„„„„„„„„„„„ „„13 3.4 DS18B20读写子程序设计„„„„„„„„„„„„„„„„„ „„„15

第4节 结束语„„„„„„„„„„„„„„„„„„„„„„„„„ „„„19

参考文献„„„„„„„„„„„„„„„„„„„„„„„„„„„„21

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

第1节 引 言

虽着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业。传统的温度采集方法不仅费时费力,而且精度差,单片机的出现使得温度的采集和数据处理问题不能够得到很好的解决。温度是工业对象中的一个重要的被控参数。本系统采用MCS-51单片机设计一个温控系统,具有对环境温度进行实时测量,当外界温度高于设定最高温度时,启动风扇降温;当外界温度低于指定最低温度时,将发出报警声。

温控系统用二位LED数码管显示测量的实时温度,可以设定最高限报警温度值和最低报警温度值。温度测量采用最新的单线数字温度传感器DS18B20,DS18B20是美国DALLAS半导体公司推出的一种改进智能温度传感器。降温控制系统采用低压电风扇,温控系统的温度显示和温度的设定直接采用综合实训板上的显示和键盘。该系统体积小、重量轻、价格低、可靠性高、耗电少和灵活性强,将会有更广阔的开发前景。

1.1 温度控制系统概述

随着电子技术以及应用需求的发展,单片机技术得到了迅速的发展,在高集成度,高速度,低功耗以及高性能方面取得了很大的进展。单片机系统的开发应用给现代工业测控领域带来了一次新的技术,自动化、智能化均离不开单片机的应用。将单片机控制方法运用到温度控制系统中,可以克服温度控制系统中存在的严重滞后现象,同时在提高采样频率的基础上可以很大程度的提高控制效果和控制精度。

温度控制系统广泛应用于社会生活的各个领域 ,如家电、汽车、材料、电力电子等,常用的控制电路根据应用场合和所要求的性能指标有所不同 , 在工业企业中,如何提高温度控制对象的运行性能一直以来都是控制人员和现场技术人员努力解决的问题。这类控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致控制系统性能不佳,甚至出现控制不稳定、失控现象。传统的继电器调温电路简单实用 ,但由于继电器动作频繁 ,可能会因触点不良而影响正常工作。控制领域还大量采用传统的PID控制方式,但PID控制对象的模型难以建立,并且当扰动因素不明确时,参数调整不便仍是普遍存在的问题。而采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。由于

1

DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。更能串接多个数字温度传感器DS18B20进行范围的温度检测。

本系统设计一个温控系统,用二位LED数码管显示测量的实时温度,可以设定最高限报警温度值和最低限报警温度值。

1.2 本设计任务和主要内容

本论文主要研究基于单片机的温度控制系统,分别对单线数字温度传感器DS18B20的测量原理、特性以及在温度测量中的硬件和软件各个方面进行了研究,并运用开发系统调试温控系统应用程序的基本方法。

本系统所需设备:单片机集成开发环境、综合实训板、温控接口板。 主要内容分为硬件设计与软件设计两个方面: ⑴硬件设计

温度测量采用最新的单线数字温度传感器DS18B20,与传统的热敏电阻相比,它能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。可以分别在93.75ms和750ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而,使用DS18B20可使系统结构更趋简单,可靠性更高。

降温控制系统采用低压直流电风扇。当温度高于设定最高限温度时,启动风扇降温,当温度降到指定最高限温度以下后,风扇自动停止运转。

温控系统的温度显示和温度的设定直接采用综合实训板上的显示和键盘。当环境温度低于设定的最低温度值时,也采用综合实训板上蜂鸣器进行报警。用0#、1#键作为温度最高限、最低限的设定功能键;2#、3#键作为温度值设定的增加和减小功能。

0#键:作为最高限温度的设定功能键。按一次进入最高限温度设定状态,选择最高限温度值后,再按一次确认设定完成。

1#键:作为最低限温度的设定功能键。按一次进入最低限温度设定状态,选择最低限温度值,再按一次确认设定完成。

2#键:+1功能键,每按一次将温度值加1,范围为1~99℃。 3#键:-1功能键,每按一次将温度值减1,范围为99~1℃。 ⑵ 软件设计

温控系统采用模块化程序结构,可以分为以下程序模块:

① 系统初始化程序:首先完成变量的设定、中断入口的设定、堆栈、输入输 口及外部部件的初始化工作。

2

② 主程序MAIN:完成键盘扫描、温度值采集及转换、温度值的显示。当温度 高于设定最高限时,驱动风扇工作;当温度值低于设定最低限时,驱动蜂鸣器报警。

③ 键盘扫描程序KEYSCAN:完成键盘的扫描并根据确定的键值执行相应的功能 主要完成最高温度、最低温度的设定。

④ 温度采集程序GET_TEMPER:完成DS18B20的初始化并发出温度转换命令,经 过指定时间后读取转换的温度值。

根据DS18B20的通信协议,主机控制DS18B20完成温度转换必须经过3个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求CPU将数据线下拉500us,然后释放。DS18B20收到信号后等待16~60us左右,后发出60~240us的存在低脉冲,CPU收到此信号表示复位成功。

⑤ 温度转换程序TEMPER_COV:根据精度要求对采集到的温度值进行处理并转换 成便于显示的BCD码值。

⑥ 显示子程序DISPLAY:显示实时温度及设定温度值。

⑦ DS18B20初始化子程序INIT_1820:DS18B20在工作之前必须按照指定的要求

完成初始化工作,否则无法正常工作。

⑧ DS18B20读写子程序WRITE_1820、READ_1820、READ_1820T完成对18B20的 读写功能,其中,READ_1820从DS18B20中读出一个字节的数据,READ_1820T从DS18B20中读出两个字节的温度数据。

⑨ 延时程序DELAY、DELAY1满足18B20要求的延时间隔及程序中的延时功能。

3

第2节 系统主要硬件电路设计

2.1 温控系统硬件接线原理图

图2-1 温控系统硬件接线原理图

2.2 单线数字温度传感器DS18B20

单线数字温度传感器DS18B20的测量原理、特性及程序设计。 DS18B20简介:

⑴独特的单线接口方式:当DS18B20与徽处理器连接时,仅需要一条数据线即可实现微处理器与DS18B20的双向通信。

⑵使用中不需要任何外围无件。

⑶可用数据线供电,电压范围为+3.0~ +5.5V。 ⑷测温范围为-55~ +125℃。固有测温分辨率为0.5℃。 ⑸通过编程可实现9~12位的数字读数方式。 ⑹用户可自设定非易失性的报警上下限值。

⑺支持多点组网功能,多个DS18B20可以并联在惟一的数据线上,实现多点测温。 ⑻负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。

4

2.2.1 DS18B20的内部结构

DS18B20采用3脚PR35封装或8脚SOIC封装,其内部结构框图如下:

图2-2 DS18B20内部结构图

⑴位光刻ROM的结构如下: 8B检验CRC 48序列号 8b工厂代码(10H) MSB LSB MSB LSB MSB LSB

开始8位是产品类型的编号,接着是每个器件的惟一序号,共有48位,最后8位是前56位的CRC校验码,这也是多个DS18B20可以采用一线进行通信的原因。

⑵非易失性温度报警触发器TH和TL,可通过软件写入用户报警上下限。 ⑶高速暂存存储器。DS18B20温度传感器的内部存储器包括一个高速暂存SRAM各一个非易失性的可电擦除的E2PROM。后者用于存储TH,TL值。数据先写入SRAM,经校验后再传给E2PROM。而配置寄存器为高速暂存器中的第5个字节,其内容用于确定温度值的数字转换分辨率,DS18B20工作时按此寄存器中的分辨率温度转换为相应精度的数值。该字节各位的定义如下: TM R1 R0 1 1 1 1 1 低5位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动,R1和R0决定温度转换的精度位数,即设置分辨率,如表2-1所示(DS18B20出厂时被置为12位)。

5

表2—1 R1和R0模式表

R1 0 0 1 1 R0 0 1 0 1 分辨率/位 9 10 11 12 温度最大转换时间/ms 93.75 187.5 275.00 750.00 由表2-1可见,设定的分辩率越高,所需要的温度数据转换时间就越长。因此在实际应用中要在分辨率和转换时间之间权衡考虑。

高速暂存存储器除了配置寄存器外,还有其他8个寄存器,其分配如下所示。其中,第1、2个寄存器存储温度信息,第3、4个寄存器存储TH和TL值,第6-8个寄存器未用,表现为全逻辑1;第9个寄存器存储的是前面所有8个寄存器内容的CRC码,可用来保证通信正确。 温度低位 温度高位 TH TL 配置 保留 保留 保留 8位CRC 当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2个寄存器。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0.0625℃/LSB形式表示.温度值格式如下: 23 22 21 20 2-1 2-2 2-3 2-4 MSB LSB S S S S S 26 25 24 MSB LSB

对应的温度计算:当符号位S=0时,直接将二进制位转换为二进制;当S=1时,先将补码变换为原码,再计算二进制值.表2-2所示为对应的一部分温度值。

6

表2-2 部分温度值

温度/℃ +125 +25.0625 +0.5 0 -0.5 -25.0625 -55 二进制表示 00000111 11010000 00000001 10010001 00000000 00001000 00000000 00000000 11111111 11111000 11111110 01101111 11111100 10010000 十六进制表示 07D0H 0191H 0008H 0000H FFF8H FE6FH FC90H DS18B20完成温度转换后,就把测得的温度值与TH,TL作比较,若T>TH或T(4)CRC的产生.在bROM的最高有效字节中存储有循环冗余校验码(CRC)。主机根据ROM的前56位来计算CRC值,并和存入DS18B20中的CRC值做比较,以判断主机收到的ROM数据是否正确。 2.2.2 DS18B20的测温原理

DS18B20的测温原理如图2-3所示。图中低温系数振荡器的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数振荡器晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。图中还隐含计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,在每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。减法计数器1对低温度系数振荡器晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数振荡器晶振产生的脉冲信号进行计数。如此循环,直到减法计数器2计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值即为所测温度。图2-3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值。这就是DS18B20的测温原理。

7

图2-3 DS18B20的内部测温电路框图

另外,由于DS18B20单线通信功能是分时完成的,且有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)—>发存储器操作命令—>处理数据。

2.3 DS18B20与单片机的典型接口设计

图2-4为典型接口设计,P1.1口接单线总线。当DS18B20处于写存储器操作和温度A/D变换操作时,为保证在有效的DS18B20时钟周期内提供足够的电流,需要在数据线上加一个4.7KΩ的上拉电阻,另外两个脚分别接电源和地。主机控制DS18B20完成温度转换必须经过3个步骤:初始化、ROM操作指令、存储器操作指令。假设单片机系统所用的晶振频率为12MHz,根据DS18B20的初始化时序、写时序和读时序,分别编写3个子程序:INIT为初始化程序,WRITE为写(命令或数据)子程序,READ为读数据子程序,所有的数据读写均由最低位开始。

图2-4 DS18B20与微处理器的典型连接

8

第3节 系统的软件设计

该系统采用模块化程序结构,可以分为系统初始化程序、主程序MAIN、键盘扫描程序KEYSCAN、温度采集程序GET_TEMPE、温度转换程序TEMPER_COV、显示子程序DISPLAY、DS18B20读写子程序以及延时程序。 3.1 系统主程序设计

该系统主程序MAIN完成键盘扫描、温度值采集及转换、温度值的显示。

开始 Y 程序初始化 有键输入吗? N 采集温度值 将采集到的值转化为压缩BCD码 显示温度值 图3—1 主程序流程图

执行相应键的功能 程序清单: ORG 0000H AJMP START

ORG 0030H

START: MOV SP,#60H MOV IE,#00H MOV TCON,#00H MOV TMOD,#10H MOV DPTR,#PORT MOV A,#43H MOVX @DPTR,A SETB DQ SETB P1.2

MOV RO,#20H MOV R1,#20H MOV A,#00H

START_1:MOV @R0,A

9

;设置堆栈值

;初始化8155口,A、B输出C输入

INC R0

DJNZ R1,START_1

START_2:CLR P1.0

CLR P1.2

MOV HIG_TMP,#30H ;初始高温限值设为30℃ MOV LOW_TMP,#20H ;初始低温限值设为20℃ ACALL RE_CONFIG NOP

ACALL INIT_1820

JNB FLAG1,START_2

MAIN:ACALL KEY_SCAN

JB KEY_LMK,MAIN1 JB KEY_HMK,MAIN1

ACALL GET_TEMPER ;采集温度值 ACALL TEMPER_COV ;温度值转换

MAIN1:ACALL DISPLAY

MOV A,TEMPER_NUM CJNE A,HIG_TMP,MAIN2 CLR C

MAIN2:JC MAIN3

SETB P1.2 ;启动风扇 AJMP MAIN

MAIN3:CJNE A, LOW_TMP,MAIN4

CLR C

MAIN4:JNC MAIN5

SETB P1.0 ;启动报警器 AJMP MAIN

MAIN5:CLR P1.0

CLR P1.2 AJMP MAIN

NOP ;读出转换后的温度值

CET_TEMPER:SETB DQ ;定时入口

CET_TMP1:LCALL INIT_1820 ;第一步,完成对18B20初始化

JB FLAG1,GET_TMP2

LJMP GET_TMP1 ;若DS18B20不存在,则继续初始化

GET_TMP2:LCALL DELAY1 ;延时80us

MOV A,#OCCH ;第二步,ROM命令,跳过ROM匹配——0CC LCALL WRITE_1820

MOV A,#44H ;第三步,功能命令,发出温度转换命令 LCALL WRITE_1820

GET_TMP5:NOP

LCALL DISP3 CLR DQ NOP NOP

SETB DQ ;释放数据线

10

MOV R3,#4 ;延时14us DJNZ R3,$ CLR C

MOV C,DQ JNC GET_TMP5

GET_TMP3:LCALL INIT_1820 ;第一步,对18B20初始化

JB FLAG1,GET_TMP4 LJMP GET_TMP3

GET_TMP4:LCALL DELAY1

MOV A,#0CCH ;第二步,ROM命令,跳过ROM匹配 LCALL WRITE_1820 MOV A,#0BEH LCALL WRITE_1820

LCALL READ_1820 RET

;第三步,功能命令,发出读温度命令 READ_1820 11

3.2 DS18B20初始化程序设计

系统初始化程序完成变量的设定、中断入口的设定、堆栈、输入输出口及外部部件的初始化工作。

DS18B20 初始化 CLR DQ向DS18B20 发出reset脉冲

N Y 等待480us以上?

Y

SETB DQ等待

15~60us Y DQ是否变低? N Y

置FLAG标志并延

时200us

标志 清除 FLAG 初始化结束

图3—2 DS18B20初始化程序流程图

程序清单:

INIT_1820:SETB DQ ;DS18B20初始化程序 NOP

NOP

CLR DQ ;将数据线下拉500us

ACALL YS500 ;500 us延时子程序

SETB DQ ;释放数据线 ORL P1,#02H ;P1.1转为输入

ACALL DELAY1 ;80 us延时子程序

JNB DQ,TSR3 ;判断DS18B20是否存在

12

AJMP TSR4 ;不存在,转TSR4

TSR3:SETB FLAG1 ;置标志位,表示DS1820不存在

AJMP TSR5

TSR4:CLR FLAG1 ;清标志位,表示DS1820不存在

AJMP TSR7

TSR5:MOV R0,#6BH ;200 us TSR6:DJNZ R0,TSR6 ;延时 TSR7:SETB DQ

RET

3.3 键盘扫描子程序设计

键盘扫描程序KEYSCAN完成键盘的扫描并根据确定的键值执行相应的功能,主要完成最高温度、最低温度的设定。

图3-3 键盘扫描子程序流程图

13

程序清单:

KEY_SCAN:MOV DPTR,#PORTB ;键盘扫描程序

MOV A,#00H MOVX @DPTR,A

MOV DPTR,#PORTA MOV A,#0FEH MOVX @DPTR,A NOP

MOV DPTR,#PORTC MOVX A,@DPTR CPL A

ANL A,#0FH CJNE A,#00H,KEY_0 CLR KEY_MK

KEY_E:RET

KEY_0:JB KEY_MK,KEY_E

SETB KEY_MK MOV R6,#4FH ACALL DEL1

JNB ACC.0 KEY_1 JB KEY_LMK,KEY_E

JB KEY_HMK,KEY_0_1 SETB KEY_HMK SETB DISP_MK

MOV NUB_VAL,HIG_TMP

ACALL DISPLAY AJMP KEY_4

KEY_0_1:CLR KEY_HMK

CLR DISP_MK

MOV HIG_TMP,NUB_VAL AJMP KEY_1_2

KEY_1:JNB ACC.1,KEY_2 JB KEY_HMK,KEY_E

JB KEY_LMK,KEY_1_1 SETB KEY_LMK SETB DISP_MK

MOV NUB_VAL,LOW_TMP ACALL DISPLAY AJMP KEY_4

KEY_1_1:CLR KEY_LMK

14

;屏蔽高4位 ;S1是否被按下

;S1是否已经执行过

;没有,则设置已经执行过标志;S2是否被按下

;S2是否已经执行过

;没有,则设置已经执行过标志 ;第一列为低电平

CLR DISP_MK

MOV LOW_TMP,NUB_VAL

KEY_1_2:ACALL INIT_1820

JNB FLAG1,KEY_1_2 ACALL RE_CONFIG AJMP KEY_4

KEY_2:JNB ACC.2,KEY_3

JB KEY _LMK,KEY_2_1

JB KEY_HMK,KEY_2_1 AJMP KEY_4

KEY_2_1:CLR DISP_MK MOV A,NUB_VAL

CJNE A,#63H,KEY_2_2

AJMP KEY_4

KEY_2_2:INC A

MOV NUB_VAL,A ACALL DISPLAY AJMP KEY_4

KEY_3:JNB ACC.3,KEY_4

JB KEY_LMK,KEY_3_1 JB KEY_HMK,KEY_3_1

AJMP KEY_4

KEY_3_1:CLR DISP_MK

MOV A,NUB_VAL JZ KEY_4 DEC A

MOV NUB_VAL,A

ACALL DISPLAY

KEY_4 : RET

3.4 DS18B20读写子程序设计

DS18B20读写子程序WRITE_1820、READ_1820、READ_1820完成对18B20的读写功能,其中,READ_1820从DS18B20中读出一个字节的数据,READ_1820T从DS18B20中读出两个字节的温度数据。

15

N

开始 DS18B20初始化 写入CCH,SKIP ROM 写入44H,发转换命令 CLR DQ,准备发送 延时15us 写入1位数据 延时15~45us SETB DQ完成1位写入 8位写完了吗? Y 完成

图3-4 DS18B20写入子程序流程图

16

开始 DS18B20初始化 写入CCH,SKIP ROM 写入BEH,发转换命令 SETB DQ 延时1us以上 CLR DQ准备发送 延时1us以上 SETB DQ释放总线 读取1位数据 延时15~45us

N 8位读完了 吗? Y

完成 图3—5 DS18B20读取子程序流程图

17

程序清单:

WRITE_1820: MOV R2,#8 ;写DS18B20的程序

CLR C

WRITE1:CLR DQ

MOV R3,#7 ;延时14us DJNZ R3,$ RRC A

MOV DQ,C

MOV R3,#21 ;延时45us DJNZ R3,$ SETB DQ NOP

DJNZ R2,WRITE1 SETB DQ

RET ;读DS18B20的程序,从DS18B20中读出两个字节的温度数据

READ_1820:MOV R4,#2 ;将温度高位和低位从DS18B20中读出

MOV R1,#35H ;低位存入35H,高位存入36H

READ0:MOV R2,#8

MOV A,#00H

READ1:CLR C ;读取一位数需要70us

SETB DQ NOP NOP

CLR DQ ;保持1 us以上的低电平 NOP

NOP SETB DQ ;释放数据线

MOV R3,#3 ;延时7 us,必须在15 us内读取数据 DJNZ R3,$ MOV C,DQ

RRC A

MOV R3,#26 ;延时53 us DJNZ R3,$

DJNZ R2,READ1

MOV @R1,A INC R1

DJNZ R4,READ0

SETB DQ ;用RESET来终止数据读取 NOP NOP CLR DQ

ACALL DELAY1 ;延时80 us SETB DQ RET

18

结 束 语

虽说是计算机专业的,每当别人问起来你是哪个专业的,我会很爽快的说是计算机专业的,但是如果别人再问那你是属于学习计算机软件还是硬件方面的,我却一时答不上来,我自己也不能够很好的定位,到底在大学里的这几年里自己到底专攻了哪方面和学会了些什么。大学这几年里我更多的是学习课本知识,很少有机会将所学的知识运用到实践,我也只是一味的学习课本上的理论知识,将它作为学习与考试的目的,我知道这样很不好,必竟到最终还是要归结到实践当中,如果没有动手的能力,那么一切都是纸上谈兵,没有任何的结果。

这一学期,余老师教我们单片机课程,我认为在余老师的课堂上学习到更多的不是知识,而是一种学习的精神,学习知识与实践的精神,余老师经常说一句话是:“学时觉得无用,用时觉得没学。”我想余老师所说的“学”不仅仅只是指学习理论的知识,也包括了学习实践的能力。在这个学期当中,单片机的实验课上,我有了一次也是惟一次,亲自的去实践和体会,第一次体会到原来我们所学的知识不只是纸上的文字,也不是为了试卷上的答案,而是可以用到产品当中,可以制作成有用的东西,运用到我们的生活当中,社会当中。

经过这次的课程设计,是对于过去所学的知识的一次回顾与巩固,也是一次特别的实践能力,我想虽然没有制作出实品,但是这相当于一个制作前的计划和准备,这也是非常重要的,计划成功的基础,这是必须的,也是必要的一个步骤。通过该次课程设计,提高了创新能力,扩展了我的想像,让我在没有任何实品的情况下,规划制作的内容、步骤、要点等等,敢想敢做是成功的一个重要的因素。在制作课程设计的这几天当中,我首次体会到了生活的艰辛,也培养了吃苦耐劳的精神,进大学到现在,我觉得过的非常的惬意,因为不需要担心经济问题,也不用紧张的生活,一切都显得那么的平静,但是这次不同,我个人认为单片机这门课程是门非常难学的课程,需要耐心、信心和持之以恒的精神。在课程设计当中,我恼过,也烦过,也怨过,但是最终等到我发泄完后,冷静的想想,如果我现在连这一关都过不了,那么我如何的走上社会,如何的面对社会中各种各样的更加复杂更加繁琐的事情,我必须做好,不仅仅只是为了得到好的分数,也是为了我今后踏入社会打下基础。我想在将来的某一天,我会遇到比单片机更让我头痛的东西,人生,就是在不断的拼博,如果你认输了,那么你永远也不会得到每个人都在追求的成功。

看到自己完成的课程设计时,我知道还有一些不足,很多地方需要更进一步的改进,但是我仍然很高兴,因为我尽心尽力的将它全部都完成了,我尽到自己最大的努力。我觉得该次系统设计如果能够再增加一些另外的功能会使该系统变得更加的优秀,如启动蜂鸣器报警时会开始自动的升温到正常点等。

该系统分析与总结:

19

⑴该系统主要以DS18B20为核心,学习单片机应用系统与外围应用系统或部件组合的综合设计、分析与调试方法。学会分析与掌握专用芯片或器件的功能、控制方法和编程技巧,能根据专用芯片或部件的技术资料、读写时序要求设计硬件接口及软件编程,完成单片机的整个开发过程。

⑵该系统的难点是理解和掌握DS18B20的专用特性和功能,能根据厂商提供的技术资料,编制出相应的初始化程序、读写程序。

⑶程序采用模块化结构,分为系统初始化程序、主程序MAIN、温度采集程序GET_TEMPER、温度转换程序TEMPER_COV、显示子程序DISPLAY、DS18B20读写子程序以及延时程序。

⑷运行状态采用标志化管理可以使程序结构更加简化。对各按键的操作过程和状态都采用标识位来描述,对于不应具有连动功能的按键采用标志位,只有在键盘扫描程序确定没有任何按键按下时才清除按键标志。这样既可以起到按键抖动的作用,同时还可以防止由于误操作或按键习惯问题导致的按键被多次执行的情况。

⑸调试程序时,重点分析和调试DS18B20的初始化及读写程序,严格按照技术资料提供的时序要求,检查时序的前后次序和延时时间,要结合能反映故障存在与否的参数变化、运行路径变化、显示内容变化等选择合适的观测点和观测对象,再运用适当的调试方法,快速地检验调试结果,由此分析和判断出故障点。

⑹为了能室内对温度测量进行测试,可分别设定温度的最高位和最低位分别为36℃和32℃(当时的室温)。由于人体的体温一般高于36℃,用手指接触测温点,会导致高温报警,从而启动风扇降温,拿开手之后,测温点的温度会逐步下降。如果此时的室温低于设定的最低温度,系统会启动蜂鸣器报警。

20

参考文献

[1] 余永权,汪,黄英.单片机在控制系统中的应用(M).电子工业出版社,2003 [2」张永枫.单片机应用实训教程(M).西安电子科技大学出版社,2005,2 [3] 张鑫.单片机原理与应用(M).电子工业出版社,2005,8 [4] 付家才.单片机实验与实践(M).高等教育出版社,2006,3

[5」刘同法,陈忠平,眭仁武.单处机基础与最小系统实践(M).北京航空航天大学出版社,2007,6 [6」于殿泓,王新年.单片机原理与程序设计实验教程(M).西安电子科技大学出版社,2007,8

总 体 评 价 的分量太多

得分 总体还不错,格式规范,态度端正,感想很真实,但18B20占 19 21

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务