测控系统原理与设计课程设计说明书八路温度巡检仪_第1页
测控系统原理与设计课程设计说明书八路温度巡检仪_第2页
测控系统原理与设计课程设计说明书八路温度巡检仪_第3页
测控系统原理与设计课程设计说明书八路温度巡检仪_第4页
测控系统原理与设计课程设计说明书八路温度巡检仪_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、天津工业大学2008级测控系统原理与设计课程设计天津工业大学测控系统原理与设计课程设计说明书设计题目:八路温度巡检仪组 员xxxxxxxxxxxx 学 院 机械电子学院 专 业 测控技术与仪器 班 级 xxxxxxxx 组 号 xx 指导教师 xxxxx 2011 年12月25日- 20 -目 录第一章 总体方案的设计- 1 -1.1 八路温度巡检仪简介- 1 -1.2 八路温度巡检仪的工作原理及其方案设计- 1 -1.2.1 工作原理- 1 -1.2.1 方案设计- 1 -第二章 具体设计内容- 2 -2.1 铂电阻电桥测温电路- 2 -2.2 a/d模数转换电路芯片原理与设计- 4 -2.

2、2.1 内部结构和外部引脚- 4 -2.2.2 工作时序与使用说明- 6 -2.3 显示模块的原理与设计- 7 -2.4 at89c51单片机的特点及引脚说明- 8 -2.4.1 at89c51单片机引脚功能说明- 9 -2.4.2 单片机最小系统- 11 -第三章 调试与仿真- 12 -3.1 液晶的调试- 12 -3.2 adc0809的调试- 13 -3.3 pt100温度传感器调试- 14-第四章 感想与总结- 15-第五章 程序代码与仿真电路- 16 -5.1 程序代码- 16 -5.2 proteus仿真电路- 20-摘 要多路温度巡检仪具有温度信号的采集、显示、简单的人机对话。它

3、的可测范围广,适用性强,具有很大的实用价值。本文设计是以89c51单片机系统为基础的,通过典型的电桥放大电路对热电阻随温度的变化而得到的模拟信号进行采集,连接多路模拟开关实现多路模拟信号的采集,并通过adc0809对模拟信号进行数模转换,把转换得到的数字信号按照顺序分别送入单片机或把指定的那路信号送入单片机,通过单片机进行控制操作,本设计是通过lcd1602来实现单片机的显示系统的,把多路的信号经过a/d转换器的转换,再通过单片机把采集到的信号送到lcd中进行显示,本文通过单片机系统来实现热电阻传感器随测量的温度范围0100摄氏度,以单片机为核心完成温度巡测、数据处理.显示功能。第一章 总体方

4、案的设计1.1 八路温度巡检仪简介在工业生产过程中,温度检测和控制都直接和安全生产、产品质量、生产效率、节约能源等重大技术经济指标相联系。温度检测类仪表作为温度计量工具,也因此得到广泛应用。随着生产力的发展,生产规模的扩大和对生产管理的自动化水平的要求越来越高,在很多场合,诸如啤酒、饮料、食品、白酒发酵生产线,中频热处理行业的水路温度保护,变电所各电节点的温度检测,农业大棚、鸡舍等,要求温度巡检仪能自动巡检,以达到无人看守,温度自动巡检的目的。随着单片机技术蓬勃发展,其稳定、安全、高效、经济等优点十分突出,所以其应用也十分广泛。单片机的特点是体积小,其内部结构是普通计算机系统的简化,增加一些外

5、围电路,就能够组成一个完整的小系统,单片机具有很强的扩展性,它具有强大的数据处理功能。所以单片机在工业应用中提高了工业设备的智能化。1.2 八路温度巡检仪的工作原理及其方案设计1.2.1 工作原理八路温度巡检仪首先要进行数据采集就是将一般的物理量通过传感器转换成模拟量,在经过a/d转换电路转换为数字量供给cpu进行处理。详细来说就是能监测并采集多路的温度信号,通过温度传感器将温度转换成电压信号输出电压,a/d转换芯片将模拟量转换成数字量,从而得到与温度信号具有一定关系的数字量,单片机采集这些数字信号,进行一定的信号调理、软件算法、以及标度变换,从而得到一定量的温度值,再将这一温度值通过显示的方

6、式显示出来,然后通过按键或定时的控制实现巡检,就得到了一个八路温度巡检仪的系统。1.2.1 方案设计在系统方案设计中,主要以选择测温电路的方案为主,测温电路的方案选择可以直接的影响到测得温度值的准确性和要求达到的精度问题,测温电路要求能把环境温度通过传感器把温度信号转换为我们所需要的电压信号或电流信号,把得到相应的电信号送入a/d转换器,通过a/d转换器的转换,在通过单片机的控制和程序的处理最后得到准确的温度值,实现温度的检测。所以在测温电路中我们进行了认真的分析和最后方案的确定。如下框图所示:显示器a/d数据采集铂电阻电桥测温电路89c51单片机按键控制第二章 具体设计内容2.1 铂电阻电桥

7、测温电路在设计过程中选取温度传感器要注意一下几点:(1)根据测量对象与测量环境确定传感器的类型要进行项具体的测量工作,首先要考虑采用何种原理的传感器,这需要分析多方面的因素之后才能确定。因为,即使是测量同一物理量,也有多种原理的传感器可供选用,哪一种原理的传感器更为合适,则需要根据被测量的特点和传感器的使用条件考虑以下一些具体问题:量程的大小;被测位置对传感器体积的要求;测量方式为接触式还是非接触式;信号的引出方法,有线或是非接触测量;传感器的来源,国产还是进口,价格能否承受,还是自行研制。(2)灵敏度的选择通常,在传感器的线性范围内,希望传感器的灵敏度越高越好。因为只有灵敏度高时,与被测量变

8、化对应的输出信号的值才比较大,有利于信号处理。但要注意的是,传感器的灵敏度高,与被测量无关的外界噪声也容易混入,也会被放大系统放大,影响测量精度。因此,要求传感器本身应具有较高的信噪比,尽量减少从外界引入的串扰信号(3)频率响应特性传感器的频率响应特性决定了被测量的频率范围,必须在允许频率范围内保持不失真的测量条件,实际上传感器的响应总有定延迟,希望延迟时间越短越好。传感器的频率响应高,可测的信号频率范围就宽,而由于受到结构特性的影响,机械系统的惯性较大,因有频率低的传感器可测信号的频率较低。(4)线性范围传感器的线形范围是指输出与输入成正比的范围。以理论上讲,在此范围内,灵敏度保持定值。传感

9、器的线性范围越宽,则其量程越大,并且能保证一定的测量精度。在选择传感器时,当传感器的种类确定以后首先要看其量程是否满足要求。但实际上,任何传感器都不能保证绝对的线性,其线性度也是相对的。当所要求测量精度比较低时,在一定的范围内,可将非线性误差较小的传感器近似看作线性的,这会给测量带来极大的方便。(5)稳定性传感器使用一段时间后,其性能保持不变化的能力称为稳定性。影响传感器长期稳定性的因素除传感器本身结构外,主要是传感器的使用环境。因此,要使传感器具有良好的稳定性,传感器必须要有较强的环境适应能力。在选择传感器之前,应对其使用环境进行调查,并根据具体的使用环境选择合适的传感器,或采取适当的措施,

10、减小环境的影响。(6)精度精度是传感器的一个重要的性能指标,它是关系到整个测量系统测量精度的一个重要环节。传感器的精度越高,其价格越昂贵,因此,传感器的精度只要满足整个测量系统的精度要求就可以,不必选得过高。这样就可以在满足同一测量目的的诸多传感器中选择比较便宜和简单的传感器。如果测量目的是定性分析的,选用重复精度高的传感器即可,不宜选用绝对量值精度高的;如果是为了定量分析,必须获得精确的测量值,就需选用精度等级能满足要求的传感器。对某些特殊使用场合,无法选到合适的传感器,则需自行设计制造传感器。自制传感器的性能应满足使用要求。综合考虑以上选取注意事项,本设计采用铂电阻温度传感器对温度信号进行

11、采集。铂电阻温度传感器是利用其电阻和温度成一定函数关系而制成的温度传感器, 由于其测量准确度高、测量范围大、复现性和稳定性好等,被广泛用于中温(-200c650c)范围的温度测量中。测温传感器的测温电路采用典型的铂电阻电桥电路,如图所示。该测温仪的测温电路采用软件算法中的查表线性化方法,利用软件算法对电路参数进行自适应调整选取,在保证高分辨率的情况下,使得在给定的温度范围内各点的分辨率近似相等,误差可达到0.5级仪表的要求,提高了测温仪的整体性能。图中最后输出的u5将被送到a/d转换器转换为数字量,然后由单片机读入再进行处理。通过对温度测量电路的数学分析可以得出, u5 和us 是完全成正比的

12、。因此, 在设计中将us设为a/d 转换过程中的参考电压。这样, 即使us有所变化, 也不会影响a/d 转换器的转换结果。由于将us设为了参考电压, 为了最大化测量的分辨率, 希望u5的输出在温度低限时向0v靠拢, 而在温度高限时向us靠拢。这样, 首先存在的一个问题便是运算放大器的输出问题。通常, 运算放大器的输出并不等于电源电压, 因为存在一个饱和问题, 这样便降低了整个电路的测量分辨率。在实际设计中, 使用的rail- to- rail的运算放大器, 即输出上限可以达到电源电压, 而下限可以达到0v。这一点对于整个电路来讲是非常关键的。 下面具体介绍测温电路参数自适应调整选取的设计过程。

13、确定参数的原则是达到尽可能高的分辨率, 以及尽量消除由于铂电阻的强非线性带来的各个温度段分辨率的明显差异。整个计算和赋值过程通过软件程序来实现。第一步, 通过输入获取温度最大值和最小值, 得出温度的范围。第二步, 通过输入获取电阻r1、r2、r4 的阻值。为了使节点的电压大于节点的电压( 因为放大电路是单电源供电的, 不可以输出负电压) , r1的值必须大于rt在温度测量范围内的最大值。同时, 为了保证桥路的灵敏度, r1的值仅需稍微大于(或等于)rt的最大值即可。同时明确放大电路中的要求r4=r5、r6=r7,而且为了降低功耗, 它们的取值通常都大于100k。本设计中取r2=100k, 作为

14、它的临时计算初值; 取r4=r5=100k。第三步, 确定剩下的参数值r6、r7。由于桥路的要求, r3=r2, r4r7的阻值比较大, 这里可以忽略它们的影响来计算节点和之间的电压差(u12)的变化范围, 从而求出r6、r7的阻值(r4 阻值乘以放大倍数k)。第四步, 计算rt取最大值和最小值时该电路的分辨率。由于此时已知r1r7 的所有电阻阻值, 因此可以计算出具备这些参数的电路在rt取最大值处的分辨率。例如当温度为- 30c时rt取最大值, 求出u5 的值;然后查铂电阻分度表得rt 在-29c时的电阻值, 再次求出另一个u5的值, 二者之差的绝对值即相对表示了该电路在此点的分辨率, 差值

15、越大, 则分辨率越高。同理, 可以求得该电路在rt最小值处的两个输出电压u5之差。最后, 输出电路各给定值以及得出的所有参数值和温度各点对应的a/d 转换数值。2.2 a/d模数转换电路芯片原理与设计尽管adc芯片的品种、型号很多,其内部功能强弱、转换速度快慢、转换精度高低有很大差别,但从用户最关心的外特性看,无论哪种芯片,都必不可少地要包括以下四种基本信号引脚端:模拟信号输入端(单极性或双极性);数字量输出端(并行或串行);转换启动信号输入端;转换结束信号输出端。本次课程设计选用的是adc0808或adc0809芯片。adc0808和adc0809除精度略有差别外(前者精度为8位、后者精度为

16、7位),其余各方面完全相同。它们都是cmos器件,不仅包括一个8位的逐次逼近型的adc部分,而且还提供一个8通道的模拟多路开关和通道寻址逻辑,因而有理由把它作为简单的“数据采集系统” 。利用它可直接输入8个单端的模拟信号分时进行a/d转换,在多点巡回检测和过程控制、运动控制中应用十分广泛。2.2.1 内部结构和外部引脚adc0808/0809的内部结构和外部引脚分别如图11.19和图11.20所示。内部各部分的作用和工作原理在内部结构图中已一目了然,在此就不再赘述,下面仅对各引脚定义分述如下: (1)in0in78路模拟输入,通过3根地址译码线adda、addb、addc来选通一路。(2)d7

17、d0a/d转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。8位排列顺序是d7为最高位,d0为最低位。(3)adda、addb、addc模拟通道选择地址信号,adda为低位,addc为高位。地址信号与选中通道对应关系如表11.3所示。(4)vr(+)、vr(-)正、负参考电压输入端,用于提供片内dac电阻网络的基准电压。在单极性输入时,vr(+)=5v,vr(-)=0v;双极性输入时,vr(+)、vr(-)分别接正、负极性的参考电压。引脚图如下图所示: (5)ale地址锁存允许信号,高电平有效。当此信号有效时,a、b、c三位地址信号被锁存,译码选通对应模拟通道。在使用时,该信号

18、常和start信号连在一起,以便同时锁存通道地址和启动a/d转换。(6)starta/d转换启动信号,正脉冲有效。加于该端的脉冲的上升沿使逐次逼近寄存器清零,下降沿开始a/d转换。如正在进行转换时又接到新的启动脉冲,则原来的转换进程被中止,重新从头开始转换。(7)eoc转换结束信号,高电平有效。该信号在a/d转换过程中为低电平,其余时间为高电平。该信号可作为被cpu查询的状态信号,也可作为对cpu的中断请求信号。在需要对某个模拟量不断采样、转换的情况下,eoc也可作为启动信号反馈接到start端,但在刚加电时需由外电路第一次启动。(8)oe输出允许信号,高电平有效。当微处理器送出该信号时,ad

19、c0808/0809的输出三态门被打开,使转换结果通过数据总线被读走。在中断工作方式下,该信号往往是cpu发出的中断请求响应信号。2.2.2 工作时序与使用说明adc0808/0809的工作时序如图下图所示。当通道选择地址有效时,ale信号一出现,地址便马上被锁存,这时转换启动信号紧随ale之后(或与ale同时)出现。start的上升沿将逐次逼近寄存器sar复位,在该上升沿之后的2s加8个时钟周期内(不定),eoc信号将变低电平,以指示转换操作正在进行中,直到转换完成后eoc再变高电平。微处理器收到变为高电平的eoc信号后,便立即送出oe信号,打开三态门,读取转换结果。模拟输入通道的选择可以相

20、对于转换开始操作独立地进行(当然,不能在转换过程中进行),然而通常是把通道选择和启动转换结合起来完成(因为adc0808/0809的时间特性允许这样做)。这样可以用一条写指令既选择模拟通道又启动转换。在与微机接口时,输入通道的选择可有两种方法,一种是通过地址总线选择,一种是通过数据总线选择。如用eoc信号去产生中断请求,要特别注意eoc的变低相对于启动信号有2s+8个时钟周期的延迟,要设法使它不致产生虚假的中断请求。为此,最好利用eoc上升沿产生中断请求,而不是靠高电平产生中断请求。2.3 显示模块的原理与设计显示系统是单片机控制系统的重要组成部分,主要用于显示各种参数的值,以便使现场工作人员

21、能够及时掌握生产过程。工业控制系统中常用的显示器件有crt、led、lcd等,crt不仅可以进行字符显示,而且可以进行画面显示,和计算机配合使用,可十分方便地实现生产过程的管理和监视,但由于crt体积大,价格昂贵,所以只适用于大型微机控制系统。在中小型的控制过程中,为了使工作人员能够在现场直接看到生产情况和报警信号,经常选用led和lcd作为显示器件。led和lcd都具有体积小,功耗低,响应速度快,易于匹配,可靠性高和寿命高等优点。lcd是一种功耗极低的显示元件,在仪表和低功耗应用系统中的使用较多,而led虽然成本低廉,也用于单片机控制系统中。但是现实数值位数及精度受到led数量多少的限制,本

22、设计要同时显示八路温度,若用led显示需求片数太多,不仅总成本没有降低,而且体积增大,观察不便。所以,本系统采用lcd液晶显示3。液晶显示器(lcd)具有功耗低、体积小、质量轻、功耗小的特点。点阵字符型液晶显示器把lcd控制器、点阵驱动器、字符存储器集成在一块印刷电路板上,构成便于应用的液晶模块。这类液晶模块不仅可以显示数字、字符,还可以显示各种图形符号以及少量自定义符号,并且可以实现屏幕的上下左右滚动、文字的闪烁等功能;人机界面友好,使用操作也更加灵活、方便,使其日益成为各种仪器仪表等设备的首选。本文介绍lm016l液晶模块的引脚结构、功能的基础上,介绍lm016l与mcs51单片机的硬件接

23、口电路、自定义字符的显示。lm016l 液晶模块采用hd44780控制器。hd44780具有简单而功能较强的指令集,可以实现字符移动、闪烁等功能。lm016l与单片机mcu(microcontroller unit)通讯可采用8位或者4位并行传输两种方式。hd44780 控制器由两个8位寄存器、指令寄存器(ir)和数据寄存器(dr)、忙标志(bf)、显示数据ram(ddram)、字符发生器rom(cgrom)、字符发生器ram(cgram)、地址计数器(ac)。ir 用于寄存指令码,只能写入不能读出;dr用于寄存数据,数据由内部操作自动写入ddram和cgram,或者暂存从ddram和cgra

24、m读出的数据。bf为1时,液晶模块处于内部处理模式,不响应外部操作指令和接受数据。ddram用来存储显示的字符,能存储80个字符码。cgrom由8位字符码生成5*7点阵字符160种和5*10点阵字符32种,8位字符编码和字符的对应关系。cgram是为用户编写特殊字符留用的,它的容量仅64字节。可以自定义8 个5*7 点阵字符或者4个5*10点阵字符。ac可以存储ddram和cgram的地址,如果地址码随指令写入ir,则ir自动把地址码装入ac,同时选择ddram或者cgram单元。lm016l液晶模块的引脚功能见下表: 2.4 at89c51单片机的特点及引脚说明at89c51是美国atmel

25、公司生产的低电压、高性能cmos 8位单片,内含4kbytes的可反复擦写的只读程序存储器(eprom)和128 bytes的随机存取数据存储器(ram),器件采用atmel公司的高密度、非易失性存储技术生产,兼容标准mcs-51指令系统,片内置通用8位中央处理器(cpu)和flash存储单元,功能强大的at89c51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域,该芯片外形结构及引脚如图所示。at89c51单片机主要性能参数为:(1)与mcs-51产品指令系统完全兼容;(2)4k字节可重擦写flash闪速存储器;(3)1000次擦写周期;(4)全静态操作:0hz24hz;(5)

26、三级加密程序存储器;(6)1288字节内部ram;(7)32个可编程i/o口线;(8)2个16位定时/计数器;(9)6个中断源;(10)可编程串行uart通道;(11)低功耗空闲和掉电模式。at89c51提供4k字节flash闪速存储器,128字节内部ram,32个i/o口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,at89c51可降至0hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止cpu的工作,但允许ram,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存ram中的内容,但振荡器停止工作并禁止其他所有部件工

27、作直到下一个硬件复位。2.4.1 at89c51单片机引脚功能说明(1)vcc:电源电压;(2)gnd:地;(3)p0口:p0口是一组8位漏极开路型双向i/o口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个ttl逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在flash编程时,p0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。(4)p1口:p1口是一个带内部上拉电阻的8位双向i/o口,p1的输出缓冲级可驱动(吸收或输出电流)4个tt

28、l逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉倒高电平,此时可做输入口。做输入口输入时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(iil)。flash编程和程序校验期间,p1接收低8位地址。(5)p2口:p2是一个带有内部上拉电阻的8位双向i/o口,p2的输出缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路,对端口写“1”,通过内部的上拉电阻把端口拉倒高电平,此时可做输入口,做输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输入一个电流(iil)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行movxdptr指令)时,p2口送出高8位地

29、址数据。在访问8为地址的外部数据存储器(如执行movxr1指令)时,p2口线上的内容(也即特殊功能寄存器sfr区中r2寄存器的内容),在整个访问期间不改变。flash编程或校验时,p2亦接受高位地址和其它控制信号。(6)p3口:p3口是一个带有内部上拉电阻的8位双向i/o口,p3口的输出缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。对端口写“1”时,它们被内部上拉电阻拉高并可作为输入端。作输入端时,被外部拉低的p3口将用上拉电阻输出电流(iil)。p3口除了作为一般的i/o口线外,更重要的用途是它的第二功能,如表所示。端口引脚第二功能p3.0rxd(串行输入口)p3.1txd(串行输出口

30、)p3.2int0(外部中断0)p3.3int1(外部中断1)p3.4t0(定时/计数器0)p3.5t1(定时/计数器1)p3.6wr(外部数据存储器写选通)p3.7rd(外部数据存储器读选通)p3口还接收一些用于flash闪速存储器编程和程序校验的控制信号(7)rst:复位输入。当振荡器工作时,rst引脚出现两个机器周期以上高电平将使单片机复位。(8)ale/wrprog:当访问外部程序存储器或数据存储器时,ale(地址锁存允许)输出脉冲可用于锁存地址的低八位字节。即使不访问外部存储器,ale仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访

31、问外部数据存储器时将跳过一个ale脉冲。对flash存储器编程期间,该引脚还用于输入编程脉冲(wrprog)。如有必要,可通过对特殊功能寄存器(sfr)区中的8eh单元的d0位置位,可禁止ale操作。该位置置位后,只有一条movx和movc指令ale才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ale无效8。(9)psen:程序储存允许(wrprog)输出是外部程序存储器的读选通信号,当at89c51由外部程序存储器取指令(或数据)时,每个机器周期两次wrprog有效,即输出两个脉冲。在此期间,当访问外部数据存储器时,这两次有效的psen信号不出现。(10)ea/vpp:外

32、部访问允许。欲使cpu仅访问外部数据存储器(地址为0000hffffh),ea端必须保持低电平(接地)。需注意的是:如果加密位lb1被编成,复位时内部会锁存ea端状态。如ea端为高电平(接vcc端),cpu则执行内部程序存储器中的指令。flash存储器编程时,该引脚加上+12v的编程允许电源vpp,当然这必须是该器件使用12v编程电压vpp。(10)xtal1:振荡器反相放大器及内部时钟发生器的输入端。(11)xtal2:振荡器反相放大器的输出端。2.4.2 单片机最小系统对mcs-51系列的单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路等,最小系统是保证单片机正常运行所必须的外

33、围电路设计,如果没有这部分电路,单片机则不能正常工作。晶振电路为单片机提供最基本的基准时序。时钟又是时序的基础,时钟可以由两种方式产生,即内部方式和外部方式。本系统采用内部方式。mcs-51系列单片机允许的振荡频率可在1.224mhz之间选择,一般选为11.0592mhz。电容c1、c2的取值对振荡频率的稳定性、大小及振荡电路的起振速度有一定的影响,可在20100pf之间选择,电容的典型值30pf。mcs-51系列单片机通常采用上电自动复位和按钮复位两种方式。通常因为系统运行的需要,常常需要人工复位,只需要将一个常开按钮并联于上电复位电路。当晶体振荡频率为12mhz时,rc的典型值为c=10f

34、,r=8.2k。最小系统电路如图所示。第三章 调试与仿真3.1液晶的调试 lcd1602液晶的管脚分配如图3-1所示,在编写液晶程序时,首先按液晶时序编写液晶初始化程序,再编写温度显示程序,在显示程序中进行数据处理,将a/d采集到的数据0255,转换成温度0100度,对应呈线性显示,在主程序中,只要调用液晶初始化和液晶显示程序,就可以将温度显示出来。图313.2 adc0809的调试adc0809管脚分配如图32所示,在8路a/d数据采集中,adda、addb、addc、控制8路温度采集通道的选择,out1-out8输出采集到的数据,start控制a/d转换的开始,clock为外部时钟输出,利

35、用单片机t0方式2提供定时50微妙,来改变单片机p2.3口的输出状态,单片机t0方式2为8位自动重装初值,定时216,单片机晶振采用12m,p2.3输出周期为100微妙,频率为10k,eoc为转换结束标志位,单片机采用延时等待方式进行a/d数据采集。图323.3 在pt100温度传感器如图33所示为pt100电桥温度检测电路,图中rv2为pt100,rv6为调零变阻器,rv5为调放大倍数变阻器,使用lm324运算放大器,调节时先调节rv2为0欧,调节rv6使输出电压为零,再调节rv2为28欧,调节rv5使输出电压为5v,反复调节,直到rv2在0-38欧变化时,输出为稳定的05v。 图33第四章

36、 感想与总结通过这两周的课程设计,我对一些专业知识和设计有了更深的了解,同时也尝试着去应用自己的所掌握的知识。本次课程设计主要是对以前单片机和现在精密仪器设计的应用,同时加上电路等知识,设计一些课题。经过两周的奋战,我感受很深.课程设计不仅给我们提供了一个很好的展现应用自己所掌握的知识的平台,又是检验自己所学知识的一次考核. 我们运用各自在各方面的优势中和起来,形成了一个团队.通过团队力量,才使设计得以完成.可以说,我们三个人是一个不可或缺的整体,少了任何一个人都是无法完成任务的.单片机具有强大的功能.由于我们对单片机的应用有了一定的了解,于是这次设计主要是以单片机为主的.一个是单片机编程器,

37、另一个便是今年师讲的知识.在设计的过程中我们也不可避免的遇到了很多的问题.尤其是在调试过程中,会因为某些原因出不来结果,或三个人之间出现了意见分歧,但在最后都达成了一致. 最后在调试结果出来后,我们更是无比的兴奋,无比的自豪.总之,通过这次电子课程设计,我不仅对自己的知识有了更好的掌握和应用,更了解到团队精神的力量.在以后的学习和生活中受用终身.第五章 程序代码与仿真电路5.1 程序代码: #include reg52.h/头文件#include intrins.h#define uchar unsigned char/宏定义#define uint unsigned int/宏定义 sbit

38、 rs=p36;/定义i/o的硬件接口sbit rw=p37;sbit e=p35;sbit st=p20;sbit eoc=p21;sbit oe=p22;sbit clk=p23;sbit addc1=p24;sbit addc2=p25;sbit addc3=p26;uint temperature;/温度暂存单元unsigned long temp;/长整形单元uchar ad_data10; uint f;uint d; #define dpdr p0/并行数据接口定义 uchar code disptab_1=0,1,2,3,4,5,6,7,8,9, ,-;/1602:0-9 数字

39、uchar code disptab_2=0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00;/温度符号uchar dispbuf6; /6字节的显示缓冲区char char_char_1= no.1 ;/定义字符串 void delay(uint z)/1ms延时 uchar x,x1;for(;z0;z-)for(x=0;x114;x+)for(x1=0;x10)x2-; void delay2(uchar x3) uchar j; while(x3-) for(j=125;j0;j-) ; void ad() st=0; addc1=0; /选择通道in0 a

40、ddc2=0; addc3=0; delay2(10); st=1; /启动ad转换 delay2(10); st=0; while(eoc=0) ; oe=1; ad_data0=p1; oe=0; st=0; addc1=1; /选择通道in1 delay2(10); st=1; /启动ad转换 delay2(10); st=0; while(eoc=0) ; oe=1; ad_data1=p1; oe=0; st=0; addc1=0; /选择通道in2 addc2=1; addc3=0; delay2(10); st=1; /启动ad转换 delay2(10); st=0; while

41、(eoc=0) ; oe=1; ad_data2=p1; oe=0; st=0; addc1=1; /选择通道in3 addc2=1; addc3=0; delay2(10); st=1; /启动ad转换 delay2(10); st=0; while(eoc=0) ; oe=1; ad_data3=p1; oe=0; st=0; addc1=0; /选择通道in4 addc2=0; addc3=1; delay2(10); st=1; /启动ad转换 delay2(10); st=0; while(eoc=0) ; oe=1; ad_data4=p1; oe=0; st=0; addc1=1

42、; /选择通道in5 addc2=0; addc3=1; delay2(10); st=1; /启动ad转换 delay2(10); st=0; while(eoc=0) ; oe=1; ad_data5=p1; oe=0; st=0; addc1=0; /选择通道in6 addc2=1; addc3=1; delay2(10); st=1; /启动ad转换 delay2(10); st=0; while(eoc=0) ; oe=1; ad_data6=p1; oe=0; st=0; addc1=1; /选择通道in7 addc2=1; addc3=1; delay2(10); st=1; /

43、启动ad转换 delay2(10); st=0; while(eoc=0) ; oe=1; ad_data7=p1; oe=0; void write_directive(uchar a)/写lcd指令rs=0;rw=0;delay(1);e=0;dpdr=a;delay(1);e=1;delay(1);e=0;delay(1); void write_data(uchar a)/写lcd数据rs=1;rw=0;delay(1);e=0;dpdr=a;delay(1);e=1;delay(1);e=0;delay(1); void lcd_init()/lcd初始化 uchar i;delay(15);write_directive(0x38);delay(5);write_directive(0x38);delay(5);write

温馨提示

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

评论

0/150

提交评论