温度采集器-课程设计报告书.doc_第1页
温度采集器-课程设计报告书.doc_第2页
温度采集器-课程设计报告书.doc_第3页
温度采集器-课程设计报告书.doc_第4页
温度采集器-课程设计报告书.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

单片机原理与接口技术课程设计书 设计题目: 温度采集显示系统 课程名称: 单片机原理与接口技术课程设计 学 院 :物理与光电工程学院 专业班级: 11级电子科学技术6班 学 号 : 3111008618 姓 名 : 关继业 联系方式 :任课教师 : 徐胜 2013 年 12 月 18日一、 设计题目:温度采集显示系统本课程是在前导验证性认知实验以及相关的理论课基础上,进行更高层次命题的设计性的教学环节,是学生在教师指导下独立查阅资料、设计、安装和编程特定功能的电子电路的课程。 对于提高学生的电子工程素质和科学实验能力非常重要。本课程旨在培养学生综合数字电路和单片机知识,解决电子信息方面常见实际问题的能力,并了解一般电子电路与单片机构成简单系统及较为复杂的编程的方法。促使学生积累单片机系统的开发经验,准备走向更复杂更实用的应用领域,是参加各类大学生电子竞赛前的技能培训课程。目的在于巩固基础、注重设计、培养技能、追求创新、走向实用。二、设计任务和要求:1.根据设计要求,完成对单路温度进行测量,并用数码管显示当前温度值系统硬件设计,并用电子CAD软件绘制出原理图,编辑、绘制出PCB印制版。要求:(1) 原理图中元件电气图形符号符合国家标准;(2) 整体布局合理,注标规范、明确、美观,不产生歧义。(3) 列出完整的元件清单(标号、型号及大小、封装形式、数量)(4) 图纸幅面为A4。(5) 布局、布线规范合理,满足电磁兼容性要求。(在元件面的丝印层上,给出标号、型号或大小。所有注释信息(包括标号、型号及说明性文字)要规范、明确,不产生歧义。2.编写并调试驱动程序。功能要求:(1) 温度范围0-100。(2) 温度分辨率1。(3) 选择合适的温度传感器。3.撰写设计报告。三、原理电路和程序设计: 本设计基于STM8S105C6单片机,程序用C语言编写,并借助单片机开发板进行调试,实物也是按照开发板上的电路图进行焊接的,简明易焊。整个原理电路由温度传感器、数码管显示部分组成。1、温度传感器。本设计的温度传感器用DS18B20。该数字传感温度器接线方便,其引脚及电路图见图1(注:图中有P1.3之类的引脚是因为最初用开发板进行调试的,最后只需将所用单片机所定义的引脚直接连到焊接好的该引脚即可)。由于此芯片结构简单,那么就将在软件上导致了巨大开销了,写程序时根据通讯协议来写即可,同时要注意时序问题(程序中定义了相关的延时函数来解决时序问题)。 图1DS18B20温度传感器 图2 DS18B20暂存寄存器分布根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。写程序时也是根据此时序来写。程序包括了对DS18B20的初始化,写一个字节和读一个字节三个函数。以下是温度传感器的部分程序:void DS18B20_Init(void) /初始化DS18B20. PG_DDR=0X02; /定义PG1为18B20的使用引脚 PG_CR1=0X02; PG_CR2=0; PG_ODR=0x02; delay_n5us(1); PG_ODR=0; delay_n5us(100); /复位脉冲 PG_ODR=0x02;delay_n5us(100); /延时等待(如果初始化成功则在15到60微妙时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起最少要480微秒。void DS18B20_WriteByte(unsigned char _data) unsigned char i = 0; PG_DDR=0X02; PG_CR1=0X02; PG_CR2=0; for (i = 0; i = 1; /右移指令。按从低位到高位的顺序发送字节(一次只发送一位) delay_n5us(9); PG_ODR=0x02; unsigned char DS18B20_ReadByte(void) unsigned char i = 0, _data = 0; for (i = 0; i = 1; PG_ODR=0x02; PG_DDR=0XFD; /PG1处于输入状态,其他都是输出。 PG_CR1=0XfD; PG_CR2=0X02; if (PG_IDR&0X02) _data |= 0x80; PG_CR1=0X02; PG_CR2=0; PG_ODR=0x02; delay_n5us(12); return _data;float DS18B20_ReadTemperature(void) /DS18B20的操作流程,分为两个周期,每个周期工作时都要复位。 unsigned char a,b;float tt;delay_n5us(80); DS18B20_Init(); /复位 DS18B20_WriteByte(0xcc);/跳过ROM DS18B20_WriteByte(0x44);/发送温度转换指令delay_n5us(80); DS18B20_Init(); DS18B20_WriteByte(0xcc); DS18B20_WriteByte(0xbe); /读内部RAM中9字节的内容。 只需读前两个字节。(只需测量温度)delay_n5us(80); a = DS18B20_ReadByte(); /读取到的第一个字节为温度LSB b = DS18B20_ReadByte(); /读取到的第一个字节为温度MSB tem = b; /先把高八位有效数据赋于temp tem = 8; /把以上8位数据从temp低八位移到高八位tem = tem|a; /两字节合成一个整型变量 tt= tem*0.0625; /得到真实十进制温度值/因为DS18B20可以精确到0.0625度/所以读回数据的最低位代表的是0.0625度 tem = tt*10+0.5; /放大十倍/这样做的目的将小数点后第一位也转换为可显示数字/同时进行一个四舍五入操作。 return tem;2、数码管显示: 这里设计用三个共阳数码管显示所测温度,两位整数和一位小数。通过按键切换得到最高温度和最低温度。不需用到译码器,直接将数码管通过电阻连到单片机上即可,也包括位选(图3)和段选(图4),图4中的是4只数码管连接的,这里是原理,焊接时只需根据实际原理图焊接即可。 图 数码管连接电路 图 数码管电路 以下是数码管显示的部分程序:void Display(uint t) /显示程序 uchar A1,A2,A3; A1 = t/100; /百位 A2 = t%100/10; /十位 A3 = t%10; /个位 ,求余数。 PB_DDR = 0xff; /推挽输出。 PB_CR1 = 0xff; PB_CR2 = 0x00; PA_DDR |=0Xf0; /定义PA4,PA5,PA6为位选。 PA_CR1 |=0Xf0; PA_CR2 =0X00;PA_ODR_ODR4=0; PA_ODR_ODR5=1; PA_ODR_ODR6=1;/X110XXXX,第三个数码管显示。 PB_ODR= buffer1A1; /显示十位 delay_n5us(500);PA_ODR_ODR4=1; PA_ODR_ODR5=0; PA_ODR_ODR6=1;/X101XXXX,第二个码管显示。 PB_ODR= buffer2A2; / 显示个位 delay_n5us(500); PA_ODR_ODR4=1; PA_ODR_ODR5=1; PA_ODR_ODR6=0;/X011XXXX,第一个数码管显示。 PB_ODR = buffer1A3; /显示小数点后面一位。 delay_n5us(500); 完整的C程序请查阅附录电子文档。四、元件选择:器件名称器件数量器件名称器件数量DS18B20温度传感器18550三极管474LS138芯片14位共阳数码管110uF1104电容210K电阻14.7K电阻5470电阻8板1STM8S105C6单片机1杜邦线、排针、锡若干 实物中单片机不需要焊接,用的是另外的最小系统(也是STM8S105C6),只需连线即可。五、Altium Designer 10 PCB印制版五、总结 实物的优点是电路结构简单易看明白,程序也不难懂,体积小且实用。线路简单,并且功耗小。缺点是排版不够好,引脚分布得较广,杜邦线跨越多,造成不美观,也需要连接学习板才能运作。若要改进,则用PCB板来做则能改进这一问题,并增加最小系统方便使用。通过这次课程设计,学到了很多东西。原来从课本学到的东西一点也不扎实,认识到学各种计算机语言(汇编、C等)必须要多上机调试才能学好的,如果只是通过课堂听讲和复习而不上机调试,那是不可能学好的。所以,我要继续学好这些有用的语言,也要多上机来学,多思考,多动手。希望学院多些这种课程和活动,促进同学们的专业学识,提高学习兴趣。我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。这个设计结果能够符合题意,成功完成了此次实习要求,我们不只在乎这一结果,更加在乎的,是这个过程。这个过程中,我们花费了大量的时间和精力,更重要的是,我们在学会创新的基础上,同时还懂得合作精神

温馨提示

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

评论

0/150

提交评论