检测技术课程设计电信061062.docx

上传人:b****4 文档编号:6143904 上传时间:2023-05-09 格式:DOCX 页数:21 大小:1.68MB
下载 相关 举报
检测技术课程设计电信061062.docx_第1页
第1页 / 共21页
检测技术课程设计电信061062.docx_第2页
第2页 / 共21页
检测技术课程设计电信061062.docx_第3页
第3页 / 共21页
检测技术课程设计电信061062.docx_第4页
第4页 / 共21页
检测技术课程设计电信061062.docx_第5页
第5页 / 共21页
检测技术课程设计电信061062.docx_第6页
第6页 / 共21页
检测技术课程设计电信061062.docx_第7页
第7页 / 共21页
检测技术课程设计电信061062.docx_第8页
第8页 / 共21页
检测技术课程设计电信061062.docx_第9页
第9页 / 共21页
检测技术课程设计电信061062.docx_第10页
第10页 / 共21页
检测技术课程设计电信061062.docx_第11页
第11页 / 共21页
检测技术课程设计电信061062.docx_第12页
第12页 / 共21页
检测技术课程设计电信061062.docx_第13页
第13页 / 共21页
检测技术课程设计电信061062.docx_第14页
第14页 / 共21页
检测技术课程设计电信061062.docx_第15页
第15页 / 共21页
检测技术课程设计电信061062.docx_第16页
第16页 / 共21页
检测技术课程设计电信061062.docx_第17页
第17页 / 共21页
检测技术课程设计电信061062.docx_第18页
第18页 / 共21页
检测技术课程设计电信061062.docx_第19页
第19页 / 共21页
检测技术课程设计电信061062.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

检测技术课程设计电信061062.docx

《检测技术课程设计电信061062.docx》由会员分享,可在线阅读,更多相关《检测技术课程设计电信061062.docx(21页珍藏版)》请在冰点文库上搜索。

检测技术课程设计电信061062.docx

检测技术课程设计电信061062

 

检测技术课程设计

基于单片机的温度测量系统

王青云

 

南京工程学院

二〇〇九年五月

一、

课题要求

本课题要求利用温度传感器DS18B20进行温度测量,测量范围-50℃--100℃。

测量得到的温度值经单片机数据处理,最后利用数码管或液晶显示器显示测量结果。

二、系统硬件

系统硬件为带有温度传感器的单片机开发实验板,其主要模块包括:

1、单片机最小系统

图中晶振插座中可根据应用系统需要插入不同振荡频率的晶振。

单片机管脚通过J3、J4和J5引出。

2、温度检测电路

DS18B20数字温度传感器以9位数字量的形式反映器件的温度值。

它通过一根单数据线与中央处理器接口。

用于读写和温度转换的电源可以从数据线本身获得,也可以另加电源,传感器与单片机需要连接地线。

因为每个DS18B20都有一个独特的片序列号,所以多只DS18B20可以同时连在一根单线总线上,这样就可以把温度传感器放在许多不同的地方,在环境控制、探测建筑物、仪器或机器温度测量及过程控制等方面得到广泛的应用。

3、数码管显示

图中8位数码管由三极管Q2至Q9驱动,单片机管脚P20至P27实现位选、管脚P00至P07实现段选。

4、液晶显示

若选用1602液晶,将其插入J8中,若选用12864液晶,将其插入J6中。

液晶与单片机连线如图所示。

5、实验板其它硬件模块

 

 

6、接口及跳线说明

1)8个LED指示灯电路:

通过1K电阻与单片机P0口连接,当单片机加IO口输出为零电平时,LED发光。

2)4*4矩阵键盘电路:

直接与单片机的P1.0-----P1.7连接。

3)3个独立按键:

直接与单片机的P3.2-----P3.4连接。

4)8位数码管电路:

数码管的段选通过1K电阻与单片机的P0口连接,8位数码管的位选分别与P2.0------P2.7连接。

5)模数转换TLC549:

TLC549有三个端口与单片机相连,片选口与P1.0相连,IO与P1.1相连,TLC549数据输出与P3.2相连。

6)串口通信电路:

MAX232电路的输出分别与单片机的P3.0和P3.1连接。

7)液晶1602的数据端口通过直接与单片机P0口相连,RS端接p2.5,RW端接P2.6,E端接P2.7。

8)24C02电路:

24C02的SCL接P3.6,SDA接P3.7

9)蜂鸣器电路:

单片机的P3.5通过三极管控制蜂鸣器。

10)DS18B20温度传感电路:

输出端接单片机的P3.4。

11)DS1302时钟电路:

SCLK与P1.2连接,I/O与P1.3连接,RES与P1.4连接。

12)红外接收电路:

接受端与单片机的P3.3连接。

13)外接电源电路:

外接电源时,注意内正外负。

当外部电源为5V时,可以短接J12。

当外部电源高于5V时,一定不可短接J12。

14)JTAG下载电路:

分别与单片机的P1.5P1.6P1.7RST端连接。

15)J1:

LED电源跳线

16)J2:

AVR/51选择跳线,当选用的是51单片机(包括STC单片机),跳线跳到右边。

17)J7:

LCD电源跳线

18)J9:

TLC549输入电压跳线。

如果你不是测开发板上的可调电阻的电压时,可以取下短路帽,跳线又端连到你想测试电压的外部电路即可。

在跳线左边,有一个较大的焊盘,是输入到TLC549电压的实际值,可以用万用表测量。

测外部电压时,注意两个系统共地。

19)J10:

数码管电源跳线

20)J12:

外部跳线电源选择。

外接电源时,注意内正外负。

当外部电源为5V时,可以短接J12。

当外部电源高于5V时,一定不可短接J12,以免烧坏芯片。

21)单片机左上角跳线为5V电源。

22)单片机右上角跳线为地。

三、

测温软件设计

1、初始定义模块

#defineucharunsignedchar

#defineuintunsignedint

#definejump_ROM0xCC

#definestart0x44

#defineread_EEROM0xBE

sbitDQ=P3^4;//DS18B20数据口

sbitE=P2^7;//1602使能引脚

sbitRW=P2^6;//1602读写引脚

sbitRS=P2^5;//1602数据/命令选择引脚

unsignedcharTMPH,TMPL;

2、DS18B20复位模块(参阅DS18B20芯片手册)

voiddelay(uintN)

{

……;

}

ucharReset(void)

{

……;

}

3、DS18B20读1位(参阅DS18B20芯片手册)

ucharread_bit(void)

{

……;

}

4、DS18B20写1位(参阅DS18B20芯片手册)

voidwrite_bit(ucharbitval)

{

……;

}

5、DS18B20读1个字节(参阅DS18B20芯片手册)

ucharread_byte(void)

{

……;

}

6、DS18B20写1个字节(参阅DS18B20芯片手册)

voidwrite_byte(ucharval)

{

……;

}

7、1620LCD初始化(参阅液晶例程)

voiddelay_1()

{

……;

}

voidL1602_init(void)

{

……;

}

8、LCD1620数值翻转(参阅液晶例程)

ucharConvert(ucharIn_Date)

{

……;

}

9、LCD1620写函数(参阅液晶例程)

voidwrite(uchardel)

{

……;

}

voidL1602_char(ucharhang,ucharlie,charsign)

{

……;

}

voidL1602_string(ucharhang,ucharlie,uchar*p)

{

……;

}

10、测温及显示过程

  Reset();

write_byte(jump_ROM);

write_byte(start);

Reset();

write_byte(jump_ROM);

write_byte(read_EEROM);

TMPL=read_byte();

TMPH=read_byte();

temp=TMPH;

temp<<=8;

temp=temp|TMPL;

temp=TMPL/16+TMPH*16;

    ……

 

附录1KEIL软件使用手册

KeilC51软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM语言和C语言的程序设计,界面友好,易学易用。

进入KeilC51后,屏幕如下图所示。

几秒钟后出现编辑界面。

 简单程序的调试

 学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。

下面通过简单的编程、调试,引导大家学习KeilC51软件的基本使用方法和基本的调试技巧。

 1)建立一个新工程

 单击Project菜单,在弹出的下拉菜单中选中NewProject选项。

 

 2)然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51,如下图所示,然后点击保存。

 3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keilc51几乎支持所有的51核的单片机,我这里还是以大家用的比较多的Atmel的89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定。

 4)完成上一步骤后,屏幕如下图所示。

 到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。

 5)在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项

  

 新建文件后屏幕如下图所示。

此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了。

建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“SaveAs”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。

注意,如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。

然后,单击“保存”按钮。

 6)回到编辑界面后,单击“Target1”前面的“+”号,然后在“SourceGroup1”上单

击右键,弹出如下菜单

 然后单击“AddFiletoGroup‘SourceGroup1’”屏幕如下图所示。

 选中Test.c,然后单击“Add ”屏幕如下图所示。

 注意到“SourceGroup1”文件夹中多了一个子项“Text1.c”了吗?

子项的多少与所增加的源程序的多少相同。

 7)现在,请输入如下的C语言源程序:

 #include         //包含文件

 #include

 voidmain(void)          //主函数

 {    

  SCON=0x52;

  TMOD=0x20;

  TH1=0xf3;

  TR1=1;              //此行及以上3行为PRINTF函数所必须

  printf(“HelloIamKEIL.\n”);  //打印程序执行的信息

  printf(“Iwillbeyourfriend.\n”);

  while

(1);

 }

 在输入上述程序时,Keilc51会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。

程序输入完毕后,如下图所示。

 8)在上图中,单击“Project”菜单,再在下拉菜单中单击“BuiltTarget”选项(或者使用快捷键F7),编译成功后,再单击“Project”菜单,在下拉菜单中单击“Start/StopDebugSession”(或者使用快捷键Ctrl+F5),屏幕如下所示。

 9)调试程序:

在上图中,单击“Debug”菜单,在下拉菜单中单击“Go”选项,(或者使用快捷键F5),然后再单击“Debug”菜单,在下拉菜单中单击“StopRunning”选项(或者使用快捷键Esc);再单击“View”菜单,再在下拉菜单中单击“SerialWindows#1”选项,就可以看到程序运行后的结果,其结果如下图所示

至此,我们在KeilC51上做了一个完整工程的全过程。

但这只是纯软件的开发过程,如何使用程序下载器看一看程序运行的结果呢?

10)单击“Project”菜单,再在下拉菜单中单击“OptionsforTarget1”项,在下图中,单击“Output”中单击“CreateHEXFile”选项,使程序编译后产生HEX代码,供下载器软件使用。

把程序下载到AT89S51单片机中。

附录2 ISP下载软件使用说明

使用STC-ISP软件进行单片机程序烧写,具体步骤如下。

1、开发实验板接电源;

2、连接实验板串口与计算机USB口;

3、点击STC-ISP软件,打开STC单片机下载软件

4、单击下拉菜单,选择待烧写的芯片型号:

5、单击OpenFile按钮,选择要下载的文件:

6、选择下载端口和下载速度:

7、选择下载后芯片选项:

8、选择点击Download/下载按钮:

9、断开开发实验板电源,使芯片彻底失电;

10、接通开发实验板电源,使芯片重新上电,软件继续下载并提示下载完成。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2