mcs51单片机机应用于温度控制器本科生毕业论文(编辑修改稿)内容摘要:
输入 CPU 18 CS ADS7844E片选信号 CPU 19 DCLK 串行口时钟 CPU 液晶显示及驱动电路 HT1621B 是 128 点内存映象和多功能的 LCD 驱动器, HT1621B 的软件配置特性使它适用于多种 LCD 应用场合,包括 LCD 模块和显示子系统,用于连接主控制器和 HT1621 的管脚只有 4 或 5 条, HT1621 还有一个节电命令用于降低系统功耗。 第 16 页 共 31 页 HT1621B 的引脚功能及与其它电路的连接见表 4: 表 4: HT1621B的引脚功能及与其它电路的连接表 序号 引脚名称 功能 与其它电路的连接 备注 1 CS Ht1621B 片选 CPU 低电平有效 2 RD 读控制 3 WR 写控制 4 DATA 数据线 5 Vss 电源地 电源地 6/7 OSCI/OSCO 时钟 未连接 使用片内 RC振荡器 8 VLCD LCD电源 +5V 选用 5VLCD 9 VDD 电源 +5V 10 IRQ 看门狗输出 未连接 1 12 BZ 声音频率输出 未连接 13~16 COM0~COM3 LCD 公共输出口 LCD 公共输出口 17~48 SEG0~SEG31 LCD 段输出口 LCD 段输出口 只用到其中 12位 第 17 页 共 31 页 电源电路 图 5 电源电路 第 18 页 共 31 页 系统 软件设计 软件结 构设计 温控器软件主要包括主程序模块、定时器中断处理模块、 LCD 显示处理模块、ADC转换模块和键盘处理模块。 定时器中断处理模块主要产生时间事件,其中 200ms事件用于读取键盘的健值, 500ms 为 ADC 转换事件。 主程序模块循环判断系统是否有事件发生,当发生 200ms 事件时,调用键盘处理子程序、 LCD 显示刷新子程序。 当发生 500ms 事件时,调用 ADC 转换子程序及 LCD 显示刷新子程序。 主要模块调用关系如图 6 所示 ADC 转换模块 LCD 显示刷新 定时器中断程序 读取键值 图 6 主要模块调用关系图 页面处理 保存处理 移位处理 加键处理 闪烁处理 显示转换 写显示数据 启动 ADC 转换 读 ADC 数据 求温度平均值 温度比较 温度校正 二进制转换BCD 码温度 主程序模块 键盘处理 系统初始化程序 第 19 页 共 31 页 系统程序流程图设计 主程序流程图 图 7 主程序流程图 看门狗复位 主循环开始 判断是否有键盘事件 Y N 上电或复位,程序开始 设置堆栈,清内存 调用设备初始化子程序 开中断 N N N 清键盘事件标志 判断上次键盘事件处理是否完成 判断键盘值是否为 0 键盘处理子程序 判断是否有 ADC转换事件 清 ADC 转换事件标志 ADC 处理子程序 显示刷新处理子程序 第 20 页 共 31 页 键盘处理流程 功能:显示相应页面以及修改系统参数 输入:键值 输出:修改显示缓冲器数据及系统参数 寄存器分配:寄存器组 1,各子程序具体分配情况见子程序说明。 调用子程序:页面处理子程序 (Pagehandle)、加键处程序 (Uphandle)、保存数据子程序 (Savehandle)、移位处理子程序 (Shifthandle) 父函数:主程序 图 8 键盘处理程序流程图 压堆栈,设置寄存器组 置键盘未处理完标志 是否有为功能键 Y N 是否为加键 Y N 是否为保存键 Y N 是否为移位键 Y N 调用页面处理子程序 调用加键处理子程序 调用移位处理子程序 调用保存数据处理子程序 恢复堆栈 第 21 页 共 31 页 ADC转换处理流程 功能:启动 ADC 转换、读取 ADC 转换结果、进行温度校正、比较、继电 器控制输出 输入:无 输出:温度值显示值、继电器控制输出 寄存器分配:寄存器组 3,各子程序具体分配情况见子程序说明。 调用子程序:启动 ADC 转换子程序 (Start_Adc)、读转换结果程序 (ReadADC)、求平均值子程序 (Average)、二进制温度转 BCD 码子程序 (Bin_Temp_BCD)、温度校正子程序 (TempAdjust)、温度比较子程序 (TempCopmare) 父函数:主程序 图 9 ADC 转换程序流程图 压堆栈,设置寄存器组 调用 ADC 启动子程序 延时等待 ADC 转换结束 调用读 ADC 结果子程序 调用二进制温度转换子程序 调用求平均值子程序 恢复堆栈 调用温度校正子程序 调用温度比较子程序 第 22 页 共 31 页 定时器中断处理程序流程 功能:产生定时事件 输入:无 输出:时间事件 寄存器分 配:寄存器组 1。 调用子程序:读取键值子程序 (Getkeyvalume)、定时器初始化子程序 父函数:无 Y N 图 10 定时器中断处理子程序流程图 判 断是否为200ms 判断是否为500ms 置 200ms 事件标志 置 500ms 事件标志 Y Y N N 恢复堆栈 清超时标志,恢复正常显示 判断是否为1000ms 判断键盘是否超时 N Y Y N 压堆栈,设置寄存器组 重装定时计数器 (调用定时器初始化子程序 ) ms 计数单元加 1 调用取键值子程序 判断是否为 100ms 键盘事件处理是否完成 第 23 页 共 31 页 系统程序设计 目前许多公司在生产单片机的同时,都会推出自己的编译系统,并且许多编译系统都会支持 C 语言、汇编语言或两种语言的混合编程;本系统采用汇编语言编程,使用 Keil C51 编译。 由于程序的篇幅较长,下面主要介绍主程序及二进制温度转换为 BCD 温度值子程序,其它程序请查阅附录中的程序清单。 主程序清单 ORG 0000H ; 复位入口 JMP PROGRAME_STAR ; 程序开始 ORG 0003H ; 外部中断 0入口 RETI ; ORG 000BH ; 定时 0中断入口 AJMP TIME0_INT ; ORG 0013H ; 外部中断 1入口 RETI ; ORG 001BH ; 定时 1中断入口 RETI ; ORG 0023H ; 串口中断入口 RETI ; ORG 0060H ; 程序起点 PROGRAME_STAR: MOV SP , STACK ; 设置堆栈 MOV PSW , (0 SHL 3) ; 使用寄存器组 0 MOV R0 , 10H ; 清内存的开始地址 MOV R1 , 50H 1 ; 设置清除内存计数 MOV A , 00H ; MAIN0: MOV @R0 , A ; 内存清零 INC R0 ; DJNZ R1 , MAIN0 ; 第 24 页 共 31 页 ACALL DEVICE_INIT ; 设备初始化 MOV IE ,82H ; 开中断 MAINLOOP: ACALL WDRESET ; 看门狗复位 MOV A , TIMEEVENT ; 200ms事件标志 , 处理键盘事件 ANL A , EVT_MS200 ; A和 EVT_MS200做与运算 ,取出 200ms事件标志位 JZ MAIN1 ; 200ms事件标志位为 0时跳到 MAIN1 MOV A , EVT_MS200 ; CPL A ; ANL TIMEEVENT , A ; 清除 200ms事件标志 MOV A , KEYOVER ; 键盘处理完标志 JNZ MAIN3 ; ******************** MOV A , KEY_VALUE ; 取键值 JZ MAIN3 ; 键盘值为 0时跳出 ********** ACALL KEYHANDLE ; 处理键盘事件 AJMP MAIN3 ; *********************** MAIN1: MOV。mcs51单片机机应用于温度控制器本科生毕业论文(编辑修改稿)
相关推荐
RNA 数量众多,为防止混淆,除最早发现的 lin4, let7 及 lsy6之外,研究者们对于其他 miRNA 统一用 miR(为数字 )表示,其基因则记为mir(为相应数字 )。 高度同源的 miRNA 在其后加英文字母加以区别,多拷贝miRNA 基因再其后再加数字。 ( 1) 除了 lin4 和 let7 外,其他 miRNA 统一用 miR(为数字 )表示, mir(代表数字
可以动态调整,以适应不同的标准和环境 ; 各通 信标准对应各自的软件 模块,多模通信设备的实现可以简单地转化为对多个软件模块的 灵活调用。 在采用软件无线电实现的通信设备中,绝大部分的信号处理模块由运行在通用运算单元 GPP( Generalpurpose processor,例如通用 CPU、 GPU 等)上 的 软件 实现。 通常 情况下, GPP 还 运行 除通信模块以外的其它软件
小,节流损失小,传热性能好,流动阻力小。 在低温下也能以任意比例与水互溶。 另外,氨的来源广泛,价格低廉, 主要用在大中型设备中。 但氨有较明显的缺点:有毒,有强烈的刺激性气味,含有水分时,对锌,铜及其合金有腐蚀作用。 氨几乎不溶于润滑油,这对传热和润滑油的回油有影响,目前在干式蒸发器中已使用可溶解的润滑油。 氨还易燃,易爆,在实际使用时存在一定 的安全隐患。 R502 它是由 R22 和
的偏移字节数,图 21 中前 3 个部分的长度之和。 MFC 图像变换软件的设计与实现 5 单色 D IB 有 2 个表项 16 色 D IB 有 16 个表项或更少 256 色 D IB 有 256 个表项或更少 真彩色 D IB 没有调色板 每个表项长度为 4 字节( 32 位) 像素按照每行每列的顺序排列 每一行的字节数必须是 4 的整数倍 b i S i z e b i W i d t
称为滞后校正。 (3)超前滞后校正装置 校正装置在某一频率范围内具有负的相角特性,而在另一频率范围内却具有 正的相角特性,这种校正装置称为超前滞后校正装置,对系统的校正称为超前滞 后校正。 根据校正装置与被控对象的不同连接方式,可分为串联校正、反馈 (并联 ) 校正、前馈校正和干扰补偿等。 串联校正和并联校正是最常见的两种校正方式。 (1)串联校正 如果校正元件与系 统的不可变部分串联起来,如图
际上是一个 1 行 9列向量。 构成矩阵或向量的行字符串长度必须相同。 可以使用 char 函数构建字符数组,使用 strcat 函数连接字符。 常用的字符操作函数 findstr(s1,s2) 搜索字符串 ischar(s) 判断是否字符串 strcmp(s1,s2) 比较字符串是否相同 strncmp(s1,s2,n) 比较字符串中的前 n 个字符是否相同 第二章 Matlab 的 简介