ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:275.89KB ,
资源ID:20991174      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20991174.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(利用AD转换设计一个室温温度计.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

利用AD转换设计一个室温温度计.docx

1、利用AD转换设计一个室温温度计课程设计任务书20102011学年第二学期专业: 电子信息工程 学号: 姓名: 课程设计名称: 单片机原理及应用课程设计 设计题目: 利用A/D转换设计一个室温温度计 完成期限:自 2011 年 5 月30 日至 2011 年 6 月 10 日共 2 周一、设计依据 当用计算机来构成数据采集系统时,所经采集的外部信号往往是温度、压力、声音和位移等连续变化的模拟量,而计算机能处理不连续的数字量,因此,必须用模数转换器即A/D转换器将模拟信号变成数字量后才能送入计算机进行处理。本课题学生重点从ADC0809与89C51的扩展连接及应用方面,要求作出深入设计与研究,以为

2、即将到来的工程设计与科研打下良好基础。 二、要求及主要内容 设计重点是应用单片机和A/D转换器设计一个室温温度计的规则要求给出相应不同的电路设计,对器件选择,线路连接,有较深入地分析探讨。 1实验仪上W1电位器提供模拟量输入,编程序将模拟量转换成数字量。 2了解A/D芯片0809转换性能及编程方法,了解单片机数据采集方法。 3要求最终正确无误地完成全部软件设计,并具有一定先进性,给出进一步提高性能的深入分析,对电路设计也应提出建设性意见并写出合格的课程设计论文,圆满完成各项任务。 三、途径和方法 1. 硬件电路坄计 89c51应用系统设计(晶振电路, 上电复位电路); A/D转换与单片机的接口

3、。 2. 程序设计: 先画流程图再根据流程图写程序 启动0809进行本次A/D;调用显示等待A/D转换结果;读取A/D转换结果;将结果送显示缓冲区。 3. 选芯片, 元件按设计连线 4. 调试 (1)输入程序; (2)编译、连接,用连续方式运行程序; (3)改变IN0的模拟量,显示缓冲区应随之变化; (4)就ADC0809与89C51的扩展连接及应用方面,作出深入地学术讨论与研究,按规定要求完成其任务。 四、时间安排 课题讲解:2小时 阅读资料:10小时 撰写设计说明书:12小时 修订设计说明书:6小时 五、主要参考资料 1肖洪兵. 跟我学用单片机M. 北京:北京航空航天大学出版社,2002.

4、8. 2赵晓安. MCS-51单片机原理及应用M. 天津:天津大学出版社,2001.3. 3何立民. 单片机高级教程M第1版北京:北京航空航天大学出版社,2001. 4陈伟人.单片微型计算机原理与应用M.北京:清华大学出版社, 2006.5. 指导教师(签字): 教研室主任(签字): 批准日期: 年 月 日 利用A/D转换设计一个室温温度计摘 要本文介绍了基于AD590与89c51单片机的一种温度采集系统,该电路采用ADC0809作为A/D转换元件,将AD590采集的模拟温度信号转化为数字信号,传输到单片机内部,最后总是用共阴极LED显示出来,温度测量范围085,小数点后显示一位。要求能够正确

5、的显示温度传感器的温度。使用3位LED模块显示,显示测量温度数值。本系统主要包括大模块:数据采集模块、控制模块、A/D转换模块、显示模块。首先绘制出工作流程图,然后连接好硬件电路,写入汇编程序,并进行调试,最终设计完成了该系统的硬件电路。在软件编程上,采用了汇编语言进行编程,使用了显示模块程序、转换数据存取程序、A/D转换程序。 关键字:AT89C51、AD590、数码管、ADC0809、温度计 1 绪论随着科技的发展,单片机已不是一个陌生的名词,它的出现是近代计算机技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。单片机单芯片的微小

6、体积和低的成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具。而温度计是工农业生产及科学研究中最常用的测量仪表。随着时代的进步和发展,数字温度计得到了迅速的发展。数字温度计的优点是准确度高,不易误读,分辨率高,特别是在测量小的温度变化时比较准确。数字温度计已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术。本文中采用原件AD590、ADC0809、89S51单片机和数码管设计出一个数字温度计。2 硬件部分2.1 单片机的选择AT89C51作为温度

7、测试系统设计的核心器件。该器件是INTEL公司生产的MCS一5l系列单片机中的基础产品,采用了可靠的CMOS工艺制造技术,具有高性能的8位单片机,属于标准的MCS51的CMOS产品。不仅结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,而且继承和扩展了MCS48单片机的体系结构和指令系统。单片机小系统的电路图如图1所示。图1 单片机小系统电路AT89C51单片机的主要特性:(1)与MCS-51 兼容,4K字节可编程闪烁存储器;(2)灵活的在线系统编程,掉电标识和快速编程特性;(3)寿命为1000次写/擦周期,数据保留时间可10年以上;(4)全静态工作模式:0Hz-33Hz;(5)三级程

8、序存储器锁定;(6)128*8位内部RAM,32可编程I/O线;(7)两个16位定时器/计数器,6个中断源;(8)全双工串行UART通道,低功耗的闲置和掉电模式; (9)片内振荡器和时钟电路;2.2 温度采集电路温度采集系统主要由AD590、OP-07。ICL8069组成,如图2所示图2 温度采集系统电路选用温度传感器AD590,AD590具有较高精度和重复性(重复性优于0.1,其良好的非线形可以保证优于0.1的测量精度,利用其重复性较好的特点,通过非线形补偿,可以达到0.1测量精度)。超低温漂移高精度运算放大器OP-07将“温度-电压”信号放大。便于A/D进行转换,以提高温度采集电路的可靠性

9、。集成温度传感器的输出形式分为电压输出和电流输出两种。电压输出型的灵敏度一般为10mV/K,温度0时输出为0,温度25时输出为2.982V。电流输出型的灵敏度为1A/K。这样便于A/D转换器采集数据。2.3 模数转换电路设计ADC0809是M美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。是目前国内应用最广泛的8位通用A/D芯片。1、主要特性(1)8路输入通道,8位A/D转换器,即分辨率为8位。 (2)具有转换起停控制端。 (3)转换时间为100s(时钟为640k

10、Hz时),130s(时钟为500kHz时) (4)单个5V电源供电 (5)模拟输入电压范围05V,不需零点和满刻度校准。 (6)工作温度范围为-4085摄氏度 (7)低功耗,约15mW。2、内部结构和外部引脚ADC0809的内部结构和外部引脚分别如下两图所示。内部各部分的作用和工作原理在内部结构图中已一目了然,在此就不再赘述,下面仅对各引脚定义分述如下: (1)IN0IN78路模拟输入,通过3根地址译码线ADDA、ADDB、ADDC来选通一路。(2)D7D0A/D转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。8位排列顺序是D7为最高位,D0为最低位。(3)ADDA、ADDB

11、、ADDC模拟通道选择地址信号,ADDA为低位,ADDC为高位。地址信号与选中通道对应关系如表11.3所示。(4)VR(+)、VR(-)正、负参考电压输入端,用于提供片内DAC电阻网络的基准电压。在单极性输入时,VR(+)=5V,VR(-)=0V;双极性输入时,VR(+)、VR(-)分别接正、负极性的参考电压。(5)ALE地址锁存允许信号,高电平有效。当此信号有效时,A、B、C三位地址信号被锁存,译码选通对应模拟通道。在使用时,该信号常和START信号连在一起,以便同时锁存通道地址和启动A/D转换。(6)STARTA/D转换启动信号,正脉冲有效。加于该端的脉冲的上升沿使逐次逼近寄存止,重新从头

12、开始转换器清零,下降沿开始A/D转换。如正在进行转换时又接到新的启动脉冲,则原来的转换进程被中。ADC0809内部结构框图地 址选中通道ADDCADDBADDA000011110011001101010101IN0IN1IN2IN3IN4IN5IN6IN7 AADC0809外部引脚图图3 ADC0809(7)EOC转换结束信号,高电平有效。该信号在A/D转换过程中为低电平,其余时间为高电平。该信号可作为被CPU查询的状态信号,也可作为对CPU的中断请求信号。在需要对某个模拟量不断采样、转换的情况下,EOC也可作为启动信号反馈接到START端,但在刚加电时需由外电路第一次启动。(8)OE输出允许

13、信号,高电平有效。当微处理器送出该信号时,ADC0808/0809的输出三态门被打开,使转换结果通过数据总线被读走。在中断工作方式下,该信号往往是CPU发出的中断请求响应信号。3、工作时序与使用说明图4 ADC0809的工作时序图用单片机控制ADC时,多数采用查询和中断控制两种方式。查询法是在单片机把启动命令送到ADC之后,执行别的程序,同时对ADC的状态进行查询,以检查ADC变换是否已经完成,如查询到变换已结束,则读入转换完毕的数据。中断控制是在启动信号送到ADC之后,单片机执行别的程序。当ADC转换结束并向单片机发出中断请求信号时,单片机响应此中断请求,进入中断服务程序,读入转换数据,并进

14、行必要的数据处理,然后返回到原程序。这种方法单片机无需进行转换时间管理,CPU效率高,所以特别适合于变换时间较长的ADC。本设计采用查询方式进行数据收集。由于ADC0809片内无时钟,故运用8051提供的地址锁存使能信号ALE经D触发器二分频后获得时钟。因为ALE信号的频率是单片机时钟频率的1/6,如果时钟频率为6MHz,则ALE信号的频率为1MHz,经二分频后为500kHz,与AD0809时钟频率的典型值吻合。由于AD0809具有三态输出锁存器,故其数据输出引角可直接与单片机的总线相连。地址码引脚ADDAC分别与地址总线的低3位A0、A1、A2相连,以选通IN0IN7中的一个通道。采用单片机

15、的P2.7(地址总线最高位A15)作为A/D的片选信号。并将A/D的ALE和START脚连在一起,以实现在锁存通道地址的同时启动ADC0809转换。启动信号由单片机的写信号和P2.7经或非门而产生。在读取转换结果时,用单片机的读信号和P2.7经或非门加工得到的正脉冲作为OE信号去打开三态输出锁存器。编写的软件按下列顺序动作:令P2.7=A15=0,并用A0、A1、A2的组合指定模拟通道的地址;执行一条输出指令,启动A/D转换;然后根据所选用的是查询、中断、等待延时三种方式之一的条件去执行一条输入指令,读取A/D转换结果。ADC0809是一个8路8位逐次逼近的A/D转换器。AD0809的转换时间

16、为100s。在CPU启动A/D命令后,便执行一个固定的延时程序,延时时间应略大于A/D的转换时间;延时程序一结束,便执行数据读入指令,读取转换结果。我们只用了其一路AD转换,参考电压2.56V,即一位数字量对应10mV即1。所以用起来很方便。ADC0809是带有8路模拟开关的8位A/D转换芯片,所以它可有8个模拟量的输入端,由芯片的A,B,C三个引脚来选择模拟通道中的一个。A,B,C三端分别与AT89C51的P0.0P0.2相接。地址锁存信号(ALE)和启动转换信号(START),由P2.6和/WR或非得到。输出允许,由P2.6和/RD或非得到。时钟信号,可有89C51的ALE输出得到,不过当

17、采用12M晶振时,应该先进行二分频,以满足ADC0809的时钟信号必须小于640K的要求。与单片机的连接如图5所示图5数据转换系统电路图2.4 显示电路设计路2.4.1 LED数码管构成 LED数码管显示器是由发光二极管显示字段的显示器件,也称为数码管。其外形结构如图所示。它由8个发光二极管构成,通过不同的组合可用来显示0-9、A-F及小数点“.”等字符。 数码管有共阴极和共阳极两种结构规格,电阻为外接。共阴极数码管的发光二极管阴极共地,当某发光二极管的阳极为高电平时,二极管点亮;共阳极数码管的发光二极管是阳极,并接高电平,对于需点亮的发光二极管将其阴极接低电平即可。 图6(a) 共阴极 图6

18、(b) 共阳极 图6(C)字段显示2.4.2 显示方式(1) 静态显示方式 直接利用并行口输出。LED显示工作于静态显示方式时,各位的共阴极连接在一起接地;每位的段选线分别于一个8位的锁存输出相连。一般称之为静态显示,是由于显示器中的各位相互独立。而且各位的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。本实验采用串入并出的静态显示方式。利用通信号串行输出。在实际应用中,多位LED显示时,为了简化电路,在系统不需要通信功能时,经常采用串行通信口工作方式0,外接移位寄存器74LS164来实现静态显示。(2) 动态显示方式对多位LED显示器的动态显示,通常都时采用动态扫描的方

19、法进行显示,即逐个循环点亮各位显示器。这样虽然在任一时刻只有一位显示器被点亮,但是由于间隔时间较短,且人眼具有视觉残留效应,看起来与全部显示器持续点亮一样。为了实现LED显示器的动态扫描,除了要给显示器提供的输入之外,还要对显示器加位选择控制,这就是通常所说的段控和位控。因此多位LED显示器接口电路需要有两个输出口,其中一个用于输出8位控信号;另一个用于输出段控信号,其连接图如图7。 图7 LED显示电路表1七段LED段选码表显示字符共阴极段显示字符共阴极段03FHC39H106HD5EH25BHE79H34FHF71H466HP73H56DHU3EH67DH31H707Hy6EH87FH8.

20、FFH96FH“灭”00HA77H/B7CH/3 软件设计3.1 主程序设计 3.1.1 工作流程 首先在模拟信号转换开始初期延时一段时间(150微秒),延时完成后数据肯定已经转换完毕。转向数据存储程序,最后再到显示程序,本设计使用的是串入并出形式的显示方法。要求正确的显示温度值。完成一次温度采集显示程序后,要延时1秒,使的数据显示稳定,如果延时时间过短,温度值会在跳跃的临界点闪烁。然后转向温度采集并循环显示程序。工作流程图如下:图8主程序流程3.1.2 存储空间定义安排40H用于存放A/D转换结果,40H、41H、42H分别存储显示用的三位数据如下表:表2存储空间定义表40H用于存放A/D转

21、换结果40H温度值十位数部分41H温度值个位数部分(小数点的处理)42H温度值小数位部分3.2 模块程序设计3.2.1 A/D转换测量程序A/D转换的常用方法有:计数式A/D转换,逐次逼近型A/D转换,双积分式A/D转换, V/F变换型A/D转换。在这些转换方式中,记数式A/D转换线路比较简单,但转换速度较慢,所以现在很少应用。双积分式A/D转换精度高,多用于数据采集及精度要求比较高的场合,如5G14433(31/2位),AD7555(41/2位或51/2位)等,但速度更慢。逐次逼近型A/D转换既照顾了转换速度,有具有一定的精度,这里选用的是逐次逼近型的A/D转换芯片ADC0809。采用延时控

22、制的方式实现,不浪费时间,效率较高。其流程图如下: 图9 A/D转换测量程序3.2.2 显示程序LED显示工作于静态显示方式时,各位的共阴极连接在一起接地;每位的段选线分别于一个8位的锁存输出相连。一般称之为静态显示,是由于显示器中的各位相互独立。而且各位的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。本实验采用串入并出的静态显示方式。利用通信号串行输出。在实际应用中,多位LED显示时,为了简化电路,在系统不需要通信功能时,采用串行通信口工作方式0,外接移位寄存器74LS164来实现静态显示。图10显示子程序 3.3程序设计 org 000h jmp main org

23、0030hmain: mov r0,#40h mov dptr,#0bff8h ;指向0809首地址 movx dptr,a ;启动A/D转换 tt1: movx a,dptr ;读数 movx r0,a ;存数 movx dptr,a ;启动A/D转换 lcall delay128us ;等待转换完毕(至少128us) movx a,dptr mov r0,a lcall tran ;模数-数据转换 lcall disp ;数据的静态显示 lcall delay1s sjmp main ;数据转换; tran: ;数据转换 mov r0,#40h mov r3,#00h mov a,r0 ;

24、把r0中的数给a mov b,#03h ;标度变换 3格一度 div ab mov r3,b mov b,#0ah ;将标度变换结果的整数部分进行BCD码转换 div ab mov r0,a ;将十位数送显示缓冲单元 inc r0 ;指向缓冲单元下一地址 mov r0,b ;将个位数送显示缓冲单元 mov a,r3 ;标度转换结果小数部分处理 mov b,#03h ;实现三格一度 mul ab inc r0 mov r0,a ;送显示缓冲单元lop: ret;静态显示子程序-串入并出;disp: mov dptr,#tab mov r0,#40h ;r0指向缓存区首地址 mov a,r0 ;将

25、整数位数给a movc a,a+dptr ;利用表格计算十位七段LED数码管的段码 mov 40h,a ;将段码结果送入40h inc r0 ;r0指向缓存区下一地址 mov a,r0 ;将个位数给a movc a,a+dptr ;利用表格计算个位七段LED数码管的段码 mov 41h,a ;将段码结果送入41h inc r0 ;r0指向缓存区下一地址 mov a,r0 ;将小数给a movc a,a+dptr ;利用表格计算小数位七段LED数码管的段码 mov 42h,a ;将段码结果送入42h;最后一位清零; mov 43h,#00h mov a,43h mov r7,#8ccc: jb

26、acc.7,aaa ; clr p3.0 ; jmp bbbaaa: setb p3.0bbb: setb p3.1 clr p3.1 rl a djnz r7,ccc;小数位数显示; mov a,42h mov r7,#8 cc: jb acc.7,aa ; clr p3.0 ; jmp bbaa: setb p3.0bb: setb p3.1 clr p3.1 rl a djnz r7,cc ;所有位检测后顺序执行;个位数显示; orl 41h,#80h ;个位数后置小数点 mov a,41h mov r7,#8 dd: jb acc.7,ee clr p3.0 jmp ff ee: se

27、tb p3.0 ff: setb p3.1 clr p3.1 rl a djnz r7,dd ;十位数数显示; mov a,40h mov r7,#8 gg: jb acc.7,hh clr p3.0 jmp ii hh: setb p3.0 ii: setb p3.1 clr p3.1 rl a djnz r7,ggtab: db 3fh,06h,5bh,4fh,66h db 6dh,7dh,07h,7fh,6fhlop1: ret;ADC0809转换所需时间;delay128us: mov r5,#30delay1: mov r7,#5delay2: nop nop djnz r7,del

28、ay2 djnz r5,delay1 ret;为使数据显示稳定延时1秒;delay1s: mov r4,#10delay00: mov r5,#100delay11: mov r7,#249delay22: nop nop djnz r7,delay22 djnz r5,delay11 djnz r4,delay00 ret总 结 作为一名通信的大三学生,我觉得做单片机课程设计是很有意义的,而且也是必要的。在做这次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的实际资料是十分必要的,也是必不可少的。其次,在这次课程设计中,我们运用了以前学过的专业课

29、知识,如:proteus仿真、汇编语言、模拟和数字电路知识等。虽然过去我从未独立应用过他们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。最后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机有哪些资源;要有一个清晰的思路和一个完整的软件流程图;在设计程序时,不能妄想一次将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,这样为资料的保留和交流提供了方便;在设计中遇到的问题要记录,以免下次遇到同样的问题。在这次的课程设计中,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单片机更是如此,程序只有在经常写与读的过程中才能提高,这就是这次课程设计的最大收获。参考资料 1肖洪兵. 跟我学用单片机M. 北京:北京航空航天大学出版社,20022赵晓安. MCS-51单片机原理及应用M. 天津:天津大学出版社,2001 3何立民. 单片机高级

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1