微机原理与接口技术课程设计报告温度的采集与显示

上传人:沈*** 文档编号:41144413 上传时间:2021-11-19 格式:DOC 页数:25 大小:611KB
返回 下载 相关 举报
微机原理与接口技术课程设计报告温度的采集与显示_第1页
第1页 / 共25页
微机原理与接口技术课程设计报告温度的采集与显示_第2页
第2页 / 共25页
微机原理与接口技术课程设计报告温度的采集与显示_第3页
第3页 / 共25页
点击查看更多>>
资源描述
微微机机原原理理与与接接口口技技术术课程设计报告书课程设计报告书题目题目: 温度采集与显示温度采集与显示姓名:姓名:学号:学号:P081512977P081512977 P081512963P081512963 P081512987P081512987 P081512991P081512991班级:班级:20082008 级计算机一班级计算机一班指导教师:指导教师:设计时间:设计时间:20112011 年年 3 3 月月 7 7 月月 数学与计算机学院接口设计报告书GRADE:第 页 共 页西北民族大学数学与计算机学院西北民族大学数学与计算机学院目 录1.引言引言.21.1.背景和编写目的.21.2.参考资料.22.系统组成系统组成.33.硬件设计硬件设计.34.软件编程软件编程.85.系统仿真调试系统仿真调试.116.总结总结.167.附录附录.17 数学与计算机学院接口设计报告书GRADE:第 页 共 页1. 引言引言1.1. 背景和编写目的背景和编写目的在科学技术突飞猛进的今天,温度检测、控制起不可忽视的作用。温度是生活生产中常见的和最基本的参数之一,在生产过程中常需对温度进行检测和监控,采用微型机进行温度检测、数字显示、信息存储及实时控制,对于提高生产效率和产品质量、节约能源等都有重要的作用。温度控制无论在医疗电子领域还是工业控制领域应用都非常广泛,如在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制,医疗电子领域的生化分析仪等,内部都涉及到温度控制。本课题它完成了从温度的采集、转换、显示以及报警的一系列任务。1.2. 参考资料参考资料1 乐建波 温度控制系统 北京化学工业出版社。2 proteus 仿真教程3 Keil Software Company. Cx51 Compiler Users Guide. 2001 4 王为青、邱文勋.51 单片机应用开发案例精选.人民邮电出版社,20075 李朝青.单片机原理与接口技术.北京航空航天大学出版社,2006 邹逢兴.微型计算机原理与接口技术M.长沙:国防科技大学出版社,7 沈德金,陈粤初.接口电路与应用程序例 M.机械工业出版社,2003 数学与计算机学院接口设计报告书GRADE:第 页 共 页2. 系统组成系统组成本系统采用P87C51AF作为控制微处理器,系统主要包括现场温度采集、温度显示、电路控制输出、与报警装置。电路结构框图:温度传感器单片机控制LED 显示温度,对应的灯亮或报警器响 温度采集电路以数字量形式将现场温度传至单片机。单片机结合现场温度与用户设定的目标温度,进行判断是否超越极限以此控制蜂鸣器自动报警。3. 硬件设计硬件设计P87C51AF芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的P87C51AF可为许多嵌入式控制应用系统提供高性价比的解决方案。P87C51AF具有如下特点:40个引脚,8k Bytes Flash片内程序存储器256 bytes的随机存取数据存储器(RAM) ,32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。P87C51AF 芯片有 40 条引脚,这里只列举了 38 个,其中 2 个是接电源和接地的脚。如下图所示: 数学与计算机学院接口设计报告书GRADE:第 页 共 页PSEN(29):片外程序存储器选通信号,低电平有效。RST(9):复位信号输入端。P87C51AF接能电源后,在时钟电路作用下,该脚上出现两个机器周期以上的高电平,使内部复位。第二功能是VPD,即备用电源输入端。ALE(30):地址锁存信号输出端。P0口(3932):双向I/O口,既可作地址/数据总线口用,也可作普通I/O口用。P1口(18):准双向通用I/O口。 数学与计算机学院接口设计报告书GRADE:第 页 共 页P2口(2128):准双向口,既可作地址总线口输出地址高8位,也可作普通I/O口用P3口(1017):多用途口,既可做普通I/O口,也可按每位定义的第二功能操作。主要功能特性: 兼容MCS-51指令系统 8k可反复擦写(1000次)Flash ROM 32个双向I/O口 4.5-5.5V工作电压 时钟频率0-33MHz 全双工UART串行中断口线 256x8bit内部RAM 2个外部中断源 低功耗空闲和省电模式 中断唤醒省电模式 3级加密位 看门狗(WDT)电路 软件设置空闲和省电功能 灵活的ISP字节和分页编程 双数据寄存器指针 2个16位可编程定时/计数器 P87C51AF共有4个(P0、P1、P2、P3口)8位并行I/O端口,共32个引脚。P0口双向I/O口,用于分时传送低8位地址和8位数据信号;P1、P2、P3口均为准双向I/O口;其中P2口还用于传送高8位地址信号;P3口每一引脚还具有特殊功能,用于特殊信号的输入输出和控制信号。传感器传感器DS18B20DS18B20设计设计DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。 数学与计算机学院接口设计报告书GRADE:第 页 共 页 LEDLED显示器设计显示器设计单片机 I/O 的应用最典型的是通过 I/O 口与 LED 数码管构成显示电路,我不采用 LCD 液晶显示器的主要原因是液晶显示,省电,常用于精密仪器仪表,而且编程复杂,而数码管显示,亮度高,成本低,编程简易,易操作。工作原理:利用DS18B2O所测量到的温度经过转换,再将转换出来的温度输入LED使内部的二极2管发光,使我们能看到清晰的温度值。报警和指示灯设计报警和指示灯设计当用户设定的目标温度达到时需用声音的形式提醒用户,此时蜂鸣器为断续的滴答滴答的叫声。在本系统中我们为用户设计了越限报警,当温度低于用户设置的目标温度20度或高于30度时蜂鸣器为连续不断的滴答滴答叫声。当单片机 P1.7输出高电平时,三极管导通,蜂鸣器工作发出报警声。报警及指示灯电路如下图: 数学与计算机学院接口设计报告书GRADE:第 页 共 页 当温度在正常范围内显示灯 1 亮,当温度低于设限温度时,显示灯 2 亮,同时,蜂鸣器报警。当温度高于设限温度时,显示灯 3 亮,同时,蜂鸣器报警.复位电路设计复位电路设计单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC0000H,这表明程序从 0000H 地址单元开始执行。 数学与计算机学院接口设计报告书GRADE:第 页 共 页4. 软件编程软件编程主程序流程图温度值处理是否超出上下限单片机发出温度转换命令DS18B20 温度转换开始显示温度单片机读取温度正常指示灯亮“嘀嘀”报警是否达到报警温度“嘀嘀”报警NNYY主程序主程序:void main() uchar i; uchar temp; 数学与计算机学院接口设计报告书GRADE:第 页 共 页 float backbit; uchar counter;counter=5;sp=1; for(i=0;i0;x-) 数学与计算机学院接口设计报告书GRADE:第 页 共 页for(y=110;y0;y-);本系统不仅对主函数进行了延时,还对 DS18B20 的操作进行了延时,以便我们能更容易看清楚所测温度的变化。对 DS18B20 的延时程序如下:void delay1(uint z) while(z-);复位设计复位设计本系统主要采用的是手动进行复位,在上电后使 RST 持续一段时间的高电平。就能使系统复位。其程序如下:void reset(void) uchar x=0; DQ = 1; delay1(8); /稍做延时 DQ = 0; delay1(80); /精确延时 大于 480us DQ = 1; /拉高总线 delay(14); x=DQ; delay1(20);显示设计本设计主要是采用了四位一体LED数码管,都对起进行了上拉,以增加数码管的亮度。其程序:void saomiao()P0=tabledispbuf0;/十位P1=0 xfe;delay(2);P1=0 xff;P0=table1dispbuf1;/个位P1=0 xfd; 数学与计算机学院接口设计报告书GRADE:第 页 共 页delay(2);P1=0 xff;P0=tabledispbuf2;/十分位P1=0 xfb;delay(2);P1=0 xff;P0=tabledispbuf3;/百分位P1=0 xf7;delay(2);P1=0 xff;5. 系统仿真调试系统仿真调试Proteus 软件是来自英国 Labcenter electronics 公司的 EDA 工具软件,Proteus 软件有十多年的历史,在全球广泛使用,除了其具有和其它 EDA 工具一样的原理布图、PCB 自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试。Proteus 与其它单片机仿真软件不同的是,它不仅能仿真单片机 CPU 的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。ProteusProteus 的工作过程的工作过程 运行 proteus 的 ISIS 程序后,进入该仿真软件的主界面。 Proteus 软件所提供的仪表资源,对于一个仿真软件或实验室,测试的仪器仪表的数量、类型和质量,是衡量实验室是否合格的一个关键因素。 Proteus 软件所提供的调试手段,Proteus提供了比较丰富的测试信号用于 数学与计算机学院接口设计报告书GRADE:第 页 共 页电路的测试。图4-1 Proteus的的主界面KeilKeil uvision2uvision2Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用 C 来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 数学与计算机学院接口设计报告书GRADE:第 页 共 页在打开Keil主界面后,新建工程进入界面如下图:图 4-2 Keil主界面程序编译成功后,点击Options for target后再点击Output进入以下界面再点击Greate HEX Fi:生成 HEX文件。图 4-3 生成HEX文件界面 数学与计算机学院接口设计报告书GRADE:第 页 共 页仿真结果如下图所示仿真结果如下图所示图4-4 系统温度正常情况图 4-5 系统温度低于 20 数学与计算机学院接口设计报告书GRADE:第 页 共 页图 4-6 系统温度高于 30说明:图4-1 系统温度正常情况下的仿真图,此时,左边第一个发光二极管亮,蜂鸣器不报警,同时,LED数码管显示当前温度。 图 4-2 系统温度低于 20情况下的仿真图,此时,中间发光二极管亮,峰鸣器发出声音报警,LED 数码管显示当前温度。图 4-3 系统温度高于 30情况下的仿真图,此时,右边第一个发光二极管亮,蜂鸣器发出声音报警,LED 数码管显示当前温度。遇到的问题:遇到的问题:在本次设计中,从设计的开始到结束这段历程中,也遇到了无数的困难,也让我对自己一次次的失去信心,碰到的问题有些看起来很简单,但做起来却特别难。首先在用 proteus 软件仿真的时候,常常找不到所需的元件,后来找资料才找到,但有的元件本不自带,得需要导入。电路图连接好,就是需要程序才能仿真。而程序经过无数次的更改,无数次的重新烧写程序,最终才完成一组完整的程序。后来程序也没问题后,就是仿真的时候怎么也不能实现,原因是因为没有生成.HEX 文件,经过对 keil 的学习,才知道怎么生成.HEX 文件。在经历了千辛万苦才完成了本次设计。本次设计加强了我们对 C 语言及 Keil 软件等的学习。 数学与计算机学院接口设计报告书GRADE:第 页 共 页6. 总结总结说真话,从来没有自己一个人做过课题,感觉有点点思路,却抓不住,不知道从何入手,网上的资料不知道怎么去用,很多用的着的知识书本上讲的不是那么详细,要是去查找吸收这些知识的话,时间又显得紧巴巴,天天对着电脑,效率有限,很多时候需要很多门的知识结合在一起才能完成课题的,天天对着电脑晕头转向,第一次被打击的这么彻底,第一次沮丧的如此手足无措。好不容易做出来的,总感觉很多的漏洞,却又不知道怎么去改。从心底里了解了厚积薄发,平时的积累到现在就起效果了,终于理解了机会是留给有准备的人的。做课题的时候心中压力很大,现在想想,有点夸张的说是噩梦,累啊!但是,收获是真的,它是实实在在的,经历了这次活动,我感觉我成长了,它锻炼了我的耐心,另一方面就是提高了我学习的效率让注意力集中起来;掌握了更多的知识,补充了平时学习的漏洞,培养了自学能力,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。用一句话来概括就是:痛并快乐着,吸收并成长着。本设计主要是依靠新型 DS18B20 温度传感器对温度的采集以及P87C51AF 单片机、LED 数码管、蜂鸣器完成了一个简单的温度控制自动报警系统。本设计充分采用了 DS18B20 的高精度、体积小、一线总线等特点和 P87C51AF 单片机的强大功能以及使用蜂鸣器而不用扬声器,既节约了时间、经济成本,也减小了设计电路的复杂性。通过这次温度控制系统的设计,我们也收获了许多,这以后使我对单片机更加感兴趣,也加强了我对 C 语言等的学习,使我们的学习往前迈了一大步 数学与计算机学院接口设计报告书GRADE:第 页 共 页7. 附录附录电路原理图:电路原理图:源程序代码#include/=宏定义=#define uchar unsigned char #define uint unsigned int/=位定义=sbit DQ =P20 ;/18B20数据线引脚sbit sp=P21; /蜂鸣器端口sbit led1=P22; /指示灯端口sbit led2=P23;sbit led3=P24;/=全局变量定义=uchar dispbuf4; /显示缓冲区 uchar temper2;/存放温度的数组 数学与计算机学院接口设计报告书GRADE:第 页 共 页/ =定义数组= uchar code table=0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F,;uchar code table1=0 xbf,0 x86,0 xdb,0 xcf,0 xe6,0 xed,0 xfd,0 x87,0 xff,0 xef;/=延时函数=void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);/=小延时,用于对DS18B20的操作=void delay1(uint z) while(z-); /复位操作void reset(void) uchar x=0; DQ = 1; delay1(8); /稍做延时 DQ = 0; delay1(80); /精确延时 大于 480us DQ = 1; /拉高总线 delay(14); x=DQ; delay1(20); 数学与计算机学院接口设计报告书GRADE:第 页 共 页/*从DS18B20读一字节*/uchar readbyte(void) /读1字节 uchar i=0; uchar dat=0; for (i=8;i0;i-) DQ = 0; dat=1; DQ = 1; if(DQ) dat|=0 x80; delay1(4); return(dat); /*向DS18B20写一字节*/void writebyte(unsigned char dat) /写1字节 uchar i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0 x01; delay1(5); DQ = 1; dat=1; delay1(4); 数学与计算机学院接口设计报告书GRADE:第 页 共 页/*CPU读取温度值*/void readtemp(void) /读取温度 uchar a=0,b=0; reset(); writebyte(0 xCC); / 跳过序列号 writebyte(0 x44); / 启动温度转换 reset(); writebyte(0 xCC); writebyte(0 xBE); /读9个寄存器,前两个为温度 a=readbyte(); /低位 b=readbyte(); /高位 temper0=a&0 x0f; a=a4; /低位右移4位,舍弃小数部分 temper1=b2) /设置上线led1=0;led2=1;led3=1;sp=1;delay(1);sp=0;else if(dispbuf02)/设置下线led2=0;led1=1;led3=1;sp=0;delay(1);sp=1;else /设置正常状态led3=0;led2=1;led1=1;sp=1; 数学与计算机学院接口设计报告书GRADE:第 页 共 页void main() uchar i; uchar temp; float backbit; uchar counter;counter=5;sp=1; for(i=0;i4;i+) dispbufi = 0; while(1)/温度测量频率没有必要太高,太高反而影响数码显示 /所以用计数器加以控制 if(counter- = 0) readtemp(); counter = 2; / readtemp();/读18B20 backbit = temper0;/换成浮点数 backbit = backbit * 6.25;/乘以0.0625*100 temp = backbit; /取低2位整数部分 dispbuf3 = temp%10 ; temp = temp/10; dispbuf2 = temp%10 ; temp = temper1;/取整数部分 dispbuf1 = temp%10; temp = temp/10; dispbuf0= temp%10; 数学与计算机学院接口设计报告书GRADE:第 页 共 页 saomiao(); 数学与计算机学院接口设计报告书GRADE:第 页 共 页填写说明填写说明1、背景和编写目的简介所设计的系统的意义、涉及你所学的知识和技术。2、系统组成介绍所设计的系统结构,用图表描述。3、硬件设计描述系统设计的原理图、印刷线路板图,进行必要的电路说明。4、软件编程系统工作的软件流程、程序清单,含必要的模块注释。5、系统调试介绍所设计的系统调试过程、在调试中遇到的问题及解决的办法。6、附录列出课程设计的原理图、程序清单文件。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!