1、新型太阳能驱动浴缸的智能系统设计李芃茹 尚海艳 奚凤娟 胡爱珍(曲阜师范大学,日照)中文摘要:“低碳世博会 ”的强劲春风吹遍了城市的每一个角落, 卫浴也在用其独特的方式美化着人们的生活。健康、低碳、简约时尚的卫浴,让家成为我们休闲放松的天堂,让城市生活的每一天都有温馨的感动。从马桶到蹲便器再到座便器,从分体到连体,从简单的卫生需求到健康环保,再到智能享受,再到个性和品位,都体现了使用性和审美性的完美结合。如今,生活节奏越来越快,工作和生活压力与日俱增,拥有一个自由放松的空间,尽情的洗涤身心的疲劳与尘埃,是每一个人的追求和渴望。正是基于这样的需求,我们设计了一款新型智能浴缸,让人在充分感受到水氧
2、滋润的同时,还把视觉、听觉的享受融入其中,尽情感受身体和精神上的双重释放。首先,从节约能源的角度,建立了由太阳能电池组件、太阳能控制器、蓄电池组组成的太阳能驱动系统。该系统具有运行安全、节能无消耗、绿色环保、安装 简便、成本低的优点。 该系统也是本文的创新之处。其次,从绿色环保的角度,设计了由喷嘴、水管、水泵构成的水循环回路。该系 统具有让水循环利用、杀菌消毒、绿色环保、节约水资源的特点,也是本文的又一创新之处。再次,从人文关怀的角度,设计了由单片机、温度传感器、按键与显示电路、加 热装置、 进 水控制等组成的水温调节及湿度控制系统。本系统充分体现了浴缸的使用性,充满了人性化和人文关怀。最后,
3、从时尚和品味的角度,设计了由音乐喷水按摩器组成的音乐喷水按摩系统。 该系统是使用性和审美性的结合产物,充满文化元素和个体风格,让浴室文化凸显出从未有过的个性和时尚。关键字:太阳能驱动系统,水循环系统,温室调节系统,音乐按摩系统Design of intelligent solar bathtub system Pengru Li, Haiyan Shang, Fengjuan Xi, Aizheng Hu(Qufu Normal University, Ri Zhao)Abstract: Just like the “Low Carbon Expo“ permeated the entire
4、city as a strong spring wind, the bathroom beautified peoples lives in a unique way. Healthy, low-carbon, simple but fashionable, the new bathroom made our home to be a paradise of relaxing, and fill the city life with warmth and moving everyday. From toilet to water-closet to close stool, from sepa
5、rated to unified, from the simple healthy needs to the protection of environment, then to the enjoyment of smart, and then the personality and taste, every part reflects the perfect combination of the aesthetic and the usage. With the tempo of life become stressful nowadays, it is a desire for every
6、one to have a peaceful place which can refresh their exhausted bodies, mentally and physically. Just based on the demand of which let the user fully enjoy the moist vapor, and meanwhile enjoy the leisure time on the sense of sight and the sense of hearing, fully relax their fatigue, we designed a ne
7、w type of intelligent bathtub.Firstly, we establish the solar drive system which consist the solar cell modules, solar controller and storage battery. This system has the advantages of non-consumption of energy, environmental protection, easy to installation and low cost. And this system is one of t
8、he innovations of this article.Secondly, from the perspective of environmental protection, we designed the recycle system consist by the nozzle, water pipes and the pump. This system has the advantages of water recycling, disinfection, environmental protection, it also can reduce the water consumpti
9、on, and this recycle system is another innovation of this article. Next, considering the humanity, we designed the temperature and moisture regulate system consist of the Single-chip Micro compute, temperature sensor, buttons and display circuit, heating devices, water control. This system fully ref
10、lects the practicability of bath, full of human nature and humanistic care.Finally, from the perspective of fashion and taste, we designed it by spraying water music massage device consisting of massage system. This system is the combination of reused and esthetic cultural element and product, full
11、of individual style, let a bathroom cultural highlight the personality and fashionableness we never had before. Key word: Solar Drive System, Water Cycle System, Greenhouse Regulating System, Music Massage System目 录一系统总体功能概述 12二太阳能驱动系统的设计 1三水循环系统的设计 2四水温调节及湿度控制系统设计 24.1 系统的硬件 设计 .24.1.1 处理器 .34.1.2
12、温度采集电路 .34.1.3 按键 与显示电路 .44.1.4 报警电路 .54.2 水 位检测 .64.3 输出驱动电路 64.4 系统的软件设计 .74.5 系统的仿真 .8五喷水按摩与音乐系统的设计 95.1 音乐控制电路的设计 105.2 振荡电路的设计 105.3 驱动电路的设计 115.4 软件的设计 11三参考文献: .12附录 1 13 附录 2 .17一系统总体功能概述第十二届“挑战杯”大学生科技学术竞赛作品1本系统所有的“功能用电”均由太阳能发电系统提供,太阳能通过太阳能电池组、太阳能控制器、蓄电池和逆变器转化为 220 伏交流电,再通过变压器转换为适合每个模块工作的电压强
13、度,驱动其他智能模块的运转。水循环系统由喷嘴、水管、水泵构成回路,在节约水资源的同时丝毫未降低使用者对舒适卫生的需求。将水温水位湿度传感器作为 51 单片机的输入,电磁驱动模块作为单片机的输出,用以驱动控制冷热水的电磁阀。用操作电路控制电源电路的启闭和浴缸内水温的设定,为使系统更加符合人性化设计,系统加入报警电路,当热敏电阻探测到水的温度在 30以下、60以上时,扬声器发出报警声音。使用者洗浴之前只需按照说明书操作开关或遥控器,便能准确将水温调节到指定范围。喷水按摩和音乐播放系统利用水流的冲击力来对整个身体进行按摩,使用单片机控制喷水系统,用程序来设定音乐与喷水同步进行并可根据需求按音乐节奏按
14、摩(若不设定连接系统,也可根据需要分开使用) ,令使用者最大限度的放松身心。二太阳能驱动系统的设计太阳能供电系统由太阳能电池组件、太阳能控制器、蓄电池组组成。输出电源为交流 220V,按实际需要还可以配置逆变器。各部分的作用为: (1)太阳能电池组件:太阳能电池组件是太阳能供电系统中的核心部分,也是太阳能供电系统中价值最高的部分。其作用是将太阳的辐射能量转换为电能,一部分送往蓄电池中存储起来,一部分推动负载工作。太阳能电池组件的质量和成本将直接决定整个系统的质量和成本。 (2)太阳能控制器:太阳能控制器的作用是控制整个系统的工作状态,并对蓄电池起到过充电保护、过放电保护的作用。在温差较大的地方
15、,控制器还具备温度补偿的功能。(3)蓄电池:为铅酸电池,其作用是在有光照时将太阳能电池组件所提供的电能储存起来,到需要的时候再释放出来 1。 太阳能供电系统的结构示意图如下图(图 1)所示。 2图 1三水循环系统的设计在缸体内设有多个水喷嘴,各喷嘴之间连接有水管,所有水管连接至一个水泵的出水口,水泵的进水口与缸体连通,构成浴缸水循环回路,其特点是缸体上连接有双联排水阀,双联排水阀具有两个同步动作的阀门,其中一个阀门的进水口与缸体连通,构成缸体的排水阀,另一个阀门的进水口与浴缸水循环回路连通,构成浴缸水循环回路的排水阀。此实用系统的优点是可通过双联排水阀将循环回路内的积水排出,有效避免了细菌的孳
16、生,而且也避免了因积存的冷水流入缸体内而造成使用者感到冰冷不适,令按摩浴缸更加卫生舒适 2。 四水温调节及湿度控制系统设计该系统是一个以 51 单片机为控制核心的水温控制系统,主要由九部分组成,通过人机交互设定控制温度,采用增量型 PID 算法,通过三极管驱动加热装置,最终实现水温的恒定。此外,该系统还具有显示当前温度和设定温度、自动报警、显示指示灯、自动控制进水、自动切断电源的功能。4.1 系统的硬件设计本电路总体设计主要包括以下几部分:、单片机、温度传感器、按键与显示电路、加热装置、进水控制、溢流控制、无水第十二届“挑战杯”大学生科技学术竞赛作品3检测、工作指示及报警电路。单片机是整个系统
17、的核心,主要负责控制温度的采集、显示和处理以及温度超出设定值时电机启动;温度传感器主要负责系统的信号采集、温度检测;按键与显示电路主要是为了满足人们所需要的温度而设计的人机交互系统;加热装置主要是当水温低于设置的温度时对水进行加热,以便达到所需温度;进水控制,无水检测和溢流控制系统主要是控制水温、水位的高低;工作指示,报警电路主要是负责发出高温信号及报警。系统框图如图 2 所示 3。温度传感器键盘输入水位检测电源AT89C51数码显示进水控制超温报警溢流控制工作指示加热装置图 2 温度控制系统框图4.1.1 处理器在本次设计中,用 AT89C51 的 P0 口作为 PID 算法控制信号输出口,
18、P2 口用作数码管显示按键,P3 口完成温度显示数据的传送。4.1.2 温度采集电路温度传感器是整个控制系统控制所需的重要部件,它的特性直接影响系统的精度。本次设计选用的数字式温度传感器 DS18B20 是由 DALLAS 半导体公司生产,具有更小的封装方式,更宽的电压适用范围,接口方便,传输距离远等特点;测量温度范围为-55C+125C,在-10+85C 范围内,精度为0.5C,可编程为912 位 A/D 转换精度, 12 位时测温分辨率可达 0.0625; 4其工作电源既可在远端引入,也可采用寄生电源方式产生;采集的温度数据直接以“一线总线”的数字方式传输至单片机,占用微处理器的端口较少,
19、可节省大量的引线和逻辑电路,可以显著地提高系统的抗干扰性,非常适合于恶劣环境的现场温度测量。 5由于 DS18B20 采用一根数据线实4现数据的双向传输,而单片机 AT89C51 并不支持单总线传输协议,因此,必须采用程序设计模拟单总线协议确保各位数据传输的正确性和完整性,完成对DS18B20 芯片的访问。每一次命令和数据的传输都是由主机启动写时序开始,如果需要 DS18B20 返回数据,在进行写命令后,主机需启动读时序完成数据的接收,其硬件连接图 3 所示。 6图 3 温度检测硬件连接4.1.3 按键与显示电路按键电路用来人工设定温度,而数码显示可以显示当前的温度值以及设定的温度值。当没有按
20、键按下时,10 秒后返回当前实际温度,防止加热器在加热过程中被破坏。同时,为了防止按键抖动,保证按键识别的准确性,本次设计采用单片机程序实现数字滤波技术,利用主程序循环扫描,每循环一次扫描到的键值相同时,则说明按键被按下。显示部分采用 4 个数码管来完成,当前温度和设定的温度值采用十位、个位以及小数点后一位组成,所显示的数据由单片机直接以 BCD 码并行输出至数码管,其硬件连接如图 4 所示。AT89C51第十二届“挑战杯”大学生科技学术竞赛作品5图 4 按键与显示电路的硬件连接4.1.4 报警电路此电路主要是由数模转换器与极性电容、无极性电容、电阻、发光二极管组成,电路图如图 5 所示。 7
21、 图 5 报警电路6只要热敏电阻探测到的温度在 30以下 60以上的时候,单片机的 P3.5 口就会输出高电平,单片机发出的数字信号经过数/模转换器转换后从 5 输出模拟信号使扬声器发出报警声音,如果 30以下就是长声报警,如果是 60以下就是短声报警。同时如果低于 30,P3.6 就会发出一路信号 DI 发光,如果温度高于 60时 P3.7 就会发出另一路信号使 D2 发光。 84.2 水位检测在本次设计中,无水检测和溢流控制装置分别在容器的底部和顶部安装金属传感片,当水位低至金属片位置以下时,电平发生跳变,产生数字脉冲信号传输至单片机,供单片机判断,切断电源;同理,当水位上升至金属片位置时
22、,电平发生跳变,接通单片机的控制,停止加热并切断进水口,其硬件连接电路如图 6所示。图 6 水位检测电路4.3 输出驱动电路由于需要采用单片机 AT89C51 控制大功率的负载工作,需要经过单片机的接口控制驱动。单片机输出的控制信号为占空比可变的脉冲信号控制继电器和可控硅的导通时间。本次设计采用了两个三极管来驱动继电器,一方面用于驱动加热装置,另一方面用于进冷水装置。其中加热装置选用小功率的电热棒,既可以达到加热的目的,有比较容易实现对温度的控制。而当水的温度过高时,驱动冷第十二届“挑战杯”大学生科技学术竞赛作品7水装置工作,打开分流阀,注入冷水,实现动态温度变化,实时监控温度。同时为了防止加
23、入的水量过多而超出浴缸的容量,增加了溢流控制装置,达到对容量中水量的控制,其中继电器选用超小型、低功耗、触电负载为 2A,120VAC 的JRC-21F 的继电器。4.4 系统的软件设计当完成系统的硬件设计后,为了调试方便,并且能够并行调试,采用了模块化设计方式。主程序调用了 6 个子程序,分别是 LCD 显示程序、按键扫描及处理程序、温度采集程序、温度越界判决程序、DS18B20 读写程序和有无水检测控制。LCD 显示程序,用于温度等数据的实时显示;按键扫描及处理程序,实现按键识别、按键输入及相关处理;温度采集程序负责把 DS18B20 所采集的现场温度读入到指定的数组中;温度越界判决程序,
24、对现场温度与设定的温度上下限进行比较,若温度越界,并且当温控开关处于开启状态时,启动加热器或进冷水工作;无水检测用于切断电源,保持现有温度 5。主控程序模块用于全局调用各个子模块,充当管理者角色。主要负责初始化各个 I/O 口、等待按键、并做出相应的处理。并且实时调用温度采集程序,将采集到的数据与按键设定值进行比较,再通过 PID 计算后控制继电器的通断,从而控制加热及进冷水装置,调节浴缸中水的温度。软件设计的流程图如图 7 所示。98液晶模块初始化按键设置温度?DS18B20 读写程序序温度采集程序温度判断?温度显示报警及进冷水水位检测报警及加热断开电源开始结束NY高 低高图 7 温度控制系
25、统的流程图4.5 系统的仿真用 Proteus 软件对该系统进行仿真,其仿真结果如图 8 所示。由仿真结果可以看出,该系统能够准确地测量并显示温度。第十二届“挑战杯”大学生科技学术竞赛作品9图 8 系统的仿真结果五喷水按摩与音乐系统的设计音乐喷水按摩器是利用水流的冲击力来对整个身体进行按摩,就像人躺在一个小小的喷泉上一样,而水流的力度是通过音乐的节奏控制的这样就能使使用者在放松的同时充分享受音乐的节奏美。音乐喷水按摩器利用单片机控制喷水系统,在播放一首新的乐曲之前,先要对该乐曲进行分析,得到以下几个音乐特征:乐曲的速度、当前事件与前一事件的时间差、当前发音的通道、当前发音的音名、当前发音的力度
26、和个通道的音色,把这些数据流列成两个表格:事件表和通道音色表,存储在文件中,作为基本控制信息,用于按摩的控制 10。这些音乐特征控制结合编制好的喷水基本程序库,形成喷水调节文件,输出控制各类型执行机构。单片机输出信号经放大后推动电子开关或继电器,控制整个喷水系统的力度 11。考虑到音乐与喷水要同步,先用控制冲浪震动的系统启动,过一设定的延迟时间后开始播放音乐,使音乐的播放与喷水同步。由于音乐播放与振动控制的系统相对独立,因此音乐播放流畅,音质能满足客户需要。系统配有 U 盘插入模块,通过该模块可以向系统输入音乐文件,这样使用者就可以欣赏自己所喜欢的音乐了。105.1 音乐控制电路的设计音乐播放
27、系统是由单片机控制,因此控制电路主要是由 AT89S52 作为控制芯片,电路如图 9 所示。 12图 9 5.2 振荡电路的设计要使单片机能够正常工作,那么就必须在 AT89S52 单片机的 18 和 19 脚之间接上一个振荡电路,因为振荡电路就是为单片机工作提供所需要的时钟脉冲信号,使单片机的内部电路及内部程序开始工作,在单片机最小系统当中我们只需在 18 和 19 脚之间接一个石英晶体,给单片机加上工作所需直流电源,振荡器就能开始工作,图 10 所示的电路中接入的是 12MHZ 的石英晶体,为了防止单片机自激在 18 和 19 脚上分别对地接了一个 20pF 的电容。其电路如图 10 所示
28、。 13图 10第十二届“挑战杯”大学生科技学术竞赛作品115.3 驱动电路的设计由于单片机输出的信号不能够直接驱动扬声器,因此还需要在单片机的最小系统中接一个外围电路,因为本次设计对声音的要求不高,所以不需要做一个功放电路去驱动,只需一个的简单驱动电路就可以实现。电路如图 11 所示。 14图 115.4 软件的设计软件的设计主要是对 AT89S52 单片机进行编程,音乐播放系统的程序主要是对音符频率的转换,采用定时中断,延时等实现其设计指标,程序框图如图 12所示, 15图 12程序开始将变量赋值延时Music!=0xFF ?计数循环NoYes12三参考文献:1太阳能电池板.百度文库2梁炳
29、钜.具有排积水功能的按摩浴缸P3何利民.单片机应用技术选编M.北京:北京航空航天大学出版社,2002:21-25.4李军.51 系列单片机高级实例开发指南M.北京:北京航空航天大学出版社, 2001:98-100.5金伟正.温湿度检测控制系统的研制J.西安:电子与自动化, 2000(2):120-125.6李朝青. 单片机原理及接口技术M.北京:北京航空航天大学出版社, 1998:65-70.7童诗白,华成英. 模拟电子技术M.北京:高等教育出版社,1996:54-59.8冯明发.基于单片机的淋浴水温控制系统的设计J.价值工程,2010,5:178-1799基于 AT89S52 的水温控制系统
30、的设计. D10周建:给予音乐特征识别的控制系统的研究J11张岩灿:喷泉的研发及其设计问题J12朱 永 金 ,成 友 才 .单 片 机 应 用 技 术 M.北 京 : 中 国 劳 动 社 会 保 障 出 版社 ,2007 年 .13陈 振 源 .电 子 技 术 基 础 M.北 京 : 高 等 教 育 出 版 社 ,2001 年 .14李朝青.单片机原理及接口技术(第 3 版)M.北京航空航天大学出版社, 2005 年. 15 范风强.单片机语言 C51 应用实战集锦M.北京: 电子工业出版社,2003 年.第十二届“挑战杯”大学生科技学术竞赛作品13附录 1 4.4 程序(部分)/温度控制系统
31、的核心程序PID 算法void PIDProcess(void)uint32 idata Temp3; /临时变量uint32 idata PostSum; /正数和uint32 idata NegSum; /负数和Temp0 = 0;Temp1 = 0;Temp2 = 0;PostSum = 0;NegSum = 0;if ( ADPool.Value_Uint16 UINADCH ADPool.Value_Uint16UFADCH) /给定大于反馈,则 EK 为正数Temp 0 = ADPool.Value_Uint16 UINADCH - ADPool.Value_Uint16UFADC
32、H; /计算 Ek0if( Temp0 PID.B_Uint8)/数值移位PID.Ek_Uint322 = PID.Ek_Uint321;PID.Ek_Uint321 = PID.Ek_Uint320;PID.Ek_Uint320 = Temp0;/符号移位PID.EkFlag_Uint82 = PID.EkFlag_Uint81;PID.EkFlag_Uint81 = PID.EkFlag_Uint80;PID.EkFlag_Uint80 = 0; /当前 EK 为正数Temp0 =(uint32)PID.KP_Uint8 * PID.Ek_Uint320; /KP*EK0Temp1 =(u
33、int32)PID.KI_Uint8 * PID.Ek_Uint32 1; /KI*EK1Temp2 =(uint32)PID.KD_Uint8 * PID.Ek_Uint322; /KD*EK2else /反馈大于给定Temp 0 = ADPool.Value_Uint16 UFADCH - ADPool.Value_Uint16UINADCH; /计算 Ek0if( Temp0 PID.B_Uint8)/数值移位PID.Ek_Uint322 = PID.Ek_Uint321;PID.Ek_Uint321 = PID.Ek_Uint320;14PID.Ek_Uint320 = Temp0;/
34、符号移位PID.EkFlag_Uint82 = PID.EkFlag_Uint81;PID.EkFlag_Uint81 = PID.EkFlag_Uint80;PID.EkFlag_Uint80 = 1; /当前 EK 为负数Temp0 =(uint32)PID.KP_Uint8 * PID.Ek_Uint320; / KP*EK0Temp1 =(uint32)PID.KI_Uint8 * PID.Ek_Uint321; / KI*EK1Temp2 =(uint32)PID.KD_Uint8 * PID.Ek_Uint322; / KD*EK2/湿度检测系统的程序ORG0000HLJMP ST
35、ARTORG0003HRETIORG000BHRETIORG0013HRETIORG001BHRETIORG0023HRETIORG002BHRETICLERMEMIO:CLRAMOVP2,AMOVR0,#7OHMOVR2,#0DHLOOPMEM:MOVR0,AINCR0DJNZR2,LOOPMEMMOV20H,#00HMOVA,#0FFHMOV P0,AMOV P1,AMOV P2,ARETSTART: LCALLCLEARMEMIO;/初始化LCALLTEST;/测量一次LCALLDISPLAY;/显示数据一次AJMPMAINNOP ;PC 值出错处理NOPNOPLJMPSTART/ 显示
36、程序 /采用动态扫描法实现四位共阳极数码管的数值显示,测量所得的转换数据放在/70H,77H 内存单元中,测量数据在显示时转换为湿度值十进制 BCD 码放在 78H7BH 内 /存单元中,其中 7BH 存放通道标志数。寄存器 R3 用作八路循环控制,R0 用作显示数据地 /址指针。DISPLAY:JB00H,DISP11;标志位为 1,则转单路显示控制程序第十二届“挑战杯”大学生科技学术竞赛作品15MOV R3,#08H;8 路信号循环显示控制子程序MOV R0,#70H;显示数据初值 70H77HMOV 7BH,#00H;显示通道数初始值DISLOOP1:LCALLYNCD;显示数据转为三位
37、 BCD 码存入 7AH,79H,78HMOV R2,#0FFH;每路显示时间控制在 4ms*255,约 1sDISLOOP2:LCALLDISP;调四位显示程序LCALLKEYWORK1;按键检测DJNZ R2,DISLOOP2INC R0;显示下一路INC 7BH;通道数据加 1DJNZ R3,DISLOOP1RETDISP11:MOVA,7BH;单路显示控制子程序SUBB A,#01HMOV 7BH,AADD A,#70HMOV R0,ADISLOOP11:LCALLTUNBCD;显示数据转为三位 BCD 码存入 7AH,79H,78HMOV R2,#0FFH;每路显示时间控制在 4ms
38、*25DISLOOP22:LCALLDISP;调四位显示程序LCALLKEYWORK2;按键检测DJNZ R2,DISLOOP22INC 7BH;通道显示数据加 1RET/二进制湿度值转化成 BCD 码湿度显示值的程序TUNBCD:MOV A,R0;255/51=5.00V 运算MOV B,#51DIV ABMOV 7AH,A;个位数放入 7AHMOV A,B;余数大于 19H, F0 为 1,乘法溢出,结果加 5CLR F0SUBB A,#1AHMOV F0,CMOV A,#10MUL ABMOV B,#51DIV ABJB F0,LOOP2ADD A,#5LOOP2:MOV79H,A;小数
39、后第 1 为放入 79HMOV A,BCLR F0SUBB A,#1AHMOV F0,CMOV A,#10MUL ABMOV B,#51DIV ABJBF0,LOOP3ADD A,#5LOOP3:MOV78H,A;小数后第 2 位放入 78HRETDISP:MOV R1,#78H;共阳极显示子程序,显示内容只 78H7BHMOV R5,#0FFH;数据在 P1 口输出16PLAY:MOV P1,#0FFHMOV A,R5ANL P3,AMOV A,R1MOV DPTR,#TABMOVC A,A+DPTRMOV P1,AJB P3.2,PLAY1;小数点处理CLR P1.7;小数点显示PLAY1
40、:LCALLDL1MSINC R1MOV A,P3JNB ACC.3,ENDOUTRLAMOV R5,AMOV P3,#0FFHAJMP PLAYENDOUT:MOVP3,#0FFHMOV P1,#0FFHRETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH/ 延时子程序的设计DL10MS:MOV R6,#0D0HDL1:MOV R7,#19HDL2:DJNZ R7,DL2DJNZ R6,DL1RETDL1MS:MOV R4,#0FFHLOOP11:DJNZ R4,LOOP11MOV R4,#0FFHLOOP22:DJNZ R4
41、,LOOP22RET/ 数模转换测量子程序的设计 TEST:CLRA;数模转换子程序MOV P2,A;转换值放入首值MOV R0,#70H ;转换 8 次控制MOV R7,#08H;启动测试LCALLTESTART;等 A/D 转化结束信号WAIT:JB P3.7,MOVDAJMPWAITTESTART:SETBP2.3;测试启动NOPNOPNOPCLR P2.3SETB P2.4NOPNOPCLR P2.4NOPNOPNOPNOPRETMOVD:SETBP2.5;取 A/D 转换数据第十二届“挑战杯”大学生科技学术竞赛作品17MOV A,P0MOV R0,ACLR P2.5INC R0MOV
42、 A,P2;通道地址加 1INC AMOV P2,ACJNE A,#08H,TESTEND;等八路 A/D 转换结束TESTEND:JCTESTCONCLRA;结束恢复窗口MOV A,0FFHMOV P0,AMOV P1,AMOV P3,ARETTESTCON:LCALLTESTARTLJMP WAIT/ 按键检测子程序KEYWORK1:JNB P3.5,KEY1KEYOUT:RETKEY1:LCALLDISPJBP3.5,KEYOUTWAIT11:JNB P3.5,WAIT12CPL00HMOV R2,#01HMOV R3,#01HRETEND附录 2 5.4 程序#include #def
43、ine uchar unsigned charbit flag;uchar k = 0x00;uchar high;uchar low; uchar code music = 0xFC,0x44,0x7F, 0xFC,0x44,0x7F, 0xFC,0x44,0xFF, 0xFA,0x68,0xFF, 0xFD,0x23,0x7F, 0xFD,0x23,0x7F, 0xFD,0x23,0xFF, 0xFC,0x44,0xFF, 0xFC,0x44,0x7F, 0xFD,0x23,0x7F, 0xFD,0x82,0xFF, 0xFD,0x82,0xFF, 0xFD,0x23,0x7F, 0xFD
44、,0x23,0x7F, 0xFC,0xAC,0xFF, 0xFF,0xFF,0xFF, 0xFC,0xAC,0x7F, 0xFD,0x23,0x7F, 0xFD,0x34,0xFF, 0xFD,0x34,0xFF, 0xFD,0x23,0x7F, 0xFC,0xAC,0x7F, 0xFD,0x23,0xFF, 0xFC,0x44,0xFF, 0xFC,0x44,0x7F, 0xFD,0x23,0x7F, 0xFC,0xAC,0xFF, 0xFA,0x68,0xFF, 0xFC,0x0C,0x7F, 0xFC,0xAC,0x7F, 0xFC,0x44,0xFF, 0xFF,0xFF,0xFF,
45、0x00;void INT(void); void delayms(unsigned int time); main()uchar time;18INT();TH0 = high;TL0 = low;while (1)if (musick != 0xFF P2_0 = 1;delayms(10); TR0 = 1;high = musick; low = musick + 1; time = musick + 2; delayms(time);k += 3;else if (musick = 0xFF) time = musick + 2;delayms(time);k += 3;else T
46、R0 = 0;P2_0 = 1;delayms(2000);k = 0;void Count1(void) interrupt 1TH0 = high;TL0 = low;if (flag = 0) P2_0 = 0;flag = 1;elseP2_0 = 1;第十二届“挑战杯”大学生科技学术竞赛作品19flag = 0;void INT()TMOD = 0x01; EA = 1;ET0 = 1; void delayms(unsigned int time)unsigned int i;unsigned int j;for (j =0; j time; j+) for (i =0; i 363; i+);