单片机课程设计报告_单片机课程设计报告书

其他范文 时间:2020-02-28 02:07:10 收藏本文下载本文
【www.daodoc.com - 其他范文】

单片机课程设计报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“单片机课程设计报告书”。

DS18B20测温及按键控制

课 程 设 计

课程名称 单片机基础课程设计 题目名称 18B20测温及按键控制 学生学院 **** 专业班级 **** 班号 **** 学生组员 ****** 指导教师 *****

DS18B20测温及按键控制

第一章系统的概述及设计任务书

摘要和关键词【摘要】:

本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机STC89C52,测温传感器使用DS18B20,用4位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。

【关键词】:单片机,数字控制,温度计,DS18B20,STC89C52 设计任务与技术指标

要求:1.基本范围-50℃-125℃

2.精度误差小于0.5℃ 3.LED数码直读显示

总体设计方案

数字温度计设计方案论证

方案一

由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。方案二

进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。

从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。

方案二的总体设计框图

温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用3位LED数码管以串口传送数据实现温度显示。

第二章 单元模块的设计与分析

主控制器:

单片机STC89C52,具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用。

DS18B20测温及按键控制

个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图3所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。

系统软件算法分析

系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。

主程序

主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图7所示。3.2读出温度子程序

读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图8示

3.3温度转换命令子程序

温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图9所示

3.4 计算温度子程序

计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图10所示。

DS18B20测温及按键控制

第三章 实验程序

else

{ b=0-b;

if(b%10==1)f-=1;b=10-(b%10);/*zhwy.c*/ if(b==10)b=0;

for(i=16;i>0;i--)#include

led(a,b,c,d);} #include“DS18B20.h” return f;unsigned char table[]= } {0xC0,0xF9,0xA4,0xB0, void main(void)

0x99,0x92,0x82,0xF8, { unsigned int Sum,k;0x80,0x90,};//不带小数点的编码

signed int h,j;extern unsigned int temp;LED_init();extern float f_temp;h=0;j=0;unsigned int i;while(1)void LED_init(void){tempchange();{ P2=0x0f;Sum=get_temp();P0=0x00;P2=0xff;} for(k=0;k

{delay(10);

P0=table[q];

if(P2==0xf7)

delay(5);

h+=1;

P2=0xdf;h=display(Sum,h,j);

P0=table[p];

}

delay(5);if(P2==0xfb)

P2=0xbf;

{delay(10);

P0=table[n]+0x80;

if(P2==0xfb)

delay(5);

h-=1;

P2=0x7f;

h=display(Sum,h,j);

P0=table[m];

}

delay(5);if(P2==0xfd)}

{delay(10);unsigned int display(unsigned int

if(P2==0xfd)y,signed int f,signed int g)

j+=1;{ signed int a,b,c,d;

h=display(Sum,h,j);

a=y/1000;

} b=(y%1000)/100+f;if(P2==0xfe)c=(y%100)/10+g;

{delay(10);d=(y%10)/1;

if(P2==0xfe)if(b=0)

j-=1;for(i=16;i>0;i--)

h=display(Sum,h,j);

led(a,b,c,d);

} else if(b>9)

} {a+=b/10;b=b%10;

display(Sum,h,j);for(i=16;i>0;i--)} }

led(a,b,c,d);} void delay(unsigned int z)//延 时函数

/*DS18B20.h */ {unsigned int x,y;sbit ds=P3^5;//温度传感器信号线 for(x=z;x>0;x--)unsigned int temp;for(y=110;y>0;y--);float f_temp;} unsigned int warn_l1=260;void dsreset(void)//18B20复位,unsigned int warn_l2=250;初始化函数 unsigned int warn_h1=300;{unsigned int i;unsigned int warn_h2=320;ds=0;

i=103;

DS18B20测温及按键控制

总电路图结构图

4总结与体会

经过将近四周的单片机课程设计,我终于在参考了众多程序之后完成了我的数字温度计的设计,虽然没有完全达到设计要求,但我还是高兴的,毕竟这次设

单片机课程设计报告

单片机课程设计报告题目:小直流电机调速实验教学单位: 机 电 工 程 系专业: 机械设计制造及其自动化班级: 0803班学号: 0811050342姓名: 程怀虎2011 年 11月(以下内容用宋体,五号,单......

单片机课程设计报告

《单片机原理与接口技术》课程设计报告设计题目: 基于80C51单片机系统实验板的制作与程序设计专业:应用电子专业班级: 11应电班姓名: 丁文俊指导教师: 余静老师2013 年 5 月20......

单片机课程设计报告

课程设计报告题 目: 自动滴灌系统设计 课程名称: 单片机原理及应用 学 院: 信息工程学院专 业: 计算机科学与技术 班 级: 2014 级计本 1 班学生姓名: *** 学 号: 201403031 指......

单片机课程设计报告

片 机 课 程 设 计 报学号、姓名:年级、专业:培养层次:课程名称:授课学时学分:考试成绩:授课或主讲教师签字:单 告1 单片机最小系统功能说明单片机的最小系统是由组成单片机系统必......

单片机课程设计报告

单片机课程设计报告 课程名称:单片机原理及接口课程设计 题目:基于 学院:电气信息学院 专业班级:测控技术与仪器 姓名:江让 学号: 指导老师:刘升老师 时间:C51单片机的ADC0809数模转......

下载单片机课程设计报告word格式文档
下载单片机课程设计报告.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文