




免费预览已结束,剩余35页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
贵州大学毕业论文(设计) 第 40 页基于单片机的家庭消毒柜的控制设计摘要近年来,随着生活水平的提高,人们不仅要求吃饱吃好,更要求保证健康。即对卫生的要求也越来越高,消毒柜在家庭生活中应用也就更加广泛了。基于单片机技术的消毒柜控制系统以其体积小,可靠性高而被广泛采用。以单片机AT89C51为核心的控制系统可以对消毒柜进行照明、加热、消毒等功能定时开关控制,同时还具有时钟校准、时间显示、报警等功能。本文通过按键调整当前时间并设定定时时间,再通过DS1302显示当前时间,设定定时时间并确认某种功能运行后,该功能的LED亮,同时TC1602显示倒计时,当定时时间到时,LED灭,同时断开继电器并发出报警。此定时控制系统的特点具有:操作简单,功能实用;应用范围广,可同时控制多个继电器;电子式定时时间精确,定时时间长。关键词:单片机AT89C51,时钟芯片DS1302,定时控制,LED和液晶显示1 前言随着人民生活水平的不断提高,电冰箱(冰柜)已越来越多地进入千家万户,给人们带来很多方便,但同时也不可避免地带来了各式各样的烦恼。如食物气味的交叉感染(鱼腥味、牛羊肉膻气味、香烟味等)以及冰箱内的病菌等。一般的“除臭剂”只能吸附气味不能杀菌。科学家发现O3(臭氧)这种强氧化剂,它能杀死附着在冰箱内的病毒、霉菌等,能将臭气异味强氧化成对人体无毒无害的气体,如二氧化碳(CO2)、氧化(O2)和水(H2O)。O3(臭氧)还具有极强的除臭、灭菌、防霉、消毒等功能。同理可证,人们将O3(臭氧)应用到生活中的其他领域去,由此发明了消毒碗柜控制器。经过长期的使用,修正,演化和创新,现在消毒柜的品种多样化,智能化,数字化。它由早期的开关控制,到现在数字化,多功能控制;由最初的高温消毒,单一的臭氧消毒,到具有高温烘烤餐具和臭氧熏蒸餐具的双重功能。其发展十分迅速,现在消毒柜是我们常见的家用电器。消毒柜中普遍采用的高温烘烤是使用红外发热管作为加热源,温度达到预定温度时,温度感应开关断开,断开电源使得红外发热管停止工作,同时臭氧也停止,此后即使温度降低,消毒柜也处于待关闭。臭氧通常是用高压电离空气里的氧气,产生臭氧,杀灭细菌和病毒,用于不适宜高温消毒的器具消毒。本次设计使用Atmel公司生产的AT89C51单片机作为整个系统控制的核心对继电器控制的消毒功能器件进行控制,此控制器不仅体积小,价位低,且编程容易,安全耐用。显示部分摒弃传统的LED数码显示模式,而采用TC1602液晶屏将接收到的数据显示出来,整个系统电路结构简单明了、直观、性能可靠,而且便于进行功能扩展,所以获得了广泛的应用。现将系统各部分的方案比较和各部分电路设计原理论述如下:2 系统设计方案比较和论证根据题目要求,本系统主要通过键盘进行定时设置和确认使单片机对继电器的开关控制来实现消毒柜的功能,还具有时间显示,年、月、日、星期、时、分和秒,遇闰年自动修正的功能。以上设计有不同的设计方案。通过对比和器件的采购情况,我们选择了适合这次设计制作的方案。2.1消毒器件连接方案比较方案一:通过开关直接控制消毒器件。这种电路结构简单,开关直接连在220V交流电上,工作时易产生火花,安全性能差。方案二:通过各种控制器(例如三极管、555或单片机)控制继电器的通断,间接控制消毒器件。这种设计把强弱强电分离,安全性能好。综上所述,我采用第二种方案。2.2 具体控制器方案比较方案一:利用三极管的开关性质组成控制器控制继电器的通断。电路结构简单,纯模拟技术,机械化,三极管易损坏。不具有智能化同时也不符合设计要求。方案二:MC68HC05P9单片机是摩托罗拉公司生产的MC68HC系列单片机的一个子系列。该芯片提供2KB的用户ROM和128B的RAM,具有A/D转换功能。同时还具有16位定时器计数寄存器,在计数寄存器基础上,利用两字节的输出比较寄存器实现输出比较功能,即当计数器值等于指定的比较寄存器中值时,自动输出一信号,同时产生时钟中断。易实现智能控制器中的模糊控制。这种模糊控制技术太复杂且在贵阳的电子市场没有供货。方案三:PIC16C54是美国Microchip公司推出的PIC系列8位单片机,是业界率先采用精简指令集计算机(RISC-Reduced Instruction Set Computer)结构,具有高性价比的嵌入式控制器。PIC系列单片机具有高速度,低工作电压,较大的输入输出直接驱动能力(可直接驱动LED负载),低价一次性编程(OTP-One Time Programmable)技术,低功耗,小体积等优点。其管脚少,外围电路结构简单,可惜PIC系列的单片机我们不会使用。方案四:采用ATMEL 公司生产的AT89C51单片机作为系统的控制器。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。虽AT89C2051具备AT89C51的大多数功能,但AT89C2051不符合本系统对于单片机口线的分配。综上所述,我采用第四种方案。2.3 定时器方案比较方案一:采用单片机内部的定时计数器,通过编程来实现定时控制。但不适用于本设计中的高定时精度,且占用较大的片内的存储空间。方案二:采用DS1302做为定时器。DS1302是DALLAS公司推出的低功耗实时时钟芯片,具有采用串行通信方式与单片机通信、体积仅仅是传统时钟芯片的1/4、且片内均含31字节的RAM、时钟校准容易、若采用专用晶体振荡器,几乎无须调整即可达到国家要求的时钟误差标准、价格便宜等优点。综合上述,我采用第二种方案。2.4 显示方案比较方案一:采用传统的数码管显示。一个数码管就有10个管脚,对单片机的口线占用过多,浪费单片机的资源;且本设计制作要求实现字符串的显示,数码管难以达到设计目的的要求。方案二:采用集成的数码管。这种数码管将两个或两个以上的数码管集成在一块芯片上,采用管脚并接方式;管脚少,如集成3位的就只有12个管脚,做PCB时自动布线或焊接都相对比较容易。但对于显示字符串的要求,集成数码管也很难达到设计要求。方案三:使用LCD液晶显示屏显示。液晶显示屏(LCD)具有轻薄短小,低耗电量,无辐射危险,平面直角显示以及影像稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强。它自带的字符库与指令形式使我们利用简单的编程控制就能得到我们预期的字符效果,且它的集成特性易于与单片机衔接,刚好符合本设计制作要求。方案四:结合方案三的优点和发光二极管同时使用。更易于优化系统设计和视觉化,即LCD用于显示数字和字符串,发光二极管做工作指示灯。综上所述,我采用第四种方案。2.5 键盘方案比较方案一:独立式键盘电路配置灵活,软件结构简单,易实现设计要求。但占用的口线多,每个按键占用一个I/O口线,电路结构显得复杂,对于比较大的系统不易实现。方案二:矩阵式键盘,它由行线和列线组成,行线通过上拉电阻接到+5V电源上,无按键,行线处于高电平状态;有键按下,行线电平状态将由与此行线相连的列线电平决定。列线电平为低,则行线电平为低,列线电平为高,则行线电平为高。此键盘适用于按键数量较多的场合,按键位于行列的交叉点上,节省单片机I/O口。但编程比较复杂,需进行行扫描和列扫描,只适用于高精度的键盘系统中。综上所述,结合本次设计要求,我采用方案二2.6电源电路方案方案一:采用开关电源,其供电稳定且能同时独立输出几组不同的电源值。但其电路设计复杂,不易于实现。且本设计只需一个5V电源供电,故不可选用复杂的开关电源。方案二:利用7805的IC器件制作简单的独立电源。此电路结构简单,供电稳定,能满足本设计的供电要求。综上所述,我采用第二种方案。2.7 电路板设计方案方案一:采用万能板比较方便,可直接连线焊接,但由于覆铜区多,散热面积大。只适用于元器件较少的简单电路,对于连线较多的复杂系统其线路外观比较杂乱,特别对于管脚较多的IC芯片,焊接时容易造成管脚之间短路,并且出错不易检查,复杂系统很难实现。方案二:手工刻线,这种方法步骤简单,制作速度快,设计自由度大,适合简单电路板。如果电路板的连线很细且布线复杂,手工刻线难以达到其要求,不美观且耗时长。方案三:运用绘图软件Prtel99se设计并制作PCB。该软件功能强大,由系统自动布线或手工绘制,其布线精度高,排版灵活有序,速度快。但电路板的制作流程复杂,工艺要求比较高。根据本次设计的要求,利用其速度快的优点,该方法能达到我们设计目的,并具有美观的版面。综合上述,我采用第三种方案。2.8 消毒柜功能器件方案方案一:石英发热管,加热干燥同时当温度达到125并保持10min时也具有消毒功能。工作原理简单,消毒柜中用的发热管细而长,价格便宜,但易烧坏。方案二:臭氧发生器,杀菌消毒效果明显。方案三:结合方案一和方案二的优点,采用发光二极管代替石英发热管和臭氧发生器,模拟实验,使设计更简单,经费降低,更安全,易实现本系统设计的目的。综上所述,我采用第三种方案.3 主要器件及其参数根据本系统的设计要求,经过方案的比较、选型。筛选出以下主要的器件,详细情况及各参数如下:3.1单片机控制器AT89C51是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机。片内含4K bytes的可反复擦写的Flash只读程序存储器(ROM)和128 bytes的随机存取数据存储器(RAM)。器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准MCS51指令系统。片内置通用8位中央处理器(CPU)和Flash存储单元, AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C系列单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。功能强大的AT89C51可适应许多高性价比的应用场合,可灵活应用于各种控制领域。其内部结构框图如图3.1图3.1 (AT89C51方框图)3.1.1 主要特性与MCS-51 兼容4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 3.1.2 管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示: 表3.1 (P3口的第二功能)端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外中断)P3.3(外中断)P3.4T0 (定时计数器)P3.5T1 (定时计数器1)P3.6 (外部数据存储器写选通)P3.7 (外部数据存储器读选通)口管脚 备选功能P3.0 RXD(串行输入P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。高电平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.1.3 振荡器特性AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别为反向放大器的输入和输出。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡电路,参见图3.2左所示。外接石英晶体(或陶瓷谐振器)及电容C1,C2接在放大器的反馈回路中构成并联振荡电路,对外接电容C1,C2虽然没有十分严格要求,但电容容量的大小会轻微影响振荡频率的高低,振荡器工作的稳定性,起振的难易程序及温度稳定性。如果使用石英晶体,我们推荐电容使用30PF+10PF,而如使用陶瓷谐振器,建议选择40PF+10F,也可以采用外部时钟,如图3.2所示,在这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。 图3.2由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。3.1.4 芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.1.5 空闲节电模式AT89C51有两种可用软件偏移的省电模式,他们是空闲模式和掉电工作模式,这两种方式是控制专用寄存器PCON(即电源控制寄存器)中的PD(PCON.1)和IDL(PCON.0)位来实现的。PD是掉电模式,当PD=1时,激活掉电工作模式,单片机进入掉电工作状态。IDL是空闲等待方式,当IDL=1时,激活空闲工作模式,单片机进入睡眠状态,如需同时进入两种工作模式,即PD和IDL同时为1,则先激活掉电模式。在空闲工作模式状态,CPU保持睡眠状态,而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,片内RAM和所有特殊功能寄存器的内容保持不变。空闲模式由任何允许的中断请求或硬件复位终止。终止空闲工作模式的方法有两种,其一是任何一条被允许中断的事件被激活,IDL(PCOH.0)被硬件消除,即立刻终止空闲工作模式。程序会首先响应中断,进入中断服务程序。执行完中断服务程序并紧随RET1(中断返回)指令后。下一条要执行的指令就是使单片机进入空闲模式那条指令后面的一条指令。其二是通过硬件复位也可将空闲工作模式终止,需要注意的是,当硬件复位来终止空闲工作模式时,CPU通常是从激活空闲模式那条指令的下一条指令开始继续执行程序的,要完成内部复位操作,硬件复位脉冲要保持两个机器周期(24个时钟周期)有效。在这种情况下,内部禁止CPU访问片内RAM 而允许访问其他端口,为了避免可能对端口产生意外写入,激活空闲模式的那条指令后一条指令不应是一条对端口或外部存储器的写入指令。3.1.6 掉电模式在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条,被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结,推出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器,但不改变RAM中的内容,在VCC恢复到正常工作电平前,复位应无效且必须保持一定时间以使振荡器重启动并稳定工作。 表 3.2 (空闲和掉电模式外部引脚状态)模式程序存储器ALEP0P1P2P3空闲模式内部11数据数据数据数据空闲模式外部11浮空数据地址数据掉电模式内部00数据数据数据数据掉电模式外部00浮空数据数据数据3.1.7 程序存储器的加密AT89C51可使用对芯片上的3个加密位LB1,LB2,LB3进行编程(P)或不编程(U)来得到如下表所示的功能:表 3.3 (加密位保护功能表)程序加密位保护类型LB1LB2LB31UUU没有程序保护功能2PUU禁止从外部程序存储器中执行MOVC指令读取内部程序存储器的内容3PPU除上表功能外,还禁止程序校验4PPP除以上功能外,同时禁止外部执行当加密位LB1被编程时,在复位期间,EA端的逻辑电平被采样并锁存,如果单片机上电后一直没有复位,则锁存起的初始值是一个随机数,且这个随机数会一直保存到真正复位,为此,为使单片机能正常工作,被锁存的EA电平值必须与该引脚当前的逻辑电平一致。此外加密位只能通过整片擦除的方法清除。3.2 串行时钟芯片DS1302DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,体积仅仅是传统的时钟芯片的 1/4,且片内均含31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。其内部结构框图如图3.2.1图3.3 DS1302方框图3.2.1 主要性能31字节静态RAM与单片机串行通信误差小低功耗实时时钟自动修正天数闰年校正功能工作电压:2.55.5V双电源供电对备用电源充电3.2.2 管脚说明Vcc1:主电源Vcc2:备份电源。当Vcc2Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2 Vcc1时,由Vcc1向DS1302供电。SCLK:串行时钟,输入; I/O:三线接口时的双向数据线;CE:输入信号,在读、写数据期间,必须为高。该引脚有两个功能:第一,CE开始控制字访问移位寄存器的控制逻辑;其次,CE提供结束单字节或多字节数据传输的方法。DS1302有下列几组寄存器: DS1302有关日历、时间的寄存器共有12个,其中有7个寄存器(读时81h8Dh,写时80h8Ch),存放的数据格式为BCD码形式,如表3.4表3.4 DS1302有关日历、时间的寄存器读寄存器写寄存器BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0范围81h80hCH10秒秒005983h82h10分分005985h84h12/24010时时112/023AM/PM87h86h0010日日13189h88h00010月月1-128Bh8Ah00000周日1-78Dh8Ch10年年00998Fh8EhWP0000000小时寄存器(85h、84h)的位7用于定义DS1302是运行于12小时模式还是24小时模式。当为高时,选择12小时模式。在12小时模式时,位5是用于定义DS1302S是运行于AM模式还是PM,当为1时,表示PM。在24小时模式时,位5是第二个10小时位。秒寄存器(81h、80h)的位7定义为时钟暂停标志(CH)。当该位置为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位置为0时,时钟开始运行。控制寄存器(8Fh、8Eh)的位7是写保护位(WP),其它7位均置为0。在任何的对时钟和RAM的写操作之前,WP位必须为0。当WP位为1时,写保护位防止对任一寄存器的写操作。 DS1302有关RAM的地址DS1302中附加31字节静态RAM的地址如表3.5所示。表3.5读地址写地址RAM数据范围C1hC0h第1字节00-FFhC3hC2h第2字节00-FFhC5hC4h第3字节00-FFh.FDhFCh第31字节00-FFh DS1302的工作模式寄存器所谓突发模式是指一次传送多个字节的时钟信号和RAM数据。突发模式寄存器如表3.6所示。表3.6工作模式寄存器读寄存器写寄存器时钟突发模式寄存器CLOCK BURSTBFhBEhRAM突发寄存器RAM BURSTFFhFEh DS1302还有充电寄存器等。3.2.3 DS1302 数据传送时序DS1302是SPI总线驱动方式。它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。 要想与DS1302通信,首先要先了解DS1302的控制字。DS1302的控制字如表3.7。表3.7 控制字(即地址及命令字节)控制字的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。位6:如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1(A4A0):指示操作单元的地址;位0(最低有效位):如为0,表示要进行写操作,为1表示进行读操作。控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据也是从最低位到最高位。数据读写时序如图3.4 。图3.4数据读写时序3.2.4 电路原理图: 电路原理图如图3.5,DS1302与单片机的连接也仅需要3条线:CE引脚、SCLK串行时钟引脚、I/O串行数据引脚,Vcc2为备用电源,外接32.768kHz晶振,为芯片提供计时脉冲。 图3.5 DS1302与单片机的原理图3.3 TC1602EL字符型液晶显示模块是一类专门用于显示字母,数字,符号等的点阵型液晶显示模块。字符型液晶显示模块是在一块双面印刷线路板上,它的一面用导电橡胶将电路与液晶显示器件连接,另一面装配所需要的驱动器和控制器以及驱动所需的分压电路。3.3.1 最大工作范围 1、 逻辑工作电压(Vdd):+4.5 +5.5V 2、 LCD 驱动电压(Vdd - V0):+4.5 +13.0V 3、 工作温度(Ta):0 60C(常温)/-20 75C(宽温) 4、 保存温度(Tstg):-55125C 5、 工作电流:2.0mAmax 3.3.2 控制IC 特点 1、 作为控制器可驱动4016 点阵液晶像素,并可通过外接驱动器扩展驱动。 2、 显示字符格式有三种:57 点阵+光标,510 点阵+光标,用户自定义。 3、 并口数据传输可为8 位数据传输和4位数据传输两种方式。 4、 具有简单而功能较强的指令集,可实现字符移动、闪烁等显示功能。 5、 内置字符生成ROM(CGROM)8320 位,字符生成RAM(CGRAM)512 位,显示RAM(DDRAM)808位。 3.3.3 模块接口说明 表 3.8 (模块接口说明)引脚标号功能说明 备注1Vss逻辑负电源输入引脚,0V2Vdd逻辑正电源输入引脚,+5V 3VoLCD驱动电源输入引脚,大小可调LCD显示对比度一般接0V4RS数据/指令寄存器选择引脚 RS=“H” :数据D0-D7 与数据寄存器通信 RS=“L” :数据D0-D7 与指令寄存器通信 5R/W读/写选择引脚 高电平:读数据 低电平:写数据 若不须要读操作功能,该引脚可直接接地 6E读写使能引脚 高电平有效,下降沿锁定数据 714D0D78 位数据线引脚4 位总线模式下,D0D3 引脚断开 15A背光电源输入引脚,+5V不带背光的模块无此引脚16K背光电源输入引脚,0V 3.3.4 指令描述1、 清显示 CODE: 表 3.9RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLLH功能:送20H“空代码”到所有的DDRAM 中,清除所有的显示数据,并将DDRAM地址计数器 ,(AC)清零,光标返回至原始状态,设置I/D=H,AC 为自动加一的输入方式。 2、 返回 CODE: 表 3.10RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLHX功能:不改变DDRAM中的内容,只将DDRAM 地址计数器(AC)清零,光标返回至原始状态。若有滚动效果,撤消滚动效果,将画面拉回原位到home位。 3、输入方式设置 CODE: 表 3.11RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLI/DSH功能:设置光标移动方向并指定整体显示是否移动。用于设置显示字符的输入方式,在计算机读/写DDRAM或CGRAM后,地址指针的修改方式,反映在效果上,当写入字符画面或光标的移动。该子令的两个参数位I/D 和S 确定了字符的输入方式。 I/D 表示计算机读/写DDRAM 或CGRAM的数据后,地址的修改方式,也是光标的移动方式: I/D=1:光标由左向右移动且AC 自动加一 I/D=0:光标由右向左移动且AC 自动减一 SH 表示在写入字符时,是否允许显示画面的滚动方式: SH=0 禁止滚动。 SH=1 允许滚动。 SH=1 且I/D=0 显示画面向右移动一个字符位 SH=1 且I/D=1 显示画面向左移动一个字符位 4、显示开关控制 CODE: 表 3.12RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLHDCB 该指令控制着画面,光标及闪烁的开与关,有三个状态位D。C。B: 功能:D=1:整体显示打开 D=0:整体显示关闭,但DDRAM 中的显示数据不变;注:与清屏指令不同,该指令是显示画面不出现,但DDRAM 的内容不变 C=1:光标显示开; C=0:不显示光标;超出显示画面,光标消失 B=1:光标闪烁 f=2.4Hz B=0:光标不闪烁 5、光标或整体显示移位位置 CODE: 表 3.13RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LLLLLHS/CR/LXX功能: S/C R/L 对应操作 0 0 光标左移,AC减1,显示不动 0 1 光标右移,AC加1,显示不动 1 0 所有显示左移,光标跟随移位,AC减1 1 1 所有显示右移,光标跟随移位,AC加1 6、功能设置 CODE: 表 3.14RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LLLLHDLNFXX功能:设置接口数据位数以及显示模式。 DL=1:8 位数据接口模式,DB0-DB7 有效; DL=0:四位数据接口模式,DB4-DB7有效; 在这种模式下,传送的方式为先高四位,后低四位 N=1:两行显示模式; N=0:单行显示模式; F=1:510 点阵显示模式,加光标; F=0:57点阵显示模式,加光标; 7、设置CGRAM 地址 CODE: 表 3.15RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LLLHACG5ACG4ACG3ACG2ACG1ACG0功能:将CGRAM 地址送入AC 中。随后计算机对数据的操作是对CGRAM的读/写操作。 8、设置DDRAM 地址 CODE: 表 3.16RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LLHADD6ADD5ADD4ADD3ADD2ADD1ADD0功能:将DDRAM 地址送入AC 中。当N=0 时,DDRAM地址范围为:80H-FFH 当N=1 时,第一行DDRAM地址范围为:80HBFH 第二行DDRAM地址范围为:C0HFFH 9、 读忙标志位及地址 CODE: 表 3.17RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LHBFAC6AC5AC4AC3AC2AC1AC0功能:最高位(BF)位忙信号位,低7位为地址计数器的内容。 BF=1:内部正在执行操作,此时要执行下一指令须等待,直到BF=0 再继续。 10 、 写数据 CODE: 表 3.18RSR/WDB7DB6DB5DB4DB3DB2DB1DB0HLD7D6D5D4D3D2D1D0功能:写数据到CGRAM或DDRAM。 如果写数据到CGRAM,要先执行“设置CGRAM地址”命令; 如果写数据到DDRAM,则要先执行“设置DDRAM地址”命令。 RS=1,R/W=0:为数据的写操作;RS=0,R/W=0:为指令的写操作 执行写操作后,地址自动加/减1(根据输入方式设置指令) 11、读数据CODE: 表 3.19RSR/WDB7DB6DB5DB4DB3DB2DB1DB0HHD7D6D5D4D3D2D1D0功能:从CGRAM或DDRAM读出8位数据。 如果从CGRAM读数据,要先执行“设置CGRAM地址”命令; 要先执行“设置DDRAM地址”命令。如果从DDRAM读数据,则执行读操作后,地址自动加/减1(根据输入方式设置指令)4 系统框图、流程图和工作原理4.1 系统框图 图4.1 系统框图4.2工作原理单片机以键盘作为主要控制输入部分,当打开电源后,单片机首先上电进行复位,对整个电路作初始化处理。然后对键盘进行扫描,检测是否有健按下,若无建按下,则单片机处于保持状态。液晶显示实时时钟;若有键按下,则单片机根据输入的控制信号,结合软件程序的设计目的,经过处理后;先后控制显示电路,加热消毒控制电路和蜂鸣器电路。4.3 系统流程图 图4.2 系统流程图5 系统各部分电路设计5.1 控制输入与数据输入本系统采用4*4键盘控制输入,单片机内部编写程序进行数据处理。通过键盘输入软件设计已对应好的数据控制信号,经过单片机处理后把数据传到实时时钟电路和显示电路中显示。设计电路如下: 图5.1 键盘输入电路5.2 实时时钟电路本系统采用DS1302与单片机串行通信的方式,把接收从单片机传来的数据存入时钟寄存器或RAM中。或把片内的数据发送给单片机,提供一个精确的实时时钟或定时时钟做显示参考。设计电路如下: 图5.2 实时时钟电路5.3 功能控制电路本系统采用继电器把功能器件与单片机分离,防止数字电路对模拟电路的干扰。用三极管9013对继电器进行驱动,同时也用二极管对其进行保护。设计电路如下: 图5.3 功能控制电路原理图5.4 显示电路本系统在显示方面分两部分,一部分是采用发光二极管做功能控制指示灯,通过单片机内部编程来控制其显示某功能是否处于工作状态;另一部分是数据处理与显示,本系统采用TC1602液晶模块进行显示,根据单片机和液晶模块的引脚功能,用RES*8的上拉排阻对液晶屏进行驱动。根据液晶模块的指令及编码,利用单片机编写那些相应程序实现字符显示功能。详细电路设计如下: 图5.4 工作指示显示 图5.5 液晶显示原理图 5.5 电源电路设计220V交流市电通过电源变压器变换成交流低压,再经过整流和滤波,在固定式三端稳压器LM7805的Vin和GND两端形成一个并不十分稳定的直流电压(该电压常常会因为市电电压的波动或负载的变化等原因而发生变化)。此直流电压经过LM7805的稳压和滤波,便在稳压电源的输出端产生了精度高、稳定度好的直流输出电压。本稳压电源可作为TTL电路或单片机电路的电源电源,其中的电容器作为滤波电容用,LED作为电源指灯,一来指示+5V电源的存在,而如果电源接到单片机控制板上电源端如果一不小心短路了,马上可以检查出来,免得过久烧毁单片机。由于稳压IC上的电压降有4V,在电流负载稍大的使用场合时,IC外壳温度会上升,因此必须外加热片来散热.具体电路如下: 图5.6 电源电路原理图6 软件设计6.1 系统的主程序流程图 系统的主程序流程图如图6.1所示。主要要负责键盘扫描,按键处理,显示接收发送数据。当无键按下时,显示实时时钟;有键按下时,扫描确认后设置定时时间,确定。单片机驱动三极管导通,使继电器接通,控制功能器件工作;同时发光二极管发光做工作指示、液晶显示倒计时。时间到,停止功能器件工作和发光二极管熄灭。图6.1 程序流程图7 测试与方案校验7.1 测试工具表 7.1 (测试使用的仪器设备)序号名称、型号、规格数量备注1计算机1自用2程序烧录器1学校自制3MF500型模拟万用表1上海精益仪表厂7.2 测试方法与数据论证1、在计算机上用Protel软件绘制设计原理图和PCB。制作电路板。焊接好元器件。2、用万用表测量各个电压基准点,看数据是否正确。如测电源部分7805输出端是否有+5V电压。有信号时测单片机对应口线是否有+5V电压值,就可以判断是否有数据输入或输出。 3、用万用表测各电阻的阻值是否正确、用欧姆档判断三极管脚等。 4、在计算机上运行程序调试软件Keil,进行程序调试,若显示0错误(S)、0警告(S)证明程序正确;在Proteus中导入程序进行模拟仿真。 5、利用程序烧录器,结合计算机上的界面,把程序烧录到单片机内部。 6、看电路板上的+5V电源指示灯是否亮,且在发送信号及接收信号时,信号指示灯是否点亮。 7、按照要求调试输入输出的信号及在液晶屏幕上的显示。结 论本设计运用MCS-51系列单片机AT89C51开发消毒柜控制系统,主机通过键盘输入数据,对单片机编写相应的程序,控制单片机与消毒柜功能的接口,并按照要求完成了对功能器件的开关控制,同时通过键盘输入数据到单片机上,单片机通过程序对时钟芯片作用和数据处理,并编写TC1602液晶显示模块的驱动程序及控制指令,把对应的数据与TC1602字符库中的数据库一一查找,把数据的相应字符编码调出来,显示在屏幕上,与显示的全部过程。使用MCS-51单片机开发控制系统,具有很大的市场前景。首先,它的易学、易用的编程语言、开发环境,可以使初学者迅速入门;其次它具有模块化的结构,大大简化了电路设计。再者,它提供了定时控制、单片机控制继电器通断来控制强电弱电、功能多样化。用户可以安全放心使用,更智能化。当然,本设计还存在很多不足之处,且设计与实现有一定的缺陷,如编程能力的限制使按键过多,程序较复杂、干扰的处理欠妥等。但它提供了一个比较完整单片机的开关定时控制平台,给以后在此基
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 桡骨头骨折课件
- 2025年公务员考试练习题考试练习题及答案指导
- 2025年融媒体舆情分析笔试高频考点解析集
- 桌球培训课程内容
- 2025年篮球规则试题及答案
- 2025年篮球明星试题及答案
- 2025年注册验船师资格考试(A级船舶检验专业案例分析)综合试题及答案二
- 桃红葡萄酒发酵工艺
- 2025年视觉设计岗位面试常见题
- 栽蒜苗课件教学课件
- 2023砌体结构后锚固技术规程
- 子宫内膜癌医师教学查房市公开课一等奖课件省赛课获奖课件
- 膝痹中医护理方案效果总结分析报告
- 铸造基础知识及常见铸造缺陷简介演示
- 中式烹调师(高级技师考试资料)
- 仓储技术与库存理论简论
- 日地空间灾害性天气的发生发展和预报研究课件
- 西安大唐不夜城的项目整体推广的策略提案的报告课件
- 可下载打印的公司章程
- 少先队辅导员工作记录表(共7页)
- 公开课教学评价表
评论
0/150
提交评论