收藏 分销(赏)

湿度采集系统设计.doc

上传人:天**** 文档编号:3902429 上传时间:2024-07-23 格式:DOC 页数:64 大小:271.54KB 下载积分:14 金币
下载 相关 举报
湿度采集系统设计.doc_第1页
第1页 / 共64页
湿度采集系统设计.doc_第2页
第2页 / 共64页


点击查看更多>>
资源描述
目 录 第一章 自动化工程训练设计的目的意义 1 1.1 设计目的 1 1.2 课程在教学计划中的地位和作用 1 第二章 空气湿度测量与报警系统软硬件设计任务 3 2.1 设计内容及规定 3 2.2 课程设计的规定 3 第三章 总体设计方案 5 3.1 总体设计思想 5 3.2 总体设计流程图 6 第四章 硬件设计 7 4.1 硬件设计概要 7 4.1.1湿度采样电路 7 4.1.2 驱动器接线 8 4.2 所用到的芯片及其各自功能说明 8 4.2.1 芯片列表 8 4.2.2 8032的功能简介 9 4.2.3 ADC0809的功能简介 9 4.2.4 8279的功能简介 11 4.2.5 LCD的功能简介 12 4.2.6 湿度传感器 12 第五章 软件设计 14 5.1 系统模块 14 5.2 各模块介绍 14 第六章 系统调试及使用说明 18 6.1 系统调试 18 6.2 使用说明 18 第七章 收获、体会 19 参考文献 20 附录 21 第一章 课程设计的目的、意义 1.1 设计目的 通过微控制器的硬件和软件的学习,使学生对单片机系统有一个全面、深刻的了解,可以纯熟掌握芯片的工作原理和使用方法,从硬件和软件两方面的基础上对所学知识进行应用,对在课程设计过程中碰到的问题进行相关解决并分析结果,使学生可以在实际应用的过程中掌握软、硬件应用的精华部分,可以进行相对独立的程序设计和硬件设计,本质上实现了《微控制器技术》课程的教学目的。 本次设计重要可以完毕对空气湿度的测量监控和数据解决以及显示报警功能的实现,可以通过键盘输入参数来设立系统得目的值和报警值,通过LCD来显示当前相对湿度值和键盘输入的目的值、报警值。当当前相对湿度值达成某种限度时,作出相应得驱动和报警。 1.2 课程在教学计划中的地位和作用 计算机是当今发展最快的领域,随着计算机技术的发展,与其遥相呼应的微控制器的发展也是惊天地泣鬼神,正是这种软、硬件的更新换代,对学生学习微控制器技术这门课程和掌握相关的硬件知识变得更加重要,做到学以致用,使所学习的知识有助于此后的工作和学习,有必要将课堂上学习的理论和实践的结合,使学生可以真正的独立完毕一项有一定知识架构的课程设计,如何自己思考相关的问题,如何去查资料并通过资料汇总得出相关结论,如何去学习新的东西,如何去了解我们生活中智能仪器的相关知识,以及在应用的过程中制定相应的问题的解决方案并通过不断实践来提高学生分析问题和解决问题的能力。 由于单片机在平常生活中的可见性和普遍性,使得这次课程设计重要是以生活中常见的电子电器为参考作出设计,例如:空调系统,洗衣机系统,温度监控系统,湿度监控系统。这些在平常生活中使用十分普遍的电器,在课程设计中我们可以从原理上,从内在的运算结识到理论对实践的重要性以及实践来源于理论的意义。对一个系统成功的设计出来后的喜悦感让我们对微控制器的积极性充足的调动起来了。 所以说在这个经世致用的中南大学和创新型社会下,课程设计是必不可少,更是重中之重,意义重大性是不可忽视的。 第二章 空气湿度测量与报警系统软 硬件设计任务 2.1 设计内容及规定 设计出具有A/D采样、键盘输入参数设立的空气湿度检测、解决、显示和报警,并且可在线键盘参数设立、定期检测、显示和喇叭与灯光报警的空气湿度测量与报警系统。 2.2 课程设计的规定 2.2.1 课程设计的基本规定如下: 1).掌握单片微控制器硬件结构和工作原理、中断与定期系统等基本概念和原理; 2).熟悉8/16位单片微控制器(8X51/196系列)的重要功能单元和指令系统; 3).运用微控制器的接口技术进行简朴的测控及自动化应用系统设计; 2.2.2 课程设计的具体规定如下 1) 湿度采样 由于湿度传感器的湿度检测转换并提供0-5V的信号输入,因此课程设计规定A/D多路采样电位器的输入电压,0-5V转换为00-0FFH数字信号,并存储计算显示.同时通过双通道采样同一个电位器的输入求平均值来保证采样的精度和显示值的稳定性.在此同时,增长第三通道独立采集,比较两种情况。 2) 报警解决 键盘输入湿度的目的值和报警值,对采样进来的当前信号转换成数字信号后,与目的值和报警值做比较: (1)若当前值低与目的值,则属于干燥状态,亮绿灯灯;此时,应启动加湿器。 (2)若当前值高于目的值同时低于报警值,则属于正常状态,亮黄灯; (3)若当前值高于报警值,则属于高湿度危险状态,两红灯,同时喇叭报警,并启动干燥器。 (3) 键盘输入和显示 通过键盘输入的参数(目的值和报警值)同时进行显示,对当前采样值进行动态显示,并可在线修改参数。 第三章 总体设计方案 3.1 总体设计思想 总体设计思想分为以下六点: 1) 定义53H,63H,73H分别为目的值,报警值,当前值的存储区.一方面调用一次显示程序,静态显示”请同时输入目的值和报警值,按功能键拟定”,将输入的十进制值分别送到53H和63H,在P3.2有一个脉冲输入时,重新进入键盘扫描程序,否则完毕键盘输入功能,并可在线修改参数; 2) 通过AD转换将输入的电压信号转换为数字信号并调用数制转换程序,将16进制的当前值转换为十进制的三位数,同时存储在73H,完毕信号检测和数制转换功能; 3) 对转换后的当前值和输入的目的值,报警值做比较,运算后,根据不同的比较结果,改变,P1.1,P1.2,P1.3,P1.4,P1.5的状态,完毕比较功能; 4) 将当前采样值,键盘输入的目的值和报警值分别显示在LCD相应的位置上,完毕显示功能; 5) 根据3)中的改变情况,分别驱动红黄绿灯以及喇叭,P1.4,P1.5分别接干燥器和加湿的驱动器,完毕报警功能. 6) 作适当延时,在返回到AD转换阶段 之前,判断P3.2的电位,若收到一脉冲,则此时开始重新初始化,进入键盘扫描程序,若没检测到,则继续采样重新扫描完毕定期检测功能. 总体设计思想就为这样的不断循环,其中由于P1.4,P1.5的存在有一定的反馈控制,但是由于实验规定中并没作规定,因此,软件程序中对P1.4,P1.5的改变,以及硬件电路中对P1.4,P1.5的驱动接线并没有在实验室实现。 3.2 总体设计流程图 程序流程图如图3.1 开始 初始化及初始显示 扫描键盘,键盘输入程序 启动AD双通道采样 采样值转换 采样值与设定值比较 输出显示程序 报警驱动解决程序 需要修改参数? 是 否 图3.1 程序流程图 第四章 硬件设计 4.1 硬件设计概要 4.1.1:湿度采样电路: 湿度采样电路用高分子湿度传感器CHR01为复合型电阻型湿度敏感部件,其复阻抗与空气相对湿度成指数关系,直流阻抗(普通数字万用表测量)几乎为无穷大,与传统意义上的电阻有空气中水分子参与膜感湿中的离子导电,由于水分子为极性分子,在直流电存在的情况下,会电离,分解,从而影响导电与元件的寿命,所以规定采用交流电路对传感器进行供电。 湿度传感器由于其必须的激励通过交流电来实现,及不同温度特性下阻抗不同的特性,决定了其在AD采样电路中必须采用动态采样的方法,并同时采样温度信号。具体电路示意图4.1如下: 图4.1湿度采样电路 参数设计: R0采样电阻的阻值通常建议在30-50KΩ,侧重高湿测量,采样电阻阻值可减少到20KΩ,低湿阻值可提高到100KΩ。 在信号的正周期内的中间段进行采样,直接通过度压法采集,注意采样时间,通过电压采样后得到V0,计算如下: RX=R0*(V-V0)/V0 同时检测当前温度T,通过查阅湿度传感器Z/RH/T数据表,在不同温度下RX的值推算出当前的相对湿度RH%。 不同单片机也许得到的数据会有所不同,可通过软件进行矫正。 4.1.2 报警驱动接线 P1.1接红灯 P1.2接黄灯 P1.3接绿灯 P1.4可同时接喇叭和干燥驱动器 P1.5接加湿驱动器 4.2 所用到的芯片及其各自功能说明 4.2.1 芯片列表(如表4.1) 表4.1芯片列表 芯片名称规格 数量 备注 8032 1片 八位单片机 ADC0809 1片 八位模数转换芯片 74LS164 1片 74LS02 2片 四2输入或非门 8279 1片 可编程键盘/显示接口 LCD 1片 液晶显示器 湿度传感器CHR01 1片 4.2.2 8032的功能简介 8031单片机采用40脚双列直插式封装结构,引脚配置如图4.3所示。 图4.3 80C32引脚图 4.2.3 ADC0809的功能简介 图4.4 AD0809芯片图 ADC0809是采样频率为8位的、以逐次逼近原理进行模—数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8个单断模拟输入信号中的一个进行A/D转换。 1.重要特性   1)8路8位A/D转换器,即分辨率8位。   2)具有转换起停控制端。   3)转换时间为100μs   4)单个+5V电源供电   5)模拟输入电压范围0~+5V,不需零点和满刻度校准。   6)工作温度范围为-40~+85摄氏度   7)低功耗,约15mW。 2.内部结构    ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图13.22所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近 3.外部特性(引脚功能)   ADC0809芯片有28条引脚,采用双列直插式封装,如图13.23所示。下面说明各引脚功能。   IN0~IN7:8路模拟量输入端。   2-1~2-8:8位数字量输出端。   ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路 ALE:地址锁存允许信号,输入,高电平有效。   START: A/D转换启动信号,输入,高电平有效。 EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才干打开输出三态门,输出数字量。 CLK:时钟脉冲输入端。规定期钟频率不高于640KHZ。   REF(+)、REF(-):基准电压。   Vcc:电源,单一+5V。 GND:地。   ADC0809的工作过程是:一方面输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完毕,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。 4.2.4 8279的功能简介 8279可按其功能分为:键盘功能块;显示功能块;控制功能块;与CPU接口功能块控制功能块涉及 控制和定期寄存器,定期和控制,扫描计数器三部分,它重要用来控制键盘和显示功能块工作. 控制和定期寄存器:用于存贮来自CPU的编程命令,CPU对8279编程以拟定键盘与显示器工作方式和其它工作条件时,先把命令控制数据放到数据总线上,然后使A0=1,WR=0CS=0,并在WR上升沿把命令键存在控制和定期寄存器中,并经译码,建立适当的功能. 定期和控制:它含基本的定期计数器,第一个计数器是一个分频系数为2-31的前置定期器,分频系数可由程序预置,使内部频率为100KHz,从而能给出5.1ms键盘扫描时间和10.3ms反跳时间,其它计数器将此基本频率分频后,提供适当的按键扫描.行扫描.键盘阵列扫描.以及显示器扫描次数.   扫描计数器:扫描计数器有两种工作方式,在编码工作方式时,计数器提供一种二进制计数,通过管脚SL0-SL3输出后经外部译码才干提供应键盘和显示器的扫描作用,在译码工作方式时,扫描计数器对最低二位进行译码,SL0-SL3输出4选1的译码信号,作为显示器和键盘的译码扫描.   键盘功能块涉及:返回缓冲器,键盘反跳及控制,8x8 FIFO传感器RAM,FIFO/传感器RAM状态. 4.2.5 LCD的功能简介 图4.5 LCD连线图 4.2.6 湿度传感器 高分子湿度传感器CHR01、02系列为新一代复合型电阻型湿度敏感部件,其复阻抗与空气相对湿度成指数关系,直流阻抗(普通数字万用表测量)几乎为无穷大,与传统意义上的电阻有空气中水分子参与膜感湿中的离子导电,由于水分子为极性分子,在直流电存在的情况下,会电离,分解,从而影响导电与元件的寿命,所以规定采用交流电路对传感器进行供电。 对湿度传感器而言,频率与阻抗之间存在一定的关系,对于测量30%--80%RH范围,频率的变化对传感器影响并不明显,在单片机软件编程的实际应用时,需要通过将传感器置于湿度发生装置中(例如恒温恒湿箱)进行实测,通过软件对最终的误差进行修正,此项修正基本上可以填补频率变化所产生的误差以及其他误差。 湿度传感器阻抗变化与温度的关系见规格书中的数据表,先检测温度,然后按查表法对进行湿度检测。假如湿度精度规定不是特别严格的情况,(从数据解决简易的法则来说),可以推算湿度传感器温度系数为-0.4%RH/℃,公式为: H(t)=H (25℃) - 0.4*(t – 25) 例如,以实测阻抗按25℃的数据表读数,例如在35℃时读到的阻抗为30K,按25℃表格,相对湿度为60%RH,此时按公式计算的实际湿度应为56%RH。 最后的问题是在生产过程中,由于湿度传感器的因素或其他因素,总会碰到实际值与测量值之间存在误差的情况,在单片机功能允许的情况下,建议通过软件做最后的修正,重要采用跳线(JUMP)的方法对示值进行修正,安排一个IO,做加/减运算符号定义,其余2-4个IO,用于定义加/减的值,例如1,2,3,可以修正正负6%RH的示值偏差。 第五章 软件设计 5.1 系统模块 5.1.1模块 初始显示OUTPUT2 键盘扫描及键盘输入INPUT AD采集 ADSTART 进制转换 CONVER 输入数据比较 COMPARE 采样输出 OUTPUT 报警以及相应控制 CONTROL 延时 DELAY 5.2 模块介绍 5.2.1 初始静态显示 每个字的大小设立为16×16,因次可显示四行,每行显示8个字。第一行为“ 欢迎使用 ”;第二行为“请连续输入目的湿”;第三行为“度值和报警湿度值”;第四行不显示,为空白。 5.2.2 8279键盘输入 连续输入2组十进制数,第一组目的值,低于目的值则环境干燥,第二组为报警值,高于报警值则环境潮湿,在两数之间范围内适度正常。 5.2.3 AD数据采集 由于0809是采样频率为8位的、以逐次逼近原理进行模—数转换的器件,所采集的数为00至FF,要转换为10进制时需要采集结果通过数制转换。需要采集结果与0.4相乘,此时出现较小误差。在出现余数时在对余数成0.4,至小数点后一位截至。 子程序ADSTSR ADSTAR: ;AD转换 LCALL DELAY MOV A,#00H ; 0通道 MOV DPTR,#9000H MOVX @DPTR,A LCALL DELAY MOVX A,@DPTR LCALL DELAY MOV B,#02H DIV AB MOV 70H,A MOV A,#01H ;1通道 MOV DPTR,#9000H MOVX @DPTR,A LCALL DELAY MOVX A,@DPTR LCALL DELAY MOV B,#02H DIV AB MOV 71H,A MOV B,70H ADD A,B MOV 72H,A ;取两者平均值 MOV B,#5 DIV AB MOV 79H,B MOV B,#2 MUL AB MOV 73H,A ;100(64H) MOV A,79H MOV B,#4 MUL AB MOV B,#10 DIV AB ADD A,73H;100+1 MOV 73H,A MOV 7AH,B MOV B,#100 DIV AB MOV 74H,A ;百位 MOV A,B MOV B,#10 DIV AB MOV 75H,A ;十位 MOV A,B MOV 76H,A ;个位 MOV A,7AH MOV 78H,A RET 5.2.4输入数据比较 COMPARE COMPARE: MOV B,53H 目的值储存区 MOV A,#100 CLR C SUBB A,B JNC COMP1 MOV A,#15H MOV 50H,A MOV A,#22H MOV 51H,A MOV 52H,A COMP1: MOV B,63H 报警值储存区 MOV A,#100 CLR C SUBB A,B JNC COMP2 MOV A,#15H MOV 60H,A MOV A,#22H MOV 61H,A MOV 62H,A COMP2: MOV B,73H 当前值储存区 MOV A,#100 CLR C SUBB A,B JNC COMP3 MOV A,#01H MOV 74H,A MOV A,#0H MOV 75H,A MOV 76H,A MOV 78H,A COMP3: MOV B,53H MOV A,63H CLR C SUBB A,B JNC COMP4 MOV A,#15H MOV 50H,A MOV A,#22H MOV 51H,A MOV 52H,A COMP4: RET 此子程序是用来检测输入格式是否对的,比如目的值不能超过报警值,而这都不能超过100,假如出现这几种情况,犯错的地方会有error显示在LCD上。 5.2.5采样输出 OUTPUT 此输出就是把当前值实时显示出来,由于程序是进入的一个循环,AD不断的采样,这样数据实时更新。需要修改参数时只需至P3.2一个脉冲,程序跳转到8279初始化那,往下运营。 5.2.6报警以及相应控制 CONTROL (1)若当前值低与目的值(下限),则属于干燥状态,亮绿(黄)灯灯;此时,应启动加湿器。 (2)若当前值高于目的值(下限)同时低于报警值,则属于正常状态,亮黄(绿)灯; (3)若当前值高于报警值,则属于高湿度危险状态,两红灯,同时喇叭报警,并启动干燥器。 第六章 系统调试及使用说明 6.1 系统调试 通过三周的不断调试更改再调试,最终得到了完整的成功的一个湿度测量控制系统。在次过程中碰到了各种各样的问题,也采用了不同的解决方法。 例如:根据规定的在线键盘输入,我们一开始将INPUT作为子程序放入循环中,结果出现每次循环都得进行一次键盘输入才可以继续下面的AD采样以及其他的显示报警子程序,显然这样不符合规定和不符合现实。通过讨论调试,修改为键盘输入放在主程序中,在开始初始化显示好进行一次键盘输入,然后通过P3.2的开关脉冲量的判断,若P3.2有一个脉冲输入,则跳到主程序最开始重新进行键盘输入,否则只进行AD采样转换显示和报警解决。 我们最终完毕后出现一个问题,当AD0809采集通道什么都不接时,指示灯会红黄绿等一直不断地闪烁,开始我认为是自己开始并未给存储地址初始化,当我们给那个地址(43H)分别赋值为00H,0FFH时还会出现这种情况,最后在与老师的讨论中了解到,由于手拿接线来回摇摆时,会产生感应电压,是采集的数不稳定。 6.2 使用说明 1) 运营程序进入系统监测状态后,LCD液晶显示“欢迎使用 请连续输入湿度目的值和报警值(按F2确认并退出)”。 2) 通过键盘进行参数设立,例如输入050、080后按F2功能键确认。 3) 进行AD采样、转换、比较、显示、报警解决。LCD画面显示:湿度检测系统,当前湿度值为XX.XX%,目的值为 50%,报警值为100%。XX.XX%为当前湿度相对值。并随湿度变化而改变。 4) 若XX.XX<50,则亮绿灯;50<XX.XX<100亮黄灯,XX.XX>100,亮红灯并喇叭报警。当当前值XX.XX改变时,以上解决状态跟随而变。 5) 需要参数重新设立,则给予开关P3.2一个脉冲(课程设计中以开关的一次1和一次0的给予),重新返回到1)步。 第七章 收获、体会 这次课程设计在周周内完毕一个系统的设计,时间还是比较富余的。在这段时间里,我解决很多在课堂上在老师那发现不了的问题,学习到了一个系统的成功不仅仅是需要会编程,更需要的是怎么样从一堆错误一堆问题中逐个排除,找到解决的办法。 这一点我体会是十分深刻。例如:前面提到的键盘输入导致每次循环都得进行一次参数设立的问题,通过每一个子程序的单独运营,发现都可以正常运营,但融合到一起就出现问题了。单步运营,也没发现问题,一个一个子程序的屏蔽,找到了键盘输入的问题。于是解决办法就如前说产生出来了。 此外,对于LCD显示,键盘输入和AD采样的模块组合,以及双通道采样保证精度也让我了解到,理论上的东西不通过实践自己是很难理解透的,“知道并不等于会用”这句话正是最佳的说明。 参考文献 [1] 王秋爽 曾昭龙.单片机开发基础与经典设计实例.北京:机械工业出版社,2023.1 [2] 林伸茂.8051单片机.北京:人民邮电出版社,2023.5 附录(附源程序) 源程序如下: ORG 0100H MAIN: ;主程序 OUTPUT2: ;初始静态显示 MOV DPTR,#8000H MOV A,#00H MOVX @DPTR,A ;写数据 MOV A,#00H MOVX @DPTR,A INC DPTR MOV A,#42H MOVX @DPTR,A ;写指令 LCALL DY ;设立图形显示起始地址 MOV DPTR,#8000H MOV A,#10H MOVX @DPTR,A MOV A,#00H MOVX @DPTR,A INC DPTR MOV A,#43H MOVX @DPTR,A LCALL DY MOV A,#0A7H ;设立图形显示范围 MOVX @DPTR,A LCALL DY MOV A,#80H MOVX @DPTR,A LCALL DY ;选择OR模式 MOV A,#9BH MOVX @DPTR,A LCALL DY ;文本关,图形开 MOV DPTR,#8000H MOV A,#00H MOVX @DPTR,A MOV A,#00H MOVX @DPTR,A MOV A,#24H INC DPTR MOVX @DPTR,A LCALL DY ;设立起始地址 MOV A,#0B0H MOVX @DPTR,A MOV R0,#00H ;开始数据自动写 QSS0: ;显示'欢迎使用' MOV A,R2 MOV DPTR,#CHI5 MOVC A,@A+DPTR MOV DPTR,#8000H MOVX @DPTR,A INC R2 DJNZ R0,QSS0 MOV R0,#00H MOV R2,#00H QSS1: ;显示'请连续输入设立值 MOV A,R2 MOV DPTR,#CHI6 MOVC A,@A+DPTR MOV DPTR,#8000H MOVX @DPTR,A INC R2 DJNZ R0,QSS1 MOV R0,#00H MOV R2,#00H QSS2: ;显示'度值和报警湿度值' MOV A,R2 MOV DPTR,#CHI7 MOVC A,@A+DPTR MOV DPTR,#8000H MOVX @DPTR,A INC R2 DJNZ R0,QSS2 MOV R0,#00H MOV R2,#00H QSS3: ;空白 MOV A,R2 MOV DPTR,#CHI8 MOVC A,@A+DPTR MOV DPTR,#8000H MOVX @DPTR,A INC R2 DJNZ R0,QSS3 ;取数据 MOV DPTR,#8001H MOV A,#0B2H MOVX @DPTR,A LCALL DY INPUT: HA7S: MOV SP,#53H ;初始化8279 MOV DPTR,#0B001H MOV A,#00H MOVX @DPTR,A MOV A,#32H MOVX @DPTR,A MOV A,#0DFH MOVX @DPTR,A HA7S1: MOVX A,@DPTR ;显示P JB ACC.7,HA7S1 MOV DPTR,#0B000H MOV A,#0C8H MOVX @DPTR,A INC DPTR MOV A,#80H MOVX @DPTR,A HA7S2: MOV 30H,#80H ;键扫程序 MOV 31H,#40H MOV R1,#50H HA7S3: MOV DPTR,#0B001H ;数字键连续输入六位及显示 MOVX A,@DPTR ANL A,#07H CJNE A,#00H,HA7S4 AJMP HA7S3 HA7S4: MOV DPTR,#0B000H MOVX A,@DPTR MOV B,A MOV R3,#00H MOV DPTR,#KEYTAB HA7S5: MOV A,#00H MOVC A,@A+DPTR CJNE A,B,HA7S6 AJMP HA7SA HA7S6: INC DPTR INC R3 MOV A,R3 JB ACC.4,HA7S3 AJMP HA7S5 HA7SA: MOV A,30H MOV DPTR,#0B001H MOVX @DPTR,A MOV A,R3 MOV @R1,A MOV R0,31H MOV @R0,A INC 31H MOV DPTR,#CDATA MOVC A,@A+DPTR MOV DPTR,#0B000H MOVX @DPTR,A INC 30H INC R1 CJNE R1,#53H,CON MOV R1,#60H CON: MOV A,30H CJNE A,#86H,HA7SB LJMP JIA HA7SB: AJMP HA7S3 JIA: MOV DPTR,#0B001H ;功能键扫描 MOVX A,@DPTR ANL A,#07H CJNE A,#00H,JIA3 AJMP JIA JIA3: MOV DPTR,#0B000H MOVX A,@DPTR MOV B,A HA7S7: MOV DPTR,#KEYTAB1 HA7S8: MOV A,#00H MOVC A,@A+DPTR CJNE A,B,HA7S9 AJMP K HA7S9: INC DPTR AJMP HA7S8 K: LJMP LOOP0 KEYTAB: DB 0C1H,0C8H,0C9H,0D0H,0D8H,0E0H,0C2H,0CAH,0D1H,0D9H DB 0DAH,0C3H,0CBH,0D2H,0D3H,0DBH KEYTAB1:DB 0E3H,0E2H,0E1H CDATA:DB 0CH,9FH,4AH,0BH,99H,29H,28H,8FH,08H,09H,88H,38H DB 6CH,1AH,68H,0E8H LOOP0: MOV 40H,#80H ;清显示程序 Q1: MOV A,40H MOV DPTR,#0B001H MOVX @DPTR,A MOV A,#0FFH MOV DPTR,#0B000H MOVX @DPTR,A INC 40H MOV A,40H CJNE A,#86H,Q1 AJMP MAIN1 Q2: JB P3.2,Q3 AJMP MAIN1 Q3: LJMP INPUT MAIN1: LCALL ADSTAR ;启动AD转换 LCALL CONVER ; 十进制转换 LCALL COMPARE ; 采样值与设立值做比较 LCALL OUTPUT ; 采样值输出 LCALL DELAY ; 延时 LCALL DELAY LCALL DELAY LCALL DELAY LCALL DELAY CONTROL:MOV A,73H ;根据比较结果作出判断 MOV B,63H CLR C SUBB A,B LABA: SETB P1.0 JC OKGET BAOJING: ;红灯亮(高于报警值,处在危险状态) SETB P1.1 CLR P1.2 CLR P1.3 SETB P1.4 LCALL DELAY CLR P1.4 LCALL DELAY LCALL DELAY DJNZ 20H,LABA AJMP MAN1 OKGET: MOV A,73H MOV B,53H CLR C SUBB A,B JC LOWER HIGHER: CLR P1.1 SETB P1.2 CLR P1.3 ;黄灯亮(高于目的值低于报警值) AJMP MAN1 LOWER: CLR P1.1 CLR P1.2 ;绿灯亮(低于目的值) SETB P1.3 MAN1: MOV A,43H MOV B,63H CLR C SUBB A,B SETB P1.0 JC OK BAOJIN: ;红灯亮(高于报警值,处在危险状态) SETB P1.5 CLR P1.6 CLR P1.7 AJMP MAN2 OK:
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服