热敏电阻测温电路的设计.doc_第1页
热敏电阻测温电路的设计.doc_第2页
热敏电阻测温电路的设计.doc_第3页
热敏电阻测温电路的设计.doc_第4页
热敏电阻测温电路的设计.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档课程题目:热敏电阻测温电路的设计院 系:机电汽车工程学院班 级:学生姓名:学 号:小组成员:指导教师:目录一、设计目的、要求及方案选择 -(2)1、设计目的 -(2)2、设计要求 -(2)3、设计方案的选择 -(2)二、硬件系统各模块电路的设计 -(3)1、单片机系统的设计 -(3)1-1、AT89C51的简介及管脚功能 -(3)1-1、AT89C51的最小系统介绍 -(5)2、基于MF58的NTC热敏电阻温度测量电路设计 -(7)2-1、MF58热敏电阻的介绍 -(8)2-2、温度测量电路的设计 -(10)3、LED数码管显示电路的设计 -(11)3-1、显示电路驱动系统的设计 -(11)3-2、数码管显示的原理 -(17)3-3、显示电路的原理图 -(19)三、软件系统各模块电路的设计 -(19)1、程序设计语言的选用 -(19)2、软件程序的设计 -(19)2-1、测量系统软件的设计 -(20)2-2、显示电路软件的设计 -(22)四、结论 -(24)五、参考文献 -(25)六、附页 -(26)一、设计目的、要求及方案选择1、设计目的随着人们生活水平的提高,人们对各种测量器具的智能化、多功能化提出了更高的要求,而电子技术的飞速发展使得单片机在各种测量产品领域中的应用越来越广泛。把以单片机为核心,开发出来的各种测量及控制系统作为测量产品的主要部分,使各种测量产品更具智能化、拥有更多功能、便于人们操作和使用,更具时代感,这是测量产品的发展方向和趋势所在。有的测量产品要求测量温度、测量光强度、测量流量、测量速度,需要增加显示、报警和自动诊断等功能。这就要求我们的生产具有自动控制系统,自动控制主要是由计算机的离线控制和在线控制来实现的,离线应用包括利用计算机实现对控制系统总体的分析、设计、仿真及建模等工作;在线应用就是以计算机代替常规的模拟或数字控制电路使控制系统“软化”,使计算机位于其中,并成为控制系统、测试系统及信号处理系统的一个组成部分,这类控制由于计算机要身处其中,因此对计算机有体积小、功耗低、价格低廉以及控制功能强有很高的要求,为满足这些要求,应当使用单片机。单片机在电子产品中应用的广泛,在很多的电子产品中也用到了温度检测和温度控制,但那些温度检测与控制电路通常较复杂,成本也高,本设计提供了一种低成本的利用单片机多余IO口实现的温度检测电路,该电路非常简单,且易于实现,并且适用于几乎所有类型的单片机。2、设计要求20、热敏电阻温度测量系统设计任务要求:a、设计基于MF58的NTC热敏电阻信号调理电路b、设计A/D转换电路c、设计数码管显示电路3、设计方案的选择本设计以AT89C51单片机系统为核心,采用热敏电阻对温度进行检测;通过电容进行充放电进行A/D转换把温度信号调解转换为电压信号,计算出电阻,与AT89C51单片机接口设置LED八段数码管实时显示温度值。本设计包括热敏电阻选择、测量模块、数据传输模块、温度显示模块四个部分。文中对每个部分功能、实现过程作详细介绍。二、硬件系统各模块电路的设计1、单片机系统的设计F1ash AT89系列单片机是一种内部含Flash存储器的特殊单片机。由于它内部含有大容量的Flash存储器,所以,在产品开发及生产便携式商品、手提式仪器等方面有着十分广泛的应用,也是目前取代传统的MCS-51系列单片机的主流单片机之一。AT89系列单片机对于一般用户来说,有下列明显的优点:内部含有Flash存储器,在系统开发过程中很容易修改程序,可以大大缩短了系统的开发时间。与MCS-51系列单片机引脚兼容,可以直接进行代换。AT89系列并不对80C31的简单继承,功能进一步增强。AT89系列包括两大类第一类是常规的,就是AT89C系列,这类单片机要用常规的并行方法编程,必需使用编程器编程;第二类是在系统可编程(即芯片安装到电路板上之后不用拿下来而直接往里面烧写程序)ISP Flash系列,也就是AT89S系列,这类单片机除了用常规的并行方法编程外,还可以在系统用下载线进行编程,省去价格较贵的编程器,而且可以在目标板上直接修改程序。AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。考虑到单片机的存储空间与价格,以及我对单片机的熟悉程度,课本学习的是AT89C51单片机,因此,此次设计我选用了AT89C51单片机来完成此次设计。1-1 AT89C51的简介及管脚功能VCC:供电电压。GND:接地P0口:P0口为一个8位漏极开路双向I/O口,每脚可吸收8个TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(定时器/计数器0外部输入)P3.5 T1(定时器/计数器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。/EA/VPP:当/EA保持低电平时,则在此期间只外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间访问内部程序存储器。当PC值超过片内程序存储器空间时,则自动转向外部程序存储器的程序。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入XTAL2:来自反向振荡器的输出。 XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石英晶体振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。1-2 AT89C51的最小系统介绍时钟电路:单片机内部的振荡电路是一个高增益反相放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。单片机的时钟产生方式有两种。 内部时钟方式。利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路便产生自激振荡,用示波器可以观察到XTAL2输出的时钟信号。 外部时钟方式。在单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入惟一的合用外部振荡脉冲作为各单自片机的时钟。外部时钟方式中是把外部振荡信号源直接接入XTAL1或XTAL2。图3-1为内部时钟电路 图3-2为HMOS型外部时钟电路 图3-3为CHMOS型外部时钟电路复位电路和复位状态单片机的复位是靠外部电路实现的。单片机工作后,只要在它的RST引线上加载10ms以上的高电平,单片机就能够有效地复位。 复位电路。单片机通常采用上电自动复位和按键复位两种方式。最简单的复位电路如下图所示。上电瞬间,RC电路充电,RST引线端出现正脉冲,只要RST端保持10ms以上的高电平,就能使单片机有效地复位。在应用系统中,有些外围芯片也需要复位。如果这些芯片复位端的复位电平的要求一致,则可以将复位信号与之相连。简单的复位电路 复位状态。复位电路的作用是使单片机执行复位操作。复位操作主要是把PC初始化为0000H,使单片机从程序存储器的0000H单元开始执行程序。程序存储器的0003H单元即单片机的外部中断0的中断处理程序的入口地址。留出的0000H0002H 3个单元地址,仅能够放置一条转移指令,因此,MCS-51单片机的主程序的第一条指令通常情况下是一条转移指令。除PC之外,复位还对其他一些特殊功能寄存器有影响,它们的复位状态如表2-16所示。利用它们的复位状态,可以减少应用程序中的初始化编程。表2-16 寄存器的复位状态寄存器复位状态寄存器复位状态PC0000HTMOD00HACC00HTCONOOHPSW00HTL000HSP07HTH000HDPTR0000HTL100HP0P3FFHTH100HIPXxx00000BSCON00HIE0xx00000BPCON0xx00000B由表2-16可知,除SP=07H,P0P3 4个锁存器均为FFH外,其他所有的寄存器均为0,很好记忆。记住他们的复位状态,对于熟悉单片机的操作,减少应用程序中的初始化编程都是十分必要的。单片机的复位不影响片内RAM的状态(包括通用寄存器Rn)。P0、P1、P2、P3共有4个8位并行I/O口,它们引线为:P0.0P0.7、P1.0P1.7、P2.0P2.7、P3.0P3.7,共32条引线。这32条引线可以全部用做I/O线,也可将其中部分用做单片机的片外总线。单片机最小系统图最小系统图2、基于MF58的NTC热敏电阻温度测量电路设计2-1 MF58热敏电阻的介绍热敏电阻传感器是对温度敏感的电阻器的总称,是半导体测温元件。随着外界温度的变化,其阻值会相应发生较大改变。按温度系数分为负温度系数热敏电阻(NTC)和正温度系数热敏电阻(PTC)两大类。NTC热敏电阻以MF为其型号,PTC热敏电阻以MZ为其型号。热敏电阻符号如下图:MF58测温型NTC热敏电阻,由Co、Mn、Ni等过渡金属元素的氧化物组成,经高温烧成半陶瓷,利用半导体微米的精密加工工艺,采用玻璃管封装,耐温性好,稳定性高,可靠性高。应用:1、家用电器,如空调机、微波炉、电风扇、电取暖炉等的温度控制与温度检测。 2、办公自动化设备,如复印机、打印机的温度检测或温度补偿3、工业、医疗、环保、气象、食品加工设备的温度控制与检验。4、液面指示和流量测量。5、手机电池。 6、仪表线圈、集成电路、石英晶体振荡器和热电偶的温度补偿。特点: 1、 稳定性好,可靠性高。 2、 阻值范围宽:0.1-1000K 3、 阻值精度高。 4、 由于玻璃封装,可在高温和高温等恶劣环境下使用。 5、 体积小、重量轻、结构坚固,便于自动化安装(在印制线路板上)。 6、 热感应速度快、灵敏度高。主要技术参数:1、额定零功率电阻值范围(R25):0.11000K 2、R25允许偏差:1%、2%,3%, 5%, 10%. 3、B值范围(B25/50):19604480K 4、B值允许偏差:0.5%,1%,2%. 5、耗散系数: 2mW/(在静止空气中) 6、热时间常数: 20S (在静止空气中) 7、工作温度范围: -55 +300 8、额定功率:50Mw注意事项:1、MF系列热敏电阻器是玻璃封装的,请勿剧震、碰击以防玻璃外壳破裂。2、焊接时间控制在4S内。3、MF系列热敏电阻器不能直接在水中或液体中使用 MF58-503-40的电阻温度表阻值温度167.10.0100.51062.612040.073026.284017.695012.13608.498706.051804.390903.2261002.4091101.8211201.3951301.0811400.84731500.67071600.53641700.43311802-2 温度测量电路的设计原理图:各元器件介绍: P1.0、P1.1和P1.2是单片机的3个IO脚 RT为100K精度为1的热敏电阻 R2为100的普通电阻 C4为0.1的瓷介电容 R4为100K的普通电阻 J1、J2为p沟道的JFET管 Q1为PNP的CMOS管 U3是电压跟随器其工作原理为:(1)将P1.0设为低电平,P1.1、P1.2为低电平,Q1导通,J1、J2截止,使C4放电 至完全,P3.2为高电平(2)将P1.0设为高电平、P1.1为高电平,P1.2为低电平,Q1截止,J1导通,J2截止,通过R4电阻对C4充电,单片机内部计时器清零并开始计时,检测P3.2口状态,当P3.2口检测为低电平时,即C4上的电压充至完全,单片机计时器记录下从开始充电到P3.2口转变为低电平的时间TSC(3)将P1.0设为低电平,P1.1、P1.2为低电平,Q1导通,J1、J2截止,使C4放电 至完全,P3.2为高电平(4)将P1.0设为高电平、P1.1为低电平,P1.2为高电平,Q1截止,J2导通,J1截止,通过RT电阻对C4充电,单片机内部计时器清零并开始计时,检测P3.2口状态,当P3.2口检测为低电平时,即C4上的电压充至完全,单片机计时器记录下从开始放电到P3.2口转变为低电平的时间TEC可以得到:TSCR4TECRT,即 RTTECR4TSC通过单片机计算得到热敏电阻RT的阻值。并通过执行程序可以得到温度值。从上面所述可以看出,该测温电路的误差来源于这几个方面:单片机的定时器精度、R4电阻的精度、热敏电阻RT的精度,而与单片机的输出电压值、门限电压值、电容精度无关。因此,适当选取热敏电阻和精密电阻的精度,单片机的工作频率够高,就可以得到较好的测温精度。当单片机选用12MHz频率,R4、RT均为1精度的电阻时,温度误差可以做到小于1。3、LED数码管显示电路的设计3-1 显示电路驱动系统的设计驱动芯片MAX7219简介:MAX7219是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED。其上包括一个片上的B型BCD编码器、多路扫描回路,段字驱动器,而且还有一个8*8的静态RAM用来存储每一个数据。 只有一个外部寄存器用来设置各个LED的段电流。 MAX7221与SPI、 QSPI以及 MICROWIRE相兼容,同时它有限制回转电流的段驱动来减少EMI(电磁干扰)。 一个方便的四线串行接口可以联接所有通用的微处理器。 每个数据可以寻址在更新时不需要改写所有的显示。MAX7219同样允许用户对每一个数据选择编码或者不编码。 整个设备包含一个150A的低功耗关闭模式,模拟和数字亮度控制,一个扫描限制寄存器允许用户显示1-8位数据,还有一个让所有LED发光的检测模式。它的操作很简单,MCU只需通过模拟SPI三线接口就可以将相关的指令写入MAX7219的内部指令和数据寄存器,同时它还允许用户选择多种译码方式和译码位。此外它还支持多片7219串联方式,这样MCU就可以通过3根线(即串行数据线、串行时钟线和芯片选通线)控制更多的数码管显示。管脚功能:1:DIN 串行数据输入端口。在时钟上升沿时数据被载入内部的16位寄存器。 2,3,5-8,10,11 DIG 0DIG7:八个数据驱动线路置显示器共阴极为低电平。4,9:GND 地线 (4脚和9脚必须同时接地)12:LOAD 载入数据。连续数据的后16位在LOAD端的上升沿时被锁定。13:CLK 时钟序列输入端。最高频率为 10MHz.在时钟的上升沿,数据移入内部移位寄存器。下降沿时,数据从DOUT端输出。14-17,20-23:SEG ASEG G 7段和小数点驱动,为显示器提供电流。当一个段驱动关闭时,7219的此端呈低电平18:ISET: 通过一个10k电阻和Vcc相连,设置段电流19:V+ 正极电压输入,+5V24:DOUT 串行数据输出端口,从DIN输入的数据在16.5个时钟周期后在此端有效。当使用多个MAX7219时用此端方便扩展MAX7219的外部引脚分配如图及内部结构如图2所示。 MAX7219的外部引脚分配MAX7219的内部引脚分配规格:数位数量:8片段数量: 7封装 / 箱体: PDIP-24工作电源电压: 4 V to 5.5 V最大电源电流: 330 mA最大功率耗散: 1066 mW高电平输出电流: 65 mAMAX7219寄存器: MAX7219内部的寄存器如下图,主要有:译码控制寄存器、亮度控制寄存器、扫描界限寄存器、关断模式寄存器、测试控制寄存器。编程时只有正确操作这些寄存器,MAX7219才可工作。MAX7219内部的相关寄存器 ()译码控制寄存器(X9H)如下图所示,MAX7219有两种译码方式:B译码方式和不译码方式。当选择不译码时,8个数据为分别一一对应7个段和小数点位;B译码方式是BCD译码,直接送数据就可以显示。实际应用中可以按位设置选择B译码或是不译码方式。 MAX7219的译码控制寄存器()扫描界限寄存器(XBH)如下图所示,此寄存器用于设置显示的LED的个数(18),比如当设置为0xX4时,LED 05显示。MAX7219的扫描界限控制寄存器()亮度控制寄存器(XAH)共有16级可选择,用于设置LED的显示亮度,从0xX00xXF()关断模式寄存器(XCH)共有两种模式选择,一是关断状态,(最低位 D0=0)一是正常工作状态(D0=1)。()显示测试寄存器(XFH)用于设置LED是测试状态还是正常工作状态,当测试状态时(最低位 D0=1)各位显示全亮,正常工作状态(D0=0)。读写时序说明MAX7129是SPI总线驱动方式。它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。 要想与MAX7129通信,首先要先了解MAX7129的控制字。MAX7129的控制字格式如下图。控制字(即地址及命令字节)如图,工作时,MAX7219规定一次接收16位数据,在接收的16位数据中:D15D12可以与操作无关,可以任意写入,D11D8决定所选通的内部寄存器地址,D7D0为待显示数据或是初始化控制字。在CLK脉冲作用下,DIN的数据以串行方式依次移入内部16位寄存器,然后在一个LOAD上升沿作用下,锁存到内部的寄存器中。注意在接收时,先接收最高位D16,最后是D0,因此,在程序发送时必须先送高位数据,在循环移位。工作时序图见下图。数据读写时序3-2 数码管显示的原理在单片机应用系统中,如果需要显示的内容只有数码和某些字母,使用LED数码管是一种较好的选择。LED数码管显示清晰、成本低廉、配置灵活,与单片机接口简单易行。LED数码管原理:LED数码管是由发光二极管作为显示字段的数码型显示器件。下图为0.5英尺LED数码管的外形和引脚图,其中七只发光二极管分别对应ag笔段构成“”字形另一只发光二极管dp作为小数点。因此这种LED显示器称为七段数码管或八段数码管。LED数码管LED数码管按电路中的连接方式可以分为共阴极和共阳极两大类,如上图。共阳型是将各段发光二极管的正极连在一起,作为公共端COM,公共端COM接高电平,ag、dp各笔段通过限流电阻接控制端。某笔段控制端低电平时,该笔段发光,高电平时不发光。控制这几段笔段发光,就能显示出某个数码或字符。共阴型是将各数码发光二极管的负极连在一起,作为公共端COM接地,某笔段通过限流电阻接高电平时发光。LED数码管按其外形尺寸有多种形式,使用较多的是0.5英寸和0.8英寸;按显示颜色也有多种形式,主要有红色和绿色;按亮度强弱可分为高亮和普亮,指通过同样的电流显示亮度不一样,这是因发光二极管的材料不一样而引起的。LED数码管的使用与发光二极管相同,根据其材料不同正向压降一般为1.52V额定电流为10mA,最大电流为40mA。静态显示时取10mA为宜,动态扫描显示可加大,加大脉冲电流,但一般不超过40mA。LED数码管编码方式当LED数码管与单片机相连时,一般将LED数码管的各笔段引脚a、b、g、dp按某一顺序接到MCS51型单片机某一个并行I/O口D0、D1、D7,当该I/O口输出某一特定数据时,就能使LED数码管显示出某个字符。例如要使共阳极LED数码管显示“0”,则a、b、c、d、e、f各笔段引脚为低电平,g和dp为高电平,如下表。共阳极LED数码管显示数字“0”时各管段编码D7D6D5D4D3D2D1D0字段码显示数dpgfedcba11000000C0H0C0H称为共阳极LED数码管显示“0”的字段码,不计小数点的字段码称为七段码,包括小数点的字段称为八段码。LED数码管编码方式有多种,按小数点计否可分为七段码和八段码;按共阴共阳可分为共阴字段码和共阳字段码,不计小数点的共阴字段码与共阳字段码互为反码;按a、b、g、dp编码顺序是高位在前,还是低位在前,又可分为顺序字段码和逆序字段码。甚至在某些特殊情况下将a、b、g、dp顺序打乱编码。下表为共阴极和共阳极LED数码管几种八段编码表。共阴极和共阳极LED数码管几种八段编码共阴顺序小数点暗共阴逆序小数点暗共阳顺序小数点亮共阳顺序小数点暗dp g f e d c b a16进制a b c d e f g dp16进制00 0 1 1 1 1 1 13FH1 1 1 1 1 1 0 0FCH40HC0 H10 0 0 0 0 1 1 006H0 1 1 0 0 0 0 0 60H79HF9 H20 1 0 1 1 0 1 15BH1 1 0 1 1 0 1 0DAH24HA4 H30 1 0 0 1 1 1 14FH1 1 1 1 0 0 1 0F2H30HB0 H40 1 1 0 0 1 1 066H0 1 1 0 0 1 1 066H19 H99 H50 1 1 0 1 1 0 16DH1 0 1 1 0 1 1 0B6H12 H92 H60 1 1 1 1 1 0 17DH1 0 1 1 1 1 1 0BEH02 H82 H70 0 0 0 0 1 1 107H1 1 1 0 0 0 0 0E0H78 HF8 H80 1 1 1 1 1 1 17FH1 1 1 1 1 1 1 0FEH00 H80 H90 1 1 0 1 1 1 16FH1 1 1 1 0 1 1 0F6H10 H90 H3-3显示电路的原理图显示电路原理图三、软件系统各模块电路的设计1、程序设计语言的选用本设计中采用的处理器是AT89C51单片机,由此可采用面向MCS-51的程序设计语言,包括ASM51汇编语言和C51高级语言,这两种语言各有特点。汇编语言更接近机器语言,常用来编制与系统硬件相关的程序,如访问I/O端口、中断处理程序、实时控制程序、实时通信程序等;而数学运算程序则适合用C51高级语言编写,因为用高级语言编写运算程序可提高编程效率和应用程序的可靠性。考虑到设计中要用到乘除运算,在智能测控装置的基本功能软件开发中,全部程序均采用C51高级语言编写。2、 软件程序的设计程序主要由主程序和子程序两部分构成。 主程序主要实现系统的初始化,温度信号采集。 系统的初始化包括寄存器的初始化(控制寄存器、堆栈、中断寄存器等),通信的初始化(串口的初始化,MAX7219的初始化,通信缓冲区的初始化),LED显示的初始化,输出端口的初始化,采集、累计数据的初始化。 子程序主要有延时程序和显示程序等。显示程序包括数据转换(主要实现将各类参数、测量数据、计算累计值等转换成LED显示所需的数据类型)。2-1 测量系统软件的设计其程序流程图如下:开始P1.0=0, P1.1=0 ,P1.1=0使电容C4放电延时1sP1.0=1 ,P1.1=1,P1.2=0通过标准电阻对C4充电P3.2=0 ?记下充电时间TSCP1.0=0 P1.1=0 P1.1=0使电容C4放电延时1sP1.0=1,P1.1=0,P1.2=1通过热敏电阻对C4充电P3.2= 0 ?记下充电时间TECRTTECR4TSC线性插值,求出相应温度结束YNYN2-2 显示电路软件的设计/管脚定义sbit LOAD=P01; /MAX7219片选 12脚sbit DIN=P00; /MAX7219串行数据 1脚sbit CLK=P02; /MAX7219串行时钟 13脚/寄存器宏定义#define DECODE_MODE 0x09 /译码控制寄存器#define INTENSITY 0x0A /亮度控制寄存器#define SCAN_LIMIT 0x0B /扫描界限寄存器#define SHUT_DOWN 0x0C /关断模式寄存器#define DISPLAY_TEST 0x0F /测试控制寄存器 /函数声明void Write7219(unsigned char address,unsigned char dat);void Initial(void);/地址、数据发送子程序void Write7219(unsigned char address,unsigned char dat) unsigned char i; LOAD=0; /拉低片选线,选中器件 /发送地址 for (i=0;i8;i+) /移位循环8次 CLK=0; /清零时钟总线 DIN=(bit)(address&0x80); /每次取高字节 address=1; /左移一位 CLK=1; /时钟上升沿,发送地址 /发送数据 for (i=0;i8;i+) CLK=0; DIN=(bit)(dat&0x80); dat=1; CLK=1; /时钟上升沿,发送数据 LOAD=1; /发送结束,上升沿锁存数据 /MAX7219初始化,设置MAX7219内部的控制寄存器void Initial(void) Write7219(SHUT_DOWN,0x01); /开启正常工作模式(0xX1) Write7219(DISPLAY_TEST,0x00); /选择工作模式(0xX0) Write7219(DECODE_MODE,0xff); /选用全译码模式 Write7219(SCAN_LIMIT,0x07); /8只LED全用 Write7219(INTENSITY,0x04); /设置初始亮度 /显示程序void DISPLAY() int b,c,d; Initial(); /MAX7219初始化 b=(int)(TEM/100); c=(int)(TEM-b*100)/10); d=(int)(TEM-b*100-c*10); Write7219 (6,b); Write7219 (7,c); Write7219 (8,d); delay(1000); 四:结论本设计中,是以温度采集及检测为总目标,以AT89C51单片机最小应用系统为总控制中心,辅助设计有温度采样电路、驱动显示单元等。单片机开发过程是一个非常严谨,复杂,科学,周密和细致,及技术性和综合性都相当高的过程,它要求你必须具备相当扎实的专业基础和理论知识,较强的实践专业操作技能。能以细致和科学的头脑去考察、分析和解决问题。同时在设计中必须要有足够的耐心,持之以恒的毅力,坚强的意志以及实事求是,一丝不苟的精神,才能开发出理想的设计出来。在设计过程中,遇到了许多问题,如设计初始阶段目的不明,思绪混乱,经过认真思考和老师的指导,才使自己思路明确,抓住重点,不懂就问,在规定的时间内系统有序的完成。温度检测是工业过程控制中一个重要参数,了解到温度检测的重要性,使自己在设计过程中,更加有兴趣和动力,在软件设计方面,遇到了一些实际问题,不过,在老师的指导和同学的帮助下都能一一解决,使自己学到了许多新的知识。从本设计的资料收集和方案论证到方案设计、修改和最后的完成,得到了老师和同学的指导和帮助,特别是刘老师的指导工作,才使本设计顺利完成。在此表示衷心感谢!五、参考文献1 中国期刊全文数据库: /kns50/2 3 4 查电子元器件资料: / 5汪贵平 李登峰等编著新编单片机原理及应用,机械工业出版社6 李隆宝. 实用电子器件和电路简明手册M. 北京:电子工业出版社,1991.7康华光,电子技术基础 数字部分(第四版)M.北京:高等教育出版社,19878 付家才等主编单片机控制工程实践技术,化学工业出版社附页:#include #include /宏定义#define uchar unsigned char;#define DECODE_MODE 0x09 /译码控制寄存器#define INTENSITY 0x0A /亮度控制寄存器#define SCAN_LIMIT 0x0B /扫描界限寄存器#define SHUT_DOWN 0x0C /关断模式寄存器#define DISPLAY_TEST 0x0F /测试控制寄存器 /函数声明void DISPLAY( ); void Write7219(unsigned char address,unsigned char dat);void Initial(void);float TSC,TEC,RTemp,TEM;int z;/延时子程序void delay (int z) int x,y; for (x=z;x0;x-) for (y=100;y0;y-); sbit w=P10; sbit o=P11;sbit m=P12;sbit a=P32; sbit LOAD=P01; /MAX7219片选 12脚sbit DIN=P00; /MAX7219串行数据 1脚sbit CLK=P02; /MAX7219串行时钟 13脚/主程序void main()/C4放电 w=0; o=0; m=0; delay(10); /定时器0和外中断0初始化 TMOD=0X01; TCON=0X00; TH0=0; T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论