




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
教学单位 信息工程系 学生学号 2081224130本科毕业论文(设计)题目 基于单片机的洗衣机控制系统设计 学生姓名武梦雅 专业名称电子信息科学与技术 指导教师邬小林 2011年12月21日摘 要:本系统便是根据目前洗衣机的主流要求,由单片机AT89S52、数码管显示模块、电动机工作模块、继电器控制等模块组成,利用成熟继电器的强电控制特性,通过键盘设置洗涤时间,经过单片机处理后进行洗涤定时处理,以及电动机的正转反转过程,同时在数码管上显示控制时间,既可以通过键盘对洗衣过程进行暂停,也可以实时显示洗衣剩余时间,如此,可随时随地知晓洗涤情况。该系统优势在于简单稳定性价比极高,满足实际对洗衣机的控制需求。关键字: AT89S52 ;智能家电 ; 自动控制 ; 洗衣机 Abstract:This system is according to the current mainstream requirements of washing machine, consists of the SCM AT89S52, digital pipe display module, motor control module and relay work module, is made use of high voltage control of mature relays , setting washing time through the keyboard, after single chip conducting, fixing washing timing for processing, as well as the motor are turning reversal process ,meanwhile controlling the display time in the digital tube , not only can set the process pause through the keyboard for laundry, also can display the rest of the time for laundry, in thus way, we can know washing time whenever possible . What the advantage of the system is simple and stable and high price quality, meeting the needs of controlling of the washing machine.Key word: AT89S52 ;intelligent home ;automatic control ;washing machine 目 录1 引言11.1 课题背景11.2 课题意义11.3 课题目的12 系统设计方案和论证32.1系统总体结构规划32.2单片机的选择32.3电机驱动模块的方案论证42.4显示模块的方案比较论证42.5电源的选择53 电路的设计与分析63.1芯片AT89S52的性能及其参数分析63.2单片机时钟电路设计73.3单片机复位电路设计83.4单片机复位后的状态分析93.5电源电路103.6电动机驱动原理与分析124 系统硬件设计154.1系统主电路图154.2显示电路设计164.3继电器控制电路设计184 .4报警电路195 系统软件设计2151设计软件简介2152软件设计应用环境简介2253系统程序设计说明236系统调试246.1系统原理图设计246.2 软件的调试246.3 硬件调试25结束语26参考文献27附录28谢 辞321 引言1.1 课题背景现如今自动化、信息化程度越来越高,单片机的应用领域也就越来越广,成为人们生活不可或缺的一部分。随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的自动控制系统开始进入了人们的生活,以单片机为核心的自动门系统就是其中之一。同时也标志了自动控制领域成为了数字化时代的一员。它实用性强,功能齐全,技术先进,这是科技进步的成果。它更让人类懂得,数字时代的发展将改变人类的生活,将加快科学技术的发展。经济飞速发展的中国,高楼耸立的大都市,全自动洗衣机已经是随处可见,在各大厦、宾馆、酒店、银行、商场、医院、写字楼等场所,洗衣机更是得到大范围的普及使用。自动门不但能给我们带来人员进出方便、节约空调能源、防风、防尘、降低噪音等好处,更令我们的建筑增添了不少高贵典雅的气息。1.2 课题意义此设计的意义在于能够了解全自动洗衣机控制系统的的制作方案和技术。从电路设计到软件编程,全面系统的研究了基于单片机的全自动洗衣机控制系统。从中能学习到多方面的技术知识,掌握洗衣机控制的原理和方法。更多的理解的单片机的功能。1.3 课题目的设计要满足如下要求:实现洗衣时间的控制,能够调节电动机运转时间长短的控制。实现显示的功能,实现调节过程及剩余时间的调整功能实现报警功能,当运行时间结束时发出报警音报警,提醒运行已结束。本设计通过采用AT89S52单片机,通过水位检测机构,LED数码显示器,LED发光二极管,独立键盘,继电器控制,电动机等硬件实现了上述功能要求。 主要章节分为:(1)绪论:介绍设计目标国内外的发展现状和研究意义目的,设计的基本内容和本文的章节安排。(2)总体设计方案:给出了洗衣机控制器的器的总体方案设想,智能项目,和设计结构规划。(3)单片机最小系统介绍:中央控制器 AT89S52及其外围电路的设计与分析(4)系统硬件设计:介绍各部分模块电路的功能(5)系统软件设计:主要介绍了各项功能的设计流程。(6)系统调试2 系统设计方案和论证2.1系统总体结构规划 全自动洗衣机控制器的总体结构框图如下图1所示。图1动洗衣机控制器框图采用AT89S52单片机作为主控单元,直流电机作为执行部分,键盘输入控制信息,数码管显示输出信息。其工作过程是通过键盘选择功能键将信息输入单片机,然后单片机发出信号控制单片机运转,以及自动计时,当时间结束时电动机停止运转并报警。2.2单片机的选择 方案一: 采用MCS-52单片机,晶振频率为24HZ.AT89S52单片机是一种功耗、高性能CMOS 8位微控制器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52单片机为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,9振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。且价格便宜。方案二:采用FPGA(可编辑逻辑阵列)作为系统控制器。FPGA可以实现各种复杂的逻辑功能,规模大,集成度高,体积小,稳定性好,并且可利用EDA软件进行仿真和调试。FPGA采用并行工作方式,提高了系统的处理速度,常用于大规模实时性要求较高的系统。价格较昂贵。对比上述两种方案,FPGA各个方面都比较优越,单价格较昂贵,而且用在洗衣机模拟系统上FPGA的高速处理能力得不到充分的发挥,很浪费资源。相比之下AT89S52单片机价格便宜,对本系统来说资源和速度已经足够,故选择此单片机。2.3电机驱动模块的方案论证 方案一:用达林顿管TIP22和NPN三极管构成的驱动电路来实现控制电机的正反转。该驱动电路能够基本满足控制功能的要求。但直流电机的功率较大,所以通过驱动电路的电流较大,使得TIP22很快就发热损耗功率大,容易损坏。方案二:采用双刀双置和单刀双置继电器构成的开关驱动电路来实现控制直流电机的正反转。该电路较简单易实现,而且因为是开关电路,几乎不损耗功率,所以不必担心发热问题。综上所述,对比优劣性选着第二种方案。2.4显示模块的方案比较论证方案一:采用四只数码管显示模块来显示动态信息。显示的公共端只需要一个8位I/O口,接口简单,功耗小,价格便宜,寿命长。通过调整电流可以达到比较高的亮度,所以数码管能够清晰地显示数字,且亮度较高易于观察。方案二:采用LCD液晶显示,优点是能显示更多的字符,有着良好的人机界面,功耗低,占用系统资源少,使整个系统显得更加人性化。缺点是成本过高,亮度不够,不易清晰地观察数据。基于成本以及实际需求,我们选择方案一。2.5电源的选择方案一:采用开关型稳压电源。因为开关型稳压电源事实上是利用了晶体管在截止与饱和即开关状态下功耗极小的优点。由于晶体管在截止时流过的电流极小几乎为零,饱和导通时的管压降极小,两种情况下的晶体管功耗都极小,管子工作效率很高,可达到80%90%。难点是开关电源对器件要求较高且电路较复杂,比较难调试,成本不低。方案二:采用传统的线性稳压电源,优点是电路简单,实用,输出电压,纹波系数小,容易制作。缺点是体积较大,效率低。结合我们本身的能力和系统的实际应用我们选择方案二。 3 电路的设计与分析3.1芯片AT89S52的性能及其参数分析 图2 AT89S52单片机引脚图AT89S52是51系列单片机的一个型号,它是ATMEL公司生产的。AT89S52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89S51单片机可为您提供许多较复杂系统控制应用场合。AT89S52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89S52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器5可有效地降低开发成本。AT89S52为40脚双列直插封装的8位通用微处理器如图3-3所示,采用工业标准的C52内核,在内部功能及管脚排布上与通用的8xc51相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。AT89S52时钟有两种方式产生,即内部方式和外部方式,如下图3 a所示。AT89S52中有一个构成内部震荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英或陶 瓷震荡器一起构成自激震荡器震荡电路。外接石英晶体(或陶瓷震荡器)及电容C1、C2接在放大器的震荡回路中构成并联震荡电路。对外接电容C1、C2虽然没有非常严格的要求,但电容的大小会轻微影响震荡频率的高低、震荡工作的稳定性、起震的难易程序及温度稳定性,。还可以采用外部时钟,采用外部时钟,如图3 b所示。在这种情况下,外部时钟脉冲接到XTAL1端,既内部时钟发生器的输入端,XTAL2悬空。由于外部时钟信号是通过一个2分频的触发器后作为内部时钟信号的所以外部时钟的占空比没有特殊要求,但最小高电平持续的时间和最大低电平持续的时间应符合技术条件的要求。 a 内部震荡电路 b 外部震荡电路图3 时钟电路图3.2单片机时钟电路设计电路中的晶振即石英晶体震荡器。由于石英晶体震荡器具有非常好的频率稳定性和抗外界干扰的能力,所以,石英晶体震荡器是用来产生基准频率的。通过基准频率来控制电路中的频率的准确性。同时,它还可以产生振荡电流,向单片机发出时钟信号。图4是单片机的晶振电路。电路中的电容C1和C2的典型值通常选择为30PF左右,该电容的大小会影响振荡电路频率的高低、振荡器的稳定性和起振的快速性。晶体振荡频率的范围通常在1.212MHz。晶体的频率越高,系统的时钟频率越快,单片机的运行速度越快。AT89S52常选择振荡频率12MHz的石英晶体。图4 单片机晶振电路图3.3单片机复位电路设计复位是单片机的初始化操作,只需要给AT89S52的复位引脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就可以使AT89S51复位。复位时,单片机初始化为0000H,从0000H单元开始执行程序。除了进入系统的正常初始化之外,当程序运行错误(如程序跑飞)或操作错误使系统处于锁死状态时,也需要复位键使RST脚为高电平,使AT89S52摆脱“跑飞”或“死锁”状态而重新启动。图5是复位电路图。 图5 复位电路图3.4单片机复位后的状态分析表1 特殊功能寄存器与初始状态表特殊功能寄存器初始状态特殊功能寄存器初始状态A00HTMOD00HB00HTCON00HPSW00HTH000HSP07HTL000HDPL00HTH100HDPH00HTL100HP0P3FFHSBUF不定IP*00000BSCON00HIE0*00000BPCON0*B说明:表中符号*为随机状态。单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值,见上表1所示。系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。51单片机的复位是由RESET引脚来控制的,此引脚与高电平相接超过24个振荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。51单片机在系统复位时,将其内部的一些重要寄存器设置为特定的值,内部RAM内部的数据则不变。3.5电源电路电源是提供电压的装置。把其他形式的能转换成电能的装置叫做电源。电源是向电子设备提供功率的装置,也称电源供应器,它提供计算机中所有部件所需要的电能。电源功率的大小,电流和电压是否稳定,将直接影响计算机的工作性能和使用寿命。有条件的可以使用电源模块来为系统供电。调整管放大电路保护电路采样电路基准电源启动电路+-U0UI由于该系统中的步进电机要求用12V电源供电,而单片机的需要5V供电,所以需要加个稳压芯片这里采用LM7805进行稳压处理。把12V稳降至5V来供给单片机及各芯片的使用。经测试12V完全满足各器件的运行要求。图6三端集成稳压器7805内部结构此设计的电源电路是由7805集成稳压器,桥式整流,滤波电容及电源指示灯组成的。电源电路的核心元件是7805,其内部结构如图6所示。(1)调整管调整管接在输入端与输出端之间,当电网电压或负载电流波动时,调整自身的集-射压降使输出电压保持不变。在7805三端集成稳压电路中,调整管由两个三极管组成的复合管充当,这种结构只要求放大电路用较小的电流即可驱动调整管发射极回路中较大的输出电流,而且提高了调整管的输入电阻。(2)放大电路放大电路将基准电压与从输出端得到的采样电压进行比较,然后再放大并送到调整管的基极。放大倍数愈大,则稳定性能愈好。在7805三端集成稳压器中,放大管也是复合管,电路组态为共射接法,并采用有源负载,可以获得较高的电压放大倍数。(3)基准电源基准电压的稳定性将直接影响稳压电路输出电压的稳定性。在7805中,采用一种能带间隙式基准源,这种基准源具有低噪声,低温漂的特点,在单片式大电流集成稳压器中被广泛应用。(4)采样电路采样电路由两个分压电阻组成,它将输出电压变化量的一部分送到放大电路的输入端。(5)启动电路启动电路的作用是在刚接通直流输入电压时,使调整管,放大电路和基准电源等建立起各自的工作电流,而当稳压电路正常工作时启动电路被断开,以免影响稳压电路的性能。(6)保护电路在7805中,已将三种保护电路集成在芯片内部,它们是限流保护电路,过热保护电路和过压保护电路。图7 电源电路电源电路如图7所示,此电源电路能输出稳定的+5V电压,可以给整机电路上电,所以在电路中起到至关重要的作用。其中7805三端集成稳压器的1脚为输入,3脚为输出,2脚为接地。作用是将由桥式整流电路,整流滤波后得到的直流输入电压转变成稳定的直流+5V输出电压,为了改善纹波电压,常在输入端接入电容CJ3,我所选用的电容容量为100uF。同时,在输出端接上电容CJ2,以改善负载的瞬态响应,CJ2的容量为100uF。两个电容应直接接在稳压器的引脚处。在稳压管的输入端还要接二极管,起到对7805集成稳压器的一种保护作用。3.6电动机驱动原理与分析图8直流电机结构图直流电机直流电能变为机械能,作为机电执行元部件,直流电机内部有一个闭合的主磁路。主磁路通在主磁路中流动,同时与两个电路交联,其中一个电路是用已产生磁通的,称为激磁电路;另一个电路是用来传递功率的,称为功率回路。现行的直流电机都是旋转电枢式。在实际的直流电机中线圈那牢固的嵌在转子铁芯槽中,当导体中通过电流在磁场中受力而转动时,就带动整个转子旋转,这就是直流电机的基本工作原理。直流电机优点有以下几方面:调速范围广,且易于平滑调节。过载,起动,制动转矩大。易于控制,可靠性高。调速时能量损耗较小。(1)直流电机原理及优点用单片机控制直流电机时,需要加驱动电路,为直流电机提供足够大的驱动电流。使用不同的直流电机,其驱动电流也不同,我们要根据实际需求选择合适的驱动电路,通常有以下几种驱动电路:三极管电流放大驱动电路,电机专用驱动模块(如L298),和达林顿驱动器等。如果是驱动单个电机,并且电机的驱动电流不大时,我们可用三极管搭建驱动电路,不过这样要稍微麻烦点。如果电机所需要的驱动电流较大,可直接选用市场上现成的电机专用驱动模块,这种模块接口简单,操作方便,并可为电机提供较大的驱动电流,不过它的价格要贵一些。例如,达林顿驱动器可同时驱动8个电机,每个电机由单片机一个IO口控制,当需要调节直流电机转速时,是单片机的相应IO口输出不同占空比的PWM波形即可。(2) PWM波形PWM是英文Pulse Width Modulation的缩写,是一种按一定规律改变脉冲序列的宽度,以调节输出量和波形的一种调制方式,我们在控制系统中,最常用的是矩形波PWM信号,在控制时需要调节PWM信号,在控制时需要调节PWM的占空比。占空比是指高电平持续时间在一个周期时间内的百分比。控制电机的转速时,占空比越大,速度越快,如果全为高电平,占空比为100%时,速度达到最快。当利用单片机IO口输出PWM信号时,可采用以下三种方法:利用软件延时。当高电平延时时间到时,对IO电平取反变成低电平,然后再延时;当低电平延时时间到时,再对IO电平取反,如此循环就得到PWM信号。利用定时器。控制方法如上,只是用单片机的定时器来定时进行高低电平的翻转,而不利用软件延时。利用单片机自带的PWM控制器,如PIC单片机,AVR单片机,但STC89系列单片机无此功能。图9 PWM信号的占空比4 系统硬件设计 4.1系统主电路图 图10 系统总电路图图 11 实物效果4.2显示电路设计本设计中压力大小采用2位LED数码管显示。在单片机系统中,通常用LED数码显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。八段LED显示器由8个发光二极管组成。其中7个发光二极管构成字型“8”的各个笔画段,另一个小数点为dp发光二极管。LED显示器有两种不同的形式:一种是发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是发光二极管的阴极都连在一起的,称之为共阴极LED显示器。如图10所示。本次设计采用共阳极极接法。LED显示方式有动态显示和静态显示两种方式。本系统采用动态扫描显示接口电路,动态显示接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM各自独立地受I/O线控制。CPU向字段输出口送出字型码时,所有显示器接收到相同的字型码,但究竟是哪个显示器亮,则取决于COM端。也就是说我们可以采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。图12 七(八)段LED显示器本设计P2.0、P2.1、P2.2、P2.3信号一起组成位选通的位选信号,P0.0P0.7信号一起组成段码选通的段选信号,通过软件编程,先把所要显示的数据放入存储单元,然后把数据送入段选通对应的地址,再选通某一个LED,逐步完成四个LED的显示。为了显示字符,要为LED显示器提供显示段码(或称字形代码),组成一个”8”字形字符的7段,再加上1个小数点,共计8段,因此提供给LED显示器的显示段码为1个字节。各段码位的对应关系如下表 2 :段码位D7D6D5D4D3D2D1D0显示段DPGFEDCBA用LED显示器显示十六进制和空白字符与P的显示段码如下表 3 所示:字型共阳极段码共阴极段码字型共阳极段码共阴极段码012C0H3FH990H6FHF9H06HA88H77HA4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H67882H7DHF84H71HF8H07H空白FFH00H80H7FHP8CH73H共阴和共阳结构的LED显示器各笔画段名和安排位置是相同的,当二极管到同事,相应的笔画段发亮,由发亮的笔画段组合从而显示各种字符。8个笔画段dp,g,f,e,d,c,b,a对应于1B(8位)的D7、D6、D5、D4、D3、D2、D1、D0,于是用8位二进制码就可以表示欲显示字符的字形码。例如,对于共阴极LED显示器,当共阴极接地(位0电平),而阳极dp,g,f,e,d,c,b,a各段为01110011时,显示器显示“P”字符,即对于共阴极LED显示器,”P”字符的字形码是0*73。如果是共阳极LED显示器,共阳极接高电平,显示“P”字符的字形代码为10001100(0X8C)。由于LED显示器是以LED为基础的,所以它的光、电特性及极限参数意义大部分与发光二极管相同。但由于LED显示器内含多个发光二极管,所以需要如下参数:发光强度比由于数码管各段在同样驱动电压时,各段正向电流不相同,所以各段发光强度不同。所有段的发光强度中最大值与最小值之比。比值可以在1.5到2.3间,最大不超过2.5。脉冲正向电流若笔画显示器每段典型正向直流工作电流IF,则在脉冲下,正向电流可以远大于IF。脉冲占空比越小,脉冲正向电流可以越大。由于采用4位共阳数码管。用单片机吸收电流驱动,列扫描驱动使用三极管,按每段6mA电流算,全显示字型“8”时,每个数码管需6mA8=48mA。由于四位数码管的驱动电流相同,4组需192mA,因此设计中采用功率三极管S9012驱动。由于单片机每个段码输出口需吸收48mA电流,因此在电路设计中要在P0口加一个上拉电阻。其显示驱动电路如图12所示。 图13显示电路4.3继电器控制电路设计 控制驱动电路主要电动机、继电器及相应的元件构成,它根据液位检测电路的实际需要控制电机的启动、停止,从而能自动地控制液位的高度。 图14 继电器控制电路4 .4报警电路报警电路主要有一蜂鸣器及其驱动电路构成。通过单片机产生控制信号,控制驱动电路,然后在驱动蜂鸣器发声。 图 15 报警电路电路图5 系统软件设计软件编程是系统完全控制的一个重要部分。系统软件程序主要完成初始化工作,输入输出控制,是否需要报警,以及处理完成显示部分与调节电机运转的信号输出。在该系统的软件部分的设计中,主要是系统工作编程内容,在这里对程序流程做介绍,源程序添加在附录中。51设计软件简介Keil C51的V8. xx是目前世界上最好的51单片机的汇编和C语言的开发工具。它支持汇编、C语言以及混合编程,同时具备强大的软件仿真和硬件仿真功能。在此次设计中采用开发环境的正是此项。3 (1)创建项目:执行Project|NewVision Project菜单命令,将新创建一个项目。为项目建一个单独的文件夹,然后选择子文件夹并键入项目的名称。在项目创建之前,需要为新建的项目选择一个CPU。在命名项目名称后,弹出的对话框,其中显示的是器件数据库,用户只要选择所需要的MCU就可以了。选择AT89S52之后,右边一栏是对这个单片机的基本的说明,然后单击确定按钮。2、添加配置启动代码:启动文件STARTUP.C中包含了目标启动代码,可在每个project中加入这个文件。 (2)项目设置:Vision 3允许用户为目标硬件设置选项,可以通过工具条图标打开,也可以用鼠标右击项目窗口中的Files标签页中的Target1,在右键菜单中选择Options for Targe1命令: Output:定义Keil工具的输出文件,并定义生成处理后的执行用户程序;Listing:定义Keil工具输出的所有列表文件;C51:设置C51编译器的特别工具选项;A51:设置汇编器的特殊工具选项;BL51 Locate:定义不同类型的存储器和存储器的不同段位置;BL51 Misc:其他的与连接器相关的设置,如警告或存储器指示;Debug:Vision 3的Debugger设置;Utilities:文件及其Group的特别选项。52软件设计应用环境简介(1)Target标签:单击Target标签,其中各参数设置如下:Xtal(MHz):设置单片机的工作的频率,默认值是24.0MHz。Use On-chip ROM(0x00x1FFF): Flash ROM。单片机的EA引脚接高电平,则一定需要选中这个选项。Memory Model:变量存储空间。(2)Output标签:Select Folder for Objects:选择编译之后的目标文件存储在哪个目录。Name of Executable:设置生成的目标文件的名字。Create Executable:生成omf以及hex文件。Create Hex File:要生成hex文件一定要选中该选项。Create Library:生成lib库文件。(3)Listing标签:Keil C51在编译之后除了声称目标文件之外,还生成*.lst、*.m51的文件。用户可以在Listing标签中设置*.lst、*.m51文件的各种选项。(4)C51标签:用户通过C51标签来设置C51编译器的特别的工具选项。(5)A51标签:A51标签用来设置汇编器的特别工具选项,如宏处理和条件汇编等。(6)BL51 Locate标签:BL51是具有代码分段功能的连接器/重定位器,它组合一个或多个目标模块成一个MCS-51的执行程序。此连接器处理外部和全局数据,并将可重定位的段分配到固定的地址上。连接器自动选择适当的运行库并连接那些用到的模块。也可以在命令行上输入相应的目标模块的名字的组合来运行本连接器。(7)BL51 Misc标签:Misc标签是对BL51 Locate标签的补充设置。(8)Debug 标签:该标签对Vision 3的调试器进行设置。(9)项目编译:项目一旦设置完成,就可以开始编译。单击调试工具条上的图标,编译项目中所有的源文件并生成应用。当应用中有语法错误时,Vision 3将在Output Window的Build标签页显示这些错误和告警信息。双击一个信息将打开此信息对应的文件并定位到语法错误处。在编译项目时,会在输出窗口中出现错误信息,单击其中一条错误信息,将在源代码窗口中出现错误的地方出现一个小箭头。(10)列表文件(C语言):如果在对话框中选中了C Compiler Listing选项下的各种复选框和Assembler Listing 选项下的各种复选框,Vision 3在编译时将产生C语言和汇编语言的列表文件,该文件中包含了源代码文件中的各种指示信息,这些信息对分析源代码非常重要。(11)列表文件(汇编语言):在Vision 3中,集成的A51宏汇编译器是一个8051 MCU系列的宏汇编器。它把汇编语言翻译成机器代码。A51汇编器允许用户定义程序中的每一个指令,在需要极快的运行速度、很小的代码空间、精确的硬件控制时使用。因此用户可以利用Vision 3的集成开发环境进行汇编语言代码的编译和调试。在汇编语言列表文件中,宏汇编编译器报告所有必要的信息,如变量名、函数名、行数以及Vision 3调试器或其他仿真器用来详细调试和分析程序所需要的信息。53系统程序设计说明通过软件控制单片机的功能是单片机的主要特点和优点,程序的设计要考虑合理性和可读性,遵循模块化设计的原则,采用自顶向下的设计方法。模块化设计使程序的可读性好、修改及完善方便。软件设计包括主程序、按键扫描子程序、延时子程序、中断服务子程序、显示子程序、报警程序等等。液位位采集子程序是将传感器产生的信号经单片机处理之后,经显示子程序可以显示出来。延子程序时MCS-51的工作频率为2-12MHZ,我们选用的89S52单片机的工作频率为12MHZ。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/12M)=1us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。中断服务子程序用来实现数码管的动态扫描。显示子程序是将数据处理的结果送显示器显示。本软件流程图设计简易合理,方便易于操控,能够针对不同状态和不同外界条件进行控制,控制品质良好、控制效果明显改善,同时大大提高了控制的抗干扰能力,保证了稳定运行。6 系统调试 6.1系统原理图设计 利用Altium designer6.9软件来进行原理图的绘制,先将原理图做出,然后将其转化成相应的PCB图,布绘制过程中要注意布置线要求:铜箔厚度为00 5mm、宽度为11. 5mm时,通过2A的电流,温度不会高于3,因此导线宽度为1. 5mm (60mil)可满址要求。对于集成电路,尤其是数字电路,通常选0. 020.3mm(0.812mil)导线宽度。当然,只要允许,还是尽可能用宽线尤其是电源线和地线。导线的最小间距主要由最坏情况下的线间绝缘电阻利击穿电压决定。对于集成电路,尤其是数字电路,只要工艺允许,可使问距至58mm。6.2 软件的调试 软件的设计与调试实行分模块实现方法。本设计软件调试中的分模块包括显示功能模块、抢答功能模块以报警功能模块。各个独立模块功能调试成功后,将这些模块程序通过主程序合并在一起,最后再对合并后的总程序进行调试。,再烧写进单片机看能否在实际电路板上正常工作。编程语言的软件设计采用C语言编写.首先对程序进行调试,没有芯片的支持,系统将无法正常运行,而一个程序是否能正常运行,首先要检查它的语法上有没有错误,检查程序语法的错误。利用Keil uVision4软件对程序进行调试。首先将程序在程序编辑器中编辑,因为在调试时没有实验箱,所以在调试时只能看有没有错误,即只能对程序进行编译连接,如果有编译连接错误,将鼠标指向窗口内的错误提示信息,双击左键,光标将自动跳到编辑窗口源程序文件发生错误的地方,对程序进行修改。在修改正确之后就可以产生一个HEX文件,该文件就是程序的代码文件。将程序烧入电路,按功能要求对电路进行调试,并反复对程序进行修改调试,以达到基本功能要求。然后把程序烧制程序成功之后,开始进行硬件调试。LED显示问题:本次设计的最终方案是采用LED显示屏实现显示功能,最初数码管显示不正常,出现闪烁现象。通过调试发现这是由于延时时间选择不当会使人眼产生视觉暂留效果,每一次显示时都必须加入适当的时间延时。由于一开始所选用的延时时间太短,因此出现闪烁现象,在增加显示延时之后,数码管显示正常。按键消抖问题:在最初编写程序时,键盘控制部分按照常例加入了按键消抖程序。在实际调试中,发现按键出现反应不灵敏现象。这是因为在键盘控制程序中,除了消抖程序外,还加入了按键提示音程序(每次按压键盘时,蜂鸣器发出“哔”的一声提示音)。由于在调用提示音子程序时,实际上已实现了一次时间的延时,因此再加入按键消抖程序的延时后,致使延时时间过长而出现按键反应不灵敏问题。通过调试发现提示音子程序本身所产生的延时已能够满足按键消抖时间延迟的要求,因此在键盘控制程序中无需再加入专门的按键消抖程序。在去除按键消抖程序后,按键控制灵敏度恢复正常。6.3 硬件调试硬件的调试是对硬件电路电气性能的调试,它的目的是验证制作者在焊接电路板时是否出现失误。首先整个电路先不上电利用万用表R1档测量各芯片电源脚与电源输出端阻值是否为0。然后利用万用表R1档测量各芯片地与电源输出端看阻值是否为0。接着用R1档测电源与地是否短路。最后不插芯片,接通电源,黑表笔接地,红表笔分别测各电源引脚,看是否有5V供电。经过这一系列测试之后则可说明硬件电路在焊接方面没有问题,于是将单片机接入电路中,然而当我给单片机拷入驱动程序时,发现问题层出不穷,按键有时不灵敏,特别是红外使能按键,有时按下之后照样可以接收红外信号,于是重新对电路进行检查,后来换了一个按键问题得以解决。 结束语本设计是采用一个单片机系统来进行洗衣机控制器设计与制作,它具有全集成化,智能化,高精度,高性能,高可靠性和低价格等优点,是一个值得推广的一种方法。在设计本作品时,我通过查阅网络与图书馆搜集到的资料,再加上指导老师的耐心指导与资料提供,设计出了这一套洗衣机控制系统的主要硬件结构和软件结构,基本完成了任务书的要求,但是由于设计的理论基础尚浅,对课题的研究经验还不成熟,使得在技术的解决与运用上显得粗糙了一些,在某些技术关键上的叙述不能达到详细、精辟。但是这个系统的设计却不缺乏自己的特点和创新点,特归纳为以下几点:(1)该产品的互换性好,响应速度快,抗干扰能力强,外围电路简单易懂,体积小。(2)该系统能用软件的方式设计硬件,所以用软件方式设计的系统向硬件系统的转换是由有关开发软件自动完成的。(3)设计过程中可以对有关软件进行各种仿真,且系统可现场编程,在线升级,所以有不同的功能可以实现。(4)可以从以前的组合设计转向真正的自由设计,所以设计的移植性好,效率高。可适合大规模的现场操作。(5)因为整个系统可集成在一个芯片上,因此体积小,外围电路简单、功耗低,可靠边性更高。在软件上,充分利用了AT89C52的强大功能,实现了信息的快速处理和控制、显示功能,能精确监测。更进一步实现了自动化,高效率。 由于本人的水平有限,设计当中,难免会有不少的缺点和不足之处,恳请教导老师批评并改正。本设计通过采用AT89S52单片机,通过水位检测机构,LED数码显示器,LED发光二极管,独立键盘,继电器,电动机等硬件实现了上述功能要求。 应用表明该系统具有时间设置,紧急停止,到时报警等功能。其性能可靠,提到了效率,降低了能耗,减少了噪音。参考文献1蔡美琴,张为民,何金儿.MCS-51系列单片机系统及其应用M高等教育出版社,20092毛谦敏,洪潭元,肖艳萍.单片机原理及应用设计M国防工业出版社,社,20053雷思孝,冯育长.单片机系统设计及工程应用M.西安电子科技大学出版社,20054何宏,龚威,志宏.单片机原理与接口技术M.国防工业出版社,20065张树江,王成安.模拟电子技术M.大连理工大学出版社,20096刘峰,孙艳萍.电力电子技术M.大连理工大学出版社,20077陈小忠,黄宁.单片机接口技术实用子程序M.人民邮电出版社,2005:2-88Charles K.Alexander,Matthew N.O.Sandiku.Fundamentals of electric circuitM.清华大学出版社,2009:78-82 9Janice Mazidi.8051 Microcontroller and Embedded SystemsM.Prentice Hall,2009:82-8410Brian W.Kernighan.The C Programming LanguageM.Prentice Hall PTR,2009:611 张立民,隋燕,李维祥.现代信息技术实验M.清华大学出版社,2008.12 康华光.电子技术基础数字部分M.第四版,北京:高等教育出版社,2000.13 蔡美琴. MCS-51系列单片机系统及其应用M.北京:高等教育出版社,1992.14 周兴华.手把手教你学单片机C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年医生初级面试必-备知识点与预测题详解
- 2025年村级环保人才招聘笔试模拟题及答案详解
- 公务员上岸面试题及答案
- 公务员面试题及答案合集
- 公务员遴选及答案面试题
- 2025年公墓设计师招聘笔试宝典全真模拟试题及答案
- 2025年医学影像诊断技术专业考试模拟试题及答案
- 校长科研知识培训课件
- 2025年海关聘用制工作人员招聘考试模拟试题及答案
- 2025年高职院校工会干事招聘面试指南及模拟题解析
- 亚马逊运营每周工作汇报
- 2025年郑州人才公司面试题及答案
- 2025年跨境电子商务测试题及答案
- 休克的诊断和治疗课件
- 广东省湛江市2024-2025学年高一下学期期末调研测试政治试卷(含答案)
- 2025-2030中国汽车玻璃水行业竞争优势与前景趋势洞察报告
- 厨房刀具安全培训课件
- 私密抗衰培训课件
- 2025年全国高中物理竞赛试题及答案
- 2024风电项目开工管理办法
- 供热企业运营管理制度
评论
0/150
提交评论