目录
1.引言 ......................................................... 1
1.1绪论 .................................................................. 1 1.2课程设计任务书 ........................................................ 1
2.设计方案 ..................................................... 4 3.硬件设计方案 ................................................. 4
3.1最小系统的设计 ........................................................ 4 3.2 LED发光报警电路 ...................................................... 6 3.3 DS18B20的简介及在本次设计中的应用 .................................... 6 3.3.1 DS18B20的外部结构及管脚排列 ....................................... 6 3.3.2 DS18B20的工作原理 ................................................. 7 3.3.3 DS18B20的主要特性 ................................................. 8 3.3.4 DS18B20的测温流程 ................................................. 9 3.3.5 DS18B20与单片机的连接 ............................................. 9 3.4 报警温度的设置 ........................................................ 9 3.5 数码管显示 ........................................................... 10 3.5.1数码管工作原理 .................................................... 10 3.5.2数码管显示电路 .................................................... 12 3.6 硬件电路总体设计 ..................................................... 12
4.软件设计方案 ................................................ 13
4.1主程序介绍 ........................................................... 13 4.1.1主程序流程图 ...................................................... 13 4.1.2主流程的C语言程序 ................................................ 14 4.2部分子程序 ........................................................... 18 4.2.1 DS18B20复位子程序 ................................................ 18 4.2.2 写DS18B20命令子程序 ............................................. 19
4.2.3读温度子程序 ...................................................... 21 4.2.4计算温度子程序 .................................................... 23 4.2.5显示扫描过程子程序 ................................................ 24
5.基于DS18B20的温度采集显示系统的调试......................... 26 6.收获和体会 .................................................. 28 7.参考文献 .................................................... 29
课程设计用纸
1.引言
1.1绪论
随着科学技术的发展,温度的实时显示系统应用越来越广泛,比如空调遥控器上当前室温的显示,热水器温度的显示等等,同时温度的控制在各个领域也都有积极的意义。采用单片机对温度进行控制不仅具有控制方便、简单、灵活性大等特点,而且还可以大幅度提高被控温度的技术指标。
本文介绍了基于DS18B20的温度实时采集与显示系统的设计与实现。设计中选取单片机AT89C51作为系统控制中心,数字温度传感器DS18B20作为单片机外部信号源,实现温度的实时采集。并且用精度较好的数码管作为温度的实时显示模块。利用单片机程序来完成对DS18B20与AT89C51的控制,最终实现温度的实时采集与显示。采用单片机对温度进行控制不仅具有控制方便、简单、灵活性大等特点,而且还可以大幅度提高被控温度的技术指标。
1.2课程设计任务书
《微机原理与接口技术》课程设计任务书(二)
题目:基于DS18B20的温度采集显示系统的设计
一、课程设计任务
传统的温度传感器,如热电偶温度传感器,具有精度高,测量范围大,响应快等优点。但由于其输出的是模拟量,而现在的智能仪表需要使用数字量,有些时候还要将测量结果以数字量输入计算机,由于要将模拟量转换为数字量,其实现环节就变得非常复杂。硬件上需要模拟开关、恒流源、D/A转换器,放大器等,结构庞大,安装困难,造价昂贵。新兴的IC温度传感器如DS18B20,由于可以直接输出温度转换后的数字量,可以在保证测量精度的情况下,大大简化系统软硬件设计。这种传感器的测温范围有一定限制(大多在-50℃~120℃),多适用于环境温度的测量。DS18B20可以在一根数据线上挂接多个传感器,只需要三根线就可以实现远距离多点温度测量。
本课题要求设计一基于DS18B20的温度采集显示系统,该系统要求包含温度采集模块、温度显示模块(可用数码管或液晶显示)和键盘输入模块及报警模块。所设计的系统可以从键盘输入设定温度值,当所采集的温度高于设定温度时,进行报警,同时能实时显示温度值。
二、课程设计目的
通过本次课程设计使学生掌握:1)单总线温度传感器DS18B20与单片机的接口及DS18B20的
第 1 页
课程设计用纸
编程;2)矩阵式键盘的设计与编程;3)经单片机为核心的系统的实际调试技巧。从而提高学生对微机实时控制系统的设计和调试能力。
三、课程设计要求
1、要求可以从键盘上接收温度设定值,当所采集的温度高于设定值时,进行报警(可以是声音报警,也可是光报警)
2、能实时显示温度值,要求保留一位小数;
四、课程设计内容
1、人机“界面”设计; 2、单片机端口及外设的设计; 3、硬件电路原理图、软件清单。
五、课程设计报告要求
报告中提供如下内容: 1、目录
2、正文
(1)课程设计任务书; (2)总体设计方案
(3)针对人机对话“界面”要有操作使用说明,以便用户能够正确使用本产品; (4)硬件原理图,以便厂家生成产(可手画也可用protel软件);
(5)程序流程图及清单(子程序不提供清单,但应列表反映每一个子程序的名称及其功能); (6)调试、运行及其结果; 3、收获、体会 4、参考文献
六、课程设计进度安排
周次 工作日 1 第 一 周 2 3 4 5 第 二 1 2 工作内容 布置课程设计任务,查找相关资料 熟悉相关芯片及使用方法 完成总体设计方案 画出硬件原理图及程序流程图 完成硬件接线,编写程序并调试 编写程序并调试 编写程序并调试 第 2 页
课程设计用纸
周 3 4 5 编写程序并调试及准备课程设计报告 完成课程设计报告并于下午两点之前上交 答辩 本课题共需两周时间 七、课程设计考核办法
本课程设计满分为100分,从课程设计平时表现、课程设计报告及课程设计答辩三个方面进行评分,其所占比例分别为20%、40%、40%。
第 3 页
课程设计用纸
2.设计方案
本次的课题设计要求是基于DS18B20的温度采集显示系统,该系统要求包含温度采集模块、温度显示模块和键盘输入模块及报警模块。其中温度采集模块所选用的是DS18B20数字温度传感器进行温度采集,温度显示模块用的四位八段共阴极数码管进行温度的实时显示,键盘输入模块采用的是按钮进行温度的设置,报警模块用的是LED灯光报警。具体方案见图2-1。
最小系统 蜂鸣器报警 AT89C51 P0 P2 P2 P1 P3 段选 四位共阴极数码管显示温度 位选 报警温度的设定 DS18B20温度传感器
图2-1 总体设计方案
3.硬件设计方案
3.1最小系统的设计
本次设计单片机采用的是AT89C51系列的,它由一个8位中央处理器(CPU),4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个串行I/O口及中断系统等部分组成。其结构如图3-1所示:
第 4 页
课程设计用纸
图3-1 AT89C51系列单片机引脚排列
XTAL1
XTAL2 RST EA
图3-2 单片机最小系统接线图
图3-2为单片机最小系统的接线图,其中C1、C2均选用20PF的,晶振X1用的是
第 5 页
课程设计用纸
11.0592MHZ的。晶振电路中外接电容C1,C2的作用是对振荡器进行频率微调,使振荡信号频率与晶振频率一致,同时起到稳定频率的作用,一般选用10~30pF的瓷片电容。并且电容离晶振越近越好,晶振离单片机越近越好。晶振的取值范围一般为0~24MHz,常用的晶振频率有6MHz、12 MHz、11.0592 MHz、24 MHz等。晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。
图3-2中C3,R1及按键构成了最小系统中的复位电路,本次设计选择的是手动按钮复位,手动按钮复位需要人为在复位输入端RST上加入高电平。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。
在单片机最小系统中还要将EA的非接高电平,如图3-2也有体现出来。
3.2 LED发光报警电路
P1.7
图3-3 LED发光报警电路
图3-3为LED报警电路的接法,其中一根线接单片机的8号P1.7口,另外一根接地。当温度超过预设温度值时LED灯被接通发光报警。
3.3 DS18B20的简介及在本次设计中的应用
3.3.1 DS18B20的外部结构及管脚排列
DS18B20的管脚排列如图3-4所示: DS18B20引脚定义:
(1)DQ为数字信号输入/输出端; (2)GND为电源地;
(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)
第 6 页
课程设计用纸
图3-4 DS18B20的引脚排列及封装
3.3.2 DS18B20的工作原理
DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。 DS18B20测温原理如图3-5所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。
第 7 页
课程设计用纸
斜率累加器 预置 低温度系数晶振 计数器1 预置 加1 比较 LSB 置位/清除
=0 温度寄存器 高温度系数晶振 计数器2 停止 =0
图3-5 DS18B20测温原理图
3.3.3 DS18B20的主要特性
(1)适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电; (2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;
(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温;
(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;
(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃;
(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温;
(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;
(8)测量结果直接输出数字温度信号,以\"一线总线\"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力;
(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
第 8 页
课程设计用纸
3.3.4 DS18B20的测温流程
初始化 DS18B20 跳过ROM 匹配 温度变换 延时1S 数码管显示 转换成显示码 读暂存器 跳过ROM 匹配 图3-6 DS18B20的测温流程图
3.3.5 DS18B20与单片机的连接
P3.7
图3-7 DS18B20与单片机的连接电路图
如上图为DS18B20温度传感器与单片机之间的接法,其中2号接单片机的17号P3.7接口。DS18B20通过P3.7口将采集到的温度实时送入单片机中。 3.4 报警温度的设置
P2.5 P2.6 P2.7
第 9 页
课程设计用纸
图3-8 报警温度的设置电路
图3-8为报警温度的设置电路,其中K1,K2,K3分别接到单片机的P2.5,P2.6,P2.7口。其中K1用于报警温度设定开关,K2用于报警温度的设置时候的加温度(每次加一),K3用于报警温度的设置时的减温度(每次减一)。实现了报警温度的手动设置。 3.5 数码管显示 3.5.1数码管工作原理
图3-9 数码管的引脚排列及结构
图3-9为数码管的外形及引脚排列和两种接法(共阴极和共阳极)的结构图。共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起。通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。
共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起。通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。
要使数码管显示出相应的数字或字符,必须使段数据口输出相应的字形编码。字型码各位定义为:数据线D0与a字段对应,D1与b字段对应„„,依此类推。如使用共阳极
第 10 页
课程设计用纸
数码管,数据为0表示对应字段亮,数据为1表示对应字段暗;如使用共阴极数码管,数据为0表示对应字段暗,数据为1表示对应字段亮。如要显示“0”,共阳极数码管的字型编码应为:11000000B(即C0H);共阴极数码管的字型编码应为:00111111B(即3FH)。依此类推,可求得数码管字形编码如表3-5所示。
表3-5数码管字符表
显示数字 0 1 2 3 4 5 6 7 8 9 共阳顺序小数点亮 Dp g f e d c b a 16进制 a b c d e f g Dp 16进制 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 1 1 0 1 1 0 1 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 FCH 60H DAH F2H 66H B6H BEH E0H FEH F6H 40H 79H 24H 30H 19H 12H 02H 78H 00H 10H 共阴顺序小数点暗 共阴逆序小数点暗 共阳顺序小数点暗 C0H F9H A4H B0H 99H 92H 82H F8H 80H 90H 显示的具体实施是通过编程将需要显示的字型码存放在程序存储器的固定区域中,构成显示字型码表。当要显示某字符时,通过查表指令获取该字符所对应的字型码。
第 11 页
课程设计用纸
3.5.2数码管显示电路
P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.0 P2.1P2.2 P2.3
图3-10 四位八段数码管动态显示电路
图3-10为本次设计所用到的四位八段数码管动态显示,其中段选接到单片机的P0口,位选接到单片机的P2口的低四位。其中P0口也接的有上拉电阻,图中未标示出来,会在下面的总体电路中标示出来。采用的是动态显示方式。 3.6 硬件电路总体设计
图3-11为本次设计的硬件总体设计图,其中利用K1,K2,K3处进行报警温度的设置,然后有DS18B20进行实时温度采集,并在数码管上同步显示,若采集到的温度达到或者超过预设的报警温度,则LED灯会发光报警,若低于该报警温度,则不会报警。
第 12 页
课程设计用纸
图3-11 硬件电路总体设计图
4.软件设计方案
4.1主程序介绍
4.1.1主程序流程图
本次设计首先对程序进行初始化,然后打开报警温度设定开关,对报警温度进行设定,确认设定值后,DS18B20温度传感器进行温度采集并送入单片机中,单片机将传感器所检测到的温度同步显示在数码管上,并且与设置的报警温度进行比较,若达到或者超过报警温度时,LED灯发光报警,如果没有达到,则继续进行温度采集。
第 13 页
课程设计用纸
开始 初始化程序 进行报警温度设定并确认 传感器采集温度并实时显示判断达到报警温度? N 继续温度采集 Y 灯光报警
图4-1主程序流程图
4.1.2主流程的C语言程序 main () {
ALERT=0; LED=0; flag=0; sheding=30;
disdata=0xff;// 初始化端口 discan=0xff;
//开机显示“8888”scan();
for(h=0;h<4;h++) {display[h]=8;}
第 14 页
课程设计用纸
ow_reset(); //开机先转换一次
write_byte(0xcc);//skip ROM write_byte(0x44);//发转换命令
for(h=0;h<500;h++)//开机显示“8888”两秒 {scan();}
display[0]=0;display[1]=0;display[2]=0;display[3]=0; flag2=0;
while(1) { if(flag==0 && flag2>1)
//温度显示界面
{
LED1=0; if(display[1]+display[2]*10>=sheding) //比较 {
ALERT=1; //报警 } else { ALERT=0;
}
}
if(flag==0 && flag2>1) { read_temp(); //读出温度数据 work_temp(); //处理温度数据
ge= display[3];
shi= display[2];
第 15 页
课程设计用纸
}
if(K1==0) {
flag2++; //flag2=0时为初始界面 flag2=1时为设定
if(flag2>1) flag2=2;
if(flag==0)
flag=1;
//flag=0 时 温度显示 flag=1 设定显示
else if(flag==1) flag=0;
LED=~LED; key_delay(20); if(flag==1) {
sheding=30; ge=0; shi=3;
// display[0]= ge; // 个位设定好的温度用于显示
// display[2] =shi; //十位
}
}
if(flag==1) {
LED1=1; if(K2==0) //++
第 16 页
课程设计用纸
{ ge++; if(ge>9) { ge=0; shi++; if(shi>9) shi=0;
}
sheding=ge+shi*10; key_delay(20);
}
if(K3==0) //-- { ge--; if(ge<0) { ge=9; shi--; if(shi<0) shi=9; }
sheding=ge+shi*10;
key_delay(20);
}
display[1]= ge;
display[2] =shi; // }
// 个位设定好的温度用于显示
十位
第 17 页
课程设计用纸
for(h=0;h<500;h++) //显示温度两秒 { scan();
}
} }
4.2部分子程序
4.2.1 DS18B20复位子程序
流程图如图4-2所示: DQ置1 DQ置0 延时最少573us DQ置1 短延时,等待DS18B20回应 N DQ=0? Y FLAG1置1 FLAG1置0 延时 DQ置1 返回 第 18 页
课程设计用纸
图4-2 DS18B20复位子程序
DS18B20复位子的C语言程序如下: ow_reset(void) {
char presence=1;
while(presence) {
while(presence) {
DQ=1;_nop_();_nop_(); DQ=0;
delay(50); //延时550毫秒 DQ=1; delay(6); presence=DQ; }
delay(45); presence=~DQ; } DQ=1; }
4.2.2 写DS18B20命令子程序
流程图如图4-3所示:
第 19 页
课程设计用纸
DQ置0 循环次数i=8 写入数据的最低一位 短延时 DQ置1 写入数据右移一位 i =i-1 i=0? N Y 短延时 返回 图4-3 写DS18B20命令子程序
写DS18B20命令的C语言程序如下:
void write_byte(uchar val) //向1-WIRE总线上写一字节 { uchar i;
for(i=8;i>0;i--) {
DQ=1;_nop_();_nop_();
DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_();
第 20 页
课程设计用纸
DQ=val&0x01; //最低位移出 delay(6);
val=val/2; //右移1位 } DQ=1; delay(1); }
4.2.3读温度子程序
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,验有错时,不进行温度数据的改写。其程序流程图如图4-4所示
DS18B20的各个命令对时序的要求特别严格,所以必须按照所要求的时序才能达到预期的目的,同时,要注意读进来的是高位在后低位在前, 共有12位数,小数4位,整数7位,还有一位符号位。
第 21 页
课程设计用纸
DS18B20复位、应答子程序 跳过ROM匹配命令 写入子程序 温度转换命令 写入子程序 显示子程序(延时) DS18B20复位、应答子程序 跳过ROM匹配命令 写入子程序 读温度命令子程序 结束 图4-4 读温度子程序
读温度的C语言程序如下: read_temp() {
ow_reset(); write_byte(0xcc);
第 22 页
课程设计用纸
write_byte(0xbe);
temp_data[0]=read_byte(); temp_data[1]=read_byte();
ow_reset(); write_byte(0xcc); write_byte(0x44); }
4.2.4计算温度子程序
流程图如图4-5所示:
开始 温度零Y 下? N 温度值取补码置“—”标志 计算小数位温度BCD值 计算整数位温度BCD值 结束 图4-5 计算温度子程序
第 23 页
课程设计用纸
计算温度的C语言程序如下: work_temp() {
uchar n=0;
if(temp_data[1]>127) {
temp_data[1]=(255-temp_data[1]); temp_data[0]=(255-temp_data[0]); n=1;
} //负温度求补码
display[4]=temp_data[0]&0x0f;display[0]=ditab[display[4]]; display[4]=((temp_data[0]&0xf0)>>4)|((temp_data[1]&0x0f)<<4) ;
display[3]=display[4]/100; display[1]=display[4]%100; display[2]=display[1]/10; display[1]=display[1]%10;
if(!display[3]){display[3]=0x0a;
if(!display[2]){display[2]=0x0a;}} //最高位为0时不显示 if(n){display[3]=0x0b;} }
4.2.5显示扫描过程子程序
流程图如图4-6所示:
//负温度是最高为显示“-”
第 24 页
课程设计用纸
开始 送位选码 送段选码 延时
图4-6 显示扫描过程子程序
显示扫描的C语言程序如下: scan() { char k;
for(k=0;k<4;k++) {
disdata=dis_7[display[k]]; if(k==1){DIN=0;}
//当K=1时,P0^7为低电平显示小数点 //4位LED扫描控制
discan=scan_con[k]; //列扫描 delay(30); discan=0xFF; } }
第 25 页
课程设计用纸
5.基于DS18B20的温度采集显示系统的调试
运行后,按下K1键,开始进入报警温度设置过程,按下K2则温度增加一度,按下K3则温度减少一度,刚开始调试时,由于接的LED报警灯是高电平点亮,程序一运行时,AT89C51给各个引脚都是高电平,所以LED灯一运行就会发光,违背了超过报警温度才发光的要求,所以在子程序中加上了一条开始时将LED所连引脚置0的程序。之后运行过程中又发现按下报警温度的设置键K1,K2,K3都不是很灵敏,有时按下的时间太短甚至会没有反应,经过与小组成员讨论,发现是由于按键没有进行消抖,在显示扫描子程序中加入了延时函数进行按键的消抖,这一问题也得到了解决。
图5-1温度实时显示且未超过报警温度25摄氏度时LED没有发光报警
第 26 页
课程设计用纸
图5-2温度实时显示且超过实时报警温度25摄氏度LED发光报警
图5-3 实时显示负温度
第 27 页
课程设计用纸
6.收获和体会
在这一次的课程设计过程,我收获了很多,无论是在理论知识方面,还是理论联系实际的操作方面。因为已经一个学期没有学习单片机这门课程,很多知识不太清楚,加上以前的基础知识也不是很牢固,对于Proteus和Keil软件的使用也生疏了,所以刚开始拿到课题时感到很有难度,不禁对此次的课程设计感到非常紧张。刚开始做这一课题的时候感到难度很大,许多知识都要重新学习,包括课本上的理论知识,以及编程和仿真软件的使用都要多加练习才能掌握。在这一过程中,我不断的上网查找相关资料,翻阅相关书籍,也一步步了解了设计中各个模块所要实现的功能,对这次的设计方案有了具象的认识。
通过此次课程设计,我对C语言和单片机有了新的认识和理解,并且温习了Proteus和Keil软件的使用,也了解了它的许多以前不知道的功能。掌握了从设计方案的要求来进行主程序流程图的设计,然后落实到每一个子程序,依次实现每一个功能要求。然后用仿真软件进行仿真调试,一步步的找出哪里的设计不符合要求并进行改正,几乎没有一次就能调试通过的程序,所以说程序不是写出来的,而是不断的调试出来的。这这个过程中也积累了硬件设计的经验。同时也加深了我对电路原理、器件资料、电路板设计和电路的硬件调试认识和理解。
此次课程设计用到了DS18B20这一数字温度传感器,这是我们之前没有遇到过的一种新型的器件,所以通过上网和查阅相关书籍来查找这一器件的资料,从它的基本结构,到元件特性及工作原理之类的等等。在这个过程中我发现即使是一个小小的元件,也有很复杂的构成及多种特性,而且实际到许多方面。在学习的过程中我也多DS18B20有了一个系统的了解。我也认识到想要真正的全面了解一个元件,一定要花一定的时间和精力。
这次的课程设计让我学到了许多书本上没有的知识,学会了更加全面的思考问题,而不是片面的只看眼前,同时也学到了自我学习的方法,在查找资料自我分析及跟同学的讨论,与老师的指导这些过程都让我受益匪浅。同时我也认识到了自身存在的很多不足之处,理论知识不够扎实,操作能力也欠缺, 我会在以后的学习中更加努力以提高自身的能力。
第 28 页
课程设计用纸
7.参考文献
[1].陈跃东.DS18B20集成温度传感器原理与应用[J].安徽机电学院学报,2002 [2].李广弟.单片机基础[M]. 北京:北京航空航天大学出版社,1994 [3].何立民.单片机高级教程.北京航空航天大学出版社,2004
[4].党峰,王敬农,高国旺.基于DS18B20的数字式温度计的实现[J]. 山西电子技术,2007
第 29 页
因篇幅问题不能全部显示,请点此查看更多更全内容