最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

基于51单片机的温度测试而且能够LED显示设计论文

来源:动视网 责编:小OO 时间:2025-09-29 10:58:30
文档

基于51单片机的温度测试而且能够LED显示设计论文

毕业设计目录1.课程设计的目的和要求…………………………………………………………11.1设计目的………………………………………………………………………11.2课程设计题目描述和要求……………………………………………………12.总体方案设计……………………………………………………………………12.1总体设计框图…………………………………………………………………12.2单片机ATC51………………………………………………………………22.3软件的设计…………………………………………………………
推荐度:
导读毕业设计目录1.课程设计的目的和要求…………………………………………………………11.1设计目的………………………………………………………………………11.2课程设计题目描述和要求……………………………………………………12.总体方案设计……………………………………………………………………12.1总体设计框图…………………………………………………………………12.2单片机ATC51………………………………………………………………22.3软件的设计…………………………………………………………
毕业设计

目  录

1.课程设计的目的和要求…………………………………………………………1

1.1设计目的………………………………………………………………………1

1.2课程设计题目描述和要求……………………………………………………1

2.总体方案设计……………………………………………………………………1

2.1总体设计框图…………………………………………………………………1

2.2单片机ATC51 ………………………………………………………………2

2.3软件的设计……………………………………………………………………3

2.3.1 DS18B20简介………………………………………………………………3

2.3.2 DS18B20的测温原理………………………………………………………4

2.3.3温度转换计算方法举例……………………………………………………5

2.3.4 DS18B20温度传感器与单片机的接口电路………………………………5

3.系统硬件电路设计………………………………………………………………6

3.1主板电路………………………………………………………………………6

3.2显示电路………………………………………………………………………7

4.系统软件的设计…………………………………………………………………8

4.1主程序…………………………………………………………………………8

4.2读程序…………………………………………………………………………8

4.3温度转换命令子程序…………………………………………………………9

4.4计算温度子程序………………………………………………………………9

4.5显示数据刷新子程序…………………………………………………………9

5.总结………………………………………………………………………………11

参考文献……………………………………………………………………………12

1.课程设计的目的和要求

1.1设计目的

熟练掌握51小系统开发应用;加强单片机的综合运用能力、提高单片机的件编程和调试能力,为以后的学习和开发工作打下强劲基础;掌握DS18B20温度传感器模块的工作原理及应用设计;掌握小系统开发设计的流程及设计思路;提高分析问题,解决问题能力,提高实践动手能力。

1.2课程设计题目描述和要求

题目:基于DS18B20的温度测试LED显示。

实现的基本功能:

(1) 测量基本范围-55~125℃。

(2) 精度误差小于0.5℃。

(3) LED数码直接显示。

2.总体方案的设计

2.1总体设计框图

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

图2-1  总体设计方框图

2.2单片机ATC51

ATS51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及C51引脚结构,芯片内集成了通用8位处理器和ISP Flash存储单元,功能强大的微型计算机的ATS51可为许多嵌入式控制应用系统提供高性价比的解决方案。 

ATC51具有如下特点:40个引脚如图2-2,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 

此外,ATS51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。

图2-2 ATC51管脚图

2.3温度传感器DS18B20

DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器,如图2-3。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果,其引脚功能如图2-4。

2.3.1 DS18B20简介

(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 

    (2)在使用中不需要任何外围元件。 

    (3)可用数据线供电,电压范围:+3.0~ +5.5 V。 

    (4)测温范围:-55 ~+125 ℃。固有测温分辨率为0.5 ℃。

    (5)通过编程可实现9~12位的数字读数方式。 

    (6)用户可自设定非易失性的报警上下限值。 

    (7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。 

(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。

图2-3  DS18B20的引脚排列

图2-4  引脚功能描述

2.3.2 DS18B20的测温原理

低温度系数晶振的振荡频率受温度的影响很小〔1〕,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 ℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在 -55 ℃ 所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图2中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。

2.3.3温度转换计算方法举例

例如当DS18B20采集到+125℃的实际温度后,输出为07D0H,则:

实际温度=07D0H╳0.0625=2000╳0.0625=125°C。

例如当DS18B20采集到-55℃的实际温度后,输出为FC90H,则应先将11位数据位取反加1得370H(符号位不变,也不作为计算),则:

实际温度=370H╳0.0625=880╳0.0625=55°C

DS18B20工作过程一般遵循以下协议:初始化——ROM操作命令——存储器操作命令——处理数据

2.3.4 DS18B20温度传感器与单片机的接口电路

DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的一脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图2-5所示单片机端口接单线总线,为保证有效的DS18B20始终周期内提供足够的电流,可以用一个MOSFET管来完成对总线的上拉。

当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。

图2-5 DS18B20与单片机接口

3.系统硬件电路设计

3.1主板电路

系统整体硬件电路包括,传感器数据采集电路,温度显示电路,单片机主板电路等,如图3-1所示。

图3-1  单片机主板电路

3.2 显示电路

显示电路是使用的串口显示,这种显示最大的优点就是使用口资源比较少,只用P1口的RXD和TXD串口的发送和接受,四只数码管采用74LS1右移寄存器驱动,显示比较清楚。如图3-2。

图3-2  温度显示电路

4.系统软件的设计

4.1主程序

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

4.2读程序

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

图4-1  主程序流程图                图4-2  读温度流程图

4.3温度转换命令子程序

主要是发温度转换开始命令,本程序采用1s显示程序延时法等待转换的完成。其程序流程图如图4-3。

图4-3温度转换命令流程图

4.4计算温度子程序

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

4.5显示数据刷新子程序

主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。程序流程图如图图4-5。

图4-4  计算温度流程图               图4-5  显示数据刷新流程图

5.总结

经过将近两周的单片机课程设计,我终于完成了数字温度计的设计,虽然没有完全达到设计要求,但从中学到了不少课堂上所学不到的实际知识。

      我们认为,在这次的课程设计中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力,不仅培养了思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。

     之所以使用单片机作为我们的执行核心,不仅是因为老师说单片机现在是社会上应用最广泛的工具,也因为想通过使用单片机锻炼自己的c 语言编程能力,养成良好的c语言编程风格。不管怎样,这些都是一种锻炼,一种知识的积累,能力的提高。完全可以把这个当作基础东西,只有掌握了这些最基础的,才可以更进一步,取得更好的成绩。很少有人会一步登天吧。永不言弃才是最重要的。

      而且,这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。与队友的合作更是一件快乐的事情,只有彼此都付出,彼此都努力维护才能将作品做的更加完美。而团队合作也是当今社会最提倡的。   

在为期两个星期的课程设计中,对我们悉心的指导认真的解说详细的分析。衷心地感谢对我们的教导!

参考文献

 [1]孙育才. MCS- 51 系列单片微型计算机及其应用. 南京:东南大学出版社,1999.

[2] 李朝青.单片机原理及接口技术(简明修订版).杭州:北京航空航天大学出版社,1998.

[3] 李广弟.单片机基础.北京:北京航空航天大学出版社,1994.

[4] 阎石.数字电子技术基础(第三版). 北京:高等教育出版社,19.

附录:

#include "reg52.h"

typedef unsigned char  uint8;

sbit CLK    =P1^0;

sbit DINA    =P1^1;

void DELAY();

void sdelay();

bdata uint8 kdat;

sbit cc=kdat^0;

uint8 LED0,LED1,LED2,LED3;

uint8 LED_Table[18]={0x3F,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,                       0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,     0xff,0x00,

            };

sbit DQ = P1^4;

void DELAY()

{

    unsigned int k,j;

for(k=0;k<500;k++)

        for(j=0;j<200;j++);

}

void sdelay()

{

    unsigned char k;

for(k=0;k<10;k++)

    {;}

}

void sendto(unsigned char dat)

{

    unsigned char i;

    CLK=0;

    kdat=dat;    

           for(i=0;i<8;i++)

        {

            DINA=cc;

            CLK=1;

            sdelay();

            CLK=0;    

            kdat=kdat>>1;

        }

}

/*DS18b20温度传感器读写程序*/

void dsb20delay(int us)

  int s;

for ( s=0; s}

void rst(void)           

{

  DQ = 1;   

  dsb20delay(2);  

  DQ = 0;    

  dsb20delay(30); //精确延时  480~960us

  DQ = 1;    

  dsb20delay(8); 

}

unsigned int read(void)              

  int i=0;

  unsigned int u=0;

for (i=0;i<16;i++)

  {                                                                      

    DQ = 0;

u >>= 1;

    DQ = 1;

    if(DQ) u|= 0x8000;

    dsb20delay(4);

  }

  return(u);

}

void write(unsigned char ku)          

{  

  int i = 0;

for (i=0;i<8;i++)

  { 

    DQ = 0;

    DQ = ku&0x01;

    dsb20delay(3);

    DQ = 1;

ku >>= 1;

  }

}

void read0(void)                 

{   

  int t0,t1,t2;

  unsigned int tp;

  unsigned int lsb;

  rst();

  write(0xCC);

  write(0x44);

  rst();

  write(0xCC);

  write(0xBE);

  tp = read();    

  lsb = (unsigned int)(tp*6.25);

  t0 = lsb/1000;

  LED0 = LED_Table[t0];       //第1位,最高位

  t2 = lsb%1000;

  t1 = t2/100;

  LED1 = LED_Table[t1]&0x7f;     //第2位

  t1 = t2%100;

  t2 = t1/10;

  LED2 = LED_Table[t2];         //第3位,最低位

  LED3 = LED_Table[t1%10];    //第4位,最低位

}

void main()

{   while(1)

   {

     uint8 j;

     read0();

     sendto(LED3);

     sendto(LED2); 

     sendto(LED1+0X80);           //'.'

     sendto(LED0)    ;

          DELAY();   /* 延时 */

           DELAY(); ;   /* 延时 */

           DELAY();   /* 延时 */

   }

}

课程设计成绩:

项  目

业务考核成绩(70%)

(百分制记分)

平时成绩(30%)

(百分制记分)

综合总成绩

(百分制记分)

注:教师按学生实际成绩(平时成绩和业务考核成绩)登记并录入教务MIS系统,由系统自动转化为“优秀(90~100分)、良好(80~分)、中等(70~79分)、及格(60~69分)和不及格(60分以下)”五等。

指导教师评语:

指导教师(签名):               

                                20   年  月  日

文档

基于51单片机的温度测试而且能够LED显示设计论文

毕业设计目录1.课程设计的目的和要求…………………………………………………………11.1设计目的………………………………………………………………………11.2课程设计题目描述和要求……………………………………………………12.总体方案设计……………………………………………………………………12.1总体设计框图…………………………………………………………………12.2单片机ATC51………………………………………………………………22.3软件的设计…………………………………………………………
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top