不存在则返回跳过匹配,发出温度转换命令等待转换结束,位的话微秒准备读温度前先复位跳过匹配发出读温度命令将读出的温度数据保存到具体的步骤初始化完后当拉低电平开始产生写时隙微妙之内送入位数据微妙来采样读取它程序名称功能将保存的数值写入中,有具体的时序要求,详细参考附图的说明入口参数寄存器出口参数无,共位数据,串行通讯,循环右移微妙里面共是位,所以要送次释放总线程序名称功能读取中的数据,由于是串行通讯,每次读取个,循环次读取入口参数出口参数无,将温度高位和低位从中读出数据共有位,程序名称功能扫描键盘入口参数出口参数如果有键入,则开始键盘输入每次进来都赋值输入标志,设置为将当前的温度赋值给,也就是说是以当前温度为基准,进行加减的如果输入完成,则为,退出键盘程序程序名称功能确认键盘输入和退出键盘输入入口参数出口参数按键抖动处理程序名称功能数值上调处理入口参数出口参数按键抖动处理个位增,坤等编著西安电子科技大学出版社微型计算机接口技术王兆月等编著机械工业出版社个位增加到,回十位加十位超过,溢出了,出错,显示退回,程序名称功能数值下调处理入口参数出口参数按键抖动处理个位减个位减到,回到,十位减十位低于,溢出了,出错,显示,退回增加完成后,赋值退出,然后显示出来键盘抖动延时子程序继电器控制三个都是的话,说明还没有输入数值,直接退出十位如果相等,那么继续比较个位为说明当前温度小于设定温度,要升温,所以接继电器控制电热丝加热为说明当前温度大于设定温度,要降温,所以接风扇程序名称功能赋值给入口参数出口参数小数位个位十位程序名称功能显示数据到数码管中。
入口参数出口参数无,,次显示结束,口复位口复位,数码管参考文献单片机应用开发实用子程序边春元等编著人民邮电出版社官方英文文档官方英文站点下载全国大学生电子设计大赛培训系列教程高吉祥主编电子工业出版社单片微型计算机原理及应用张毅数据格式以形式表示。
温度值格式如表所示,其中为标志位,对应的温度计算当符号位时,直接将二进制位转换为十进制当时,先将补码变换为原码,再计算十进制值。
完成温度转换后,就把测得的温度值与做比较,若或操作命令存储器操作命令处理数据初始化单总线上的所有处理均从初始化开始操作命令总线主机检测到的存在便可以发出操作命令之这些命令如表所示表操作命令表指令代码读匹配跳过搜索告警搜索存储器操作命令如表所示表存储器操作命令表指令代码写暂存存储器读暂存存储器复制暂存存储器温度变换重新调出读电源温度转换算法及分析由于转换后的代码并不是实际的温度值,所以要进行计算转换。
温度高字节高位是用来保存温度的正负标志为的,高字节低位和低字节来保存温度值。
其中低字节的低位来保存温度的小数位。
由于本程序采用的是的精度,小数部分的值,可以用后四位代表的实际数值乘以,得到真正的数值,数值可能带几个小数位,所以采取小数舍入,保留位小数即可。
也就说,本系统的温度精确到了度。
算法核心首先程序判断温度是否是零下,如果是,则保存的是温度的补码值,需要对其低位取反加变成原码。
处理过后把的温度到单片机的中,里面已经是温度值的码了,然后转换码到码,分别把小数位,个位,十位的码存入中。
加热控制部分由于本系统要控制电热丝加热,功率较大,因此要借助功率电路。
在器件选择上留足余量,增加安全性。
加热部分采用继电器控制,电路简单可靠。
电路如图所示。
当实测温度低于设定值时,由单片机输出高电平信号。
三极管导通,继电器开始工作对水加温。
为了防止继电器频繁动作。
在软件中对水温测量精确到,而在温度设定时只取整数。
可以有的余量。
当设定温度低于实测温度时为了加快系统动态响应速度,设置个小功率电扇,加速水温的降低。
使系统整体性能得以提高。
原理图如图所示。
键盘显示控制器部分本设计中采用动态显示方式驱动个七段数码管,分别显示温度的十位个位和小数位。
数码管采用共阴极,由于单片机每个的拉电流只有。
所以在位码和段码都加上了同相驱动器。
键盘采用按键开关经上拉电阻分别接口上,起到控制上调和下调作用。
每按上调和下调键,设定温度值增减。
单片机接晶振,提供系统时钟基值。
另接复位按键。
原理图如图所示。
图继电器控制图风扇控制图图键盘显示控制器部分原理图系统软件设计系统的软件设计采用汇编语言,对单片机进行变成实现各项功能。
主程序对模块进行初始化,而后调用读温度处理温度显示键盘和继电器各模块。
用的是循环查询方式,来显示和控制温度。
读取温度模块子程序每次对操作时多要按造工作过程中的协议进行。
初始化操作命令存储器操作命令处理数据程序流程图如图所示。
数据处理子程序由于转换后的代码并不是实际的温度值,所以要进行数据处理。
由于本程序采用的是的精度,小数部分的值,可以用后四位代表的实际数值乘以,得到真正的数值,数值可能带几个小数位,所以采取四舍五入,保留位小数即可。
也就说,本系统的温度精确到了度。
首先程序判断温度是否是零下,如果是,则保存的是温度的补码值,需要对其低位取反加变成原码。
处理过后把的温度到单片机的中,里面已经是温度值的码了,然后转换码到码,分别把小数位,个位,十位的码存入中。
数据处理子程序流程图如图判断是否有的存在不存在时显示信息处理从得到的数据赋值给调用数码管显示子程序扫描键盘处理继电器程序名称功能程序出错处理,显示三个,即入口参数无出口参数如果没有找到,那么就显示,显示为程序名称功能处理采集后的的数据入口参数出口参数判温度是否零下,为,说明是正数,跳往,如果是负数,则对低为进行补码处理二进制数求补双字节取反加取补码后存回,此时里面的值就可以表示温度了,不过还要继续处理下。
高位取反,加上从低位进来的位写回取低位小数位,单位是,得出来的数要乘以,通过查表来算出值查表小数部分小数位的码送入显示中整数部分得到个位单个数值后就得到个位真正的个位组合后的值存入转换值成为码目前存入的是十位和个位的编码位十位数位个位数小数部分码表,,,,以此类推程序名称功能十六进制转入口参数出口参数,程序名称功能初始化,确定是否是存在的入口参数无出口参数主机发出延时微秒的复位低脉冲,示。
图读取温度子程序流程图图数据处理子程序流程图返回数据传递温度是否为负码转换求补运算开始初始化存在操作命令存储操作命令读取温度值返回是否键盘扫描子程序按键功能控制键加键减键键盘子程序流程图如图所示。
图键盘子程序流程图开始为键是否按下是否有键按下是否有键按下是否有键按下显示返回主程序子程序子程序子程序是是是是是否否否否否主程序流程图总模块流程图如图所示。
本软件设计采用循环查询来处理各个模块,温度是缓慢变化量所以可以满足性能要求。
图所示为系统主程序流程图图主程序流程图否初始化开始调用转换子程序存在数据处理子程序显示子程序键盘扫描子程序继电器控制子程序处理显示是系统测试静态温度测试测试方式由于种种条件的限制,采用模拟加热方式进行测试。
利用继电器的指示灯来显示继电器的动作。
红灯表示加热,绿灯表示降温。
测量仪器空调温度显示屏测试结果如表所示表测试结果数据标准温度测量温度误差动态温控测量测试方式加热方式用体温对传感器进行加热。
设定控制温度,记录超调温度,稳态误差。
超调温度与加热的功率有关,这里不再测量。
测量仪器空调温度显示屏测量结果如表所示表测试结果数据设定温度超调温度稳态误差结果分析有以上的测量结果可见,系统基本上达到了所要求的指标,静态测温的精度主要由来决定。
在控温指标中,影响系统的性能的因素很多。
最关键的是加热系统本身的物理性质及控制算法。
由于条件的限制,在本设计中采用体温进行测试。
附录产品使用说明本水温控制系统能在范围内设定任意温度值,超出此范围将有出错显示,之后返回到或。
通过按键确认开始温度设定的键为加键,每按次使设定温度值加的键为减键,每按下次设定温度值减。
设置完温度要在按键确认温度设定完成,之后显示实测温度值。
当温度传感器没有接入时也将有出错提示显示。
附录元件清单元件数量个晶振继电器数码管按键开关发光二极管排阻电阻电解电容附录系统硬件原理图附录软件程序清单低位高位计算后十位的码存放计算后的个位和小数位的码存放计算后十位和个位码的存放数码管小数位数码管个位数码管十位键盘输入后,的个位值键盘输入后,的十位值输入数据确认按钮上调按钮下调按钮读取的输入端口继电器控制端口,加热,断开风扇控制,降温,断开标志位,确定是否存在,存在,不存在键盘输入的标志位,为说明键盘正在输入,为说明键盘输入退出程序开始执行,初始化由于是由用户输入的,所以先赋值初始化调用读温度子程序,实现自动控制,以保持设定的温度基






























1、该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读。
2、有的文档阅读时显示本站(www.woc88.com)水印的,下载后是没有本站水印的(仅在线阅读显示),请放心下载。
3、除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑、修改、打印。
4、有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载。
5、该文档为会员上传,下载所得收益全部归上传者所有,若您对文档版权有异议,可联系客服认领,既往收入全部归您。
