《毕业设计(论文)-基于单片机的洗衣机智能控制系统(68页).doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于单片机的洗衣机智能控制系统(68页).doc(97页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-毕业设计(论文)-基于单片机的洗衣机智能控制系统-第 94 页安徽广播电视大学毕 业 论 文基于单片机的洗衣机智能控制系统姓 名 分 校 铜 陵 分 校 专 业 机 电 一 体 化 层 次 本 科 指导教师 培养类型 开 放 教 育 提交日期 2016年10月 基于单片机的洗衣机智能控制系统摘 要基于MCS-51单片机的洗衣控制系统,控制面板由按键、指示灯组成.按键选择洗衣机工作方式,指示灯配合按键工作,LED显示器则显示洗衣机洗涤和脱水时间.洗衣机电路模块包括键盘矩阵、指示灯、电动机控制和电源电路.控制程序设计有定时中断服务程序、外中断服务程序及主程序.关键词:全自动,智能,89C2051
2、AbstractBased on the MCS-51 microcontroller laundry control system, control panel from the button. Indicator components. button to choose washing machines work, with a key indicator, LED displays show machine washing and dehydration time. washing machines, the overall circuit module including keyboa
3、rd matrix, lamp, motor control and power supply circuit. control procedures designed timer interrupt service procedures, external interrupt service procedures and the main program. Key Words: automatic, intelligent 89C2051目录摘 要1ABSTRACT1目录1第一章 绪言11.1 课题背景11.2 本课题的任务和要求31.3系统解决的问题和拟采用的研究手段61.4本文的工作6第
4、二章 系统的总体设计72.1核心单元电路72.2工作控制程序设计102.3模拟软件调试12第三章 系统的实现和关键技术143.1硬件的选择与说明143.1.1 AT89C2051143.1.2 固态继电器的选用173.1.3 74LS05反相器六非门183.1.4 双2-4译码器 74LS139193.1.5 TC4013BP193.1.6 电机193.2汇编程序与模拟软件223.2.1 主程序223.2.2模拟软件Keil32第四章 总结33参考文献34第一章 绪言1.1 课题背景洗衣机逐渐成为家庭中必备的家用电器,发展很快,全自动式洗衣机因使用方便得到大家的青睐,全自动即进水、洗涤、漂洗、
5、甩干等一系列过程自动完成,控制器通常设有几种洗涤程序,对不同的衣物可供用户选择。随着科技不断发展,洗衣机的性能将会不断完善。全自动洗衣机具有对衣物的磨擦小、单独性强、节约水等特点,得到人们的青睐。随着社会的进步和生活水平的提高,人们对全自动洗衣机的功能多样化、操作简单化也提出了更高的要求。为适应这种变化,全自动洗衣机的控制器已由机械式、混合式逐步过渡到全电子控制。单片机又称微控制器,或称嵌入式控制器。家用电器是单片机应用最多的领域之一。它是家用电器实现智能化的心脏和大脑。单片机是一个单芯片形态,面向控制对象的嵌入式应用计算机系统。它的出现及发展使计算机技术从通用型数值计算领域进入到智能化的控制
6、领域.从此,计算机技术在两个重要领域通用计算机领域和嵌入式计算机领域都得到了极其重要的发展,并正在深深地改变着我们的社会。单片机的结构特征是将组成计算机的基本部件集成在一块晶体芯片上,构成一台功能独特的,完整的单片微型计算机。单片机独特的结构决定了它具有如下特点。(1)体积小、结构简单、可靠性高单片机把各功能部件集成在一个芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。(2)控制能力强单片机虽然结构简单,但是它“五脏俱全”,已经具备了足够的控制功能。单片机具有较多的I/O口,CPU可以
7、直接对I/O进行操作、算术操作、逻辑操作和位操作,指令简单而丰富。所以单片机也是“面向控制”的计算机。(3)低电压、低功耗单片机可以在2.2V的电压下运行,有的已能在1.2V或0.9V下工作;功耗降至为A级,一颗纽扣电池就可长期使用。(4)优异的性能/价格比由于单片机构成的硬件结构简单、开发周期短、控制功能强、可靠性高,因此,在达到同样功能的条件下,用单片机开发的控制系统比用其它类型的微型计算机开发的控制系统价格更便宜。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1.在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能
8、强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。2.在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。3.在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其
9、他音响视频器材、再到电子秤量设备,五花八门,无所不在。4.在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。5.单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。1.
10、2 本课题的任务和要求单片机又称微控制器,或称嵌入式控制器。家用电器是单片机应用最多的领域之一。 家用电器体积小,所以要求其控制器体积更小以便能嵌入其结构之中。而家用电器品种多,功能差异也大,所以又要求其控制器有灵活的控制功能。单片机以微小的体积和编程的灵活性而产生多种控制功能,完全可以满足家用电器的需求。 单片机主要用于计算机外设、实时控制、仪器仪表、通信和家用电器等各个领域,是计算机技术和电子技术的综合性应用,在不同应用场合其技术要求各不相同,因此设计方法和研制的步骤不完全一样。单片机应用系统由硬件和软件组成。硬件是指MCU、存储器、I/O接口和外设等物理器件的有机组合。软件是指系统监控程
11、序的总称。在开发的过程中,它们的设计不能完全分开,二者需要互相配合、不断调整才能组成高性能的应用系统。单片机应用系统的开发包括系统总体设计、硬件设计、软件设计、系统调试等几个阶段,它们有时交叉进行。1.2.1设计任务(1)系统总体设计任务 在进行系统设计之前,首先应根据对系统的功能要求及其应用环境等确定合理的、具体的功能和技术指标,对应用系统的可靠性、通用性、先进性、可维护性、以及成本等进行综合考虑,以尽量合理并符合相应的标准。然后根据市场上各种单片机的货源情况和单片机的性能及开发工具等因素选择合适的机型。接下来要根据系统中可能遇到的传感器、模拟电路、I/O接口、存储器和显示器等器件和设备进行
12、器件选择,使之符合系统在精度、速度和可靠性等方面的要求。最后确定硬件和软件的功能划分。由于在系统设计中某些功能用硬件和软件都能实现,在设计中应综合考虑研制周期和成本等因素具体划分软硬件功能。(2)系统硬件设计任务硬件设计的任务是根据总体要求,在所选的MCU和各个元器件型号的基础上设计出系统的电路原理图,做一些必要的不见实验,以及工艺结构的设计加工,印刷电路板的设计制作和样机的组装等。在硬件设计中,需要考虑系统总线的负载能力、系统扩展时的片选方式、模拟电路的速度和精度等,如需扩展存储器则尽量用一片完成,这样既降低了成本,又减小了线路板的面积,同时提高了系统的可靠性。(3)系统软件设计任务单片机应
13、用系统的软件设计是系统设计中最基本而且工作量较大的任务。与系统机上操作系统支持下的纯软件不同,单片机的软件设计是在裸机的条件下进行的,而且随应用系统的不同而不同。在软件中一般需考虑以下几个方面:1) 根据要求确定软件的具体任务细节,然后确定合理的软件结构。一般系统软件的主程序和若干个子程序及中断服务程序组成,详细划分主程序、子程序和中断服务程序的具体任务,确定各个中断的优先级。主程序是一个顺序执行的无限循环的程序,不停地顺序查询各种软件标志,以完成对事务的处理。在子程序和中断服务程序中,要考虑现场的保护和恢复,以及它们和主程序之间的信息交换方法。2) 程序的结构用模块化结构,即把监控程序分解为
14、若干个功能相对独立的较小的程序模块分别设计,以便于调试。具体设计时可采用自底向上或自顶向下的方法。3) 在进行程序设计时,先根据问题的定义描述出各个输入变量和输出变量之间的数学关系,即建立数学模型,然后绘制流程图,再根据流程图用汇编语言进行具体程序的编写。4) 在程序设计完成后,利用相应的开发工具和软件进行程序的汇编,生成程序的机器码。(4)系统的调试任务 在系统样机的组装和软件设计完成以后,就进入系统的调试阶段。应用系统的调试步骤和方法是相同的,但具体细节与采用的开发系统(即仿真器)及选用的单片机型号有关。调试的过程就是软硬件的查错过程,分为硬件调试和软件调试。1.2.2系统设计要求 AT8
15、9C2051单片机是ATMEL公司8位单片机系列产品之一,是一种20引脚双列直插式芯片。它内含2KB可反复烧录的FLASH存储器,RAM字节也有128个,15个I/O口,5个中断,2个定时,已经可以满足程序的需要,指令也和51系列兼容,基于上述特点,选择它来设计一台智能洗衣机,完全可以达到以下的功能: 1、洗衣工作状态功能:强、弱洗涤; 2、洗衣程序功能:含4种独立程序,即标准洗衣程序、经济洗衣、单次洗衣、脱水功能; 3、特殊功能:故障诊断、安全保护、防振、暂停、间歇工作、声光显示功能。洗衣机要完成洗衣工作,除了对一般洗衣过程的人工工作及效能进行模拟之外,还要根据洗衣机的机械电子性质进行有关控
16、制和检测。 对于一台全自动洗衣机而言,首先要求能完成洗衣功能;同时还要根据用户的不同要求设置几种不同的洗衣程序;还要考虑水流的情况决定洗涤的弱强情况;另外,还要对洗衣过程出现的故障进行诊断;保证高速运转是脱水的安全性等。所以对全自动洗衣机,一般要求具有如下基本功能: (1)弱强洗涤功能。要求强洗时正反转驱动时间各为4S,间歇时间为1S;弱洗时正 反转驱动时间各为3S,间歇时间为2S。 (2)4种洗衣工作程序,即标准程序 经济程序 单独程序和排水程序。标准程序是进水洗涤漂洗洗涤;脱水,如此循环3次,每循环一次洗涤或漂洗环节时间比上一循环同一环节时间减少2min,具体是第一循环为洗涤,时间为6mi
17、n,第二第三次循环为漂洗,时间分别为4min和2min.排水时间采用动态时间法确定,脱水时间为2 min.经济程序与标准程序一样,只是循环次数为二次。单独程序是进水洗涤(6 min)结束(留水不排不脱)。排水程序是排水脱水结束,时间确定与上述程序相应环节相同。(3)进排水系统故障自动诊断功能。洗衣机在进水或排水过程中,若在一定的时间范围内进水或排水未能达到预定的水位,就说明进排水系统有故障,此故障由控制系统测知并通过警告程序发出警告信号,提醒操作者进行人工排除。(4)脱水期间安全保护和防振动功能。洗衣机脱水期间,若打开机盖时,洗衣机就会自动停止脱水操作。脱水期间,如果出现衣物缠绕引起脱水桶重心
18、偏移而不平衡,洗衣机也会自动停止脱水,以免振动过大,待人工处理后恢复工作。 (5)间歇驱动方式。脱水期间采取间歇驱动方式,以便节能。本系统要求驱动5s,间歇2s,间歇期间靠惯性力使脱水桶保持高速旋转。 (6)暂停功能 。不管洗衣机工作在什么状态,当按下暂停键时,洗衣机需暂停工作,待启动键按下后洗衣机又能按原来所选择的工作方式继续工作。 (7)声光显示功能。洗衣机各种工作方式的选择和各种工作状态均有声光提示和显示。1.3系统解决的问题和拟采用的研究手段 本课题主要是研究基于单片机的全自动洗衣机控制系统软硬件设计。首先要熟悉设计内容,学习掌握单片机的使用方法;精确分析并设计出该控制系统的全部工作流
19、程图,确定输入、输出的名称功能;设计系统软件并在PC机上仿真模拟调试;设计并制作硬件模拟电路盘,接电模拟调试;软硬件联合调试,实现全部功能,完成设计并撰写毕业论文。针对课题采取以下研究方法及步骤:1、各种元器件以及芯片的选择 2、硬件电路的设计3、用汇编语言完成软件方面的设计4、结合电路对程序进行调试5、找出程序中的错误,改正这些错误1.4本文的工作本文的工作就是介绍如何做一个全自动洗衣机,第2部分给出相关方案的研究为后面程序设计打下基础,第3部分给出了系统的总体设计,对程序的模块分析、设计思想第4部分给出详细的实现过程和重要的技术实现。最后给出了我对这个设计一个看法,这个系统有些什么特色,还
20、有展望之类的。第二章 系统的总体设计2.1核心单元电路洗衣机是一种在家庭中不可缺少的家用电器,发展非常快,全自动式洗衣机因使用方便得到大家的青睐,全自动即进水、洗涤、漂洗、摔干等一系列过程自动完成,控制器通常设有几种洗涤程序,对不同的衣物可供用户选择。那么我们先来说说它的硬件设计。硬件电路框图如图1-1所示,在该硬件系统中主要由核心单元电路、进水阀控制电路、排水阀控制电路、电机转动控制电路、状态显示电路、特殊功能电路等单元组成。CPU(AT89c2051)状态显示电路排水阀电路进水阀电路电机控制电路特殊功能电路电源电路CPU(AT89c2051)状态显示电路排水阀电路进水阀电路电机控制电路特殊
21、功能电路电源电路CPU(AT89c2051)状态显示电路排水阀电路进水阀电路电机控制电路特殊功能电路电源电路CPU(AT89c2051)状态显示电路排水阀电路进水阀电路电机控制电路特殊功能电路电源电路 图1-1(硬件电路框图)1 核心单元电路单芯片微处理器是属于Embedded System(嵌入系统),此系统的是把CPU 加上一些少量的记忆体和输出入组件(I/O),都嵌入在一颗芯片内,再使用 特定的组译和编译软体编辑程序,利用烧录器把程序储存到单芯片,如此 加上一些简单的周边电路,即可变成一个控制系统,所以单芯片又称为微程控器(microcontroller)。 系统主机芯片采用ATMEL公
22、司所出产的ATC89C51。全自动洗衣机的控制逻辑电路由单片机AT89C2051为核心加上有关集成电路及元器件组成。 全自动洗衣机的工作部件有3个,这就是电机.进水阀和排水阀。电机是洗衣机的动力源,它的转动带动洗衣桶和波轮的转动,从而时现对衣物的洗涤。进水阀用于控制洗衣机的进水量。排水阀用于控制排水。电机在脱水时还高速旋转带动衣物脱水。 电机的状态有3种,即正转.反转及停止状态。电机一般工作在这三种状态的不断转换之中,从而实现洗涤。但在脱水时,只工作在正转高速状态。 进水阀和派排水阀则只有开.关这两种状态。 从图1-2的控制电路中可以看出:AT89C2051的P1端口中的P1.0P1.3共四条
23、I/O线通过4块SP111O新型固态继电器分别直接驱动洗衣机的这些工作部件。SP1110是一种固态继电器,内有发光二极管及光触发双向可控硅,1050mA输入电流即可使双向可控硅完全导通,输出端通态电流为3A(平均值),浪通电流15A(不重复)。之所以选用这个器件,是因为它一方面可使电路进一部简化,另一方面还可使强.弱两类电完全隔离,保证主板的安全。 74LSO5为六反相器,用其作为中间反相器,其中的4个反相器可分别驱动4个SP1110继电器,剩余两反相器用于驱动LED5和LED6。 图1-2(核心控制电路)74LS139为双2-4线译码器,选用它可解决CPU I/O线数量的不足。从控制要求可知
24、,洗衣机有4种不同的显示来加以区别。74LSW139双2-4线译码器仅占用CPU的P3.0和P3.1两口线即可提供4种不同显示的驱动, 其逻辑关系是:P3.0,P3.1为“11”时LED1亮,指示标准程序;为“10”时LED2亮,指示经济程序;为“01”时LED3亮,指示单独程序;为“00”时LED4亮,指示排水程序。 洗衣机的暂停功能和安全保护及防震动功能采用中断处理方式。这两个中断分别对应于CPU的外部中断“0”和外部中断“1”。中断信号通过TC4013BP双D触发器 的两个Q/分别加到CPU P3.2和P3.3口线由触发器锁存直到CPU响应中断为止。开盖(安全保护)或不平衡(防振动)中断
25、信号通过由BG1,BG2组成的反相器送至TC4013BP的11脚CP端,经触发器的第12脚(Q/)加到P3.3。本系统对开盖和不平衡中断采取相同的处理方法,因此,共享外部中断“1”。 为了充分利用(CPU的I/O口线,P3.4和P3.5采用分时复用技术,每线具有两个功能。在洗衣机未进入工作状态或洗衣机处于暂停状态期间,P3.4为输入线,用于监测启动键的状态,当启动键按下时,洗衣机即进入工作状态或从暂停状态恢复到原来的工作状态;在洗衣机暂停中断响应期间,P3.4为输出线,用于撤消暂停中断请求。在洗衣机进水或排水期间,P3.5被用作输入线,用于监测水位开关状态,为CPU提供洗衣机的水位信息;在洗衣
26、机高速脱水期间,当发生开盖和不平衡中断时,P3.5为输出线,用于撤消中断请求信号。CPU的P3.7线用于驱动蜂鸣器发出各种告警信号。4 ,5脚外接6MHz的晶振。1脚通过10uF电容接到+5v电源,可实现上电自动复位。K7为强制复位键。洗衣机的强.弱洗可通过K1键进行循环选择。K1还具有第二功能,即当洗衣机发生故障转入报警程序后,按下K1键可使洗衣机退出报警状态回到处始待命状态。洗衣机工作程序可通过K2键循环选择。洗衣机的工作状态可通过LED7LED9进行显示。脱水期间系统在响应开盖或不平衡终止后,CPU采取软件查询的方式方式通过P1.6线对盖开关进行监测以确定洗衣机是否继续进行脱水操作。2.
27、2工作控制程序设计由AT89C2051控制的全自动洗衣机的工作程序框图如图1-3所示。从程序框图可以看出,这个控制程序也较为简单,所以,占用的存储器容量不大。 上电复位初始化P3.0,P3.1:1,1P1.7 :1扫描K1,K2,K4NY判断57H相应工作程序序工作时间限制之内Y结束故障处理程序人工解除上电复位初始化P3.0,P3.1:1,1P1.7 :1扫描K1,K2,K4NY判断57H相应工作程序序工作时间限制之内Y结束故障处理程序人工解除上电复位初始化P3.0,P3.1:1,1P1.7 :1扫描K1,K2,K4NY判断57H相应工作程序序工作时间限制之内Y结束故障处理程序人工解除上电复位
28、初始化P3.0,P3.1:1,1P1.7 :1扫描K1,K2,K4NY判断57H相应工作程序序工作时间限制之内Y结束故障处理程序人工解除图1-3(由AT89C2051控制的全自动洗衣机的工作程序框图)从程序框图中可以看出程序的基本流程,系统上电复位后,首先进行初始化,默认标准洗衣工作程序和强洗方式,然后扫描K1,K2和启动键K4,这时洗衣机处于待命状态。通过K1,K2可分别修改强/弱洗方式和洗衣工作程序。扫描过程中当发现启动键K4按下时,洗衣机即从待命状态进入工作状态。 洗衣机进入工作程序后,系统首先根据RAM中57H单元的特征字判断洗衣机的洗衣工作程序,若特征字为:01H为标准程序,02H为
29、经济程序。进水操作P1.0置位驱动进水阀开启。进水期间系统不断检测水位开关K5的状态,当检测到K5闭合时,说明进水以达到预定水位。若在规定的4min极限内为检测到K5闭合,说明进水系统发生故障,此时洗衣机退出工作状态,程序跳转到FW为标号地址的故障处理程序段进行报警,其处理方法是:将P1.0P1.3位全部置“0”,中止洗衣机的各中操作,然后洗衣机以响1s停2s的规律不断地发出报警信号,直到人工干预即按下K1键后为止(按下K1后,程序跳转回主程起始地址,洗衣机又回到待命的初始状态)。 在正常情况下,进水期间检测到K5闭合时,说明进水以达预定水位,这时洗衣机进入下一程序即洗涤工作。因为电机在洗涤或
30、漂洗工作时有正、反转和间歇三种状态,所以用P1.2,P1.3两线才能实现对惦记这三种状态的控制。其逻辑关系是:P1.3,P1.2为“00”时电机间歇,为“01”时正转,为“10”时反转。洗涤时间为6min.洗涤结束后,系统通过一条判断指令,判断是否排水。由控制要求可知,若不排水则为单独程序,这时程序直接跳到结束,否则进入排水进程。 排水时间采用动态时间法确定,其原理是;根据常用的空气压力水位开关的特性(即在进水中当水位达到预定水位时水位开关就接通;在排水中当桶内水位下降11cm 后,水位开关才断开),在排水过程中若从开始到开关断开所需时间为D,则整个排水所用时间为2D+50S(经验值)。若在规
31、定的1min极限时间内,系统检测不到水位开关K5断开,说明排水系统有故障,程序跳转至故障处理程序段发出警告信号,其处理程序段发出告警信号,其处理方法与进水系统故障相同。 排水结束后,洗衣机接着执行脱水操作,P1.1维持置位状态,保持排水阀开启,P1.2按5s置位2s 清0的规律连续驱动电机高速旋转2min,然后脱水结束。脱水结束后系统通过一条判断指令判断整个洗衣工作是否结束。其原理:是洗衣机在每次洗涤或漂洗工作环节结束之后,洗衣工作程序标志57H单元减1一次,在脱水脱水工作结束,洗衣机报警三声后。即返回初始待命状态。若洗衣工作尚未结束,洗衣机再次执行进水操作,进入下一循环。以上是洗衣机工作的大
32、概流程,工作过程中所许的各种计时,均由定时器“0”定时中断服务程序提供。定时器“0”设置为定时方式1,每100 ms产生一次中断,因此,TL0,TH0装入的常数分别为0B0H,3CH。定时器“0”中断服务子程序入口地址放在0BH单元中,洗衣机进入工作状态后定时器即被启动/每中断一次,70H单元累加1一次,累加到0AH时,为1s,因此71H单元累加1一次,该单元累加至3CH时,为1 min,这时72H单元累加1一次。系统根据这几个内存单元中的数据就可以确定洗衣机工作各个进程的时间。在暂停中断以及开盖或不平衡中断响应期间,定时中断被禁止,计时各单元内容不变。 洗衣机的暂停中断在洗衣机进入工作状态后
33、,中断请求即被设置为允许,中断请求有效;而开盖或不平衡中断只有在洗衣机进入高速脱水的工作进程时,中断请求才被设置为允许,请求信号有效。2.3模拟软件调试单片机的程序设计调试分为两种,一种是使用软件模拟调试,意思就是用开发单片机程序的计算机去模拟单片机的指令执行,并虚拟单片机片内资源,从而实现调试的目的,但是软件调试存在一些问题,如计算机本身是多任务系统,划分执行时间片是由操作系统本身完成的,无法得到控制,这样就无法时时的模拟单片机的执行时序,也就是说 ,不可能像真正的单片机运行环境那样执行的指令在同样一个时间能完成(往往要完成的比单片机慢)。为了解决软件调试的问题,第二种是硬件调试,硬件调试其
34、实也需要计算机软件的配合,大致过程是这样的:计算机软件把编译好的程序通过串行口、并行口或者USB口传输到硬件调试设备中(这个设备叫仿真器),仿真器仿真全部的单片机资源(所有的单片机接口,并且有真实的引脚输出),仿真器可以接入实际的电路中,然后与单片机一样执行。同时,仿真器也会返回单片机内部内存与时序等情况给计算机的辅助软件,这样 就可以在软件里看到真实的执行情况。不仅如此,还可以通过计算机断的软件实现单步、全速、运行到光标的常规调试手段。总结一下两者的不同与相同:相同点:1:都可以检测单片机执行时序下的片内资源情况(如R0-R7 、PC计数器等)2:可以实现断点、全速、单步、运行到光标等常规调
35、试手段。不同点:1:软件调试无法实现直接连接硬件电路的调试,只能通过软件窗口虚拟硬件端口的电平输出情况而仿真器可以实现与单片机一样的功能的硬件连接,从某种意义上说这个时候仿真器就是一个单片机。2:软件调试执行单片机指令的时间无法与真实的单片机执行时间画上等号,也就是说如果一个程序在单片机中要执行300us,可能在计算机中执行的时间可能会比这个长很多,而且无法预料。仿真器则是完全与单片机相同。3:软件调试只能是一种初步的,小型工程的调试,比如一个只有几百上千行的代码的程序,软件调试能很好的完成,如果是一个协调系统,可能还需要借助几个单片机仿真器和相关的仪器才能解决。4:软件仿真不需要额外花钱,而
36、硬件需要,一个仿真器一般都上千元,同时可以仿真许多种单片机的工作。Keil uVision2是目前使用广泛的单片机开发软件,它集成了源程序编辑和程序调试于一体,支持汇编、C、PL/M语言。第三章系统的实现和关键技术3.1硬件的选择与说明3.1.1 AT89C2051AT89C2051单片机,片内含2k bytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机数据存储器(RAM),器件采用ATMEL公司的高密度度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C2051单片机在电子类产品中有广泛的应用。AT89C20
37、51是一个带有2K字节闪速可编程可擦除只读存储器(EEPROM)的低电压,高性能8位CMOS微处理器。它采用ATMEL的高密非易失存储技术制造并和工业标准MCS-51指令集和引脚结构兼容。通过在单块芯片上组合通用的CPLI和闪速存储器,ATMEL的AT89C2051是一强劲的微型处理器,它对许多嵌入式控制应用提供一定高度灵活和成本低的解决办法。AT89C2051提供以下标准功能:2K字节闪速存储器,128字节RAM,15根I/O口,两个16位定时器,一个五向量两级中断结构,一个全双工串行口,一个精密模拟比较器以及两种可选 的软件节电工作方式。空闲方停止CPU工作但允许RAM、定时器/计数器、串
38、行工作口和中断系统继续工作。掉电方式保存RAM内容但振荡器停止工作并禁止有其它部件的工作到下一个硬件复位 AT89C2051单片机,它具有如下主要特性:1、和MCS-51产品兼容;2、2KB可重编程FLASH存储器(10000次);3、2.7-6V电压范围;4、全静态工作:0Hz-24MHz;5、2级程序存储器保密锁定;6、128*8位内部RAM;7、15条可编程I/O线; 图1-4(AT89C2051的结构图)8、两个16位定时器/计数器;9、6个中断源;10、可编程串行通道;11、高精度电压比较器12、直接驱动LED的输出端口。 AT89C2051的结构框图 AT89C2051是一带有2K
39、字节闪速可编程可擦除只读存储体(EEPROM)的低电压高性能8位CMOS微型计算机。如图1-4所示。它采用ATMEL的高密非易失存储技术制造并和工业标准MCS51指令集和引脚结构兼容。通过在单块芯片上组合通用的CPL1和闪速存储器,ATMEL AT89C2051是一强劲的微型计算机,它对许多嵌入式控制应用提供一高度灵活和成本低的解决办法。 图1-5 (AT89C2051内部结构图)此外,从AT89C2051内部结构图(如图1-5)也可看出,其内部结构与8051内部结构基本一致(除模拟比较器外),引脚RST、XTAL1、XTAL2的特性和外部连接电路也完全与51系列单片机相应引脚一致,但P1口、
40、P3口有其独特之处。AT89C2051的引脚说明AT89C2051是一个有20个引脚的芯片,引脚如图1-4所示,与8051内部结构进行对比可发现,AT89C2051减少了两个对外端口(即P0、P2口),使它最大可能地减少了对外引脚,因而芯片尺寸有所减少。 AT89C2051芯片的20个引脚功能为: 1. Vcc:电源电压。 2. GND:地。 3. P1口:P1口是一8位双向I/O口。口引脚P1.2P1.7提供内部上拉电阻。 P1.0和P1.1要求外部上拉电阻。P1.0和P1.1还分别作为片内精密模拟比较器的同相输入(AIN0)和反相输入(AIN1)。P1口输出缓冲器可吸收20mA电流并能直接
41、驱动LED显示。当P1口引脚写入“1”时,其可用作输入端。当引脚P1.2P1.7用作输入并被外部拉低时,它们将因内部的上拉电阻而流出电流(IIL)。P1口还在闪速编程和程序校验期间接收代码数据。 4. P3口:P3口的P3.0P3.5、P3.7是带有内部上拉电阻的七个双向I/0引脚。P3.6用于固定输入片内比较器的输出信号并且它作为一通用I/O引脚而不可访问。P3口缓冲器可吸收20mA电流。当P3口引脚写入“1”时,它们被内部上拉电阻拉高并可用作输入端。用作输入时,被外部拉低的P3口引脚将用上拉电阻而流出电流(IIL)。 P3口还用于实现AT89C2051的各种功能,如下表所示。P3口还接收一
42、些用于闪速存储器编程和程序校验的控制信号。 5. RST:复位输入。RST一旦变成高电平,所有的I/O引脚就复位到“1”。当振荡器正在运行时,持续给出RST引脚两个机器周期的高电平便可完成复位。每一个机器周期需12个振荡器或时钟周期。 6. XTAL1:作为振荡器反相放大器的输入和内部时钟发生器的输入。 7. XTAL2:作为振荡器反相放大器的输出。 从上述引脚说明可看出,AT89C2051没有提供外部扩展存储器与I/O设备所需的地址、数据、控制信号,因此利用AT89C2051构成的单片机应用系统不能在AT89C2051之外扩展存储器或I/O设备,也即AT89C2051本身即构成了最小单片机系
43、统。(2)固态继电器的技术参数及选用1)技术参数1、输入电压范围:在环境温度25c下,固态继电器能够工作的输入电压范围。2、输入电流:在输入电压范围内某一特定电压对应的输入电流值。3、接通电压:在输入端加该电压或大于该电压值时,输出端确保导通。4、关断电压:在输入端加该电压或小于该电压值时,输出端确保导通。5、反极性电压:能够加在继电器输入端上,而不应起永久性破坏的最大允许反向电压。6、额定输出电流:环境25C时的最大稳态工作电流。7、额定输出电压:能够承受的最大负载工作电压。8、输出电压降:当继电器处于导通时,在额定输出电流下测得的输出端电压。9、输出漏电流:当继电器处于关断状态施加额定输出
44、电压时,流经负载的电流值。10、接通时间:当继电器接通时,加输入电压到接通电压开始至输出达到其电压最终变化的90%为止之间的时间间隔。11、关断时间:当继电器关断时,切除输入电压到关断电压开始至输出达到其电压最终变化的10%为止之间的时间间隔。12、过零电压:对交流过零型固态继电器,输入端加入额定电压,能使继电器输出端导通的最大起始电压。13、最大浪涌电压:继电器能承受的而不致造成永久性损坏的非重复浪涌(或过载)电流。14、电器系统峰值:在继电器工作状态继电器输出端能够承受的最大迭加的瞬时峰值击穿电压。15、电压指数上升率dv/dt:继电器的输出元件能够承受的不使其导通的电压上升率。16、工作
45、温度:继电器安规范安装或不安装散热板时,其正常工作的环境温度范围。3.1.2 固态继电器的选用1、输入特性为了保证固态继电器的正常工作,必须考虑输入条件,通常输入电压为阶跃函数,然而,如果输入电压是斜坡,就会出现半周循环现象,出现这种现象是由于开关半导体器件在正,反触发时不完全对称,因此,如果输入电压斜坡上升,这种开关在负载为某一极性时就可能处罚,而当负载电压为反极性时就可能不处罚,而出现半周导通现象,这种现象将持续到输入量足以使输出完全导通为止。输入端出现的瞬态,可以使继电器误动,尤其是当继电器响应时间等于或小于噪声脉冲持续时间时,继电器就会导通,对输入信号进行滤波有助于减少这种现象。当反极性(反向输入)电压适用时,继电器输入端可以承受最大输入电压值或其它规定值的反极性电压,超过该值,可能造成SSR的永久性破坏,当反极性电压不适用时,或继电器规定不能反向施加输入电压时,使用时一定注意,不能使输入电压反向。2 输出特性SSR给出的最大额定输出电流一般指常温下或常温到高温下的最大额定输出电流而且对大于10A的继电器还指带有规定散热器时的最大额定输出电流。对功率SSR,当工作温度上升或不带散热器时,最大输出电流相应下降。当负载很轻即负载电阻或阻抗很大时,接通时的输出电流下降,该电流与关断状态下的漏电流之间的比值下降。对交流S