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

下载本文档

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

文档简介

1、天津工业大学2007级测控系统原理与设计课程设计天津工业大学测控系统原理与设计课程设计说明书设计题目:八路温度巡检仪姓 名 学 院 机械电子学院 专 业 测控技术与仪器 班 级 测控071班 学 号 指导教师 2010 年12月25日- 19 -目 录第一章 绪论- 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.1 内部结构和外部引脚- 4 -2.2.2 工作时序

2、与使用说明- 6 -2.3 显示模块的原理与设计- 7 -2.4 at89c51单片机的特点及引脚说明- 8 -2.4.1 at89c51单片机引脚功能说明- 9 -2.4.2 单片机最小系统- 11 -第三章 调试与仿真- 12 -3.1 proteus与keil vision链接设置- 12 -3.2 在keil中编辑程序并生成“hex”文件- 13 -3.3 在proteus isis中调试- 14 -第四章 感想与总结- 14 -第五章 程序代码与仿真电路- 15 -5.1 程序代码- 15 -5.2 proteus仿真电路- 19 -第一章 绪论1.1 八路温度巡检仪简介在工业生产过

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

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

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

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

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

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

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

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

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

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

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

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

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

16、故可直接和微处理器数据线连接。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三位地址信号被锁存,译码选通对应模拟通道。在使用时,该信号常和start信号连在一起,以便同时锁存通道地

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

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

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

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

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

22、电路、自定义字符的显示。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和cgram

23、读出的数据。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液晶模块的引脚功能见下表: lm016l与mcu的电路如下图所示:2.4 at89c51单片机的特点及引

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

25、)全静态操作:0hz24hz;(5)三级加密程序存储器;(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中的内容,

26、但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。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的输出缓

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

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

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

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

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

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

33、仿真3.1 proteus与keil vision链接设置keil vision(简称keil)是德国keil公司出品的51系列兼容单片机软件开发系统。该系统支持c语言和汇编语言。keil界面友好,操作简单。首先介绍proteus与keil的链接设置。(1)安装keil和proteus7.6sp3;(2)将proteus7professionalmodelsvdm51.dll复制到keilc51bin目录下;(3)在keiltools.ini文件中的字段下添加:tdrv4=binvdm5- 1.dll(“proteus vsm simulator”),并保存。其中tdrv4中的数字“4”可以任

34、意;(4)在proteus中绘制原理图后,选取debug | use remote debug monitor选项;(5)在keil中编辑程序完成后,选取project | options for targettarget1选项,选择debug选项卡,选中proteus vsm simulator选项。单击setting按钮,设置host为127.0.0.1,port为8000;(6)在keil中进行debug,同时在proteus中查看结果。3.2 在keil中编辑程序并生成“hex”文件打开keil,选择project| new project命令,在弹出的create new proje

35、ct对话框中选择目标保存路径,在“文件名”编辑框输入工程名称。单击“保存”,在弹出的select device for target target 1对话框中双击data base框中的atmel选项,选择at89c51单片机,按“确定”后,在随后弹出的 vision的对话框中选择“是”。选择file | new命令,新建一个文档,然后保存。本设计采用c语言编写程序,故输入扩展名为“.c”。保存文件后,keil会自动识别c语言程序中的关键字,并以不同的颜色显示。编写程序完成后,双击keil左边的project workspace窗口中的target 1,然后右键单击source group 1

36、文件夹,在快捷菜单中选择add files to group source group 1,在弹出的add files to group source group 1对话框中选择文件类型为c source file类型,将编完的c语言程序文件添加到source group 1中。在keil中是以工程的方式对文件进行管理,为此需要将相关的目标文件加入到工程之中。右键单击project workspace窗口中的target 1文件夹,在快捷菜单中选择options for target target 1选项。在弹出的options for target target 1对话框中选择output选

37、项卡,选中create hex file复选框以生成proteus所需的十六进制文件,如图所示,然后单击“ok”按钮。在keil中选择project|build target命令,以产生目标程序和hex文件。如果编译成功,则在output window子窗口中的build选项页中出现如图所示信息。如果编译错误,则会在子窗口指示错误的语句。双击错误信息,光标回自动指向错误的语句。3.3 在proteus isis中调试首先打开proteus isis,完成系统电路原理图的绘制.双击u1即at89c51,在弹出的edit component对话框program file一栏中选择在keil中产生的

38、hex文件。单击“ok”按钮。按ctrl+s保存设计。第四章 感想与总结本文的详细设计了基于单片机at89c51 的温度监控系统,进行了proteus仿真,所设计程序已经在硬件平台上运行.此系统可广泛用于温度在0100测温范围之内的场合。通过本次温度监控系统的设计,我大有收获,在制作过程中,一定要注意的每个工作步骤的检查,确保每步进展顺利。从整体来说这是一个复杂的过程,要细心谨慎,沉着冷静,反复检查,直到找到原因为止,实在解决不了可以请教同学或指导老师。虽然在制作过程中不可避免地遇到很多问题,但是最后还是在老师以及同学的帮助下解决了一些问题,实现了整个系统设计与调试,相关指标达到期望的要求,完

39、成了本次课程设计任务。设计中难免会遇到各种各样的问题,例如在显示模块上仍然需要进一步摸索和学习,还有在温度传感器模块中,测温电路的输出电压值不能被a/d转换所接受,也就是a/d转换电路没有输入的电压值,我组同学在这方面下了很大功夫来解决,但最终解决的不是很完美。两周的课程设计时间很短暂,从给定课题到定稿,从理论到实践,两周来我们认真查资料、仿真、调试。理论与实践的结合很重要,只有理论知识是远远不够的,只有把理论知识与实践相结合,才能真正提高自己的动手实践能力和独立思考能力。在设计过程中,我们在编程方面更是难题,发现了我的不足之处,我对汇编掌握的不是很透彻,没有树立良好的编程思想,这是我今后努力

40、的方向。两周的时间过去了,感谢隋老师的悉心指导,隋老师多次询问设计进程,并为我们解决问题,帮助我们开拓设计思路,精心点拨。设计进展的每一步都凝结着老师辛勤的汗水,谨向老师致以深深的敬意!老师渊博的学识、严谨的治学态度已经成为我们学习的榜样;老师对学生辛勤的培养、诲人不倦的精神和对学生无私的关怀令我深为感动。如果有机会,我愿意在隋老师的精心指导下完成各项比赛和工作。最后祝老师工作顺利,身体健康,阖家欢乐!第五章 程序代码与仿真电路5.1 程序代码: org 0000hljmp mainorg 0030htmpl equ 30htmph equ 31hflag equ 00hdatain bit

41、p2.4d bit p2.5clk bit p2.6stb bit p2.7rs bit p2.1rw bit p2.2e bit p2.3inst equ 30hport equ p0mov 68h,#00h;temperature;68h是温度单元 mov 69h,#00h mov 6ah,#00h mov 6bh,#. mov 6ch,#00h mov 6dh,#* mov 6eh,#cmain: clr p3.4mov inst,#0eh;开显示 lcall enable mov inst,#38h;功能设定 lcall enable mov inst,#06h;进入模式设定 lcal

42、l enable mov inst,#01h;清屏 lcall enable lop: lcall disp lcall gettemper lcall cvt lcall adc ajmp lopenable: ;enable(inst) clr rs clr rw mov port,inst clr e lcall delayl setb e retdelayl:mov r7,#64hl1:mov r6,#0ffhw1:nop nop nop nop nop djnz r6,w1 djnz r7,l1 retdisp: ;开始写字符 write(dptr) lcall ascii mov

43、r4,#07h mov r1,#68h;写字符串 mov inst,#80h;设置字符的位置 lcall enable a1: mov a,r1 inc r1 lcall write1 djnz r4,a1 retwrite1: mov port,a setb rs clr rw clr e lcall delay setb e retascii: ;ascii(r0,r1) mov a,73h mov dptr ,#tab2 movc a,a+dptr mov 68h,amov a,72h mov dptr ,#tab2 movc a,a+dptr mov 69h,amov a,71h mo

44、v dptr ,#tab2 movc a,a+dptr mov 6ah,amov a,70h mov dptr ,#tab2 movc a,a+dptr mov 6ch,a rettab2:db 0123456789inition: setb datain nop clr datain mov r1,#3 mov r0,#107 tsr1: djnz r0,$ djnz r1,tsr1 setb datain nop nop nop mov r0,#25htsr2:jnb datain,tsr3 djnz r0,tsr2 clr flag sjmp tsr7 tsr3:setb flag mo

45、v r0,#117tsr6:djnz r0,tsr6 tsr7: setb datain retgettemper: setb datain lcall inition jb flag,tss2 nop rettss2: mov a,#0cchlcall writemov a,#44hlcall writemov r5,#9 ee:lcall delaydjnz r5,ee lcall initionmov a,#0cchlcall writemov a,#0behlcall writelcall delaylcall delaylcall read retwrite:mov r2,#8clr

46、 cwr1:clr datainmov r3,#6djnz r3,$rrc amov datain,cmov r3,#23djnz r3,$setb datainnop djnz r2,wr1setb datainretread: lcall delay mov r4,#2mov r1,#30hre00:mov r2,#8re01:clr csetb datainnopnopclr datainnopnopnopsetb datainmov r3,#9djnz r3,$mov c,datainmov r3,#23djnz r3,$rrc adjnz r2,re01mov r1,ainc r1d

47、jnz r4,re00retcvt: mov a,tmph anl a,#80hjz tmpc1clr cmov a,tmplcpl aadd a,#1mov tmpl,amov a,tmphcpl amov tmph,amov 73h,#0bhsjmp tmpc11tmpc1:mov 73h,#0ahtmpc11:mov a,tmplanl a,#0fhmov dptr,#tmptabmovc a,a+dptrmov 70h,amov a,tmplanl a,#0f0hswap amov tmpl,amov a,tmphanl a,#0fhswap aorl a,tmpl;在此a为个位与十位

48、,70h为十分位。h2bcd:mov b,#100 ;把a的数bcd化。div ab jz b2bcd1mov 73h,ab2bcd1:mov a,#10xch a,bdiv abmov 72h,amov 71h,b ;73h为百位,72h为十位,71h为个位,70h为十分位;rettmptab:db 00h,01h,01h,02h,03h,03h,04h,04h,05h,06h,06h,07h,08h,08h,09h,09hadc:mov r0,#0a0h mov r2 ,#08h setb it1 setb ea setb ex1 mov dptr ,#0ffffh movx dptr ,

49、ahere: sjmp here movx a,dptr movx r0,a inc dptr inc r0 djnz r2,done retidone: movx dptr ,a retidelay:mov r6,#250d1:mov r7,#255djnz r7,$djnz r6,d1nopnopretend5.2 proteus仿真电路ut2apodfxxc02gybkskcww97mrqqwhoj5tl15zt6jipyytycummtarp3v1n5luizi3xh3bhwyreko8d9g7nmzqowpjetldrw08gvs8dsdqqygc3ce7moo2tlf0jf1gk74iuxybmtivr97ckrfvqult5fn2t6mpjr6rbzvpsortzvij5nb5ndvvsr4iwr1twlfkglspzuhrjq3cmzu98euouijdlszqpmvrw9zkupxf8wfug9l2g9277g2rtipa1ypczeuqxpkbhtvdcooqozxuz3vjrzmocijym62zchmeootyes8ebmm932tbz2yo09rtszeys8zrd2yktj8l6jeazv

温馨提示

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

评论

0/150

提交评论