大学毕业设计基于单片机的肿瘤热疗温控系统的软件设计内容摘要:
6 X T A L 218X T A L 119A L E30EA31P S E N29R S T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 . 01P 1 . 12P 1 . 23P 1 . 34P 1 . 45P 1 . 56P 1 . 67P 1 . 78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I N T 012P 3 .3 /I N T 113P 3 .4 /T 014P 3 .7 / R D17P 3 . 6 / W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 / A 821P 2 .1 / A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C 5 1C13 3 pC23 3 pX1C R Y S T A LF R E Q = 1 2 M H zP A C K A G E = X T A L 1 8C32 2 pR21kR2(2)VALUE=5 图 22 系统在 Proteus仿真下的最小系统电路 167。 硬件电路各模块设计方案 一、 控制器模块 根据要求,控制器主要用于对温度测量信号的接受和处理、控制温度采集的开关和报警电路的启用、控制显示电路对温度值实时显示以及控制键盘实现对温 度值的设定等。 采用 ATMEL 公司的 AT89C51 作为控制核心,对温度采集和实时键盘显示以及报警装置进行控制。 由 AT89C51 作为系统控制器。 单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制,并且其功耗低、体积小、价格便宜 、耗电低、技术成熟和成本低等优点。 许多功能部件集成在芯片内部, 信号通道受外接影响小,可靠性高,控制能力强,运行速度快等特点 [15]。 另外 8051 系列单片机提供两个 16 位的定时 /计数器,分别是 Timer0 及Timer1(简称 T0 和 T1)。 设计成 4 种工作模式, 分别是 Mode0、 Mode Mode2及 Mode3。 Mode0 为两个 13位的定时 /计数器,其最大计数量为 213(即 8192);Mode1 为两个 16 位的定时 /计数器,其最大计数量为 216(即 65536),是较为常用的工作模式; Mode2 为两个 8 位但可自动加载的定时 /计数器,其最大计数量为 28(即 256); Mode3 为一个 8 位的定时 /计数器和一个 8 位的定时器,较少使用 [16]。 单片机中的定时 /计数器同中断系统一样,也由特殊功能寄存器控制其功能、状态和工作方式。 下面介绍一下定时 /计数器计数初值的计算。 在使用定时器的时候,往往要根据想要设定的定时时间向定时器装定初值,计数初值 7 可由下列计算式求得 [16]: 机器周期定时时间最大计数量计数初值 (21) 将求得的结果转化为二进制数后装入 THx 和 TLx 即可。 对 Mode0 模式也可使用下述方式装入定时初值,即将上面求得的计数初值除以 25(即 32),将商放入 THx,余数放入 TLx[17]。 避免进制转换的问题。 二、 智能测温控制模块 采用继电器控制。 使用继电器可以很容易实现地通过较高的电压和电流,在正常条件下,工作十分可靠。 这种电 路无法精确实现电热丝功率控制,电热丝只能工作在最大功率或零功率,对控制精度将造成影响。 但可以由多路加热丝组成功率控制,由单片机对温差的处理实现分级功率控制提高系统动态性能。 图 23 继电器控温电路 报警电路是在温度值越过上、下限时 蜂鸣器由单片机输出低电平 , 经三极管驱动报警。 图 24 报警电路 8 三、 温度采集模块 对温度进行控制和显示, 就需要 把模拟量转换为数字量。 采用 数字温度传感器 DS18B20。 DS18B20 与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现 9~ 12 位 的数字值读数方式 [18]。 并且从 DS18B20 读出的信息或写入 DS18B20 的信息仅需要一根口线(单线接口)读写 ,因而使用 DS18B20 可使系统结构更趋简单,可靠性更高。 他在测温精度、转换时间、传输距离、分辨率等方面带来了令人满意的效果。 图 25 外部供电单点测温电路 四、 键盘与显示模块 本设计采用 4 位独立式键盘 ,当某一个键被按下时则运行单片机所给予的任务,还可以实施中断控制。 四个键作为功能键,它们可触发低优先级的中断,使得这组键被按下时跳转到功能键处理的子程序。 再由逻辑门电路组合,使得前两个键在剩余 功能键作用的同时可作为设置功能触发高优先级的中断。 可以在程序运行的过程中随时触发键命令,而不必使 CPU 忙于反复扫描是否有键被按下,减轻了 CPU 的工作压力。 液晶显示屏 ( LCD) 具有功耗小、轻薄短小无辐射危险,平面直角显示以及影象稳定不闪烁,可视面积大,画面效果好,抗干扰能力强等特点 [19]。 DB [0 .. 7 ]A0RE SCSE ( RD )R/ W ( W R )U3S E D1 5 2 0CO NT RH E I G HT = 1 6A DC M O D E = 0R 1 91 0 0 RC42 2 pR1 9 ( 1 )V A L U E = 5 图 26 液晶显示模块 9 图 27 键盘控制 167。 热疗温度控制系统 软件设计 方案 软件通过采样扫描对温度传感器进行访问,将可自定义的温度阈值与采样结果比较后向继电器发送加热或停止的指令。 167。 软 件模块及相互关系 软件系统模块包括:单片机 系统监控程序、键盘扫描模块、液晶显示模块、信号检测模块、采样定时模块、数据处理程序、控制输出模块 [20]。 这些系统模块之间的关系如图 28 所示。 图 28 软件模块 系统监控程序 键盘扫描模块 液晶显示模块 信号检测模块 采样定时模块 控制输出模块 数据处理程序 立即扫描温度 控制量 发送指令 发送指令 装定初值 按键界面 显示控制 发送数据 10 167。 温度控制软件的整体流程图 主程序的流程图如下所示。 图 29 系统设计流程图 在整个温控程序中,键盘对控制量的输入作为中断可在任意时刻插入,并在执行完键盘程序后返回断点。 程序开始时首先对 LCD进行初始化设置,并写入报警温度上 、下限值。 然后对温度传感器 DS18B20 进行复位,检测是否存在,如果传感器没有正常工作, LCD 显示屏上会显示“ ERROR” 的信息,如果工作正常显示屏上将显示出“ OK”。 接着读取温度数据,再经转换,由 LCD 显示屏显示出来。 同时,不断地将实时温度与设定的报警温度上、下限值进行比较,如果超过报警上限,鸣响并关掉加热源;如果超过报警下限,鸣响并接通加热源 [21]。 由于报警温度的上、下限值的设定,查看和调整都是由按钮开关控制的,所以程序还要对按键进行扫描,如此循环。 167。 本章小结 本章节主要介绍了肿瘤热疗 温控系统的 总体 设计方案。 11 第 三 章 软件设计 167。 单片机系统监控程序 监控程序是单片机应用系统所必备的且基本框架相似的模块程序,它负责监督管理微机系统的全部功能,监 控程序的质量直接影响系统的操作和运行。 一个高质量的监控程序应该 功能齐全、键数合理、操作方便、容错性好[22]。 监控程序的主要作用是及时响应来自系统或仪表内部的各种服务请求,有效地管理仪表自身软、硬件及人机交互设备。 其完成的功能有: ,系统按照键盘键入的命令转入相应的按键服务程序及显示相应的人机对话界面和相关信息。 、外部中断引起的中断请求信号,转入相应的中断服务程序,实现对定时器和外部中断的管理。 、堆栈初始化及片内 RAM 初始化。 监控主程序是整个软件的一条主线,上电复位后首先进入监控主程序。 任务是识别命令,解释命令并获得完成该命令的相应模块的入口,引导系统进行相应的处理,并协调各部分的软、硬件有条不紊的工作。 监控程序的设计方法可分为直接分析法和状态转移法 [23]。 直接分析法就是根据当前按键的编码和标志,把控制直接转入处理子程序,无需知道此前的按键情况。 它 只适用于一键一意的简单程序设计,在设计一键多意的较复杂的系统时,常常是命令识别、标志判定和处理子程序交织在一起,使程序结构复杂凌乱,不易修改、阅读,且无通用性。 状态转移法则是整体地来考虑应用系统,把它看作是一个系统,从而引入 “ 状态 ” 的概念 [24]。 任一时刻,系统的状态是唯一确定的,如果把按键键值和现态相与作为系统的输入,按键应执行的功能子程序视为动态响应过程,次态看成稳态输出,那么整个监控程序就是在各状态之间跳动转移。 用状态转移法设计的监控程序,其程序基本框架是相同的,具有通用性强、修改方便、便于阅读之优 点。 12 图 31 主程序流程图 167。 键盘 控制 模块 利用单片机的两个外部中断解决温度扫描与键盘程序之间的冲突,使得当中断发生时,程序跳转到键盘控制模块,而不影响主程序中温度传感器的读取。 独立式键盘控制流程图: LCD初始化 设定温度 /定时初值 输出加热信号 定时值到否 扫描温度值并显示 温度值到否 结束 Y N 输出停止加热信号 Y N 开始 13 图 32 键盘控制流程图 167。 单片机中断简介 中断是指 CPU 暂时放下目前正在执行的程序,转而先去执行特定的程序,待完成特定的程序后,再返回原来的程序继续执行的过程 [25]。 +IT0=0IT0=1____INT0T0IT1=0IT1=1____INT1T1TXRXTCON IEIE0TF0IE1TF1TIRIEX0ET0EX1ET1ESEAIPPX0 1111100000PSPT1PX1PT0SCON中断标志源允许 总允许 优先级硬件查询低级中断请求PC高级中断请求PC矢量地址矢量地址自然优先级自然优先级 图 33 中断系统内部结构示意图 [5] 14 CPU 对中断的管理通过中断控释寄存器来进行。 CPU 对中断源的开放和屏蔽,以及每个中断源是否被允许中断,都受用户对中断允许寄存器 IE控制。 167。 该键盘程序的流程图 一般中断程序的流程和中断嵌套的流程 : 主程序继续执行主程序断点响应低级中断请求返回主程序R E T I低级中断程序继续执行断点响应高级中断请求返回低级中断程序高级中断服务程序主程序继续执行主程序响应中断请求返回主程序中断服务程序断点 图 34 中断响应过程流程图 图 35 中断嵌套流程图 该键盘程序使用两个外部中断源 0INT 和 1INT ,并且由这两个优先级不同的中断组成了嵌套。 当完成控制量的设定之后,使用高优先级的中断来实现数值的装定 [26]。 图 36 INT0 中断流程图 低中断结束 低中断入口 读键位 延时消抖 判断键号 散转 15 图 37 低 中断键盘散转流程图 图 38 INT1 中断流程图 167。 键盘程序中对中断的设定 中断 系统初始化的一般步骤应包括 [27]: ( 1)开相应中断源的中断; 显示温度 暂停加热 设置温度 设置定时 扫描方向键 等待确认 N Y 高中断入口 散转入口 返回 高中断入口 读键位 延时消抖 判断键号 高中断结束 确认 返回 16 ( 2)设定所用中断源的中断优先级; ( 3)若为外部中断,选择触发方式;。大学毕业设计基于单片机的肿瘤热疗温控系统的软件设计
相关推荐
.................. 27 预应力钢束的布置 ......................................... 29 预应力损失计算 ............................................... 30 预应力钢筋与管道之间摩擦引起的应力损失 ................... 31 由锚具变形
式 switch(config)hostname ;设置交换机的主机名 switch(config)enable secret xxx ;设置特权加密口令switch(config)enable password xxa ;设置特权非密口令switch(config)line console 0 ;进入控制台口 switch(configline)line vty 0 4 ;进入虚拟终端
...................................... 7 基本建设投资 .................................................................................................... 7 其他一次性支出 ........................................
........... 59 技术措施 ........................................................................... 59 技术、质量、安全管理 ...................................................... 60 雨期施工 ..........................
............... 43 设计依据 ............................................................................................................. 43 设计技术指标 .......................................................
........ 28 可考地传递功率 ........................................................................................... 28 满 足工作机的变速要求 ........................................................................