




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机课设基于数字温度传感器数字温度计的设计 单片机课程设计报告 题目:基于数字温度传感器数字温度计的设计设计要求:利用数字温度传感器DS18B20与单片机结合来测量温度。利用数字温度传感器DS18B20测量温度信号,计算后在LED数码管上显示相应的温度值。其温度测量范围为?55125,精确到0.5。数字温度计所测量的温度采用数字显示,控制器使用单片机,测温传感器使用DS18B20,用LED数码管显示温度。二、方案论证:设计两种以上的实现方案并说明各自的优缺点,说明本次课程设计采用的方案及原因。 方案一:采用热敏电阻传感器。利用热敏电阻随温度变化而显著变化,能直接将温度的变化转换为能量的变化,进而制成温度计。但是其测温传感器比较复杂,而且不易通过编制程序来控制测温精度,增大系统设计的难度。 方案二: 采用DS18B20温度传感器。DS18B20的内部3脚(或8脚)封装;使用特有的温度测量技术,将被测温度转换成数值信号;3.05.5V的电源供电方式和寄生电源供电方式;ROM由64位二进制数字组成,共分为8个字节;RAM由9个字节的高速暂存器和非易失性电擦写ROM组成。综上所述:温度传感器选取智能测温器件DS18B20。理论设计:用CAD软件绘制的硬件原理图及工作原理的分析;软件流程图及带注释的程序清单。单片机控制程序如下:#include #include #define uchar unsigned char#define uint unsigned intsbit ds P37; /温度传感器信号线uint temp; /定义整型的温度数据float f_temp; /定义浮点型的温度数据unsigned char code table 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, /带小数点的09编码0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef ; /不带小数点的09编码void delay uint z /延时函数 uint i,j; for i z;i 0;i- for j 110;j 0;j- ; void dsreset void /DS18B20复位,初始化函数 uint i; ds 0; i 103; while i 0 i-; ds 1; i 4; while i 0 i-; bit tempreadbit void /读一位数据函数 uint i; bit dat; ds 0; i+;/i+起延时作用 ds 1;i+; i+; dat ds; i 8; while i 0 i-; return dat ; uchar tempread void /读一个字节数据函数 uchar i,j,dat; dat 0; for i 1;i 8;i+ j tempreadbit ; dat j 7 | dat 1 ; /读出的数据最低位在最前面,这样刚好一个字节在dat里 return dat ; void tempwritebyte uchar dat /向DS18B20写一个字节数据函数 uint i; uchar j; bit testb; for j 1;j 8;j+ testb dat&0x01; dat dat 1; if testb /写1 ds 0; i+; i+; ds 1; i 8; while i 0 i-; else ds 0; /写0 i 8; while i 0 i-; ds 1; i+; i+; void tempchange void /DS18B20 开始获取温度并转换 dsreset ; delay 1 ; tempwritebyte 0xcc ; /写跳过读ROM指令 tempwritebyte 0x44 ; /写温度转换指令 uint get_temp /读取寄存器中存储的温度数据 uchar a,b; dsreset ; delay 1 ; tempwritebyte 0xcc ; tempwritebyte 0xbe ; a tempread ;/读低8位 b tempread ;/读高8位 temp b; temp 8;/两个字节组合为1个字 temp temp|a; f_temp temp*0.0625; /温度在寄存器中为12位,分辨率为0.0625 temp f_temp*10+0.5; /乘以10表示小数点后面只取1位,加0.5是四舍五入 f_temp f_temp+0.05; return temp;/temp是整型 /*void display uchar num,uchar dat /数据显示程序 /num是第几个数码管,dat是要显示的数字 while 1 uchar i; P0 tabledat; i 0xff; i i& 0x01 num ;/用i来存储位选数据,只有一位为0 P2 i; delay 2 ; */void dis_temp uint temp /显示温度数值函数t传递的是整形的温度值 uchar i; i temp/100; /除以100得到商,为温度的十 P0 table10+i; P2 0xfb; delay 5 ; P2 0xff; /在第一个数码管上显示 i temp%100/10; /100取余再除以10得到商,为温度的个位 P0 tablei; P2 0xfc; delay 5 ; P2 0xff; /在第2个数码管上显示 i temp%100%10; /100取余再用10取余,为温度的小数位 P0 table10+i; P2 0xfb; delay 5 ; P2 0xff; /在第3个数码管上显示 void main /主函数 while 1 uchar i; tempchange ; dis_temp 0 ; 工作原理的分析: 数码管的段选连接在P0口上,位选连接在P27P25上,由单片机直接控制。DS18B20的数据端直接连接到P37口,由单片机直接对温度的采取进行控制。四、程序流程图:0五、电路仿真及仿真结果分析:PCB的制作图:测试方案与测试结果: 测B试方案:先上电,看数码管的显示是否是温度计测试的温度,在用打火机在DS18B20温度传感器周边打火,看数码管上的温度是否有变化。 测试结果:数码管上的温度显示随外界的温度变化而变化,说明作品是好的。作品功能和使用说明:作品功能:能实现对外界温度的检测。使用说明:接通电源,开始对外界温度进行检测,按下开关后重新进行检测。心得体会:设计及制作调试过程中遇到的问题及解决办法;本次课设的收获。在做这个作品的过程中主要是PCB板的制作遇到了很大的麻烦,因为自己以前的PROTEL没有学好,一直都不会画,所以遇到很大的麻烦。八、参
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林省长春市名校调研系列卷(市命题)2024-2025学年初三总复习质量检测试题(一)生物试题含解析
- 山西机电职业技术学院《代数学》2023-2024学年第一学期期末试卷
- 西藏林芝地区第一中学2025届高三全真模拟试卷生物试题含解析
- 西藏藏医药大学《播音主持语音与发声》2023-2024学年第二学期期末试卷
- 九江职业大学《刑法分论专题》2023-2024学年第二学期期末试卷
- 江苏省苏州市高新区达标名校2025届初三第二次质量监测英语试题含答案
- 上海市嘉定区封浜高中2025届高考原创信息试卷物理试题(四)含解析
- 山东省滨州邹平市2024-2025学年六年级下学期调研数学试卷含解析
- 浙江省嘉兴市嘉善高级中学2025届高三3月月考化学试题(A卷)试卷含解析
- 潍坊市昌乐县2025届五下数学期末质量跟踪监视试题含答案
- (最新)信贷资产风险分类管理办法
- 五年级下册书法教学课件第9课-上下结构(二)-西泠印社版(共18张)课件
- 英雄无敌5使用秘籍与英雄代码
- 少儿绘画之《挂在树上的树懒》
- ESC700培训(PPT35页)(PPT 36页)
- JIS G3141-2021 冷轧钢板及钢带标准
- 市政工程类建筑施工项目危险源辨识及风险管控清单
- 年产万吨酒精发酵车间设计
- 三种水封井及标准图集
- 照片里的故事
- 管道阴极保护
评论
0/150
提交评论