- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字温传感器电路设计报告
电子技术课程设计报告
题 目: 数字温度传感器电路
学 年: 08—09 学 期: 1
专 业: 电子信息工程 班 级:06
学 号: 0611102027 姓 名:
指导教师及职称:
时 间: 2008年12月22
设计目的
熟悉数字温度传感器电路的引脚安排。
掌握数字温度传感器电路各芯片的逻辑功能及使用方法。
了解数字温度传感器电路结构及其接线方法。
了解数字温度传感器电路的组成及工作原理。
熟悉数字温度传感器电路的设计与制作。
设计要求
1.设计指标
(1) 基本范围-50℃-110℃。
(2) 精度误差小于0.5℃。
(3) LED数码直读显示。
2.设计要求
(1) 实现数字报数。
(2) 可以任意设定温度的上下限显示功能。
(3) 用两只LED数码管来显示当前温度。
设计原理及其框图
1.数字温度传感器的构成
图3-1 数字温度传感器的组成框图
⑴晶体振荡器电路
晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。
⑵显示电路
显示电路采用4位共阳LED数码管,从P3口RXD,TXD串口输出段码。
DS18B20的性能特点如下:
①独特的单线接口仅需要一个端口引脚进行通信;
②多个DS18B20可以并联在惟一的三线上,实现多点组网功能;
③无须外部器件;
④可通过数据线供电,电压范围为3.0~5.5V;
⑤零待机功耗;
⑥温度以9或12位数字;
元器件
1.实验中所需的器材
5V电源。
DS18B2O
单片机AT89S52。
共阳八段数码管2个。
电阻若干
电容若干
电源接头。
LED灯
2.芯片内部结构图及引脚图
五.原理图 和PCB图
数字温度传感器原理图如下:
PCB图如下
六.电路程序系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。
#include reg51.h
#define uchar unsigned char
#define uint unsigned int
sbit DQ=P3^7; //温度输入口
sbit DIN=P0^7; //LED小数点控制
uint h;
uint temp;
//**************温度小数部分用查表法***********//
uchar code ditab[16]=
{0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09}
uchar code dis_7[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf};
//共阳LED段码表 0 1 2 3 4 5 6 7 8 9 不亮 -
uchar code scan_con[4]={0x7f,0xbf,0xdf,0xef}; //列扫描控制字
uchar data temp_data[2]={0x00,0x00}; //读出温度暂放
uchar data display[5]={0x00,0x00,0x00,0x00,0x00}; //显示单元数据,共4个数据和一
void delay(uint t)
{
for (;t0;t--);
}
scan()
{
char k;
for(k=0;k4;k++) //4位LED扫描控制
{
Disdata=dis_7[display[k]]; //数据显示
if (k==1){DIN=0;} //小数点显示
discan=scan_con[k]; //位选
delay(300);
}
/****************DS18B20复位函数************************/
ow_reset(void)
{
char presence=1;
while(presence)
{
while(presence)
{
DQ=1;_nop_();_nop_();//从
原创力文档


文档评论(0)