基于DS18b20的温度测量和秒表设计单片机最小系统实验报告.doc
《基于DS18b20的温度测量和秒表设计单片机最小系统实验报告.doc》由会员分享,可在线阅读,更多相关《基于DS18b20的温度测量和秒表设计单片机最小系统实验报告.doc(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机最小系统实验报告基于DS18b20的温度测量和秒表设计目录单片机最小系统实验报告1一、单片机31.单片机简介32.最小系统33. AT89C51单片机引脚说明4二、18B20介绍5三、最小系统硬件设计81、设计结构框图82、系统时钟电路83、复位电路8四、实验具体容91、实现LED显示器的选通并显示字符92、基于DS18b20的温度测量和秒表设计16五、总结29一、单片机1.单片机简介单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统
2、集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。它最早是被用在工业控制领域AT89C51提供以下标准功能:8K字节Falsh闪速存储器,256字节部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片震荡器与时钟电路,同时AT89C51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU
3、的工作,但允许RAM,时/计数器,串行通信口与中断系统持续工作。掉电方式保存RAM中的容,但震荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。AT89C51单片机主要功能特性:兼容MCS51指令系统4k可反复擦写(1000次)FlashROM32个双向I/O口8个中断源三个16位可编程定时/计数器2.7-6.V的宽工作电压围时钟频率0-24MHz128x8bit部RAM五个外部中断源两个串行中断可直接驱动LED两级加密位低功耗睡眠功能置一个模拟比较放大器可编程UARL通道软件设置睡眠和唤醒功能2.最小系统单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.
4、对51系列单片机来说,单片机+晶振电路+复位电路,便组成了一个最小系统.但是一般我们在设计中总是喜欢把按键输入、显示输出等加到上述电路中,成为小系统。3. AT89C51单片机引脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,部无上拉电阻每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。P1口:P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于部
5、上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。P3口:P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2
6、 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:
7、每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有部程序存储器。注意加密方式1时,/EA将部锁定为RESET;当/EA端保持高电平时,此间部程序存储器。在FL
8、ASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入与部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。二、18B20介绍DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。(1)DS18B20
9、(a)通过单线总线端口访问 DS1820 的协议如下:初始化void Init_DS18B20() uchar x=0; DQ = 1; /DQ复位 delay_18B20(8); /稍做延时 DQ = 0; /单片机将DQ拉低 delay_18B20(80); /精确延时 大于 480us DQ = 1; /拉高总线 delay_18B20(14); x=DQ; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay_18B20(20); ROM 操作命令int ReadOneChar(void)uchar i=0;uchar dat = 0;for (i=8;i0;i-) D
10、Q = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; delay_18B20(4); return(dat);存储器操作命令WriteOneChar(uchar dat) uchar i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; delay_18B20(5); DQ = 1; dat=1; 执行/数据ReadTemperature(void)uchar a=0;uchar b=0;uint t=0;Init_DS18B20();WriteOneChar(0xCC); / 跳过读序号列号的操作
11、WriteOneChar(0x44); / 启动温度转换delay_18B20(100);Init_DS18B20();WriteOneChar(0xCC); /跳过读序号列号的操作WriteOneChar(0xBE); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();b=ReadOneChar();/传感器返回值除16得实际温度值/为了得到2位小数位,先乘100,再除16,考虑整型数据长度,/技巧处理后先乘25,再除4,除4用右移实现b=8;t=a+b;return(t);DS1820 需要严格的协议以确保数据的完整性。协议包括几种单线信号类型:复位脉冲
12、、存在脉冲、写0、写1、读0 和读1。所有这些信号,除存在脉冲外,都是由总线控制器发出的。和 DS1820 间的任何通讯都需要以初始化序列开始,初始化序列见下图。一个复位脉冲跟着一个存在脉冲表明DS1820 已经准备好发送和接收数据(适当的ROM 命令和存储器操作命令)(b)当总线上只有一个器件时,DS18B20读温度的流程为:复位发0CCH SKIP ROM命令发44H开始转换命令延时复位发0CCHSKIP ROM命令发0BEH读存储器命令连续读出两个字节数据(即温度)结束。 Convert T 44h这条命令启动一次温度转换而无需其他数据。温度转换命令被执行,而后DS1820 保持等待状态
13、。如果总线控制器在这条命令之后跟着发出读时间隙,而DS1820 又忙于做时间转换的话,DS1820 将在总线上输出“0”,若温度转换完成,则输出“1”。如果使用寄生电源,总线控制器必须在发出这条命令后立即起动强上拉,并保持500ms。 Read Scratchpad BEh这个命令读取暂存器的容。读取将从字节0 开始,一直进行下去,直到第9(字节8,CRC)字节读完。如果不想读完所有字节,控制器可以在任何时间发出复位命令来中止读取。(c)DS18b20 用12 位存贮温值度最高位为符号位,下图为18b20 的温度存储方式,负温度S=1 正温度S=0LSB:D7 D6 D5 D4 D3 D2 D
14、1 D0232221202-12-22-32-4MSB:D7 D6 D5 D4 D3 D2 D1 D0SSSSS272625三、最小系统硬件设计1、设计结构框图2、系统时钟电路单片机部具有一个高增益反相放大器,用于构成振荡器。通常在引脚XTALl和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,系统时钟电路结构如图:3、复位电路单片机小系统采用上电自动复位和手动按键复位两种方式实现系统的复位操作。上电复位要求接通电源后,自动实现复位操作。手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。显示电路、键盘以与外部RAM的扩展根据具体电路的不同而不同四、实验具体容1、
15、实现LED显示器的选通并显示字符电路图的绘制(1)打开PROTEUS将所需元器件加入到对象选择器窗口。Picking Components into the Schematic单击对象选择器按钮,如图所示弹出“Pick Devices”页面,在“Keywords”输入AT89C51,系统在对象库中进行搜索查找,并将搜索结果显示在“Results”中,如图所示。在“Results”栏中的列表项中,双击“AT89C51”,则可将“AT89C51”添加至对象选择器窗口。 (2)接着在“Keywords”栏中重新输入7SEG,如图所示。双击“7SEG-MPX6-CA-BLUE”,则可将“7SEG-MP
16、X6-CA-BLUE”(6位共阳7段LED显示器)添加至对象选择器窗口。(3)最后,在“Keywords”栏中重新输入RES,选中“Match Whole Words”,如图所示。在“Results”栏中获得与RES完全匹配的搜索结果。双击“RES”,则可将“RES”(电阻)添加至对象选择器窗口。单击“OK”按钮,结束对象选择。经过以上操作,在对象选择器窗口中,已有了7SEG-MPX6-CA-BLUE、AT89C51、RES三个元器件对象,若单击AT89C51,在预览窗口中,见到AT89C51的实物图,如图所示;若单击RES或7SEG-MPX6-CA-BLUE,在预览窗口中,见到RES和7SE
17、G-MPX6-CA-BLUE的实物图,如图所示。此时,我们已注意到在绘图工具栏中的元器件按钮处于选中状态。(4)放置元器件至图形编辑窗口Placing Components onto the Schematic在对象选择器窗口中,选中7SEG-MPX6-CA-BLUE,将鼠标置于图形编辑窗口该对象的欲放位置、单击鼠标左键,该对象被完成放置。同理,将AT89C51和RES放置到图形编辑窗口中。如图所示。(5)放置总线至图形编辑窗口单击绘图工具栏中的总线按钮,使之处于选中状态。将鼠标置于图形编辑窗口,单击鼠标左键,确定总线的起始位置;移动鼠标,屏幕出现粉红色细直线,找到总线的终了位置,单击鼠标左键
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 DS18b20 温度 测量 秒表 设计 单片机 最小 系统 实验 报告
限制150内