1、 本科毕业设计 ( 20 届) 基于 SPCE061A 的数字温度计设计 所在学院 专业班级 通信工程 学生姓名 学号 指导教师 职称 完成日期 年 月 - 2 - 摘 要 温度是工业生产中的一项非常关键的物理量,在农业和各种高新技术的开发及研究中也是一个非常普遍和常用的测量参数。 传统的水银或者酒精温度计有很多的缺点,比如测量时间长,刻度细小读取不方便,测量范围小,已经远远不能满足人们的要求。目前,随着信息技术的发展,提出了温度的数字化测量。 SPCE061A 单片机是 nSP家族继 SPCE500A 单片机之后,凌阳公司推出的另一款 16 位单片机。 SPCE061A 内的 nSP核心具有
2、较高的处理速度,能够更容易、更快速地处理复杂的数字信号。 本文介绍了用 SPCE061A 单片机 和 DS18B20 温度传感器 设计数字温度计,在此基础上利用 nSP IDE2.0 开发 工具 ,用单片机 C 语言和汇 编语言编写程序 。最后程序在开发工具上编译成功,并且在录入进单片机后连接硬件可以实时显示周围环境温度, 显示精度在 1 度以内。 关键词 :温度计; SPCE061A 单片机;传感器 - 3 - Abstract The temperature is industrial production to a very key parameters, In agriculture
3、and all kinds of high and new technology development and research is also a very common and common measuring parameters. Traditional mercury or alcohol thermometers have a lot of shortcomings, such as measuring time is long, small-scale reading is not convenient, measurement range is small, has been
4、 far from satisfying peoples requirements. Now, along with the development of information technology, puts forward the digital measurement temperature. After the SPCE500A SCM, SPCE061A SCM is nSP family of microcontrollers has introduced another 16-bit microcontroller. SPCE061A within the nSP core h
5、as a high processing speed, can more easily and quickly handle complex digital signals. This paper introduces using SPCE061A and DS18B20 temperature sensor design digital thermometer, on this basis, use nSP IDE2.0 development tools, with the microcontroller C and assembly language programming. Final
6、ly, program compiled success, And after the entry into the microcontroller hardware can real-time display connected ambient temperature, indicating less than 1 degree accuracy. Key Words:Temperature;SPCE061A nSP;Sensor - 4 - 目 录 1 概 述 . 1 1.1 课题研究背景及意义 . 1 1.2 论文 的主要 内容 . 1 2 凌阳 16 位单片机 . 3 2.1 凌阳 1
7、6 位单片机的 介绍 . 3 2.2 SPCE061A 单片机开发 板 . 3 2.2.1 SPCE061A 板的概述 . 3 2.2.2 SPCE061A 板的外部结构 . 4 2.2.3 SPCE061A 板的内存储器结构 . 5 2.2.4 SPCE061A 板的应用领域 . 5 2.3 开发环境及单片机 C 语言编程 . 6 2.3.1 nSP开发环境 . 6 2.3.2 C 语言介绍 . 7 2.3.3 常用的 C 语言子程序 . 8 3 数字温度计方案设计 . 11 3.1 方案设计的基本功 能和步骤 . 11 3.2 元器件的选取 . 11 4 硬件与软件设计 . 14 4.1
8、硬件电路设计 . 14 4.2 软件程序设计 . 14 4.2.1 系统时钟 . 15 4.2.2 元器件及 I/O 口的初始化 . 16 4.2.3 显示函数及测温函数 . 17 4.2.4 看门狗计数器 . 19 4.2.5 延时函数 . 19 4.3 编译调试与结果 . 20 5 结 论 . 22 - 5 - 致 谢 . 23 参考文献 . 24 附录 1 硬件实物图 . 25 附录 2 主要源程序代码 . 26 附录 3 毕业设计作品说明书 . 34 - 1 - 1 概 述 1.1 课题 研究背景及意义 温度是工业中一项非常关键的物理量,在农业、工业和各种高新技术的开发及研究中也是一个
9、非常普遍和常用的测量参数。传统的水银或者酒精温度计通常精度都在 1 度和 0.1 度,由于热容量比较大所以测量时间长,刻度细小读取不方便,测量范围小,在某种程度上也有较大的误差,已经远远不能满足人们的要求。目前,随着信息技术的发展,传感技术的广泛应用,温度测试技术已逐步向自动化、智能化方向发展。基于此,提出了温度的数字化测量。 随着电子工业的发展,能够独立工作的温度检测和现实系统正在逐步应用与诸多领域。以前的温度检测系统用的是以热电偶和热电阻为温度敏感元件。虽然热电偶和热电阻的成本很低,但是它们测出的一般都是电压转换而成的对应的温度,这样就需要比较多的外部硬件支持,而且可靠性相对较差,检 测系
10、统也存在一定的误差。 与传统的热电偶和热电阻的温度检测系统相比, 新型的单线集成温度传感器将温度 /电量转换、模拟电量调理放大和模 /数转换等集成在一个芯片上,克服了分元件测温电路的缺点,并具有小型化、品种多、使用方便和成本低等优点,自问世以来得到了迅速的发展,被广泛应用于温度测量或温度监控系统中 1。 现在嵌入式微控制器和微处理器在各项科研和工业系统中得到了很广泛的应用,并且取得了很好的技术效果和很客观的经济效益。可以说嵌入式微控制器和微处理器已经走进了社会的各个领域,走进了千家万户了。目前国际上衡量一个 国家信息技术发展水品的一个重要的标志就是每年使用微控制器和微处理器的数量。所以本文提出
11、用单片机来控制转换温度传感器发出的信号,从而让温度显示。 1.2 论文 的主要 内容 论文分五章。第一章概述介绍了本课题的背景,研究数字温度计的意义和目的,还有 论文的主要内容 。第二章介绍了本课题所用的 SPCE061A 单片机的基- 2 - 础知识和 nSP开发环境 及单片机 C 语言 。第三章介绍了 本课题的设计方案还有所用到的元器件 。第四章分别从硬件 电路和 软件 编程 介绍了本课题的硬件和软件的设计。最后一章结论对整个论文工作情况进行总结。 - 3 - 2 凌阳 16 位单片机 2.1 凌阳 16 位单片机的介绍 随着单片机集成化的发展,其应用领域也逐渐地由传统的控制,发展为控制处
12、理、数据处理以及数字信号处理等领域。凌阳的 16 位单片机就是为了适应这种发展而设计的,其 CPU 内核采用凌阳最新推出的 nSP16位微处理芯片。围绕 nSP所形成的 16 位 nSP系列单片机采用的是模块式集成结构。 nSP系列单片机有很多优点 : 1、 体积小,集成度高,可靠性好,且易于扩展 ; 2、 具有较强的中断处理能力 ; 3、 具有高性能价格比 ; 4、 具有功能强、效率高的指令集 ; 5、 低功耗, 低电压 2。 2.2 SPCE061A 单片机开发板 2.2.1 SPCE061A 板的概述 SPCE061A 单片机是 nSP家族继 SPCE500A 单片机之后,凌阳公司推出的
13、另一款 16 位单片机。与 SPCE500A 不同的是,考虑到用户较少的内存需求以及便于程序除错, SPCE061A 只内嵌入 32K 字的闪存 ( FLASH) 。与 SPCE500A相比, SPCE061A 内的 nSP核心具有较高的处理速度,能够更容易、更快速地处理复杂的数字信号。因此,以 nSP为核心的 SPCE061A 微控制器,是数字语音辨识产品 的最经济选择。 61 板是以 SPCE061A 单片机为核心的精简开发仿真实验板,大小相当于一张扑克牌,是 “ 凌阳科技大学计划 ” 专为大学生、电子爱好者等进行电子实习、课程设计、毕业设计、电子制作及电子竞赛所设计的,也可作为单片机项目
14、初期研发使用。 61 板除了具备单片机最小系统电路外,还包括有电源电路、音频电路 ( 含 MIC 输入部分和 DAC 音频输出部分 ) 、复位电路等,采用电池供电3。图 2-1 是 61 板的硬件框图,表 2-1 是 61 板的框图说明。 - 4 - 图 2-1 61 板硬件框图 表 2-1(a) 框图说明 POWER PLL RESET K4 5V-3.3V 供电电路 锁向环外部电路 POWER=电源 指示灯 复位电路 复位按键 SLEEP=睡眠指示灯 表 2-1(b) 框图说明 PROBE S5 J3 EZ_PROBE DAC 在线调试 EZ_PROBE 和 2Pin 喇叭插针 下载线的
15、5Pin 接口 一路音频输出电路 器串行 5Pin PROBE 切换的 3Pin 单排针 表 2-1(c) 框图说明 MIC OSC VRT R/C K1-K3 麦克风输入电路 32768 晶振电路 A/D 转换外部 其他外围电阻电容 扩展按键:接 参考电压输入接口 IOA0-IOA2 表 2-1(d) 框图说明 PORTA/B SPCE061A 32 个 I/O 口 61 板核心: 16 位微处理器 - 5 - 2.2.2 SPCE061A 板的外部结构 SPCE061A 有两种封装片,一种为 84 个引脚, PLCC84 封装形式;另一种为 80 个引脚, LQFP80 封装 4。 在 P
16、LCC84 封装中,有 15 个空余脚,用户使用时这 15 个空余脚悬浮。在 LQFP80 封装中有 9 个空余脚,用户使用时这 9 个空余脚接地。 61 板的核心是凌阳 16 位单片机 SPCE061A,封装形式为 PLCC84。各接口图如下 图 2-2。 61 板将 SPCE061A 的 32 个 I/O 口全部引出: IOA0-IOA15、 IOB0-IOB15,对应的 SPCE061A 引脚为: (1) A 口 : 41-48、 53、 54-60; (2) B 口 : 5-1、 81-76、68-64。而且该 I/O 口是可编程的,即可以设置为输入或输出:设置为输入时,分为悬浮输入或非悬浮输入,非悬浮输入又可以设置为上拉输入或是下拉输入;在 5V 情况下,上拉电阻为 150K,下拉电阻为 110K;设置为输出时,可以选择同相输出或者反相输出。 图 2-2 61 板的接口图 2.2.3 SPCE061A 板的内存储器结构 芯片内的存储器有 2K 字的 SRAM ( 包括堆栈区 ) ,其地址范围为0x0000x07FF。前 64 个字,即 0x00000x003F 地址范围内,可采用 6 位地址直接地址寻址方法,存取速度为 2 个 CPU 时钟周期;其余范围 ( 0x00400x07FF)