
毕业设计论文基于单片机的水温控制系统硬件部分设计.doc
36页``毕 业 设 计(论 文)说 明 书题 目:基于单片机的水温控制系统(硬件部分设计)系 别:``专业班级:``学生姓名:``指导教师:``教 研 室:``提交时间: ``摘 要本文提出了一种基于单片机实施水温控制系统的设计方案,该方案主要由数据处理单元、数据采集单元、键盘设定单元、语音播放单元、数据显示单元和串行接口打印单元组成该系统通过铂电阻和电压放大电路将温度信号送至数据处理单元,经过运算转换后将信号输出至74LS138,然后通过数码管实现显示功能同时,输出信号通过语音放大芯片SPY0030以及HIN232CP芯片,分别实现系统的语音播报功能和串行接口打印功能关键字:单片机;数据采集;PID算法;水温控制ABSTRACTThe article discusses a sort of Water_temperature controlling system scheme,which is based on a type of single_chip computer.The system consists of date processing unit,date acqusation unit,keyboard controlling unit,voice broadcasting unit,data displaying unit and interface printing unit. The temperature signal is transmitted data processing cell by Pt resister and voltage amplify circuit, after processed,then it can be output to realize displaying function,voice broadcasting function and interface printing function.KEY WORDS:MCU;Data sampling;PID algorithm;Temperature controlling目 录摘 要 IABSTRACT II第1章 引 言 1第2章 水温控制系统的设计要求及方案选择 22.1 水温控制系统的设计要求 22.1.1系统设计功能 22.1.2 系统设计指标要求 22.2 水温控制系统的方案选择 22.2.1驱动部分 22.2.2测量部分 3第3章 单片机SPCE061A结构及工作原理 43.1结构览要 43.2功能描述 43.2.1存储器 53.2.2时钟(锁相环振荡器、系统时钟、实时时钟) 53.2.3输入/输出端口 63.2.4模数转换器与数模转换器 73.2.5串行设备接口 83.2.6中断 83.2.7定时器/计数器 93.2.8低电压监测/复位 10第4章 水温控制系统硬件功能模块设计 114.1 系统总体方案框图及说明 114.2系统各功能模块设计 124.2.1温度信号采集模块 124.2.2数据显示模块 134.2.3语音播报模块 154.2.4串行通信模块 164.2.5继电器/热电炉模块 174.2.6键盘接口模块 19第5章 水温控制系统软件设计 205.1程序结构 205.2主程序流程图 205.3温度设置显示程序流程图 215.4中断流程图 22第6章 电路板设计 24第7章 结束语 26致 谢 27参 考 文 献 28附录一 水温控制系统整体电路原理图 29附录二 水温控制系统PCB板图 29第1章 引 言随着计算机技术的发展及其在控制系统中的广泛应用,以及设备向小型化、智能化方向发展,作为高新技术之一的单片机以其体积小、功能强、价格低廉、使用灵活等优势,显示出强大的生命力。
进入21世纪以来,开发推出单片机的公司很多,各种高性能单片机芯片市场也异常活跃,随着新技术的不断采用,单片机的种类、性能以及应用领域也不断的扩大和提高凌阳科技公司最近推出了一款新型16位单片机SPCE061A,使16位单片机的科技含量及应用跃上了一个新的台阶SPCE061A具备全双工异步通讯的串行接口,可实现多机通讯,并组成分布式控制系统;其红外收发通讯接口,可用于近距离的双机通讯或制作红外遥控装置;A/D,D/A转换接口可以方便用于各种数据采集、处理和控制输出,并为与用户系统友好的交互打下基础;A/D,D/A转换接口与CPU的DSP运算功能结合在一起,可实现语音识别功能,使其方便地运用于数字声音和语音识别应用领域可广泛的应用在以下领域:语音识别类产品、智能语音交互式玩具、高级亦教亦乐类玩具、儿童电子故事书类产品、通用语音合成器类产品和需较长语音持续时间类产品等在该系统中,采用了凌阳十六位单片机SPCE061A作为系统的核心处理部件,以此实现温度控制温度信号由PT1000和电压放大电路提供,并通过PID算法实现水温控制同时配以相应的外扩电路,使之具有温度数字语音播报和显示功能 第2章 水温控制系统的设计要求及方案选择2.1 水温控制系统的设计要求2.1.1系统设计功能设计制作一个水温控制系统,控制对象为1升净水,容器为搪瓷器皿,水温可以在一定范围内由人工设定,如在40℃到90℃范围内设定控制水温。
静态控制精度为0.2℃,并能在温度低于目标温度时,继电器工作,高于目标温度时,继电器停止工作来实现自动调整,并保证具有良好的快速性与较小的超调量,以保持设定温度不变2.1.2 系统设计指标要求1)环境温度降低时(如电风扇降温)温度控制的静态误差≤1℃;2)温度设定范围为40℃到90℃,最小区分度为1℃,标定温度≤1℃;3)用数码管实时显示水的温度2.2 水温控制系统的方案选择2.2.1驱动部分方案一:此方案采用89C51单片机实现,但是89C51单片机需要外接模数转换器来满足数据采样如果系统增加语音播放功能,还需要外接芯片,对外围电路来说,比较复杂,且软件实现也比较麻烦另外,89C51单片机需要用仿真器来实现软硬件来调试,较为繁琐方案二:此方案采用SPCE061A单片机实现,此单片机内置8路ADC和2路DAC,且集成开发环境中,配有很多语音播放函数,用SPCE061A实现语音播放极为方便另外,比较方便的是该芯片内置仿真和编程接口,可以方便实现调试,这就大大加快了系统的开发与调试2.2.2测量部分方案一:采用热敏电阻,可以满足40℃到90℃的测量范围,但热敏电阻精度、重复性和可靠性都比较差,对检测小于1℃的信号是不适用的。
方案二:采用温度传感器Pt1000,Pt1000测量准确度高、测量范围大、复现性和稳定性较好,此外还具有抗振动、耐高温和高压的特点综上所述,在该系统中采用以凌阳单片机SPCE061A为控制核心,以传感器Pt1000为传感器采集温度信号,以PID算法控制继电器实现水温自动调节的电子装置第3章 单片机SPCE061A结构及工作原理本系统采用SPCE061A芯片作为核心部件,目前有两种封装形式:84引脚的PLCC84封装和80引脚的LQFP80贴片封装3.1结构览要 图3.1 SPCE061A结构览图SPCE061A配备了凌阳科技开发的最新的16位微处理器u’nSP它在2.6V-3.6V工作电压范围内工作频率范围为0.32MHz--49.152MHz,较高的工作速度使其应用领域更加拓宽2K字的SRAM和32K字的闪存ROM仅占一页存储空间,32位可编程的多功能I/O端口;两个10位定时器/计数器;32768Hz实时时钟;低电压复位/监测功能;8通道10位模数转换输入功能并具有内置自动增益控制功能的麦克风输入方式;双通道10位DAC方式的音频输出功能;内置仿真板接口。
SPCE061A是数字声音和语音识别产品的一种最经济的应用3.2功能描述SPCE061A内包含8个寄存器:4个通用寄存器R1-R4,一个程序计数器PC,1个堆栈指针SP,一个基址指针BP和一个段寄存器SR通用寄存器R3和R4结合形成一个32位寄存器MRMR可被用作乘法运算和内积运算的目标寄存器此外,SPCE061A有3个PIQ中断和14个IRQ中断,并且带有一个由指令BREAK控制的软中断3.2.1存储器1)RAMSPCE061A有2K字的SRAM,地址范围从$000000到$0007FF2)闪存(Flash)ROM全部32K字闪存均可在ICE工作方式下被编程写入或被擦除对闪存设置保密设定后,其内容不能再通过ICE被读写,也就可以使程序不被他人读取3.2.2时钟(锁相环振荡器、系统时钟、实时时钟)1)锁相环(PLL,Phase Lock Loop)振荡器PLL的作用是为系统提供一个实时时钟的基频(32768Hz),然后将基频进行倍频,调整至49.152MHz、40.96 MHz、32.768 MHz、24.576 MHz或20.480 MHz系统默认的PLL自激振荡频率为24.576 MHz。
2)系统时钟系统时钟的信号源为PLL振荡器系统时钟频率(Fosc)和CPU时钟频率(CPUCLK)可以通过对P_System_Clock(写)($7013H)单元编程来控制默认的Fosc、CPUCLK分别为24.576 MHz和Fose/8可以通过对P_System_Clock单元编程完成对系统时钟和CPU时钟频率的定义当系统被唤醒后的最初时刻的CPUCLK频率亦为Fose/8,随后逐渐被调整到设定的CPUCLK频率这样,可以避免系统在唤醒初始时刻读ROM出现错误3)实时时钟(32768Hz)32768Hz实时时钟通常用于钟表、实时时钟延时以及其它与时间相关类产品SPCE061A通过对32768Hz实时时钟源分频而提供了多种实时时钟中断源例如,用作唤醒源的中断源IRQ5_2Hz,表示系统每隔0.5秒被唤醒一次,由此可作为精确的计时基准3.2.3输入/输出端口(I/O,Input/Output)输入输出端口是系统与其他设备进行数据交换的接口SPCE061A具备两个可编程输入输出端口:A口和B口A口既是具有可编程唤醒功能的普通I/O口,又可与ADC的多路LINE_IN输入共用(IOA[6-0]与LINE_IN[1-7]共用);B口除了具有普通的I/O口功能外,在特定管脚上还可以完成一些特殊的功能。
I/O端口如图所示: 图3.2 I/O端口连接图尽管数据能够通过数据端口P_IOX_Data和数据缓冲器端口P_IOX_Buffer写入相同的数据寄存器,但从这两个端口读出的数据却来自不同的位置;从后者读出的仍是数据寄存器里的数据,而从前者读出的是I/O管脚上的电平状态IOA[7-0]。
