(精品)单片机课程精品基于AT89S51的温度测量系统设计(2013年优秀毕业设计)_第1页
(精品)单片机课程精品基于AT89S51的温度测量系统设计(2013年优秀毕业设计)_第2页
(精品)单片机课程精品基于AT89S51的温度测量系统设计(2013年优秀毕业设计)_第3页
(精品)单片机课程精品基于AT89S51的温度测量系统设计(2013年优秀毕业设计)_第4页
(精品)单片机课程精品基于AT89S51的温度测量系统设计(2013年优秀毕业设计)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

单片机课程设计论文 学生姓名 学 号 班 级 指导教师 二一年六月一日目 录目 录2基于AT89S51的温度测量系统设计31 系统设计32 系统硬件设计32.1 微控制器模块设计32.1.1 单片机简介42.1.2 AT89S51单片机简介42.1.3 微控制器模块电路设计52.2 温度检测模块设计52.2.1 AD590简介52.2.2 ADC0809简介62.2.3 温度检测模块电路设计72.3 数码管显示模块设计73 系统软件的设计83.1 主程序83.2 ADC0809程序93.3 七段数码管程序104 实验结果及总结11附件一: 温度测量系统原理图12附件二: 温度测量系统程序源代码131) main.c132) public.c133) public.h134) adc0809.c135) adc0809.h156) led.c157) led.h16基于AT89S51的温度测量系统设计xxx(南京xxxxx, 南京210044)摘要:本文采用AT8S51 8位单片机作为控制核心设计了温度测量系统,该系统由温度检测模块、微控制器模块、数码管显示模块三部分组成,能对-55+150范围的温度进行测量,同时利用4位七段数码管可以实时显示环境温度。该系统结构简单,成本低,具有较好的应用价值。关键词:AT89S51 单片机 温度测量 模数转换 ADC0809 AD5901 系统设计温度测量系统由温度检测模块、MCS-51微控制器模块、数码管显示模块三部分组成,如图1-1 温度测量系统的系统框图:图1-1 温度测量系统的系统框图温度检测模块中模数转换器ADC809从温度传感器AD590中采集温度数据,通过P1口传给MCS-51单片机,微控制模块进行数据转换,然后驱动4位七段数码管,显示温度信息。2 系统硬件设计2.1 微控制器模块设计微控制器模块是电路系统的控制核心,它的主要功能是接收ADC809的温度数据,进行转换,驱动数码管显示温度。本温度测量系统采用8051内核Atmel公司的AT89S51八位单片机。2.1.1 单片机简介所谓单片机,全称是单片微型计算机,又控制器。它是在一块半导体芯片上,集成了CPU,ROM,RAM,I/O口、定时器/计数器、中断系统、AD模数转换器等功能部件,构成了一台完整的数字电子机。目前单片机己成功地运用在智能仪表、机电设备、过程控制、数据处自动检测和家用电器等各个方面。单片机在控制领域中,有如下几个特点:1)小巧灵活、成本低、易于产品化,能方便地组装成各种智能式控备及各种智能仪器仪表。2)面向控制,能针对性地解决从简单到复杂的各类控制任务,因而得最佳的性能价格比。3)抗干扰能力强,适应温度范围宽,在各种恶劣的环境下都能可靠作,这是其它机种无法比拟的。4)可以很方便地实现多机和分布式控制,使整个控制系统的效率和性大为提高2.1.2 AT89S51单片机简介AT89S51单片机是Atmel 公司推出的和工业80C51产品为完全兼容的8位机,其特有的布尔处理机,在逻辑处理与控制方面具有突出优点。特点如下:1)8位微控制器;2)片内128B RAM 数据存储器8K字节在系统可编程Flash存储器;3)外部数据存储空间和程序存储空间都是64KB;4)8个中断源,两个中断优先级;5)三个16位定时计数器;6)4个8位并行I/O口;7)全双工串行口;8)布尔处理器。图2-1为AT89S51的引脚图:图2-2 AT89S51引脚图2.1.3 微控制器模块电路设计图2-2 AT89S51单片机最小系统微控制器模块的无线数据接收端电路如图2-2AT89S51单片机最小系统,X1为12MHz晶振和C15、C14一起为AT89S52单片机提供晶振源;按键REST K1未按之前引脚RST/Vpd高电平,当按键REST按下后为低电平引起系统重启;J1为自制6脚程序下载端口,用于下载、调试程序。2.2 温度检测模块设计2.2.1 AD590简介AD590是美国模拟器件公司生产的单片集成两端感温电流源。它的主要特性如下:1)流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数,即: 式中:Ir流过器件(AD590)的电流,单位为mA;T热力学温度,单位为K。2)AD590的测温范围为-55+150。3)AD590的电源电压范围为4V30V。电源电压可在4V6V范围变化,电流 变化1mA,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。4)输出电阻为710MW。5)精度高。AD590共有I、J、K、L、M五档,其中M档精度最高,在-55+150范围内,非线性误差为0.3。AD590温度传感器是一种已经IC化的温度感测器,它会将温度转换为电流,每增加1,它会增加1A输出电流,AD590元件符号如图2-3所示:图2-3 AD590元件符号AD590的输出电流值说明:其输出电流是以绝对温度零度(-273)为基准,每增加1,它会增加1A输出电流,因此在室温25时,其输出电流Iout=(273+25)=298A。AD590的管脚图如图2-4:图2-4 AD590的管脚图2.2.2 ADC0809简介ADC0809是美国国家半导体公司产品,它是逐次逼近型芯片,片内带有锁存功能的8路模拟多路开关,可对8路05V的输入模拟电压信号分时进行转换,片内具有多路开关的地址译码和锁存电路、比较器、256R电阻T型网络、树状电子开关、逐次逼近寄存器SAR,控制与时序电路等,图2-5是内部结构和引脚图:主要特性:1)8路输入通道,8位AD转换器,即分辨率为8位。2)具有转换起停控制端。3)转换时间为100s 4)单个5V电源供电5)模拟输入电压范围05V,不需零点和满刻度校准。6)工作温度范围为-4085摄氏度7)低功耗,约15mW。图2-5 ADC0809内部结构和引脚图2.2.3 温度检测模块电路设计图2-6 温度检测模块电路设计电路分析:1) AD590的输出电流I=(273+T)A(T为摄氏温度),因此集成运放LM358的同相端的输入电压V+为(273+T)A10K=(2.73+T/100)V。2) 利用可变电阻分压,集成运放LM358的反相端的输入电压V-需调整至2.73V3) 接下来我们使用差动放大器其输出Vo为(100K/50K)(V+ - V-)=T/50,如果现在为摄氏28,输出电压为2.8/5V,输出电压接AD转换器,那么AD转换输出的数字量就和摄氏温度成线形比例关系。4) ADC0809的基准电压为5V,转换输出的数字量num=(T/50)/5*256=T*(250/256)。2.3 数码管显示模块设计本温度测量系统采用4位共阳的七段数码管作为显示,如图2-7:图2-7 4位共阳七段数码管因为直接用单片机驱动数码管电流不够大,所以利用NPN型三极管进行放大驱动,驱动电路如图2-8:图2-8 数码管驱动电路3 系统软件的设计3.1 主程序如图x-x是主程序的流程图:图3-1 是主程序的流程图系统上电后,首先初始化各功能引脚和定时器0,使之正常工作。之后系统会循环的读取ADC0809,在数码管上显示温度信息。void main()unsigned char num=54;init_ad0809();while(1)num=read_ad0809();printk(num);3.2 ADC0809程序如图3-2是模数转换器ADC0809的时序图:图3-2 ADC0809时序图引脚说明:1)CLKinput 时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500KHz的时钟信号 2)ALEinput 地址锁存允许信号。对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。 3)STARTinput 转换启动信号。START上升沿时,复位ADC0809;START下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START应保持 低电平。4)OEinput 输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。5)EOCoutput 转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。 sbit CLK= P37;sbit ALE = P36;sbit START = P35;sbit OE = P34;sbit EOC = P33;#defineDB0_7 P1unsigned char read_ad0809(void)unsigned char ret;/*start*/ALE=1;delay_us(1);START=1;delay_us(1);ALE=0;delay_us(1);START=0;/*check*/while(EOC=1) ;/等待转换结束delay_us(2);/*read*/OE=1;/delay_us(3);ret=DB0_7;/ 读取数据OE=0;return ret;void ad0809_clock(void) interrupt 1 using 1CLK=CLK;3.3 七段数码管程序本系统的七段数码管采用动态显示方式。unsigned char DATA_7SEG_P10=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;/七段,共阳数码管char led_data4=0;unsigned char old=0;void printk(unsigned char num)char high,low;float temper;if (old!=num)old=num;temper=250.0/256.0*num;high=(char)temper;low=(char)(temper-high)*100);led_data0=high/10;led_data1=high%10;led_data2=low/10;led_data3=low%10;P0=DATA_7SEG_Pled_data0;P2=0xfe;delay_us(20);P2=0xff;P0=DATA_7SEG_Pled_data1&0x7f;P2=0xfd;delay_us(20);P2=0xff;P0=DATA_7SEG_Pled_data2;P2=0xfb;delay_us(20);P2=0xff;P0=DATA_7SEG_Pled_data3;P2=0xf7;delay_us(20);P2=0xff;4 实验结果及总结调整电位器电阻,使得集成运放反相输入端电压为2.73V,最后可以在七段数码管正常显示环境温度,同时可以通过调整延迟时间,调整数码管刷新频率和显示的亮度。附件一: 温度测量系统原理图附件二: 温度测量系统程序源代码1) main.c#includereg52.h#includepublic.h#includeled.h#includead0809.hvoid main()unsigned char num=54;init_ad0809();while(1)num=read_ad0809();printk(num);2) public.cvoid delay_us(char us)while(us-);3) public.hvoid delay_us(char us);4) adc0809.c#includereg52.h#includepublic.hsbit CLK= P37;sbit ALE = P36;sbit START = P35;sbit OE = P34;sbit EOC = P33;#defineDB0_7 P1void init_ad0809_port(void)DB0_7=0xff;CLK=0;ALE=0;START=0;EOC= 1;OE= 1;void init_timer(void)CLK=0;TMOD=0X02;TH0=245;TL0=0Xf0;TR0=1;IE=0X82;/ET0=1;EA=1;unsigned char read_ad0809(void)unsigned char ret;/*start*/ALE=1;delay_us(1);START=1;delay_us(1);ALE=0;delay_us(1);START=0;/*check*/while(EOC=1) ;/等待转换结束delay_us(2);/*read*/OE=1;/delay_us(3);ret=DB0_7;/ 读取数据OE=0;return ret;void ad0809_clock(void) interrupt 1 using 1CLK=CLK;5) adc0809.hvoid init_ad0809_port(void);void init_timer(void);#define init_ad0809() doinit_ad0809_port();init_timer();while(0)unsigned char read_ad0809(void);6) led.c#includereg52.h#in

温馨提示

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

评论

0/150

提交评论