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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机.docx

1、单片机课程设计任务书20102011学年第二学期专业: 通信工程 学号: 080110043 姓名: 蔡礼娟 课程设计名称: 单片机原理及应用课程设计 设计题目: 利用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. 指导教师(签字): 教研室主任(签字): 批准日期: 年 月 日摘要温度作为一个常用的物理量在我们的气场生活中起着十分重要的作用,所以对温度计的设计也十分必要 。详细描述了利用数字温度传感器DS18B20开发测温系统的过程, 该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体

5、积小、功耗低等优点,它的主要元件是:控制器AT89C2051、温度传感器DS18B20、数码管LED。它的主要原理是利用DS18B20可以很好的转换温度值,并且直接显示温度值,它的性能优于传统的感温元件并且省去了AD、和模拟开关的设计。此外AT89C2051体积小并且还可以直接驱动LED,这样大大化简了设计的难度并且降低了成本。【关键词】 单片机 数字 温度计 目录1.课题概述随着现代信息技术的飞速发展和传统工业改造的逐步实现能够独立工作的温度检测和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统

6、也有一定的误差。与传统的温度计相比,这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。选用AT89C51型单片机作为主控制器件,DSl8B20作为测温传感器通过4位共阳极LED数码管串口传送数据,实现温度显示。通过DSl8B20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在0100最大线性偏差小于0.1。该器件可直接向单片机传输数字信号,便于单片机处理及控制。另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。单片机自问世以来,性能不断提高和完善,其资源又能满足很多应用场合的需要,加之单片机具有集成度高、功能强、

7、速度快、体积小、功耗低、使用方便、价格低廉等特点,因此,在工业控制、智能仪器仪表、数据采集和处理、通信系统、高级计算器、家用电器等领域的应用日益广泛,并且正在逐步取代现有的多片微机应用系统。单片机的潜力越来越被人们所重视。特别是当前用CMOS工艺制成的各种单片机,由于功耗低,使用的温度范围大,抗干扰能力强,能满足一些特殊要求的应用场合,更加扩大了单片机的应用范围,也进一步促使单片机性能的发展。而现在的单片机在农业上页有了很多的应用。 温度是日常生活、工业、医学、环境保护、化工、石油等领域最常用到的一个物理量。测量温度的基本方法是使用温度计直接读取温度。最常见到得测量温度的工具是各种各样的温度计

8、,例如:水银玻璃温度计,酒精温度计,热电偶或热电阻温度计等。它们常常以刻度的形式表示温度的高低,人们必须通过读取刻度值的多少来测量温度。利用单片机和温度传感器构成的电子式智能温度计就可以直接测量温度,得到温度的数字值,既简单方便,有直观准确。2.硬件设计 利用温度传感器感温效应,在将随被测温度变化的电压或电流采集过来,进行放大,进再行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,其中还涉及到电阻与温度的对应值的计算, 温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用3位

9、LED数码管以串口传送数据实现温度显示。 图1总体设计方框图2.1温度传感器介绍DS18B20可以程序设定912位的分辨率,精度为0.5C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EPROM中,掉电后依然保存。、DS1820的特性 单线接口:仅需一根口线与MCU连接;无需外围元件;由总线提供电源;测温范围为-55125,精度为0.5;九位温度读数;A/D变换时间为200ms;用户可以任意设置温度上、下限报警值,且能够识别具体报警传感器。2、DS1820引脚及功能 GND:地; VDD:电源电压 I/O:数据输入输出脚(单线接口,可作寄生供电)3、DS182

10、0的工作原理 图为DS1820的内部框图,它主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分。 寄生电源由两个二极管和寄生电容组成。电源检测电路用于判定供电方式。寄生电源供电时,电源端接地,器件从总线上获取电源。在I/O线呈低电平时,改由寄生电容上的电压继续向器件供电。寄生电源两个优点:检测远程温度时无需本地电源;缺少正常电源时也能读ROM。若采用外部电源,则通过二极管向器件供电。DS1820内部的低温度系数振荡器能产生稳定的频率信号f

11、0,高温度系数振荡器则将被测温度转换成频率信号f。当计数门打开时,DS1820对f0计数,计数门开通时间由高温度系数振荡器决定。芯片内部还有斜率累加器,可对频率的非线性予以补偿。测量结果存入温度寄存器中。一般情况下的温度值应为9位(符号点1位),但因符号位扩展成高8位,故以16位补码形式读出,下表给出了DS1820温度和数字量的对应关系。温度/输出的二进制码对应的十六进制码+125000000001111101000FAH+2500000000001100100032H+1/200000000000000010001H000000000000000000000H-1/2111111*1FFFF

12、H-251111111111001110FFCEH-55111111*0FF92H2.2 DS18B20温度传感器与单片机的接口电路DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图4-3 所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。 当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的

13、。 图2 DS18B20和单片机的接口连接2.3A/D转换器及其与单片机的接口从物理信号到电信号的转换 A/D转换器的作用是将模拟的电信号转换成数字信号。在将物理量转换成数字量之前,必须先将物理量转换成电模拟量,这种转换是靠传感器完成的。传感器的种类繁多,如温度传感器,压力传感器、光传感器、气敏传感器等。温度传感器:典型的温度传感器有热电偶和热敏电阻。热电偶是利用热点效应来工作的,室温下的输出电压为毫伏级的。热敏电阻是一种半导体新型感温元件,具有负的电阻温度系数,当温度升高时,其电阻减小。 图3 ADC0809与51单片机接口2.4显示电路采用技术成熟的74HCl64实现串并转换。LED显示分

14、为静态显示和动态显示。这里采用静态显示,系统通过单片机的串行口来实现静态显示。串行口为方式零状态,即工作在移位寄存器方式,波特率为振荡频率的1/12。当器件执行任何一条将SBUF作为目的寄存器的命令时,数据便开始从RXD端发送。在写信号有效时,相隔一个机器周期后发送控制端SEND有效,即允许RXD发送数据,同时允许从TXD端输出移位脉冲。2.5 复位信号及外部复位电路 单片机的P1.6端口是MAX813看门狗电路中喂狗信号的输入端,即单片机每执行一次程序就设置一次喂狗信号,清零看门狗器件。若程序出现异常,单片机引脚RST将出现两个机器周期以上的高电平,使其复位。该复位信号高电平有效,其有效时间

15、应持续24个振荡脉冲周期即两个机器周期以上。若使用频率为12 MHz的晶体振荡器,则复位信号持续时间应超过2s才完成复位操作。2.6 单片机与报警电路 系统中的报警电路是由发光二极管和限流电阻组成,并与单片机的P1.2端口连接。P1端口的作用和接法与P2端口相同,不同的是在编程和程序校验期间,P1接收低8位地址数据。2.7 电源电路由于该系统需要稳定的5 V电源,因此设计时必须采用能满足电压、电流和稳定性要求的电源。该电源采用三端集成稳压器LM7805。它仅有输入端、输出端及公共端3个引脚,其内部设有过流保护、过热保护及调整管安全保护电路由于所需外接元件少,使用方便、可靠,因此可作为稳压电源。

16、图6为电源电路连接图。图4 电源电路连接图3、软件设计DSl8820的主要数据元件有:64位激光Lasered ROM,温度灵敏元件和非易失性温度告警触发器TH和TL。DSBl820可以从单总线获取电源,当信号线为高电平时,将能量贮存在内部电容器中;当单信号线为低电平时,将该电源断开,直到信号线变为高电平重新接上寄生(电容)电源为止。此外,还可外接5 V电源,给DSl8820供电。DSl8820的供电方式灵活,利用外接电源还可增加系统的稳定性和可靠性。图9为读取数据流程图。图5 读取数据的流程图读出温度数据后,LOW的低四位为温度的小数部分,可以精确到0.0625,LOW的高四位和HIGH的低

17、四位为温度的整数部分,HIGH的高四位全部为1表示负数,全为0表示正数。所以先将数据提取出来,分为三个部分:小数部分、整数部分和符号部分。小数部分进行四舍五入处理:大于0.5的话,向个位进1;小于0.5的时候,舍去不要。当数据是个负数的时候,显示之前要进行数据转换,将其整数部分取反加一。还因为DS18B20最低温度只能为-55,所以可以将整数部分的最高位换成一个“-”,表示为负数。图10为温度数据处理程序的流程图。图6 温度数据处理流程图4 数据测试将温度传感器与冰水混合物接触,经过充分搅拌达到热平衡后调节系统,使显示读数为0.00(标定0);利用气压计读出当时当地的大气压强,并根据大气压强和

18、当地重力加速度计算出当时的实际压强;根据沸点与压强的关系查出沸点温度。把温度传感器放入沸水中,待显示读数稳定后重新调节,使显示器显示读数等于当地当时沸点温度后工作结束。该温度计的量程为-50150,读数精度为0.1,实际使用一般在0100。采用050和50100的精密水银温度计作检验标准,对设计的温度计进行测试,其结果表明能达到该精度要求。5 总结与体会在做这次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的实际资料是十分必要的,也是必不可少的。其次,在这次课程设计中,我们运用了以前学过的专业课知识,汇编语言、模拟和数字电路知识等。虽然过去我从未独

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

20、,这就是这次课程设计的最大收获。参考文献1 谢自美. 电子线路综合设计M. 武汉:华中科技大学出版社, 2007.2 夏继强. 单片机应用设计培训教程实践篇M. 北京:北京航空航天大学出版社, 2008.3 何立明. MCS-51单片机应用系统设计(系统配置与接口技术)M. 北京:北京航空航天大学出版社, 2003.4 李广弟, 朱月秀, 王秀山. 单片机基础M. 北京:北京航空航天大学出版社, 2001.7.5 康华光. 电子技术基础(模拟部分)(第五版)M. 武汉:华中科技大学出版社, 2007.6 王毅. 单片机器件应用手册M. 人民邮电出版社, 1995.附录 程序源代码DATA_BU

21、S BIT P3.3 FLAG BIT 00H ;标志位 TEMP_L EQU 30H ;温度值低字节 TEMP_H EQU 31H ;温度值高字节 TEMP_DP EQU 32H ;温度小数 TEMP_INT EQU 33H ;温度值整数 TEMP_BAI EQU 34H ;温度百位数 TEMP_SHI EQU 35H ;温度十位数 TEMP_GE EQU 36H ;温度个位数 DIS_BAI EQU 37H ;显示百位数 DIS_SHI EQU 38H ;显示十位数 DIS_GE EQU 39H ;显示个位数 DIS_DP EQU 3AH ;显示小数位 DIS_ADD EQU 3BH ;显

22、示地址 ORG 0000H AJMP START ORG 0050H ;初始化 START: MOV SP, #40HMAIN: LCALL READ_TEMP ;调读温度程序 LCALL PROCESS ;调数据处理程序 AJMP MAIN;读温度程序READ_TEMP: LCALL RESET_PULSE ;调用复位脉冲程序 MOV A, #0CCH ;跳过ROM命令 LCALL WRITE MOV A, #44H ;读温度 LCALL WRITE LCALL DISPLAY ;显示温度 LCALL RESET_PULSE ;调用复位脉冲程序 MOV A, #0CCH ;跳过ROM命令 L

23、CALL WRITE MOV A, #0BEH ;读缓存命令 LCALL WRITE LCALL READ RET;复位脉冲程序RESET_PULSE:RESET: SETB DATA_BUS NOP NOP CLR DATA_BUS MOV R7, #255 DJNZ R7, $ SETB DATA_BUS MOV R7, #30 DJNZ R7,$ JNB DATA_BUS, SETB_FLAG CLR FLAG AJMP NEXTSETB_FLAG: SETB FLAGNEXT: MOV R7, #120 DJNZ R7, $ SETB DATA_BUS JNB FLAG, RESET

24、RET;写命令WRITE: SETB DATA_BUS MOV R6, #8 CLR CWRITING: CLR DATA_BUS MOV R7, #5 DJNZ R7, $ RRC A MOV DATA_BUS, C MOV R7, #30H DJNZ R7, $ SETB DATA_BUS NOP DJNZ R6, WRITING RET;循环显示段位DISPLAY: MOV R4, #200DIS_LOOP: MOV A, DIS_DP MOV P2, #0FFH MOV P0, A CLR P2.7LCALL DELAY2MS MOV A, DIS_GE MOV P2, #0FFH M

25、OV P0, A SETB P0.7 CLR P2.6 LCALL DELAY2MS MOV A, DIS_SHI MOV P2, #0FFH MOV P0, A CLR P2.5 LCALL DELAY2MS MOV A, DIS_BAI MOV P2, #0FFH MOV P0, A MOV A, TEMP_BAI CJNE A, #0,SKIP AJMP NEXTT SKIP: CLR P2.4 LCALL DELAY2MS NEXTT: NOP DJNZ R4, DIS_LOOP RET;读命令READ: SETB DATA_BUS MOV R0, #TEMP_L MOV R6, #8

26、 MOV R5, #2 CLR CREADING: CLR DATA_BUS NOP NOP SETB DATA_BUS NOP NOP NOP NOP MOV C, DATA_BUS RRC A MOV R7, #30H DJNZ R7, $ SETB DATA_BUS DJNZ R6, READING MOV R0, A INC R0 MOV R6, #8 SETB DATA_BUS DJNZ R5, READING RET;数据处理PROCESS: MOV R7, TEMP_L MOV A, #0FH ANL A, R7 MOV TEMP_DP,A MOV R7, TEMP_L MOV

27、A, #0F0H ANL A, R7 SWAP A MOV TEMP_L, A MOV R7, TEMP_H MOV A, #0FH ANL A, R7 SWAP A ORL A, TEMP_L MOV B, #64H DIV AB MOV TEMP_BAI,A MOV A, #0AH XCH A, B DIV AB MOV TEMP_SHI,A MOV TEMP_GE,B MOV A, TEMP_DP MOV DPTR, #TABLE_DP MOVC A, A+DPTR MOV DPTR, #TABLE_INTER MOVC A, A+DPTR MOV DIS_DP, A MOV A, TE

28、MP_GE MOV DPTR, #TABLE_INTER MOVC A, A+DPTR MOV DIS_GE, A MOV A, TEMP_SHI MOV DPTR, #TABLE_INTER MOVC A, A+DPTR MOV DIS_SHI, A MOV A, TEMP_BAI MOV DPTR, #TABLE_INTER MOVC A, A+DPTR MOV DIS_BAI ,A RETDELAY2MS: MOV R6, #3LOOP3: MOV R5, #250 DJNZ R5, $ DJNZ R6, LOOP3 RETTABLE_DP: DB 00H,01H,01H,02H,03H,03H,04H,04H,05H,06H DB 06H,07H,08H,08H,09H,09HTABLE_INTER: DB 03FH,006H,05BH,04FH,066H DB 06DH,07DH,07H,07FH,06FH END

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

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