- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
温度采集器_课程设计报告书
单片机原理与接口技术课程设计书
设计题目: 温度采集显示系统
课程名称: 单片机原理与接口技术课程设计
学 院 :物理与光电工程学院
专业班级: 11级电子科学技术6班
学 号 : 3111008618
姓 名 : 关继业
联系方式 :
任课教师 : 徐胜
2013 年 12 月 18日
设计题目:温度采集显示系统
本课程是在前导验证性认知实验以及相关的理论课基础上,进行更高层次命题的设计性的教学环节,是学生在教师指导下独立查阅资料、设计、安装和编程特定功能的电子电路的课程。 对于提高学生的电子工程素质和科学实验能力非常重要。
本课程旨在培养学生综合数字电路和单片机知识,解决电子信息方面常见实际问题的能力,并了解一般电子电路与单片机构成简单系统及较为复杂的编程的方法。促使学生积累单片机系统的开发经验,准备走向更复杂更实用的应用领域,是参加各类大学生电子竞赛前的技能培训课程。目的在于巩固基础、注重设计、培养技能、追求创新、走向实用。
二、设计任务和要求:
1.根据设计要求,完成对单路温度进行测量,并用数码管显示当前温度值系统硬件设计,并用电子CAD软件绘制出原理图,编辑、绘制出PCB印制版。
要求:
原理图中元件电气图形符号符合国家标准;
整体布局合理,注标规范、明确、美观,不产生歧义。
列出完整的元件清单(标号、型号及大小、封装形式、数量)
图纸幅面为A4。
布局、布线规范合理,满足电磁兼容性要求。(在元件面的丝印层上,给出标号、型号或大小。所有注释信息(包括标号、型号及说明性文字)要规范、明确,不产生歧义。
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收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主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)
文档评论(0)