毕业设计-基于单片机的智能消毒设备.doc_第1页
毕业设计-基于单片机的智能消毒设备.doc_第2页
毕业设计-基于单片机的智能消毒设备.doc_第3页
毕业设计-基于单片机的智能消毒设备.doc_第4页
毕业设计-基于单片机的智能消毒设备.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智能消毒设备毕业论文 论文题目:基于单片机的智能消毒设备 智能消毒设备【摘 要】本系统采用AT89C52单片机为核心,利用它的内部寄存器、定时/计数器、中断等资源配合外围设备完成智能消毒的功能。通过按下不同的按键选择不同消毒时间和模式后电路即开始运行。消毒方法有高温消毒和臭氧消毒两种。电路运行开始后,通过温控开关以及定时自动控制消毒柜内继电器的通电和断电,适时完成对柜内物品的消毒工作,并且通过液晶显示屏和LED灯对消毒柜的状态一目了然。系统在硬件实物图焊接好以后,经过调试,所有功能都实现了。即按下开关开始消毒,液晶显示屏上准确的显示了时钟和剩余时间。时间到后或者温度过高,继电器暂时断开,结束加热,同时蜂鸣器响起,代表消毒结束的LED灯亮。本设计的特点在于可以对消毒柜进行预约,让它在预订时间到达时自动进行消毒。因为要顺利完成预约功能,所以该消毒柜还有时钟功能。【关键词】STC89C52;预约定时:报警提醒;液晶显示 目录1. 概述41.1课题背景41.2本设计的主要思想42. 智能消毒总体方案设计53. 各模块方案的设计与选择53.1 智能消毒设备的电源模块53.2智能消毒设备的液晶显示模块63.3智能消毒设备的臭氧消毒模块63.4智能消毒设备的单片机控制模块63.5软件编程64. 各模块硬件的设计64.1 智能消毒设备的电源模块74.2 智能消毒设备的电热管加热模块84.3智能消毒设备的臭氧消毒模块84.4智能消毒设备的报警模块104.5 智能消毒设备的LED模块104.6 智能消毒设备的按键选择模块114.7智能消毒设备的单片机控制模块124.7.1 STC89C52主控部分核心电路124.7.2单片机外围晶振电路134.8智能消毒设备的液晶显示模块144.8.1 LCD1602主要管脚介绍144.8.2读写控制时序如表4-2所示154.8.3 LCD1602与单片机连接图及实物图155. 系统软件设计165.1主程序流程设计165.2按键扫描及按键处理流程设计175.3液晶程序流程设计196. 系统调试196.1仿真测试196.2单元模块的测试207. 设计展望218. 总结21参考文献22附录一: PCB23附录二:硬件实物图24附录三:程序清单24 1. 概述1.1课题背景社会进步经济发展,人们生活条件提高了,讲究的已经不再是温饱,更关键的是如何改变生活质量。人们对消毒的要求已经从干净上升到了方便、省时和智能了。从功能上说,消毒柜通常有高温消毒、臭氧消毒和紫外线消毒3种消毒方式,以及它们之间的组合消毒方式。电热型消毒柜是利用高温发挥杀菌作用。高温对细菌有明显的致死作用。细菌中的蛋白质因受热而发生变性凝固,活性消失,代谢发生障碍,导致死亡。电热型消毒柜的消毒温度应100,消毒时间应15分钟。而臭氧的强氧化作用使微生物细胞中多种成份产生不可逆转的变化而死亡,达到消毒、杀菌的功效。这种破坏细胞作用的强弱和臭氧浓度、环境湿度、持续时间有很大的关系。设备随着时间的推移,计算机革命的完成,信息高速公路的飞速发展,我们的工业已经和自动化控制密不可分了。据统计,我国的单片机年容量以达1-3 亿片,且每年以大约16%的速度增长,但相对于世界市场我国的占有率还不到1%。这说明单片机应用在我国才刚刚起步,有着广阔的前景。培养单片机应用人才,特别是在工程技术人员普及单片机只是有着重要的现实意义。单片机是二十一世纪七十年代中期发展起来的一种大规模集成电路器件,它在一块芯片内集成了计算机的各个功能,构成一种单片式的微型计算机。二十世纪八十年代以来,国际上单片机的发展迅速,单片机应用不断深入,新技术层出不穷。单片机的应用技术是一项新兴的工程技术,其内涵随着单片机的发展而发展。而单片机的学习不仅让我们明白了计算机硬件的一些知识,更让我们懂得了许多关于现在个人计算机中许多原始的命令的完成原理。随着技术的不断发展,消毒柜新品的高技术含量主要体现在模糊逻辑化的控制、触摸屏式面板、数码、微电脑液晶显示和纳米等新材料的使用上。可以说,家电产品的新技术已全面使用在消毒柜上了。本次设计的完成实现了单片机控制消毒电路,从另一个角度上,我们可以看到这种功能的发展前景。当前,时髦的储存器比比皆是,我们这个小小的设计也许并算不了什么,但是如果我们能在这个领域发展到微型芯片的程度,我们也许可以领导一代存储器的新潮流。1.2本设计的主要思想要设计一个具有预约功能的消毒设备,就要求它要有时钟功能,否则就不能及时有效的完成该功能。因此可以通过按键电路来完成对时钟的设置和时间的预定,同时按键电路还可以完成对消毒模式和消毒时间的选择以及紧急情况下停止消毒。而消毒设备的工作情况则是通过液晶显示屏和LED灯来了解的。这些功能基本上是通过软件来完成的,因此本设计在硬件设计上是相对比较简单的。2. 智能消毒总体方案设计高温消毒电路按键控制输入电路臭氧消毒电路报警电路液晶显示电路LED灯电路电源电路图2-1智能消毒设备总体方框图单 片 机 控制中心智能消毒设备总体方框如图2-1所示,主要包括供电电源电路、电热管电路、臭氧电路、报警电路、按键选择电路、液晶显示电路、LED灯电路和单片机控制电路。电源模块是用来对整个系统供电;报警提醒模块用来提示消毒结束;按键电路用于设置时间、预约时间、选择模式、选择时间以及取消消毒;液晶显示模块用来显示时钟以及剩余消毒的时间;LED灯电路用来观察消毒情况,单片机控制电路是电路的中心,其工作过程为接入电源,单片机控制液晶显示屏显示wait time00:00 以及当前的时间 ,按下选择消毒方式和时间的按键,关上门后消毒就开始了。单片机接收到消毒的信号就相应发出对应的信号,这时液晶显示屏上的00:00变成选定的时间。如果选择的是高温消毒,继电器接通加热的电路,LED灯1亮,高温杀毒就开始了。相同若选择的是臭氧消毒,继电器就接通臭氧消毒电路,LED灯2亮。臭氧发生器就开始工作,产生臭氧开始消毒。随着时间的过去,显示屏上的剩余时间也逐渐减少了,最终变回00:00。这时可以隐约听到“咔”一声,那是继电器的声音。然后蜂鸣器响起,LED灯1灭了,LED灯3亮。如果消毒时间还没到,但你又不想继续了,这时可以按下复位键,就可以将消毒进行的状态变为初始等待状态。该电路具有电路简单、制作容易、使用灵活等优点,非常适合在部队、厂矿、机关、学校、医院等集体食堂和家庭及各类餐馆、饭店的消毒柜中安装使用。通过该电路,可以进一步了解到单片机电路的应用扩展功能和指令应用技巧。3. 各模块方案的设计与选择3.1 智能消毒设备的电源模块本系统需要使用12V和5V两种电压给电路各个模块供电,所以采用经典的三端稳压芯片LM7812和LM7805制作电源。利用该方法方便简单,工作稳定可靠。3.2智能消毒设备的液晶显示模块方案一:采用LCD 1602液晶来充当显示模块。该液晶显示器以其微功耗、显示内容丰富、体积小、超薄轻巧等诸多优点在电子设计中被广泛应用。方案二:采用8段数码管显示。虽然数码管的价格较液晶低廉。但其耗电量大,显示不美观大方。而且动态显示易乱码。基于上述考虑,故选择方案一。3.3智能消毒设备的臭氧消毒模块由于臭氧只能就地生产,目前最经济也是技术最成熟的产生臭氧的方式为电晕放电,而用于空气消毒的臭氧发生器多是使用陶瓷片高频放电的模式,它具有结构简单、性能可靠、运行费用低及调节灵活等优点。3.4智能消毒设备的单片机控制模块方案一:采用ATMEL公司的STC89C52作为系统控制器的CPU方案。该单片机算术运算功能强,软件编程较灵活、自由度大,可以用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等优点。方案二:采用ATmega16单片机。此单片机具有一整套的编程与系统开发工具,支持片内调试与编程。该单片机为单调指令,执行速度快,而且IO口驱动能力强,应用灵活,价格低廉。由于本次设计采用资源较少, 控制器主要用于各模块控制对显示、报警、计时等。STC89C52基本可完成设计需要,所以选择方案一。3.5软件编程汇编语言作为传统的编程语言,具有执行效率高的优点,但其本身是低级语言,编程效率较低,可移植性和可读性差,维护极不方便。而C语言以其结构化,容易维护,容易移植的优势满足开发的需要。且控制能力增强,有易于上手的特点,使我们能顺利的用C语言达到我们要的效果。因此该设计的软件我们使用C语言进行编程。4. 各模块硬件的设计本系统主要包括供电电源电路、电热管电路、臭氧消毒电路、报警电路、按键选择电路、液晶显示电路、LED电路和单片机控制电路。图4-1 总原理图4.1 智能消毒设备的电源模块图4-2 电源电路电源是各种用电设备的动力装置,是电子工业的基础产品。由于我们需要的并不是220V的交流电,因此需要将220V变成我们需要的12V 和5V。由图4-2可以看出本设计是利用了三端稳压芯片LM7812和LM7805来制作电源。接口P2的两个端口接的就是220V交流电通过变压器的输出。将其接入整流电桥即可得到约为7.5V的直流电,其中电容104起到了滤波的作用,减少杂波的干扰,通过7812稳压块获得稳定的+12直流电源,。同理将12V电压的一个分支再通过7805即可得到相应的+5V直流电压。电源电路应注意以下事项6:(1) 由于直流稳定电源一般是由交流电源经整流稳压等环节而形成的,这就不可避免地在直流稳定量中多少带有一些交流成份。(2) 直流稳压电交流电经过整流和滤波可以变成直流电,但是它的电压是不稳定的:供电电压的变化或用电电流的变化,都能引起电源电压的波动。要获得稳定不变的直流电源,还必须再增加稳压电路。(3) 7812和7805稳压块在降压电路中应注意输入输出压差不能太大,太大则转换效率急速降低,而且容易击穿损坏。输出电流不能太大,+1.5A 是其极限值,大电流的输出,散热片的尺寸要足够大,否则会导致高温保护或热击穿。输入输出压差也不能太小,大小效率很差。4.2 智能消毒设备的电热管加热模块图4-3 电热管加热部分电路图4-3中P2的两个接口就是代表着220V交流电对电热管加热,而继电器由电源电路引出的+5V电源供电。刚开始接入电源没有按按键的时候,开关K1是向上打,即1、2是导通的,此时电热管电路是没有接入的。当我们按下按键的时候,P20输出低电平,三极管Q2导通,继电器开关K1就向下打,即此时1、3导通。这时220V的电源就开始对电热管加热,使其对物品进行高温消毒。同时LED灯1也亮起。当按下停止键或者消毒时间到时,单片机会发送一个信号到该模块,P20输出高电平,Q2截止,继电器开关会适时的往上打,这时电热管电路就恢复了断开状态,LED灯1也会灭掉。通过看LED灯1的亮和灭就可以知道高温消毒是否在进行。4.3智能消毒设备的臭氧消毒模块图4-4臭氧消毒电路臭氧消毒电路原理和高温消毒是类似的,一样是通过继电器来控制臭氧发生器的开关。刚开始接入电源没有按按键的时候,开关K1是向上打,即1、2是导通的,此时臭氧电路是没有接入的。当我们按下按键的时候,P21输出低电平,三极管Q3导通,继电器开关K1就向下打,即此时1、3导通。这时12V电源提供臭氧发生器开始工作,使其对物品进行臭氧消毒。同时LED灯2也亮起。当按下停止键或者消毒时间到时,单片机会发送一个信号到该模块,P21输出高电平,Q3截止,继电器开关会适时的往上打,这时臭氧消毒电路就恢复了断开状态,LED灯2也会灭掉。同样通过看LED灯2的亮和灭就可以知道臭氧消毒是否在进行。在继电器吸和到断开瞬间,由于线圈中的电流不能突变,将在线圈产生下正上负的感应电压,是晶体管集电极承受很高电压,有可能损坏驱动管Q2,为此在继电器线圈两端并接一个续流二极管D1,使线圈两端的感应电压被定位在0.7V左右。正常工作是,线圈上的电压上正下负,二极管D1截止,对电路没有影响。4.4智能消毒设备的报警模块图4-5 报警电路如上图4-5所示,报警电路是由P3.3口控制,当P3.3输出为低电平时,Q1导通,蜂鸣器鸣响,LED灯3亮;当P3.3输出高电平时,Q1截止,蜂鸣器不响,LED灯3灭。报警电路作用就是在消毒时间到后提醒我们时间到了,要将物体拿出,以节约用电。还有一个作用就是我们不需要在旁边等待或者时不时过来看结束没,可以安心的离开做其他事情。但是报警声只能持续大约五秒,人若没听到就可能错过。这时LED灯3就派上用场了。消毒结束后,LED灯3就亮起来提醒大家消毒结束了。4.5 智能消毒设备的LED模块 图4-6 LED电路本模块共有LED灯三个,LED灯1亮表示高温消毒进行中,LED灯2亮表示臭氧消毒进行中,LED灯3亮表示消毒结束。通过看这三个LED灯也就可以了解消毒柜的当期状态了,简单又明了。4.6 智能消毒设备的按键选择模块图4-7按键电路如上图是S1是门控开关,S2、S3和S4依次是代表消毒时间为1分钟、2分钟和3分钟。其中1分钟即代表快速消毒模式,2分钟代表正常模式,3分钟则代表高强度消毒模式。S5则是复位键,即当我们想中途结束消毒的时候就可以按下S5,消毒就会立即停止。S6、S7和S8是用来设置时钟的。S9、S10和S11是在预约消毒时设定时间的。S12和S13分别为选择高温消毒和臭氧消毒的按键。按键的功能是通过软件来实现的,因此会在后面软件部分具体介绍。4.7智能消毒设备的单片机控制模块4.7.1 STC89C52主控部分核心电路图4-8 单片机电路本设计采用PDIP封装的STC89C52芯片为主控制器,STC89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元。如图4-8所示。该芯片正常工作电压为5V,支持的最高时钟频率为80MHz,Flash程序存储器为8KB,RAM数据存储器为512B,内置看门狗电路,支持ISP/IAP。控制部分是系统整机协调工作和智能化管理的核心部分,采用STC89C52单片机实现控制功能是其关键,采用单片机不但方便监控,并且大大减少硬件设计2。STC89C52主要功能特性1、兼容MCS51指令系统 2、8k可反复擦写(大于1000次)Flash ROM; 3、32个双向I/O口; 4、256x8bit内部RAM; 5、3个16位可编程定时/计数器中断; 6、时钟频率0-24MHz; 7、2个串行中断,可编程UART串行通道; 8、2个外部中断源,共8个中断源; 9、2个读写中断口线,3级加密位; 10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能; 11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。4.7.2单片机外围晶振电路图4-9 晶振电路C1、C3 为负载电容,起并联谐振作用,可以让脉冲更平稳与协调,它们的取值相同,这里取30PF,振荡器频率取12MHZ,也就时说单片机的时钟周期为1/12S,指令周期为1S7。4.7.3 单片机外围复位电路图4-10 上电复位电路上电复位电路是在电源上电时延时输出以及在正常工作时电压异常或干扰时给芯片输出一复位信号。上电复位电路主要是:上电延时输出;正常工作时监视电源电压。这些都是消除电源的一些不稳定因素而给芯片带来的不利影响。芯片复位之后,执行一段复位程序对芯片各个端口进行初始化,之后,准备接受输入信号。在电压达到操作电压之后,需要一个安全的复位时间,所以需要一个复位电路。图中电容C1和电阻R3对电源+5V来说构成微分电路,上电后,保持RST一段高电平时间,当单片机已在运行当中时,按下复位键S2后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作8。4.8智能消毒设备的液晶显示模块4.8.1 LCD1602主要管脚介绍 显示模块为本设计的重点模块,用于实时显示输出电压值。这里采用LCD1602液晶显示屏,其主要参数为:显示容量(16*2个字符),芯片工作电压(4.5-5.5V),工作电流(2.0mA),模块最佳工作电压(5.0V)。LCD1602共有16个引脚,各管脚的功能表4-1所示1。表4-1 LCD1602管脚功能介绍表引脚图符号状态功能1VSS电源地2VDD电源+5V3V0对比度控制端4RS输入寄存器选择5R/W输入读、写操作6E输入使能信号7DB0三态数据总线(LSB)8DB1三态数据总线9DB2三态数据总线10DB3三态数据总线11DB4三态数据总线12DB5三态数据总线13DB6三态数据总线14DB7三态数据总线(MSB)15LEDA输入背光+5V16LEDK输入背光地说明:V0: 液晶显示器对比度调整端,接正电源的对比度最弱,接地电源是对比度最高,对比度过高时会产生“鬼影”使用时可以通过一个10k的电位器调整对比度。RS: 寄存器选择,高电平时选择数据存储器;低电平时选择指令寄存器。R/W:读写信号线,高电平时进行读操作,低电平进行写操作。当RS和R/W共同为低电平时可以写 入指令或者显示地址;当RS为高电平,R/W为低电平时可以写入数据。E: 使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。4.8.2读写控制时序如表4-2所示表4-2 读写控制时序表RSR/WE功能00下降沿写指令代码01高电平读忙标志和AC码10下降沿写数据11高电平读数据4.8.3 LCD1602与单片机连接图及实物图单片机与液晶显示模块之间的连接如图4-11所示。图4-11液晶显示电路5. 系统软件设计本系统软件程序主要包括主程序、按键扫描及处理程序及液晶显示程序。5.1主程序流程设计图5-1 主流程图 主要是实现各模块程序的链接,其流程图如图5-1所示。主程序首先进行的是上电初始化,其中包括LED灯初始化、液晶显示器信号初始化以及继电器控制信号初始化,全部初始为关闭状态。初始化完成后,单片机不断循环,根据不同的输入执行相应的按键扫描、按键处理、状态显示和继电器工作。5.2按键扫描及按键处理流程设计图5-2 按键扫描流程图按键扫描是按键处理的前提准备,其流程图如图5-2所示。首先检查是否有按键按下,若有先经过10ms得延时消抖,防止干扰和误动作。然后进行重新扫描,如果前后两次扫描结果相同,则置有按键按下,向按键处理程序发送相应键值。图5-3 按键处理流程图图5-3是按键处理程序流程图,是实现按下不同的按键执行相应的功能。首先按键分三种类型,分别为消毒功能键、时钟设置键和预约功能键。先判断是否为消毒功能键,是就有两种可能,若按下的是代表臭氧消毒的键单片机就分别给P2.0和P1.0各一个低电平,臭氧消毒电路就导通,LED灯1亮。同理高温消毒是单片机分别给P2.1和P1.1各一个低电平,高温消毒电路就导通,LED灯2亮。如果不是消毒功能键就判断是否为时钟设置键。时钟设置键共有三个,分别是小时键、分钟键和秒钟键。按一下小时键,单片机给P2.5一个低电平,显示屏上的0变为1,再按下就变为2,以此类推,到第24个低电平就回到0。分钟键和秒钟键也一样的道理,只是它们是到第60个低电平再变为0。若不是时钟设置键那就判断为预约功能键,原理和时钟设置键是类似的。5.3液晶程序流程设计图5-4液晶显示流程图液晶显示是受单片机控制的,需要不停的刷新动态扫描,根据按键处理程序的处理结果送相应的字符给LCD1602,让它显示出来。液晶显示延时10ms后就返回开始,不停循环。6. 系统调试6.1仿真测试在仿真软件上将完整电路画好之后就可以进行仿真了。将电路连接好之后,就可以进行编译,如果出现错误,根据提示进行改正。如果无误,就可以进行仿真,由输出的结果,例如用时序图来判断实验设计的正确性。将之前编好的程序导入仿真图,在进行编译和仿真时,逐步、逐模块进行仿真,每做好一个电路模块就进行一次电路编译仿真,在原电路的基础上增加一个部分电路,就进行一次模拟仿真。仿真完成后下载到硬件电路上,实际进行测量。图6-1 仿真图选芯片图6-2仿真图6.2单元模块的测试本作品实物分为三个模块,分别为电源模块、单片机模块和液晶显示屏模块,最后通过杜邦线将其连接。(1)电源电路测试:设计并搭好电源电路,并用万用表进行检测电路的连接情况,在确定电路没问题后,通上电源。用万用表测出最后的输出电压,发现是我们所需的+5V和+12V,因此确定电源电路没有问题。(2)单片机电路和液晶显示屏电路的测试:单片机电路和液晶显示屏电路的测试:在电源电路的基础上再接入单片机电路和液晶显示屏电路进行调试。接通电源后,发现液晶显示屏有亮,但是显示的字符有些混乱,并不是预先设置的字符。同时发现LED灯也有亮着,这就表示单片机是有在工作的,因为 LED灯的亮和灭就是通过单片机控制的。仔细观察电路板后怀疑可能是液晶显示屏的接线问题,于是将几个可能是虚焊的点加强了一下。重新接入电源,发现情况有所改善,但是还是没有达到预期的效果。将电液晶显示所在的那块板上的元件逐一检查,发现单片机其中的一个角并没有接入电路。将单片机拔出来,把角弄好,重新插入电路,再次将电源接入,液晶显示屏上显示正常。按下按键选择消毒一分钟,单片机控制液晶显示屏显示wait time 0:00 ,按下第一个按键,即选择消毒时间为一分钟。单片机接收到消毒一分钟的信号就相应发出对应的信号,这时液晶显示屏上的0:0变成0:59,同时LED灯亮起一分钟到了,显示屏上时间变回0:00。这时可以隐约听到“咔”一声,那是继电器的声音。然后蜂鸣器响起,LED灯1亮了。若按下复位键,将消毒进行的状态变为初始等待状态。测试结果和仿真一样,达到了实验要求,测试完成。7. 设计展望近来市场上的消毒柜新品层出不穷,如具有VFD动态显示、数码控制、热风内循环功能的康宝系列消毒碗柜;具有欧式豪华外形,采用微电脑控制,定时开关、自动除臭的老板牌消毒柜; 采用高新纳米磁性门封材料、排气孔特设防虫网,有效杜绝二次污染的美的消毒柜等。8. 总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新月异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学生来说掌握单片机的开发技术是十分重要的。 回顾起此次单片机课程设计,我仍感慨颇多。的确,从选题到定稿,从理论到实践的这一段时间里,可以说是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识。指导老师的帮忙也使我少走了很多弯路。通过这次的设计使我懂得了理论和实践相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,同时在设计过程中发现了自己的不足之处,对与之前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机编程掌握得不好等等。通过本次课程设计我掌握了用单片机进行实际产品开发的基本过程,加强了模块化设计思想的培养,进一步熟悉了单片机编程,同时也增加了对本专业的兴趣,培养了实际操作和编程技能,为今后专业课程的学习和走向工作岗位打下良好的基础。参考文献1吴建生,李培根,陈甦.PIC16C5X系列单片机软件中断的实现J.电子技术应用,1995(3):48.2李建忠.单片机原理及应用M.西安:电子科技大学出版社,2008.3张凡等.Protel 电路设计指南J.机电元件,2005,10(3):74-77.4何立民.单片机应用技术选编Z.北京:电子工业出版社,2006.5陈良光,孔令海.用8031自身接口实现数码管动态显示和键盘扫描J.电子技术,1994(7):21-23.6郝立军.直流稳压电源的设计方法J.农业机械化与电气化,2007,20(4):184-187.7王浩等.集成电路速查大全Z. 西安: 电子科技大学出版社,2003.8王晓君,安国臣.MSC-51及兼容单片机原理与选型M.北京:电子工业出版社,2003.9孙涵芳,徐爱卿.单片机的原理与应用M.北京:北京航空航天大学出版社,1998.10陈奥初.单片机应用系统设计与实践M.北京:北京航空航天大学出版社,1991.Smart disinfection equipment Electronic and Information Engineering, Electronic and Information Engineering 118542007062 Qiuhong Zhang instructor Jianming YuAbstract: This system uses the AT89C52 microcontroller as the core, the use of its internal registers, timer / counter, interrupt, and other resources to complete intelligent peripheral devices with the function of sterilization. By pressing different buttons to select a different circuit begins after disinfection operation. After running the circuit through the thermostat switch and regular disinfection of automatic control of power inside the heating pipes and power outages, timely completion of the disinfection of the lockers and cabinets through the LCD screen on the status of disinfection at a glance. Welding system in good physical map of hardware and after testing, analog functions are implemented, that is, press the switch start heating. LCD screen shows exact time remaining. Time, the relay automatically disconnected, the end of the heating and the buzzer sounded. Key words: AT89C52; Countdown: alarm to remind; LCD附录一: PCBA1 PCB图附录二:硬件实物图A2 硬件实物图正面附录三:程序清单/*消毒柜程序*#include#include#define uchar unsigned char #define uint unsigned int#define delayNOP();_nop_();_nop_();_nop_();_nop_();sbit rs=P25;sbit rw=P26;sbit en=P27;sbit relay=P20;sbit sw1=P21;sbit sw2=P22;sbit sw3=P23;sbit sw4=P24;sbit buz1=P33;bit playflag=0;/*延时程序(2ms)*void delay(uchar ms) while(ms-) unsigned char i; for(i=0;i250;i+) _nop_();_nop_();_nop_();_nop_(); _nop_();_nop_(); _nop_();_nop_(); _nop_(); /*测试LCD忙碌状态*bit lcd_busy() bit result;rs=0;rw=1;en=1; _nop_();_nop_();_nop_();_nop_();result=(bit)(P0&0x80);/LCD的D0-D7中,D7=1为忙碌,D7=0为空闲en=0;return result; /*写指令数据到LCD*void Write_com(uchar cmd) while(lcd_busy(); rs=0; rw=0; en=0; _nop_(); _nop_(); P0=cmd; delayNOP(); en=1; delayNOP(); en=0; /*写显示数据到LCD* void Write_dat(uchar dat) while(lcd_busy();rs=1;rw=0;en=0;P0=dat;delayNOP();en=1;delayNOP();en=0; /*LCD初始化设定* void lcd_init() delay(15); Write_com(0x38); delay(5); Write_com(0x38); delay(5); Write_com(0x38); delay(5); Write_com(0x0c); delay(5); Write_com(0x06); delay(5); Write_com(0x01); delay(5); /*设定显示位置*void lcd_pos(uchar pos) Write_com(pos|0x80);/数据指针=80+地址变量/*设置显示位置*void set_xy(uchar x,uchar y) uchar address; if(y=1) address=0x80+x; else address=0xc0+x; Write_com(address);/*发送数据函数*void senddata(uchar dat) SBUF=dat; while(!TI); TI=0;/*设定单个字符显示位置与内容*void displayonechar(uchar x,uchar y,uchar DATA) if(0=y)x|=0x80;/当显示第一行是地址码+0x80 else x|=0xc0;/在第二行显示是地址码+0xc0 Write_com(x);/发送地址码 Write_dat(DATA);/发送要显示的字符编码/*设定字符串显示位置与内容*void displaylistchar(uchar x,uchar y,uchar *s) set_xy(x,y); while(*s) Write_dat(*s); s+; /*主程序* void main(void) uchar i,j,k,l; lcd_init(); displaylistchar(0,1,Wait Time: 00:00); displaylistchar(0,2,Welecome To Use ); repeat: while(1) relay=1; buz1=1; displaylistchar(0,1,Wait Time: 00:00); if(sw1=0) relay=0; for(k=1;0k;k-) for(j=6;0j;j-) for(i=10;0i;i-) displayonechar(12,0,0x30+k-1); displayonechar(14,0,0x30+j-1); displayonechar(15,0,0x30+i-1); delay(491); if(sw4=0) goto repeat; relay=1; if(relay=1)buz1=0;delay(491);delay(491);delay(491); if(sw2=0) relay=0; for(k=2;0k;k-) for(j=6;0j;j-) for(i=10;0i;i-) displayonechar(12,0,0x30+k-1); displayonechar(14,0,0x30+j-1); displayonechar(15,0,0x30+i-1); delay(491); if(sw4=0) goto repeat; relay=1; if(relay=1)buz1=0;delay(491);delay(491);delay(491); if(sw3=0) relay=0; for(k=3;0k;k-) for(j=6;0j;j-) for(i=10;0i;i-) displayonechar(12,0,0x30+k-1); displayonechar(14,0,0x30+j-1); displayonechar(15,0,0x30+i-1); delay(491); if(sw4=0) goto repeat; relay=1; if(relay=1)buz1=0;delay(491);delay(491);delay(491); 袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论