收藏 分享(赏)

简易数字温度计课程设计.doc

上传人:精品资料 文档编号:7737914 上传时间:2019-05-25 格式:DOC 页数:30 大小:318.44KB
下载 相关 举报
简易数字温度计课程设计.doc_第1页
第1页 / 共30页
简易数字温度计课程设计.doc_第2页
第2页 / 共30页
简易数字温度计课程设计.doc_第3页
第3页 / 共30页
简易数字温度计课程设计.doc_第4页
第4页 / 共30页
简易数字温度计课程设计.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、 唐 山 学 院单片机原理 课 程 设 计 题 目 简易数字温度计 系 (部) 智能与信息工程学院 班 级 姓 名 学 号 指导教师 2017 年 1 月 2 日至 1 月 6 日 共 1 周2017 年 1 月 4 日单片机原理课程设计任务书一、设计题目、内容及要求设计题目:简易数字温度计设计内容:所设计数字温度计应具有以下功能:1.可以测量-50 到 110 摄氏度内的温度。2.在液晶上显示当前温度,分别为百位、十位、个位和小数点后一位。3.测量精度误差在正负 0.5 摄氏度以内。设计要求:1.根据题目要求进行系统总体设计。 2.完成系统硬件电路的设计。3.系统程序的设计。 (1)程序流程

2、图;(2)完整源程序;(3)正确仿真运行。4.撰写设计说明书(符合格式要求)。二、设计原始资料PROTEUS 软件, WAVE/KEIL 软件,实验箱三、要求的设计成果(课程设计说明书、设计实物、图纸等)设计结果能正确仿真演示课程设计说明书一份(要求有硬件设计原理图,仿真结果图,源程序代码)四、进程安排1.2 日-1.3 日上午 查阅资料,设计电路原理图、编写程序1.4 日下午-1.5 日 中心机房调试程序1.6 日 课程设计答辩五、主要参考资料1肖看.李群芳 .单片机原理、接口及应用,清华大学出版社.2010.92楼然苗.单片机课程设计指导.北京:北京航空航天大学出版社.2002.3孙育才主

3、编,MCS-51 系列单片微型计算机及其应用.东南大学出版社指导教师(签名): 教研室主任(签名):课程设计成绩评定表出勤天数 出勤情况 缺勤天数出勤情况及设计过程表现(20 分)课设答辩(20 分)设计成果(60 分)成绩评定总成绩(100 分)提问(答辩)问题情况综合评定指导教师签名:年 月 日目 录1.方案论证 12.硬件设计 22.1 系统构成 22.2 器件选择 22.2.1 AT89C51 概述 22.2.2 AT89C51 引脚功能 32.2.3 复位电路的设计 .42.3 数字温度传感器 .52.3.1 DS1621 的技术指标 .52.3.2 DS1621 的工作原理 .62

4、.4 单片机和 DS1621 接口电路 62.5 七段 LED 数码显示电路 .73.系统软件设计 93.1 编程语言选择 .93.2 主程序的设计 .93.3 温度采集模块设计 103.4 温度计算模块设计 103.5 串行总线编程 114.软硬件调试结果分析 .125.设计总结 .136.参考文献 .14附录 A 多点温度采集系统电路原理图 .15课程设计说明书01.方案论证 该系统可以使用方案一:热敏电阻;方案二:数字温度芯片 DS1621 实现。采用数字温度芯片 DS1621 测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定

5、,它能用做工业测温元件,此元件线形较好。在 0100 摄氏度时,最大线形偏差小于 1 摄氏度。DS1621 的最大特点之一采用了单总线的数据传输,由数字温度计 DS1621 和微控制器 AT89C51 构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大。采用 51 单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。控制工作,还可以与 PC 机通信上传数据,另外 AT89S51 在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。该系统利用 AT89C51

6、芯片控制温度传感器 DS1621 进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。该系统扩展性非常强,它可以在设计中加入时钟芯片 DS1302 以获取时间数据,在数据处理同时显示时间,并可以利用 AT24C16 芯片作为存储器件,以此来对某些时间点的温度数据进行存储,利用键盘来进行调时和温度查询,获得的数据可以通过 MAX232芯片与计算机的 RS232 接口进行串口通信,方便的采集和整理时间温度数据。故采用了方案二。测温电路的总体设计方框图如图 1-1 所示,控制器采用单片机 AT89C51,温度传感器采用 DS1621,用 5 位 LED 数码管以串口传

7、送数据实现温度显示。图 1-1 测温电路的总体设计方框图课程设计说明书12.硬件设计2.1 系统构成本温度数据采集系统的主要功能是测量温度,并显示温度测量结果,并附带了单片机和 PC 机之间通讯接口。系统结构包括单片机部分、温度传感器、显示电路、通讯接口电路等几个部分。图 2-1 为系统的总体结构框图。系统工作原理是:电路在上电后,最先单片机利用模拟总线 I2C 对 DS1621 进行寻址,单片机在接收到 DS1621 应答后,单片机将设置/状态寄存器的值通过 I2C总线写入该寄存器,之后 DS1621 在单片机控制下进行温度测量,然后 DS1621 把所采集的温度(50 摄氏度100 摄氏度

8、,精度为 0.5 摄氏度)传输给单片机,最后单片机把温度数据送到 LED 上显示。系统中附带的串行接口以供备用。2.2 器件选择2.2.1 AT89C51 概述对于单片机的选择,可以考虑使用 8031 与 8051 系列,由于 8031 没有内部RAM,系统又需要大量内存存储数据,因而不适用。所以,我们选用 51 系列单片机 AT89C51。AT89C51 是美国 ATMEL 公司生产的低功耗,高性能 CMOS8 位单片机,片内含 4KB 的可编程的 Flash 只读程序存储器,兼容标准 8051 指令系统及引脚,并集成了 Flash 程序存储器,既可在线编程(ISP) ,也可用传统方法进行编

9、程,因此,低价位 AT89C51 单片机可应用于许多高性价比的场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。单片机 AT89C51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。AT89C51 的主要特性如下:图 2-1 测温系统的总体结构框图课程设计说明书2与 MCS-51 兼容; 4K 字节可编程闪烁存储器;三级程序存储器锁定;1288 位内部 RAM; 32 根可编程 I/O 线;两个 16 位定时器/计数器; 5 个中断源;可编程串行通道; 片内振荡器和时钟电路。2.2.2 AT89C51

10、 引脚功能单片机芯片 AT89C51 为 40 引脚双列直插式封装。其各个引脚功能介绍如下,芯片AT89C51 的引脚排列和逻辑符号如图 2-2 所示。各引脚分别为: VCC:供电电压 图 2-2 AT89C51 的引脚GND:接地P0 口P0 口为一个 8 位漏级开路双向 I/O 口,每个管脚可吸收 8TTL 门电流。当 P1口的管脚写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在 FLASH 编程时,P0 口作为原码输入口,当 FLASH进行校验时,P0 输出原码,此时 P0 外部电位必须被拉高。P1 口P1 口是一个内部提供上拉电阻的

11、8 位双向 I/O 口,P1 口缓冲器能接收输出4TTL 门电流 P1 口管脚写入”1”后,电位被内部上拉为高可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时,P1 口作为第八位地址接收。P2 口P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个TTL 门电流当 P2 口被写”1”时,其管脚电位被内部上拉电阻拉高,且作为输入。作为输入时 P2 口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。P2口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给

12、出地址”1”时,它利用内部上拉的优势,当对外部八位地址数据图 4-2 AT89C51 的引脚排列图课程设计说明书3存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。P3 口P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入时,由于外部下拉为低电平,P3 口将输出电流(ILL) ,也是由于上拉的缘故。P3 口也可作为 AT89C51 的一些特殊功能口,同时 P3 口同时为闪烁编程和编程校验接收一些控制信号。RST:复

13、位输入端。当振荡器复位时,要保持 RST 两个机器周期的高电平时间。PSEN外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周期PSEN 两次有效。但在访问外部数据存储器时,这两次有效的 PSEN 信号将不出现。EA/VPP当 EA 保持低电平时,访问外部 ROM;注意加密方式 1 时,EA 将内部锁定为RESET;当 EA 端保持高电平时,访问内部 ROM。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP) 。2.2.3 复位电路的设计单片机的复位电路如图 2-2 所示。该复位电路采用手动复位与上电复位相结合的方式。当按下按键 S1 时,VCC 通过 R2

14、电阻给复位输入端口一个高电平,实现复位功能,即手动复位。上电复位就是 VCC 通过电阻 R2 和电容 C 构成回路,该回路是一个对电容 C1 充电和放电的电路,所以复位端口得到一个周期性变化的电压值,并且有一定时间的电压值高于 CPU 复位电压,实现上电复位功能。图 2-3 单片机的复位电路课程设计说明书42.3 数字温度传感器2.3.1 DS1621 的技术指标DS1621 是美国 DALLAS 公司生产的一种功能较强的数字式温度传感器和恒温控制器。数字接口电路简单,与 I2C 总线兼容,且可以使用一片控制器控制多达 8 片的 DS1621。其数字温度输出达 9 位,精度为 0.5 摄氏度。

15、DS1621 可工作在最低2.7V 电压下,适用于低功耗应用系统。 DS1621 的引脚排列图如图 2-4 所示,引脚功能描述如表 2-1 所示。引脚 符号 功能描述1 SDA 2线 I2C 串行数据输入/ 输出2 SCL 2线 I2C 串行时钟端3 TOUT 温度上下限超出输出4 GND 地5 A2A0 片选地址输入 A2A06 VDD 电源端(+2.7 5.5V)图 2-4 DS1621 的引脚排列图表 2-1 DS1621 的引脚功能表课程设计说明书52.3.2 DS1621 的工作原理DS1621 的构成原理框图如图 2-5 所示,在测量温度时使用了独有的在线温度测量技术。它通过在一个

16、由对温度高度敏感的振荡器决定的计数周期内对温度低敏感的振荡器时钟脉冲的计数值的计算来测量温度。DS1621 在计数器中预置了一个初值,它相当于50 摄氏度。如果计数周期结束之前计数器达到 0,已预置了此初值的温度寄存器中的数字就会增加,从而表明温度高于55 摄氏度。与此同时,计数器斜坡累加电路被重新预置一个值,然后计数器重新对时钟计数,直到计数值为 0。通过改变增加的每 1 内的计数器的计数,斜坡累加电路可以补偿振荡器的非线性误差,以提高精度,任意温度下计数器的值和每一斜坡累加电路的值对应的计数次数须为已知。 DS1621 通过计算可以得到 0. 5 摄氏度的精度,温度输出为 9 位,在发出读

17、温度值请求后还会输出两位补偿值。表 2 给出了所测的温度和输出数据的关系。这些数据可通过 2 线制串行口连续输出,MSB 在前,LSB 在后。 2.4 单片机和 DS1621 接口电路前面已经介绍了 DS1621 温度传感器以 8 位数字输出,数据输出与 I2C 总线兼容,可以方便地通过 SDA,SCL 以串行方式与单片机相连。而 AT89C51 面向主/从功能字节的 I2C 总线串行 I/O 口,所以多路温度数字量可以通过 I2C 总线直接送GAS97C2051 单片机。I2C 总线(Inter IC BUS)是 Philips 公司推出的双向两线串行通信标准。由于它具有接口少、通信效率高等

18、优点,现已得到广泛的应用 I2C 总线是一种串行的图 2-5 DS1621 的构成原理框图斜坡累加电路重 预 置 比 较 器计数温度低敏感振荡器重预置电路温度寄存器温度低敏感振荡器 计 数 器=0课程设计说明书6数据总线,挂在总线上的各集成电路模块(单片机和具有各种功能的电路芯片)通过一条串行的数据线 (SDA)和一条串行的时钟线(SCL) ,按一定的通信协议进行寻址和信息的传输。每个电路模块都有唯一的地址,在信息的传输过程中,I2C 总线上的电路模块有的是主控器,有的是被控器,主控器和被控器都可以是发送器或接收器,这完全取决于它所要完成的功能。采用 I2C 总线可最大限度地简化电路结构,实现

19、电路的模块化、标准化设计。I2C 总线在进行数据传输时,由作为主控器的 AT89C51 来初始化一次数据的传输,并在 I2C 总线上提供时钟进行传送。信息传送的对象、方向和传送的开始、终止也由主控器(AT89C51)来决定。此时,在 I2C 总线上被主控器所寻址的集成电路模块称为被控器(DS162) 。在 I2C 总线上,数据由发送器传出,并被接收器接收,接收器在每次正确接收到一个数据字节后,都要在数据总线(SDA)上给发送器一个应答信号。因单片机 AT89C51 本身 没有 I2C 硬件资源,所以必须用软件来模拟 I2C 总线,本系统利用单片机 AT89C51 的 P3.0 和 P3.1 引

20、脚分别作 I2C 总线的数据线和时钟线(见附录 A) 。AT89C51 模拟 I2C 总线主要由软件设置来实现其功能。2.5 七段 LED 数码显示电路采用七段 LED 数码显示,LED 显示器内部由 7 段发光二极管组成,因此亦称之为七段 LED 显示器,由于主要用于显示各种数字符号,故又称之为 LED 数码管。每个显示器还有一个圆点型发光二极管,用于显示小数点。在单片机 AT89C51 接收到 DS1621 所采集的温度数据后,单片机把所读到的数据送给数码管显示。系统具体的显示电路如图 2-6 所示。显示电路中单片机 AT89C51 的 P0 口直接驱动 8 段数码管(其中需要给 P0 外

21、图 2-6 七段 LED 数码管显示电路课程设计说明书7接上拉电阻)完成字形码的输出(字形选择) 。而 P2.1-P2.5 控制 6 位 LED 进行分时选通,这样在任一时刻,只有一位 LED 是点亮的,但只要扫描的频率足够高(一般大于 25Hz) ,由于人眼的视觉暂留特性,直观上感觉却是连续点亮的,这就是我们常说的动态扫描电路。课程设计说明书83.软件设计与调试3.1 编程语言选择51 的编程语言常用的有两种,一种是汇编语言,一种是 C 语言。汇编语言的机器代码生成效率很高但可读性却并不强,复杂一点的程序就更是难读懂,而 C语言在大多数情况下其机器代码生成效率和汇编语言相当,C 语言很好的结

22、构性和模块化更容易阅读和维护,用 C 编写程序比汇编更符合人们的思考习惯,开发者可以更专心的考虑算法而不是考虑一些细节问题这样就减少了开发和调试的时间,而且 C 语言还可以嵌入汇编来解决高时效性的代码编写问题。3.2 主程序的设计主程序的主要功能是负责多点温度数据的实时采集、传输,处理和显示。其程序流程如图 3-1 所示。初始化N读温度数据并存储生成地址字节 1001000,循环次数3延时 1S 以上等待结果启 动 转 换向设置/状态寄存器设置为连续工作方式生成地址字节 1001000,循环次数 3次地址字节加 02H 循环次数减 1 为 0?读温度数据并存储及显示地址字节加 02H 循环次数

23、减 1 为 0?图 3-1 主程序流程图NN课程设计说明书93.3 温度采集模块设计为本温度采集系统开发的软件程序,可以对 DS1621 内部的寄存器编程控制DS1621 的工作方式,以及从这些数据寄存器读取温度值,最后把经过单片机数据处理后的温度送到 LED 上显示。AT89C51 扮演着上传下达的角色,单片机端的程序采用了 C 语言。DS1621 一侧的通信程序将利用并行端口 P3.0 和 P3.1 来模拟 I2C 总线协议,总线上的通信通过程序来实现。整个软件采用了模块化的程序设计方法。为了实现 AT89C51 和 DS1621 之间I2C 协议之下的串行通信,编写了一些专用子程序。这些

24、子程序段包括:符号定义、AT89C51 的端口初始化、启动信号时序产生、停止信号时序产生、发送字节、读取字节、读取温度、显示。系统电路在上电后开始工作,最先程序单片机进行初始化设置,然后单片机利用模拟 I2C 总线对 DS1621 进行寻址。单片机在接收到 DS1621 应答后,紧接着单片机利用命令(AAh、ACh、EEh、22h)将设置/状态寄存器的值通过 I2C 总线写入DS1621 状态寄存器,该系统中把 DS1621 设置为连续温度转换工作方式,之后DS1261 在单片控制下进行温度测量,然后 DS1261 把所采集的温度传输给单片机,最后单片机把温度数据送到 LED 上显示。3.4

25、温度计算模块设计计算温度子程序将从 DS1621 中读取的温度值进行 BCD 码的转换运算,并进行温度值正负的判定,其程序流程图如图 3-2 所示。开始温度零下?温度值取补码置“”标志计算小数位温度 BCD值 计算整数位温度 BCD值 结束置“+”标志NY图 3-2 温度计算流程图课程设计说明书103.5 串行总线编程在本系统中,单片机 AT89C51 作为主控器件,3 个 DS1621 作为被控器,所以我们只要考虑主方式下的状态处理模块,即考虑 AT89C51 主发送和主接收方式下的状态处理模块。该电路中为了简化电路设计在 I2C 总线的时钟和数据上各加了一个上拉电阻,以获取一定的上拉电流使

26、信号采集可靠。本系统中挂在 I2C 总线上的各电路模块都有其节点地址。AT89C51 作为主控器其节点地址无意义,作为被控器的 3 个 DS1621 都有其节点地址,其地址为1001A2A1A0 ,其中, 1001 是器件编号,已由芯片生产厂家规定,A2A1A0 为DS1621 的 3 个引脚,在电路中分别接高低电平决定 2 个 DS1621 的不同地址。2 个DS1621 的地址分别为 10010001001010。本系统中的 I2C 总线的寻址方式为的广播寻址,即 AT89C51 对挂在 I2C 总线上所有的 DS1621 的广播呼叫寻址。AT89C51 发出开始信号 S 后的第一个字节确

27、定由 AT89C51 所选择的一个DS1621 的地址,然后在第一个字节以后开始数据传送。具体实现寻址的方法是:由 AT89C51 发出启动位 S 后紧跟着发送从器件DS1621 的 7 位地址码,即 S+SLA,在节点地址寻址中 SLA 为被寻址的从节点地址,主控设备在发送数据前,在时钟为高时,在数据线上发送一个由高到低的信号来表示开始传送数据,DS1621 接收到开始信号时,移入后续 8 位(高 7 位地址线和一个 R/W 位)来确定进行如何操作,R/W 位为 0 表示写,为 1 表示读。读写操作完成后,在时钟为高时,在数据线上发送一个由低到高的信号表示传送结束。具体数据格式如图 3-3

28、所示,时序如图 3-4 所示。图 3-3 串行通信的数据格式图 3-4 串行通信的时序图课程设计说明书114.软硬件调试结果分析本设计应用 Proteus 及 Keil 软件,首先根据自己设计的电路图用 Proteus 软件画出电路模型,关于这个软件的使用通过查一些资料和自己的摸索学习;然后用 Keil 软件对所编写的程序进行编译、链接,如果没有错误和警告便可生成程序的 hex 文件,调试好程序后将目标文件导入 Proteus 的 AT89C51 芯片中进行软件调试。最后进行三路温度的对比测试。数字温度计的仿真电路图如图 4-1 所示。图 4-1 仿真图仿真结果分析:不断调整三路 DS1621

29、 的温度值,发现 LED 显示器上的数值和DS1621 屏幕上的标准值相差无几,在误差允许的范围之内。当某一路的温度不在50-80 范围时,两个 LED 同时发光,表示告警信息。经调试,证明开发者最终设计出结构合理、美观,主要电气指标良好,性能稳定可靠的电路。课程设计说明书125.设计总结不知不觉中,一周的课程设计实习已经接近尾声了。可能是假期快到的缘故,总感觉这次实习特别短暂。此刻,真是感慨万千啊!现在我可以自豪的说,这次实习我达到了预期的目标。因为在实习期间,我每天都在接触新的东西,每天都会有新的问题等待我去探讨去解决,每天都有新收获。回想课设第一天,我们做点电脑前,不知道自己能干点什么,

30、对于指导老师的讲解也是云里雾里的。因为头一回接触 Proteus 和 Keil 这两个软件。但是我相信,只要自己用心了,没有办不成的事。于是,我静下心来,仔细研究老师下发的教程。我珍惜每一次的上机机会,勤加练习,课下积极研究手册和相关书籍。两天过后,才算有点眉目了。到这时心里才算稍微安稳了一些,再加上以前学过名为 Protel 的电路设计软件,所以我的自信心加强了。在这次设计过程中,体现出自己单独设计电路的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。在此感谢我们的田红霞、张国旭老师,老师严谨细致、一丝不苟的作风一直

31、是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次简易数字温度计设计的每个实验细节和每个数据,都离不开老师您的细心指导。而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计。同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持,让我感受到同学的友谊。课程设计说明书136.参考文献1肖看.李群芳.单片机原理、接口及应用,清华大学出版社.2010.92楼然苗.单片机课程设计指导.北京:北京航空航天大学出版社.2002.3孙育才主编,MCS-51 系列单片微型计算机及其应用.东南大学出版社课程设计说明书14附录 A 多点温度采集系统电路原理图课程设计说明书1

32、5附录 B C 语言源代码#include “reg51.h“#include “intrins.h“#define uchar unsigned char#define uint unsigned int#define DiSdata P0 /七段码数据输出口#define discan P2 /扫描数据输出口sbit DIN=P07; /小数点控制sbit Scl=P30; /串行时钟sbit Sda=P31; /串行数据sbit alarm=P17;sbit alarm2=P16;uint i;uint h; uint temp;uchar dath2; /温度输入口uchar ff2,

33、ff1=0,t3=0;uchar code dis_712=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40;/共阴 LED 段码表 “0“ “1“ “2“ “3“ “4“ “5“ “6“ “7“ “8“ “9“ “灭“ “-“ uchar code scan_con5=0xfd,0xfb,0xf7,0xef,0xdf; /LED 显示控制,对应 0 的 LED 有效uchar data display5=0x00,0x00,0x00,0x00,0x002; /显示单元数据,共 6 个数据和一个运算暂用uchar data

34、display15=0x01,0x02,0x03,0x04,0x052;uchar data DD4=0x90,0x92,0x94; /void delay_us(uint t) /延时函数for (;t0;t-);课程设计说明书16/scan() /LED 扫描函数uchar k;for(k=0;k80)alarm2=1;elsealarm2=0;display0=d;f=0;if(datahdisplay1=10;datah=datah+1;datah=datah;datah=datah+1; display2=(datah/10)%10);display3=datah%10;if(dat

35、alelsedisplay4=0;else课程设计说明书23display1=datah/100;display2=(datah/10)%10);display3=datah%10;if(datalelsedisplay4=0;if(!display1) /符号位显示判断 display1=0x0a; /最高位为 0 时不显示if(!display2)display2=0x0a; if(f) display2=0x0b;f=2; /次高位为 0 时不显示if(f=1)display1=0x0b; /负温度时最高位显示“-“void ex_int0() interrupt 0ff2=1;ff1=

36、0; /void ex_int1() interrupt 2 EA=0;ff1=1; ff2=0;EA=1;/课程设计说明书24main() /主函数uchar d=0,t4=1;DiSdata=0xff; /初始化端口discan=0xff;alarm=0;EA=1;EX0=1;EX1=1;IT0=1;IT1=1;for(h=0;h5;h+) /开机显示“0000“displayh=0; scan();delay_us(3);for(d=0;d3;d+) ds1621(d);d=0;while(1) if(ff1) chuli_temp(d);for(h=0;h100;h+)scan();d+;if(d=3) d=0;if(ff2) t3=t3+ff2;if(t3=3)课程设计说明书25t3=0;chuli_temp(t3);ff2=0;scan();

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报