氨冷却器出口温度控制系统的设计.doc

上传人:来看看 文档编号:3317286 上传时间:2019-08-11 格式:DOC 页数:28 大小:649.68KB
返回 下载 相关 举报
氨冷却器出口温度控制系统的设计.doc_第1页
第1页 / 共28页
氨冷却器出口温度控制系统的设计.doc_第2页
第2页 / 共28页
氨冷却器出口温度控制系统的设计.doc_第3页
第3页 / 共28页
氨冷却器出口温度控制系统的设计.doc_第4页
第4页 / 共28页
氨冷却器出口温度控制系统的设计.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《氨冷却器出口温度控制系统的设计.doc》由会员分享,可在线阅读,更多相关《氨冷却器出口温度控制系统的设计.doc(28页珍藏版)》请在三一文库上搜索。

1、 本科生课程设计(论文) 辽 宁 工 业 大 学 智能仪器原理与设计 课程设计(论文) 题目: 微型衡压供水控制器 院(系): 专业班级: 学 号: 学生姓名: 指导教师: 起止时间: 课程设计(论文)任务及评语院(系): 教研室:学 号学生姓名专业班级设计题目微型衡压供水控制器课程设计(论文)任务设计任务设计一款微型衡压供水控制器,可应根据用户需求设定管道压力,当管道压力低于设定值时,增加管道上的压力泵数量,当压力高于设定值时,减少管道上压力泵的数量,同时系统可以显示当前时间。设计内容及要求1、检测管道上的压力,选择相应传感器,设计相应电路;2、预设管道上有4个的压力泵;3、系统能够提供当前

2、时间;4、设计4个按键,用于设置相应参数;5、采用1602液晶显示器分别显示压力设定值、当前管道压力和系统时间。6、对测试的数据进行分析;7、完成任务书的编写(包括:摘要、绪论、方案论证、硬件电路设计、软件设计、参数分析、总结、参考文献等几部分),字数应在4000字以上;8、尽可能降低设计中的硬件成本。参数指标1、压力检测范围:0.1MPa0.5MPa,检测精度0.01MPa;2、压力泵选用220V/3KW。工作计划1、布置任务,查阅资料,理解掌握系统的设计要求。(2天)2、确定系统的设计方案,选择控制核心和外围器件。(1天)3、确定硬件电路。(1天)4、按系统的要求,设计系统软件流程,并编写

3、程序。(3天)5、上机调试、修改程序、答辩。(2天)6、撰写、打印设计说明书(1天)指导教师评语及成绩平时: 论文质量: 答辩: 指导教师签字: 总成绩: 年 月 日注:成绩:平时20%、论文质量60%、答辩20%,以百分制计算 摘要恒压供水是指在供水管网中用水量发生变化时,出口压力保持不变的供水方式,供水压力值是根据用户需求确定的。 针对本系统水泵多、水泵工作方式多, 要求供水压力稳定等特点,本文利用单片机、压力传感、A/D转换器、D/A转换器、变频器等器件的有机组合,设计了一种新型恒压变频供水自动控制系统。该系统是以AT89C51单片机为核心,通过单片机在LCD1602上显示当前时间、管道

4、当前压力值、压力设定值,同时也通过单片机控制电机转速和水泵的启动个数来改变管道压力,使供水系统自动稳于设定的压力值。关键字:恒压供水、压力设定值、单片机、LCD1602 目录第1章 绪论1第2章 方案论证22.1 方案比较与论证22.2 系统整体方案的确立4第3章 硬件设计53.1 单片机AT89C51模块53.2 水管压力测量模块63.3 按键接口模块63.4 A/D转换模块73.5 D/A转换模块83.6 显示模块93.7 稳压电源模块9第4章 软件设计10第5章 误差分析11第6章 课程设计总结12附录14附录15附录23 第1章 绪论水已经成为中国21世纪的热点问题,水有其自然属性,它

5、既是一种特殊的、不可替换的资源,又是一种可重复使用、可再生的资源;水又有其经济和社会属性,不仅工业、农业的发展要靠水,水更是城市发展、人民生活的生命线。近年来,随着居民区的不断扩建与改造,楼房层数的不断加高,我国居民用水难问题越来越突出,特别是高层建筑居民,原有的自来水管网的压力出现不足,大部分地区普遍存在着用水高峰期高层供不上水,高层居民经常出现用水难问题,给生活带来极大不便。这种用水难问题在大城市表现尤为突出。随着高层建筑层数的不断加高,高层居民经常出现用水难问题。针对上述问题,本文研制了变频调速恒压供水系统,该系统是以管网水压为设定参数,通过控制变频器的输出频率从而自动调节水泵电机的转速

6、,实现管网水压的闭环调节(PID),使供水系统自动恒稳于设定的压力值。即用水量增加时,频率升高,水泵转速加快,供水量相应增大,当用水量超过一台泵的供水量时,通过控制器加泵;用水量减少时,频率降低,水泵转速减慢,供水量相应减小。也就是根据用水量的大小,由供水控制器控制水泵数量以及变频器对水泵的调速,来实现恒压供水。同时达到供水效率的目的“用多少水,供多少水”。采用该供水系统不需建造高位水箱,水塔,水质无二次污染,是一种理想的现代化建筑供水方案。此外,恒压供水系统对于某些上业或特殊用户是非常重要的。例如在某些生产过程中,若自来水供水因故压力不足或短时断水,可能影响产品质量,严重时使产品报废和设备损

7、坏。又如发生火灾时,若供水压力不足或无水供应,不能迅速灭火,可能引起重大经济损失和人员伤亡。所以,某些用水区采用恒压供水系统,具有较大的经济和社会意义。 第2章 方案论证2.1 方案比较与论证方案一整个系统是以80C196为核心构成控制器,将设定值与压力反馈值进行PID运算。系统通过压力传感器将电器部分与泵组联系起来,构成闭环系统。运算结果以0-10v的电压信号输给变频器,实现恒压供水,其原理框图如图2.1所示。 图2.1 方案一原理框图 方案二整个系统的具体工作流程为:系统通过安装在出水总管上的压力传感器,将供水管网的非电量信号(动态压力)转变成电信号,输入至供水控制器的输入模块,信号经单片

8、机运算处理后与设定的信号进行比较运算,得出偏差值,再经过PID处理得出最佳的运行工况参数,并将其转换成模拟信号,由系统的输出部分输出变频器的频率设定值至变频调速器,变频调速器控制水泵的转数来调节管网内的实际压力值趋向于设定压力值,从而实现闭环控制的恒压供水。对于多台泵调速的方式,控制器控制泵站投运水泵的台数及变量泵的运行工况,并实现对每台水泵根据CPU指令实施软启动、软切换及变频运行。系统通过计算判定目前是否己达到设定压力,决定是否增加或减少水泵。即:当一台水泵工作频率达到最高频率时,若管网水压仍达不到预设水压,则将启动下一台水泵,直至满足设定压力要求为止。反之,若管网水压大于预设水压,控制器

9、控制变频器频率降低,使变频泵转速降低,当频率低于下限时自动切掉一台水泵,始终使管网水压保待恒定。总之,系统可根据用户用水量的变化,自动确定泵组的水泵的循坏运行,以提高系统的稳定性及供水的质量。系统系统由变频器、控制器、传感器、四个水泵电机及相关电气控制设备集成而成。 泵 变频器 显示器D/A转换压力传感器A/D转换 AT89C51 按键 图2.2 系统原理框图 方案三由专用变频器与PLC组成的恒压供水系统,其原理框图如2.3所示,这类变频器的功能虽然强一些,但是价格比通用变频器却要高很多。此种类型供水设备的花费不光体现在变频器上,还体现在PLC上,市场上PLC的价格也要高于单片机的价格。使其工

10、作时需要专业人员通过变频器的控制面板,在变频器的PID选项中选择合适的PID参数,再经过现场调试校正,设备才可以正常运行。整个操作过程都必须有专业人员的界入。因此,通用性不好,这是这种变频恒压供水方案的另外一个缺点。综上所述,其有下面两个缺点。1价格比较昂贵,不适合小型用户的使用。2调试不方便,需要专业人事到现场进行调试,这也增加了人力的投入资本。 图2.3 方案三原理框图2.2 系统整体方案的确立 根据以上三个方案的比较论证,本文将采用方案二,其原理框图如图2.2所示。方案二采用压力传感器反馈电压信号(0-5V)至变频器中央处理器(MCU),经PID控制组成闭环控制系统。其输出频率的大小由作

11、用MCU处理器控制,使电机的转速自动增加或降低;当变频主电机由变频器拖动运行至最大频率,压力如还不能达到设定的压力值,则MCU自动启动定频副电机,以期保持供水压力恒定。这样不但减小了电动机的无功功率,而且提高了水泵的工作效率,节约了能源。采用变频控制方式;其操作方便,无须手动调节进水阀门;启动噪音低,由于启动电流很小,减小了对电网的冲击,保护了用电设备。而且其系统实现起来比较简单,并且系统价格相对来说也比较便宜,所以本次设计将采用方案二。 针对该系统要求测量管道压力,所以需要压力传感器,压力传感器作为检测压力元件,安装在管网中,用来检测管网压力的高低。由于本文要求压力检测范围为0.1MPa0.

12、5MPa,检测精度0.01MPa,所以本系统选用量程为00.8MPa,输出420mA标准电流信号的如图2.4所示的CYYB-120系列压力变送器。 图2.4 CYYB-120压力传感器 第3章 硬件设计本系统主要分为7个单元模块,它们分别是:单片机AT89C51、水管压力测量模块、按键接口模块、A/D转换模块、D/A转换模块、显示模块、稳压电源模块。3.1 单片机AT89C51模块AT89C51是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含4Kbytes的可反复察写的只读程序存储器和128bytes的随机存取数据存储(RAM),器件采用ATMEL公司的高密度、非易失性存储

13、器技术生产,兼容MCS-51的指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。AT89C51引脚图如图3.1所示: 图3.1 AT89C51引脚图单片机中的时钟电路时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在惟一的时钟信号控制下严格地按时序进行工作 。该时钟电路由两个电容和一个晶体振荡器组成。X1是接外部晶体管的一个引脚。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。输出端为引脚X2,在芯片的外部通过这两个引脚接晶体振荡器和微调电容,形成反馈电路,构成一个稳定的自激振荡

14、器。单片机工作的速度是由时钟电路提供的。在单片机的XTAL1和XTAL2两个引脚间,接一只晶振及两只电容就构成了单片机的时钟电路。电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数。电路中电容C1和C2对振荡频率有微调作用,通常的取值范围3010pF;石英晶体选择6MHz或12MHz都可以。其结果只是机器周期时间不同,影响记数器的记数初值和运算速度。3.2 水管压力测量模块 图3.2 水管压力测量电路要测量出水管的电压就需要压力传感器。本次设计采用压电传感器来测量水管压力。压阻式传感器是利用晶体的压阻效应制成的传感器。当它受到压力作用时,应变元件的电阻发生变化,从而使输出电压

15、发生变化。一般压阻式传感器是在硅膜片上做成四个等值的电阻的应变元件,构成惠斯特电桥。当受到压力作用时,一对桥臂的电阻变大,而另一对桥臂电阻变小,电桥失去平衡,输出一个与压力成正比的电压。由于硅压阻式压力传感器的灵敏系数比金属应变的灵敏系数大50-100倍,故硅压阻式压力传感器的满量程输出可达几十毫伏至二百多毫伏,有时不需要放大就可直接测量。另外压阻式传感器还有易于微型化,测量范围宽,频率响应好(可测几千赫兹的脉动压力)和精度高等特点。但在使用过程中,要注意硅压阻式压力传感器对温度很敏感,在具体的应用电路中要采用温度补偿。目前大多数硅压阻式传感器已将温度补充电路做在传感器中,从而使得这类传感器的

16、温度系数小于0.3%的量程。如图3.2所示。3.3 按键接口模块 本系统采用独立式按键,独立式按键的各按键相互独立,每个按键都有一个输入线,各按键的状态互不影响,CPU需对按键状态分别检测,只适用于按键数量较少的场合。在此电路中,按键输入部分采用低电平有效,上拉电阻保证了按键断开时,I/0口线有确定的电平。如图3.3所示,电路由4个按键和4个电阻组成,按键分别命名为【启停键】、【设置键】、【增一键】和【减一键】,共四个键,电阻可以采用9脚排阻(810K)。【启停键】功能:启动/停止,执行开始自动运行和停止功能;【设置键】功能:设置,与【加一键】和【减一键】键配合对压力进行调整,开始设置。【增一

17、键】键功能:+1,与【设置键】键配合对压力进行调整,【加一键】键每按下一次则进行数据进行+1操作。【减一键】键功能:-1,与【设置键】键配合对压力进行调整,【减一键】键每按下一次则进行数据进行-1操作。 图3.3 按键接口电路3.4 A/D转换模块计算机、数字通讯等数字系统是处理数字信号的电路系统。然而,在实际应用中,遇到的大都是连续变化的模拟量,因此,需要一种接口电路将模拟信号转换为数字信号接入单片机,以便单片机进行PID处理。A/D转换器正是基于这种要求应运而生的。由于压力传感器传过来的信号为模拟信号,在接入前要加A/D转换电路将模拟信号转换为数字信号,本次设计采用常用的A/D转换芯片AD

18、C0809. 如图3.4所示。 图3.4 A/D转换电路3.5 D/A转换模块 D/A转换电路用我们比较熟悉的DAC0832来作,DAC0832采用了二次缓冲输入数据方(输入寄存器及DAC寄存器)。它和单片机的输出端口连接,将单片机输出的数字信号转换成模拟信号,只有模拟信号才能进去变频器改变电动机的转速,其原理图如图3.5所示。 图3.5 D/A转换电路3.6 显示模块 1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。通过单片机显示压力当前值,压力设定值,当前时间。引脚1VSS接电源地,引脚2VDD接电源(+5V),引脚3VEE为对比调整电压,

19、引脚4-14接单片机P2.0-P2.7、P0.5、P0.6、P0.7端口,其引脚图如图3.6所示。 图3.6 显示模块电路 3.7 稳压电源模块 图3.7 稳压电源电路大部分的电子电路与电子设备都需要有一个稳定的直流电源提供能量,而且对于我们通常所接触的控制器而言,一般都是利用电网提供的交流电源,经过整流、滤波、稳压后,滤去其不稳定的脉动、干扰成分,提供一个稳定的直流电压,来使电子电路与电子设备保持正常的工作。并且,我们目前绝大部分电子电路与电子设备都是使用线性电源,即通过降压、整流、滤波、稳压后提供稳定的直流电压给电子电路及芯片工作的,电路图如图3.7所示。 第4章 软件设计 系统在进入初始

20、化后,通过按键接口电路设置系统的压力设定值,利用压力传感器测量管道压力值并送入单片机,接着通过显示器显示当前的压力值。送入单片机的信号经单片机运算后与设定的压力值进行比较,得出偏差值,再经PID调节得出控制参数,送入变频器中,以控制其输出频率的大小,以此改变水泵的电机转速,当转速加到最大仍不能达到设定值,则下一台压力泵启动,直至达到压力设定值。当压力高于设定值时,减少压力泵的数量,使系统最终达到恒压,系统的流程成图如图4.1所示。 延时键盘输入 显示 开始 A/D压力采集 可变参数设置 固定参数设置系统初始化PID控制 变频器、继电器判断及输出控制信号输出 图4.1 系统流程图 第5章 误差分

21、析在本文中,主要有压力传感器模块、A/D转换模块易产生误差。1.对于压力传感器,它的误差来源主要在以下几个方面: (1)零点温度偏移:它是由温度变化引起的压力传感器零点变化,零点偏移不是可的误差,因为每一个器件可以向上或向下偏移,温度变化将引起整个输出曲线沿电压轴向上或向下偏移。 (2)线性误差;它是在期望压力范围传感器输出曲线与一标定直线的偏差,计算线性误差的一个方法是最小二乘方,它从数学上提供对数据点的最佳配合直线。2.对于A/D转换器,它的误差来源主要在以下几个方面: (1)单片机的电源电压VDD:在该A/D转换中,VDD电压是造成A/D转换误差的主要原因,如果使VDD电压精度做到较高,

22、则A/D转换误差可以做到很小,在VDD电压精度为0.5%情况下,实际的A/D转换误差小于1%。对于VDD造成的误差,只能通过提高VDD电压精度来解决,它相当于A/D转换的基准电压 (2)软件产生的PWM占空比:若用于产生PWM的软件设计不良,会使存放占空比的寄存器值与实际输出的PWM占空比不一致,这会导致测量误差。对于软件中PWM设计不良导致的误差,可修改软件进行解决,本文提供了用软件产生PWM的程序流程图,实际使用中可按此流程设计程序。 (3)RC滤波电路的纹波:在R1、C1取值不当的情况下,U1处的电压纹波较大,并且延时时间不够,会使A/D转换产生误差,因此R1、C1取值不能太小。 第6章

23、 课程设计总结 通过这次的设计,我基本上掌握了一般的设计步骤:首先明确设计任务,以及工业生产和社会生活所要求控制达到的具体的技术指标;然后通过讨论思考及必要的简单实验和实际查阅完成对总体工业生产实际系统的了解;进而要对整个设计系统经过深入的方案论证及联系实际的生产工况、生产条件、企业经济等一系列条件,确立自己的设计方案;最后就是对自己确立的方案进行硬件实现,包括所用元器件选型,以及控制部分整个单片机系统的硬件选型与设计。本文用单片机汇编语言结合硬件电路,设计出以AT89C51为核心的恒压供水控制器,并将数值PID算法应用到恒压供水控制器中,通过控制变频器的输出频率从而自动调节水泵电机的转速和电

24、机的启动个数,使供水系统自动稳定于设定的压力值,让用户在使用时更加方便快捷。采用单片机控制的变频供水系统具有工作可靠、实现容易、价格低廉等特点,是较理想的控制器。当然由于自己能力所限和时间的紧迫,这个设计还有很多缺陷,无法应用于实际,在电路设计方面也有考虑不足,由于没能做出实物,还无法对电路进行调试。只有在以后的工作中去完善。 参考文献1 梅丽凤,王艳秋,汪毓铎,张军单片机原理及接口技术M北京:北京交通大学 出版社,2004.92 王晓明.电动机的单片机控制M.北京:北京航空航天大学出版社,2002.63 王晓君,安国臣MCS-51及兼容单片机原理与选型M北京:电子工业出版社,2003.54

25、卢京潮自动控制原理M.西安:西北工业大学出版社,2004.25 吴忠智,吴加林变频器应用手册M.北京:机械工业出版社,1995.126 何立民MCS-51系列单片机应用系统设计系统配置及接口技术M北京:北京航空 航天大学出版社,1996.97 陈伯时电力拖动自动控制系统运动控制系统M北京:机械工业出版社,2003 78 杨宁单片机与控制技术M北京:北京航空航天大学出版社,2005.29 杨振江流行单片机实用子程序及应用实例M西安:西安电子科技大学出版社, 2002.410 胡汉才单片机原理及其接口技术M.北京:清华大学出版社,2004.3 附录 附录1)myheadfiles.h#includ

26、e AT89x51.h#define ulong unsigned long#define uint unsigned int#define uchar unsigned char#define OFF 0x00#define ON 0xff#define Hi 0xff#define Lo 0x00#define Free 0xff /空闲,#define AutoRun 0x40 /自动运行状态标志#define SetWp 0x49 /设置水管水压值状态标志#define KeyCodeUP 0xff#define KeyCodeDW 0xa0#define KeyCodeFree 0x

27、f3#define KeyCodeRun 0x02#define KeyCodeNONE 0x02sbit KeyUP =P04; /各按键sbit KeyDW =P05;sbit KeySet =P06;sbit KeyRunStop=P07;sbit EnDACout =P33; /低有效,为低表示DAC0832可以接收数据sbit EnADCin =P32; /高有效,为高表示ADC0809可以输出数据sbit StartADC=P35; /负脉冲启动sbit ADCcomp=P34; /高有效,为低表示转换没完成sbit Motor1EN=P36; sbit Motor2EN=P37;

28、sbit WorkLED=P04;/static char LEDCodeTable=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90; /共阳极LED字型码static char LEDCodeTable=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /共阴极LED字型码static char LEDSelTable=0xf8,0xf1,0xf2,0xf4;/0x08,0x01,0x02,0x04; /LED高低位选择 0x0E,0x0C,0x0A,0x07void Init_Devic

29、e(void);/void LEDisplay();void BCDtoLED(void);void IntDataToLED(uint dat);uint SampleADC (void);void OutDAC(uint dat);void delay(uint time);void KeyPro(void); /按键处理void PIDpro(void);2),main.c#include MyHeadFiles.huchar KeyCodeNew=KeyCodeNONE; /按键输入值uchar KeyCodeOld=KeyCodeNONE; /按键输入值/bit NewKeyIn=0

30、; /新按键值输入标志uchar LEDValue4=6,1,2,3; /放置各个LED原值码uchar LEDCode4; /放置各个LED字型uint Time10MS=0; /用于定时uchar WorkState=Free; /系统的运行状态标志uchar tempChar; /全局临时变量uint tempINT;uchar LEDCNp=0; /记录LED点亮位置int WaterPctr=150; /控制输出int WaterPnow=60; /当前水管内的水压int WaterPset=150; /记录人为设置的水管目标压强/假定05V 对应水压0255void main (v

31、oid)Init_Device(); IntDataToLED(WaterPset);/BCDtoLED();while(1)/if(Time10MS % 50300)=0)if(Time10MS % 15)=0) /调节按键扫瞄处理程序KeyPro(); /Time10MS =20;/WorkLED=WorkLED;switch(WorkState)case AutoRun:Motor1EN=ON; if(Time10MS % 10)=0) /调节采样频率WaterPnow=SampleADC();IntDataToLED(WaterPnow); BCDtoLED();PIDpro();br

32、eak;case SetWp: /设置水管水压值状态标志IntDataToLED(WaterPset); BCDtoLED();/WorkState=AutoRun; /设置完就进入自动运行break;case Free: Motor1EN=OFF; Motor2EN=OFF; LEDCode0=0x71; /FLEDCode1=0x70; /rLEDCode2=0x79; /ELEDCode3=0x79; /Ebreak;default: WorkState=Free; break; void PIDpro(void)if(WaterPnow (WaterPset/3)Motor2EN=OF

33、F; if(WaterPnow (WaterPset+2) /00功率输出WaterPctr=0; else /变功率输出-变频输出-变化控制电压WaterPctr=WaterPset -WaterPnow;OutDAC(WaterPctr);void Init_Device(void)TH0=0xd8; /晶振12.0MHz ,设置为10ms中断TL0=0xf0;TR0=1;IE0 =1;P0=0; /驱动口预先置0/P1=0xff; P3=0xff; /按键口预先置1EnADCin=OFF;StartADC=Lo; IE=0x8A; /允许定时器0、1中断 ET0=1;void Time0

34、_ISR (void) interrupt 1TF0=0;/清除中断标志 TH0=0xd8; /晶振12.0MHz ,设置为10ms中断 TL0=0xf0;/ TH0=0xb1; /晶振12.0MHz ,设置为20ms中断/ TL0=0xe0;Time10MS+; /记录中断次数if(Time10MS % 8)=0) /以下驱动LED数据管 /tempChar=P0 & 0xf0;/tempChar=P0;/ tempChar&=0xf0;/tempChar|=LEDSelTableLEDCNp;/P0=tempChar; /选择要点亮的LED位 P0=LEDSelTableLEDCNp;P1

35、=LEDCodeLEDCNp+; /输出字型码if (LEDCNp 3) /实现轮流点亮LEDCNp=0; /uchar LEDValue4; /放置各个LED原值码/uchar LEDCode4; /放置各个LED字型码void BCDtoLED(void)uchar i;for(i=0;i=0;i-)LEDValuei=temp % 10;temp/=10;uint SampleADC (void)EnDACout=1; /禁止DAC接收数据 P2=0xff; /不可少,预设为高方便ADC输出/EnADCin=OFF;/StartADC=Lo; / delay(2);StartADC=Hi

36、; /清0 复位/ delay(2);StartADC=Lo; /启动 delay(20);while(!ADCcomp);/等待转换完成信号EnADCin=ON; /delay(2); tempINT=P2; /读出数据EnADCin=OFF;return tempINT;void OutDAC(uint dat)EnADCin=OFF;EnDACout=0; /允许DAC接收数据P2=dat;/EnDACout=1; /禁止DAC接收数据void KeyPro(void) /按键扫瞄处理 if(KeyRunStop)WorkState=Free;/停止/WorkLED=WorkLED;/测试之用return;elseif(!KeySet) WorkState=SetWp;elseWorkState=AutoRun; if(WorkState != SetWp)return; if(!KeyUP)while(!KeyUP);if(WaterPset 5) /水压下限WaterPset-=5; / WorkLED=WorkLED;void de

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/环境 > 装饰装潢


经营许可证编号:宁ICP备18001539号-1