多功能数字温度计设计说明书.ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
11.5 多功能数字温度计软件设计 本节讲解多功能温度计的软件设计,软件要实现的功能包括实时温度测量显示、时钟显示、时钟设置、闹铃设置、闹铃等功能。下面详细讲解软件的设计过程。 11.5.1 软件结构分析 一个嵌入式系统软件总是由复杂的程序构成的,一般来说,一个完整的嵌入式程序分为两个主要的层次,功能软件和底层驱动。 11.5.2 DS1620驱动程序设计 DS1620的驱动程序由以下几部分组成。 DS1620写字节函数;DS1620读字节函数; DS1620写控制寄存器函数;DS1620读控制寄存器函数; DS1620读取温度值函数;DS1620启动转换函数; DS1620初始化函数; 11.5.2.1 宏定义 11.5.2.2 DS1620写字节函数 11.5.2.3 DS1620读字节函数 11.5.2.4 DS1620写控制寄存器函数 11.5.2.5 DS1620读控制寄存器函数 11.5.2.6 DS1620读温度值函数 11.5.2.7 DS1620启动温度转换函数 11.5.2.8 DS1620初始化函数 11.5.3 MAX7219驱动程序设计 MAX7219的驱动程序由以下几部分组成。 MAX7219写控制函数; MAX7219初始化函数; 11.5.3.1 宏定义 11.5.3.2 MAX7219写控制函数 11.5.3.3 MAX7219初始化函数 11.5.4 键盘接口程序设计 键盘接口程序的功能是对按下的按键进行识别,为程序提供按键码,为执行下一步程序提供来自用户的反馈。 键盘接口程序比较简单,就是使用P1口读取按键的值,然后返回按键值,具体的按键输入程序过程请读者参考本书第七章。 11.5.4.1 宏定义 11.5.4.2 键盘接口程序 11.5.5 蜂鸣器驱动程序设计 驱动蜂鸣器就是靠AT89S51的P2_7引脚,驱动蜂鸣器就是通过P2_7输出一个低电平,将三极管导通,从而驱动蜂鸣器发声。 11.5.5.1 宏定义 11.5.5.2 蜂鸣器驱动 11.5.6 定时器时钟基准设计 定时器时钟基准的目的是产生以一秒为周期的时钟基准,这样就可作为时钟的驱动基准。 利用定时器T0可以产生2ms的中断脉冲,500个2ms技术即为1s。在使用24MHz晶振时,产生2ms需要的计数器初值为: #define TH0_VALUE 0x06 #define TL0_VALUE 0x00 11.5.6.1 定时器时钟中断 11.5.6.2 定时器初始化函数 11.5.6.3 定时器启动函数 11.5.7 时钟显示程序设计 时钟显示程序的功能是每隔一分钟更新一次显示的时钟值,时钟值按照24小时的格式进行显示,具体函数代码如下。 11.5.8 闹铃程序设计 闹铃程序实现的功能是,当当前时间和闹铃时间一致时,闹铃开始发声报警, 11.5.9 按键操作程序设计 用户要通过键盘操作进行闹铃和时钟的设置,因此按键操作函数比较复杂,在函数中调用了键盘接口函数, 11.5.10 显示温度程序设计 显示温度程序的功能是在温度计上实时显示当前所测量的温度值,程序调用了DS1620读温度函数,具体代码如下。 11.5.11 主程序 在所有函数和分支程序都设计完成后,主程序的设计变得十分简单,主程序的工作是初始化各个部件,并在无限循环内不断运行各个子分支程序, 11.6 多功能数字温度计工程文件 与之前章节介绍的小程序不同,在本章的案例中,对于这样一个较大的工程,为了使得所有的函数和分支程序能够统一编译,需要在Keil C51里统一建立一个工程文件,进行统一的编译与调试。 11.6.1 主函数 Main.C为整个工程的主体文件,包含了工程的入口函数main()。(具体内容请参照本书) 11.6.2 温度传感器DS1620函数库 DS1620.C包含了所有对温度传感器DS1620的操作函数,具体代码如下所示。(具体内容请参照本书) 11.6.3 DS1620引脚定义 DS1620.h对DS1620的操作函数进行了声明,具体代码如下所示。(具体内容请参照本书) 11.6.4 数码管驱动MAX7219函数库 MAX7219.c包含了所有对数码管驱动MAX7219的操作函数以及温度显示函数,具体代码如下所示。(具体内容请参照本书) 11.6.5 MAX7219头文件定义 MAX7219.h对MAX7219的定义进行了声明,其代码如下所示。(具体内容请参照本书) 11.6.6 键盘操作函数 Keys.c包含了所有的键盘操作函数,具体代码如下。(具体内容请参照本书) 11.6.7 键盘操作定义 Keys.h包含了对键盘操作函数的声明,具体代码如下所示。(具体内容请

文档评论(0)

xiangxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档