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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于单片机的数字温度计课程设计.docx

1、基于单片机的数字温度计课程设计河南理工大学单片机应用与仿真训练设计报告基于单片机的数字温度计设计姓 名: 学 号: 专业班级: 指导老师: 所在学院: 电气工程与自动化系 211年月2日基于单片机的数字温度计设计摘要随着现代信息技术的飞速发展和传统工业改造的逐步实现能够独立工作的温度检测和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。与传统的温度计相比,这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。选用AT89S型单片机作为主控制器件,l82

2、作为测温传感器通过4位共阳极L数码管串口传送数据,实现温度显示。通过8B20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在010最大线性偏差小于0.。该器件可直接向单片机传输数字信号,便于单片机处理及控制。另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。1 概述 4 11课题名称4 课题要求 3设计的目的意义42 系统总体方案及硬件设计 2.单片机的选择5 22温度传感器的介绍 23温度传感器与单片机的连接8 2.4复位信号及外部复位电路8 2.5单片机与报警电路92.6显示电路93软件设计 14 Prteus软件仿真 12 4.1 仿真图

3、2 .仿真结果分析135 总结体会 14参考文献 15附录 1 程序源代码 15附录2 系统原理图21概述.课题名称 基于单片机的数字温度计的设计1.2课题要求 1)基本范围50102)精度误差小于0.5)LED数码直读显示4)可以设定温度的上下限报警功能1.设计目的和意义 温度数我们日常生产和生活中实时在接触到的物理量,但是它是看不到的,仅凭感觉只能感觉到大概的温度值,传统的指针式的温度计虽然能指示温度,但是精度低,使用不够方便,显示不够直观,数字温度计的出现可以让人们直观的了解自己想知道的温度到底是多少度。数字温度计采用温度敏感元件也就是温度传感器(如铂电阻,热电偶,半导体,热敏电阻等),

4、将温度的变化转换成电信号的变化,如电压和电流的变化,温度变化和电信号的变化有一定的关系,如线性关系,一定的曲线关系等,这个电信号可以使用模数转换的电路即AD转换电路将模拟信号转换为数字信号,数字信号再送给处理单元,如单片机或者PC机等,处理单元经过内部的软件计算将这个数字信号和温度联系起来,成为可以显示出来的温度数值,如25.0摄氏度,然后通过显示单元,如ED,LCD或者电脑屏幕等显示出来给人观察。这样就完成了数字温度计的基本测温功能。数字温度计根据使用的传感器的不同,A转换电路,及处理单元的不同,它的精度,稳定性,测温范围等都有区别,这就要根据实际情况选择符合规格的数字温度计。数字温度计有手

5、持式,盘装式,及医用的小体积的等等。另外作为电气工程及其自动化的学生,通过基于单片机数字温度计的设计可以提高自己理论联系实际的能力,可以更好的掌握所学的专业理论只是,也培养了自己的动手能力,同时,也培养了信息搜集能力和分析问题解决问题的能力 2系统总体设计方案及硬件设计作为对专业理论知识学习后的实践环节,我选择了自行设计基于AT8S52单片机的数字温度计。设计原理框图如,图1。图 1 数字温度计原理框图2. 单片机的选择AT89S2是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程lash 存储器。使用Am 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼

6、容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT9S5在众多嵌入式控制应用系统中得到广泛应用。Poues仿真软件中用T89C51代替AT895,单片机小系统的电路图如图所示。图2单片机小系统电路 A8952主要性能1、与MCS-51单片机产品兼容; 2、K字节在系统可编程sh存储器; 3、10次擦写周期; 4、全静态操作:0H33MHz; 5、三级加密程序存储器; 、32个可编程I口线; 7、三个16位定时器计数器; 8、六个中断源; 、全双工UART串行通道; 、低功耗空闲和掉电模式; 1、掉电后中断可唤醒

7、;2、看门狗定时器;13、双数据指针;14、掉电标识符 。2.2 温度传感器介绍DS12可以程序设定912位的分辨率,精度为0.5。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EPROM中,掉电后依然保存。图3 温度传感器引脚功能说明: NC:空引脚,悬空不使用; VD :可选电源脚,电源电压范围35.5V。当工作于寄生电源时,此引脚必须接地。 D :数据输入/输出脚。漏极开路,常态下高电平。 GD :为电源地D8B2内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。光刻RM中的位序列号是出厂前被光刻好的,它

8、可以看作是该S120的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DB20自身的序列号,最后8位是前面位的循环冗余校验码(RC=X8+X54+)。光刻O的作用是使每一个D1B2都各不相同,这样就可以实现一根总线上挂接多个DS18B0的目的。 D8B20中的温度传感器可完成对温度的测量,以12位转化为例:用1位符号扩展的二进制补码读数形式提供,以0.0625LB形式表达,其中为符号位。 这是12位转化后得到的12位数据,存储在8的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于.02即可得到实际温

9、度;如果温度小于,这5位为1,测到的数值需要取反加1再乘于0.02即可得到实际温度。 例如+2的数字输出为07D0,+250625的数字输出为0191H,-25.0625的数字输出为F6H,-55的数字输出为FC90H。 DS8B2温度传感器的内部存储器包括一个高速暂存R和一个非易失性的可电擦除的EAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。 暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是H、T的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、

10、七、八个字节用于内部计算。第九个字节是冗余检验字节。 该字节各位的意义如下:TM R1 R 1 1 1 1 1低五位一直都是 ,T是测试模式位,用于设置8B20在工作模式还是在测试模式。在1B20出厂时该位被设置为,用户不要去改动。R和R0用来设置分辨率,如表1所示:(DSB20出厂时被设置为1位)表1DS1820温度转换时间表1R0分辨率/位温度最大转向时间00995111.51011375112750根据DS1820的通讯协议,主机控制DS18B0完成温度转换必须经过三个步骤:每一次读写之前都要对DS1B2进行复位,复位成功后发送一条O指令,最后发送RAM指令,这样才能对DS1B进行预定的

11、操作。复位要求主CP将数据线下拉500微秒,然后释放,DS820收到信号后等待1660微秒左右,后发出04微秒的存在低脉冲,主PU收到此信号表示复位成功。2.3 温度传感器与单片机的连接DS182采用外部电源供电方式,在外部电源供电方式下,DS1B20工作电源由VCC引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个S18B20传感器,组成多点测温系统。注意:在外部供电的方式下,DS18B20的ND引脚不能悬空,否则不能转换温度,读取的温度总是85。图 D8B20接线.4 复位信号及外部复位电路该复位信号高电平有效,其有效时间应持续

12、24个振荡脉冲周期即两个机器周期以上。若使用频率为2 Mz的晶体振荡器,则复位信号持续时间应超过s才完成复位操作。 图5 复位电路.5 单片机与报警电路报警电路分为两部分,一部分是蜂鸣器声音报警,另一部分是发光二极管放光报警。具体情况如下:接通电源,两个(红色,黄色)发光二极管都不亮,当温度超过上线设定值(如3摄氏度)时,红色二极管亮,同时蜂鸣器也报警;当温度低于下限设定值时(如5摄氏度)时,黄色二极管亮,同时蜂鸣器也开始报警。 图6 蜂鸣器报警 图7发光二极管报警 6 显示电路采用技术成熟的54S共阴4位数码管 0.56英寸红色。E显示分为静态显示和动态显示。这里采用静态显示,系统通过单片机

13、的串行口来实现静态显示。串行口为方式零状态,即工作在移位寄存器方式,波特率为振荡频率的1。当器件执行任何一条将SBF作为目的寄存器的命令时,数据便开始从RXD端发送。在写信号有效时,相隔一个机器周期后发送控制端SEND有效,即允许RXD发送数据,同时允许从TD端输出移位脉冲。图8为显示电路的连接图。 图 8 数码显示连接图3 软件设计Sl8820的主要数据元件有:64位激光aereRO,温度灵敏元件和非易失性温度告警触发器TH和L。DSB82可以从单总线获取电源,当信号线为高电平时,将能量贮存在内部电容器中;当单信号线为低电平时,将该电源断开,直到信号线变为高电平重新接上寄生(电容)电源为止。

14、此外,还可外接V电源,给DSl0供电。Sl88的供电方式灵活,利用外接电源还可增加系统的稳定性和可靠性。图为读取数据流程图。图9 读取数据的流程图读出温度数据后,LOW的低四位为温度的小数部分,可以精确到0.62,LW的高四位和IG的低四位为温度的整数部分,HG的高四位全部为1表示负数,全为表示正数。所以先将数据提取出来,分为三个部分:小数部分、整数部分和符号部分。小数部分进行四舍五入处理:大于.5的话,向个位进;小于0.的时候,舍去不要。当数据是个负数的时候,显示之前要进行数据转换,将其整数部分取反加一。还因为S120最低温度只能为-5,所以可以将整数部分的最高位换成一个“-”,表示为负数。

15、图10为温度数据处理程序的流程图。图10 温度数据处理流程图4 reus软件仿真 仿真过程相当顺利,需要注意原件的选取,尤其是数码管显示块的共阴、共阳,还有就是电阻的选取,太大太小都会影响实验效果。在仿真中不存在焊接的问题,所以接线只要引脚接口正确就是没问题的。另外就是程序的调试,相当重要。4. 仿真图 图 11 当温度为上下限之间时的仿真情况图 12温度在温度下限设定值以下的仿真图 图 1 温度在温度上限设定值以上的仿真图.仿真结果分析温度在上下限设定值范围内是,放光二极管都是不亮的,当实际温度值,低于设定下限时,黄色放光二极管亮;当实际温度高于上限设定值时,红色发光二极管亮。 原因,通过程

16、序控制P1.0(红色放光二极管) P1.1(黄色发光二极管),度在上下限设定值范围内是,P1.0,.1都是低电平,故发光二极管不会亮,当实际温度值,低于设定下限时,P10 为低电平P1.1为高电平,故黄色放光二极管亮;当实际温度高于上限设定值时,P.0为高电平1.为低电平,故红色发光二极管亮。总结与体会作为一名电气工程及其自动化大三学生,我觉得做单片机课程设计是很有意义的,而且也是必要的。在做这次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的实际资料是十分必要的,也是必不可少的。其次,在这次课程设计中,我们运用了以前学过的专业课知识,如:prot

17、eus仿真、C语言、模拟和数字电路知识等。虽然过去我从未独立应用过他们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。最后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机有哪些资源;要有一个清晰的思路和一个完整的软件流程图;在设计程序时,不能妄想一次将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,这样为资料的保留和交流提供了方便;在设计中遇到的问题要记录,以免下次遇到同样的问题。在这次的课程设计中,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中

18、,学习单片机更是如此,程序只有在经常写与读的过程中才能提高,这就是这次课程设计的最大收获。参考文献单片机原理及应用技术. 余发山,王福忠 徐州 中国矿业大学出版社.2微型计算机控制技术 王新 中国电力出版社3 模拟电子技术 艾永乐 中国电力出版社附录 1 程序源代码/*程序名称:S182温度测量、报警系统简要说明:DS1B0温度计,温度测量范围099.9摄氏度 可设置上限报警温度、下限报警温度 即高于上限值或者低于下限值时蜂鸣器报警 默认上限报警温度为38、默认下限报警温度为 报警值可设置范围:最低上限报警值等于当前下限报警值 最高下限报警值等于当前上限报警值 将下限报警值调为0时为关闭下限报

19、警功能 *#nclueAT8X2.hinludS18B20.h euinuniged n#dfin ucarnsgned char /宏定义#dfinSET P_1 /定义调整键#deine DC P3_2 /定义减少键#defeADD P3_ /定义增加键#dfi BEP P3_7 /定义蜂鸣器it shhos; /闪烁间隔标志bt beep_; /蜂鸣器间隔标志sit DIN P07; /小数点uchar x=0; /计数器signe chr m; /温度值全局变量cha n; 温度值全局变量ucarse_=0; /状态标志sined cha shangxia38; /上限报警温度,默认值

20、为38sigedchar xiaxin=; /下限报警温度,默认值为5uhar cde Daa=0x3,0x06,0x5B,0x,x66,0x6,0x7D,0x07,0x7F,x6,0x0;usigedt ReaTemperaur(oid);/*延时子程序*void Dela(it num)whie( -num );/*初始化定时器0*/vid IntTim(vod) TOD=0x; H0=03c; TL=0b; /50m(晶振1M)*定时器0中断服务程序*void tie0(vod) itrrpt 1using 0 TH0=0x; TL0=0xb; x+;/*外部中断0服务程序*/vid i

21、nt0(void)itrrupt 0 using EX0; /关外部中断0 if(DEC=0&set_st=1) sangxia-; if(sanxianxaxian)sangian=xiaian; elsef(DE=0&ets=2) xiaxan-; f(xaxian9)shangxian=99; es if(ADD=0&setst=2) xixian+; if(xaxiashangxi)xaxian=axan; /*读取温度/voidc_wen(oi) uint ,b,c;c=eademperature(); /获取温度值并减去DS120的温漂误差 a=c/0; /计算得到十位数字 =c/

22、1a*0; /计算得到个位数字m=10; /计算得到整数位 n=c-a100-b10; /计算得到小数位 if(m9)m=9;n=; /设置温度显示上限 /*显示开机初始化等待画面*/spit() P0 040; /显示-2 0x; elay(20); 2 = 0fb; Delay(20); P = 0xfd; Delay(20); 2 = 0xfe;elay(200); P2 = xff; /关闭显示/*显示温度子程序*/Dis_Tmpeure() /显示温度 = x7; 0 =x9; /显示C y(0); P2 0xfb; P0 =LEDDta; /显示个位 Dey(300); P2 =

23、xfd; P0 =EDatam%10; /显示十位DIA 1; /显示小数点 ay(30); P2 =0xfe;P0 LEDDtm/10; /显示百位 Del(300); P2=0xff; /关闭显示/*显示报警温度子程序*/Dip_rm(uchar baojing)P2 = 0xf7; P=039; /显示C Delay(20); 2 =0fb; P0=EDDatabojin1; /显示十位 Delay(20); 2 = 0xd;P0 =LDatabajg10;/显示百位Delay(20); P2 xfe;f(et_st=1)P0 =0x76; elsei(et_s=2)P0=03;/上限、

24、下限标示 elay(0);2 =0xff; /关闭显示/*报警子程序*oid Alar() usigned ini; or(i=0;i00;i+)/喇叭发声的时间循环,改变大小可以改变发声时间长短 Delay(0);参数决定发声的频率,估算值 EP=!BEEP; BEEP=1; /喇叭停止工作,间歇的时间,可更改 Dlay(2000); /*主函数*/vi mai(vid) uint z; IitTmer(); /初始化定时器 EA=1; /全局中断开关 T=1; T01; /开启定时器0 IT0=; IT1=1;chck_wendu(); hec_endu(); for(z=0;z2)et_t0; f(sets=0) EX=0; /关闭外部中断0 E1=0; /关闭外部中断 chec_wen(); Dip_Tmprature(

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

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