基于单片机控制的智能洗衣机控制器毕业论文(完整程序 电路图).doc

上传人:仙人指路1688 文档编号:3939702 上传时间:2023-03-28 格式:DOC 页数:71 大小:933.50KB
返回 下载 相关 举报
基于单片机控制的智能洗衣机控制器毕业论文(完整程序 电路图).doc_第1页
第1页 / 共71页
基于单片机控制的智能洗衣机控制器毕业论文(完整程序 电路图).doc_第2页
第2页 / 共71页
基于单片机控制的智能洗衣机控制器毕业论文(完整程序 电路图).doc_第3页
第3页 / 共71页
基于单片机控制的智能洗衣机控制器毕业论文(完整程序 电路图).doc_第4页
第4页 / 共71页
基于单片机控制的智能洗衣机控制器毕业论文(完整程序 电路图).doc_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《基于单片机控制的智能洗衣机控制器毕业论文(完整程序 电路图).doc》由会员分享,可在线阅读,更多相关《基于单片机控制的智能洗衣机控制器毕业论文(完整程序 电路图).doc(71页珍藏版)》请在三一办公上搜索。

1、Tianjin University of Technology and Education毕 业 设 计专 业: 电子信息工程 二一 年 六 月毕业设计基于51单片机的洗衣机控制器设计Based on 51serial single chip computer Controller design for dishwasher machine系 别:电子工程学院2010 年 6 月摘 要洗碗机又称洗碟机或餐具清洗机,是一种代替人工洗涤碗、碟、杯、盘和勺等餐具的家用电器。家用洗碗机在我国具有巨大的市场潜力,随着洗碗机性能的不断改善及消费者认识的不断提高,家用洗碗机必将成为我国“21世纪厨房新亮点

2、。基于模糊控制的全自动洗碗机自动控制系统,以单片机AT89S52为核心,可以实现洗碗机的智能控制,提高洗碗质量,节约能源。硬件结构框图及软件流程图是该系统的重要组成部分,在整个控制过程中,模糊控制软件起了决定性的作用基于51单片机的洗碗控制系统,控制面板由按键、指示灯和LCD 显示器组成。按键选择洗衣机工作方式,指示灯配合按键工作,LCD 显示器则显示洗碗机洗涤和排水时间。洗碗机的整体电路模块包括键盘矩阵、指示灯、电动机控制及电源电路。控制程序设计包括定时中断服务程序、外中断服务程序及主程序。关键词:模糊控制;洗衣机;全自动;洗衣控制系统;51单片机;控制程序ABSTRACTDishwashe

3、r is also known as dining utensils cleaning machine,is an artificial substitute for washing bowls,plates,cups,plates,spoons or other utensils of household appliancesWith the improving of household dishwasher and the rising of consumer awareness,household dishwasher has a huge market in china,househo

4、ld dishwasher is boundto become a”new hi9111ight ofthe 21st century kitchen”Based on fuzzy control, completely automatic washing machine control system has AT89C51single chip computer as a core, can realize intelligent control to save energy and enhance quality. The hardware diagram and software flo

5、w chart are important part of the system. The fuzzy control software play a decisive role in the whole control process. Based on 51 serial single chip computer, control system of washing machine consists of a control panel which includes the pressing keys, displaying lamps and LED device. The pressi

6、ng keys select washing operation mode, the displaying lamps cooperate with the pressing keys. LED device displays time span for washing and dehydration. The circuit module includes key matrix, lamp, motor control and power supply. The software includes interruption program and main program. Key Word

7、s:Fuzzy control; washing machine; completely automation; control system for washing; 51serial single chip computer; control program目 录1引言11.1问题的提出11.2课题研究的意义12设计任务22.1设计的主要内容22.2主要技术指标23方案论证33.1选用单片机AT89S5233.2选用电机驱动模块L298N44硬件电路设计54.1系统整体框图54.2人机交互硬件54.2.1 液晶显示屏54.2.2 键盘124.2.3 LED及蜂鸣器134.3 电机驱动模块L

8、298N134.3.1功能特性134.3.2引脚定义144.4单片机AT89S52154.4.1 AT89S52功能特性154.4.2 芯片结构154.4.3 引脚功能165软件设计195.1 主程序流程图195.2 液晶显示子程序流程图205.3 键盘驱动程序215.3.1 初始化子程序215.3.2 按下判断子程序215.3.3 等待抬起子程序215.3.4 键盘扫描子程序225.4 键盘子程序流程图236测试结果及分析246.1 硬件电路测试246.2 系统测试246.2.1 测试方法246.2.2 功能测试及分析24结论25致谢语26参考文献27附录1 原理图28附录2 程序29附录3

9、 英文原文51附录4 中文译文591引言1.1 问题的提出电子技术和微型计算机的迅速发展,促进了微型计算机测量和控制技术的迅速发展和广泛应用。可以说微机测控技术的应用已渗透到国民经济的各个部门。现有的机械式双缸洗衣机定时器存在着停摆,轮子打滑,进水等可靠性低的问题,为提高产品的质量,本文提出了一种采用AT89S52设计洗衣机控制器的设想,由于AT89S52芯片具有价格低、体积小、可靠性高等特点,它可以有效地提高产品的性能价格比,并可使产品更新换代。因此设计了基于51单片机的洗衣机控制器。1.2 课题研究的意义世界上第一台洗衣机是在1874年由美国的比尔 布莱克斯通研制成功的。我国洗衣机于195

10、7年在沈阳试制成功。到了八十年代,我国洗衣机的生产量突飞猛进。1984年,年产量已达到578万台,跃居世界第一位。1988年年产量为1046.17万台,1989年年产量为826万台,1991年年产量为682.98万台。 洗衣机洗涤衣服,省时省力,给人们带来了方便,受到广大群众的欢迎。随着经济的发展,人民生活水平的提高,洗衣机越来越普及,高档洗衣机也不断进入家庭。 将来,人们不仅仅是要求洗衣机的全自动化,更要求以后的洗衣机更智能、更环保、更经济。而研究者为了满足人们的需求,会使单片机和其他芯片的集成度更高、应用电路更简单、材料更环保。本控制器的设计从功能、硬件、软件、工作过程等方面描述一个以AT

11、89S52作为控制核心的洗衣机控制系统。该系统硬件简单,成本低廉,但由于多处使用复用技术,其功能和普通洗衣机一样齐全。具有浸泡功能是本系统的一大特色。2设计任务2.1设计的主要内容1. 洗涤功能洗涤时正、反转驱动时间各为3秒,间歇时间为2秒。2. 三种洗衣工作程序标准程序、经济程序和单独程序。标准程序是进水洗涤/ 漂洗排水脱水,经济程序是进水洗涤 结束(留水不排不脱) ,单独程序是排水脱水结束。3. 浸泡功能开启浸泡功能后,在上述前三种工作程序的第一次进水之后,会进入浸泡环节,先洗涤1分钟以搅匀衣物和洗涤剂,再停机浸泡10分钟,然后退出浸泡环节进入洗涤环节。4. 暂停功能当按下暂停键/ 启动键

12、时,洗衣机须停止工作,再按该键,洗衣机又能按原来所选择的工作方式继续工作。5. 声光显示功能洗衣机各种工作方式的选择和各种工作状态均有声、光提示或显示。2.2主要技术指标(1)工作电压:+5V和+12V; (2)待机电流:50mA;(3)工作电流:500mA; (4)声光显示;3方案论证3.1选用单片机AT89S52方案一:采用型号为AT89S52的51单片机芯片。51内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算术逻辑单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC微控制器最高至10倍的

13、数据吞吐率。AT89S52有如下特点:8K字节的系统内可编程Flash(具有同时读写的能力,即(RWW),512 字节EEPROM,1K字节SRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及六个可以通过软件进行选择的省电模式。 工作于空闲模式时CPU停止工作,而USART、两线接口、SRAM、T/C、SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,

14、所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;Standby模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby模式下则允许振荡器和异步定时器继续工作。本芯片是以Atmel高密度非易失性存储器技术生产的。片内ISP Flash允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(Application Flash Memor

15、y)。在更新应用Flash存储区时引导Flash区(Boot Flash Memory)的程序继续运行,实现了RWW操作。 通过将8位RISC CPU与系统内可编程的Flash集成在一个芯片内,ATmega16 成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。方案二:选用其他单片机。无论从单片机的资源,还是执行速度进行比较,51单片机都要比其他单片机性价比高。而且51单片机的价格比其他单片机便宜。根据以上的两种方案的比较,所以在本电路设计时采用的是AT89S52芯片。3.2选用电机驱动模块L298N方案一:采用L298N作为直流电机的驱动器L298N是一款高集成度、

16、双桥结构的直脚步进电机驱动器。它具有高达50v电压和4A电流的驱动能力。电路简单、性能稳定、使用比较方便。一片L298N可以同时驱动两个电机。 方案二:使用分立原件搭建电机驱动电路使用分立原件搭建电机驱动电路造价低廉,在大规模生产中使用广泛。但分立原件H桥电路工作性能不够稳定,较易出现硬件上的故障,故放弃了这一方案。因此采用L298N作为驱动芯片,驱动电机的正反转。4硬件电路设计主 控 制 器LED显 示L298N驱动电路单片机复位时钟振荡按键选择4.1系统整体框图 图4-1 系统整体框图4.2人机交互硬件人机交互硬件主要包括液晶显示屏、键盘和单片机。4.2.1 液晶显示屏我选用了OCM192

17、64_1 是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及 19264 全点阵液晶显示器组成。可完成图形显示,也可以显示 124 个(1616 点阵)汉字。主要技术参数和性能:1、电源:VDD:+5V;2、显示内容:192(列)64(行)点3、全屏幕点阵4、七种指令5、与 CPU 接口采用8位数据总线并行输入输出和8条控制线6、占空比1/647、工作温度:-20C +70C,存储温度:-30C +80C一、主要硬件构成说明图4-2 主要硬件构成IC4 为行驱动器。IC1,IC2,IC3 为列驱动器。IC1,IC2,IC3,IC4 含有以下主要功能器件。了解如下器件有利于对模块编程。1、

18、指令寄存器(IR)IR是用于寄存指令码,与数据寄存器数据相对应。当 D/I=0 时,在E信号下降沿的作用下,指令码写入IR。2、 数据寄存器(DR)DR是用于寄存数据的,与指令寄存器指令相对应。当D/I=1时,在下降沿作用下,图形显示数据写入DR,或在E信号高电平作用下由DR读到DB7DB0数据总线。DR 和DDRAM之间的数据传输是模块内部自动执行的。3、 忙标志(BF)BF标志提供内部工作情况。BF=1表示模块在内部操作,此时模块不接受外部指令和数据。BF=0时,模块为准备状态,随时可接受外部指令和数据。利用STATUS READ指令,可以将BF读到DB7总线,从检验模块之工作状态。4、

19、显示控制触发器(DFF)此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示(DISPLAY ON),DDRAM 的内容就显示在屏幕上,DFF=0为关显示(DISPLAY OFF)。DDF的状态是指令DISPLAY ON/OFF和RST信号控制的。5、 XY地址计数器 XY地址计数器是一个9位计数器。高3位是X地址计数器,低6位为Y地址计数器,XY地址计数器实际上是作为DDRAM的地址指针,X地址计数器为DDRAM的页指针,Y地址计数器为DDRAM的Y地址指针。X地址计数器是没有记数功能的,只能用指令设置。Y地址计数器具有循环计数功能,各显示数据写入后,Y地址自动加 1,Y地址指针从0到

20、63。6、 显示数据RAM(DDRAM)DDRAM是存储图形显示数据的。数据为1表示显示选择,数据为0表示显示非选择。DDRAM与地址和显示位置的关系见DDRAM地址表(见第 6 页)。7、 Z地址计数器 Z地址计数器是一个6位计数器,此计数器具备循环记数功能,它是用于显示行扫描同步。当一行扫描完成,此地址计数器自动加1,指向下一行扫描数据,RST复位后Z地址计数器为0。Z 地址计数器可以用指令DISPLAY START LINE预置。因此,显示屏幕的起始行就由此指令控制,即DDRAAM的数据从哪一行开始显示在屏幕的第一行。此模块的DDRAM共64 行,屏幕可以循环滚动显示64 行。二、引脚说

21、明见表3-1三、指令说明指令表:1. 显示开关控制(DISPLAY ON/OFF)表4-2 开关控制代码表代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 形式 0 0 0 0 1 1 1 1 1 D D=1:开显示(DISPLAY ON)意即显示器可以进行各种显示操作 D=0:关显示(DISPLAY OFF)意即不能对显示器可以进行各种显示操作2. 设置显示起始行表4-3 显示起始行代码表代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 形式 0 0 1 1 A5 A4 A3 A2 A1 A0 表4-1 引脚说明管脚号

22、管脚名称 电平 管脚功能描述 1 VSS 0V 电源地2 VDD +5V 电源电压3 VO -5V 液晶显示器驱动电压4 D/I(RS) H/L D/I=“H”,表示DB7DB0为显示数据 D/I=“L”,表示DB7DB0为显示指令数据5 R/W H/L R/W=“H”,E=“H”数据被读到DB7DB0 R/W=“L”,E=“HL”数据被写到IR或DR 6 E H/L R/W=“L”,E信号下降沿锁存DB7DB0 R/W=“H,E=“H”DDRAM数据读到DB7DB0 7 DB0 H/L 数据线8 DB1 H/L 数据线9 DB2 H/L 数据线10 DB3 H/L 数据线11 DB4 H/L

23、 数据线12 DB5 H/L 数据线13 DB6 H/L 数据线14 DB7 H/L 数据线15 /CS1 L 选择IC1,即左64列16 /RST L 复位控制信号,/RST=0有效17 /CS2 L 选择IC2,即中64列18 /CS3 L 选择IC3,即右64列19 VEE -13V LCD驱动负电压20 LED+ +5V LED背光电源正前面在Z地址计数器一节已经描述了显示起始行是由Z地址计数器控 制的。A5A0的6位地址自动送入Z地址计数器,起始行的地址可以是0 63 的任意一行。 例如: 选择A5A0是62,则起始行与DDRAM行的对应关系如下: DDRAM 行:62 63 0 1

24、 2 328 29 屏幕显示行:1 2 3 4 5 631 323. 设置页地址表4-4 页地址代码表代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 形式 0 0 1 0 1 1 1 A2 A1 A0 所谓页地址就是DDRAM的行地址,8行为一页,模块共64行即8页, A2 A0表示07页。读写数据对地址没有影响,页地址由本指令或RST信号 改变复位后页地址为0。页地址与DDRAM的对应关系见DDRAM地址表。4. 设置Y地址(SET Y ADDRESS)表4-5 Y地址代码表代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 D

25、B0 形式 0 0 0 1 A5 A4 A3 A2 A1 A0 此指令的作用是将A5A0送入Y地址计数器,作为DDRAM的Y地址指 针。在对DDRAM进行读写操作后,Y地址指针自动加1,指向下一个DDRAM单元。5.读状态(STATUS READ)表4-7 状态代码表代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 形式 1 0 BUSY 0 ON/OFFRET0 0 0 0 当R/W=1 D/I=0时,在E信号为“H”的作用下,状态分别输出到数据总线(DB7DB0)的相应位。BF:前面已叙述过(见BF标志位一节)。ON/OFF:表示DFF触发器的状态(见D

26、FF触发器一节)。RST:RST=1表示内部正在初始化,此时组件不接受任何指令和数据。6.写显示数据(WRITE DISPLAY DATE)表4-8 写显示数据代码表代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 形式 0 1 D7 D6 D5 D4 D3 D2 D1 D0 D7D0为显示数据,此指令把D7D0写入相应的DDRAM单元,Y地指针自动加1。7.读显示数据(READ DISPLAY DATE)表4-9 读显示数据代码表代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 形式 1 1 D7 D6 D5 D4 D3

27、 D2 D1 D0 此指令把DDRAM的内容D7D0读到数据总线DB7DB0,Y地址指针自动加1。四读写操作时序 1.写操作时序 图4-3 写操作时序图2.读操作时序 图4-4 读操作时序图 图4-5 液晶显示器原理图名 称 符 号 最小值 典型值 最大值 单位 E周期时间 Tcyc 1000 - - ns E高电平宽度 Pweh 450 - - ns E低电平宽度 Pwel 450 - - ns E上升时间 Tr - - 25 ns E下降时间 Tf - - 25 ns 地址建立时间 Tas 140 - - ns 地址保持时间 Tah 10 - - ns 数据建立时间 Tdsw 200 -

28、- ns 数据延迟时间 Tddr - - 320 ns 写数据保持时间 Tdhw 10 - - ns 表4-104.2.2键盘图4-6 键盘按键功能有:模式选择键、确定键、暂停键。4.2.3 LED及蜂鸣器LED指示系统当前的通电情况,当完成洗衣时蜂鸣器提示报警,原理图如下:D0Q21KR3P3.0470R8图4-7 蜂鸣器原理图4.3 电机驱动模块L298N图4-8 L298N电机驱动芯片4.3.1功能特性L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两

29、个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动两个二相电机,也可以驱动一个四相电机,可以直接通过电源来调节输出电压;并可以直接用单片机的I/O口提供信号;而且电路简单,使用比较方便。4.3.2引脚定义一片L298N中包含了两路控制放大电路,也就是说,用一片L298N芯片可以搭成两个同类型电机的控制电路。取其中的一路搭建的电

30、机控制电路如下图所示。其中,13、14脚为电机控制输出端,直接接在电机的两个输入端;10、11、12脚为逻辑电路输入端,可以直接与单片机、PLC等控制芯片相连;9脚VSS接+5V的逻辑电路电源,4脚VS接电机的电源,电压大小即电机额定输入电压;8脚接地。这里VSS及VS两端与地之间须要接一个100nF的电容,电容的位置要尽量靠近接地点。如果这两端与地之间在距离接地点较远的位置已经接有较大容量的电容的话,那么在靠近接地点的地方还是需要通过一个小一些的电容接地。表4-11 L298N引脚功能管脚名称功能1,15输出电流控制端A,B通过改变该端与地之间的电阻分别改变两路控制电路的输出电流大小,也可以

31、外接控制电路。2,3输出端1,2第一路控制电路的输出端,可直接接电机的两个输入端。其输出电流可通过1脚改变。4电机电源VS输入电机的额定输入电压。该端与地之间须接一只100nF的滤波电容。5,7输入端1,2第一路控制电路的输入端,输入TTL电平6,11使能端A,B两路控制电路的使能端,TTL电平输入,高电平有效。8接地端接地9逻辑电路电源VSS为逻辑电路供电,该端与地之间须接一只100nF的滤波电容。10,12输入端3,4第二路控制电路的输入端,输入TTL电平13,14输出端3,4第二路控制电路的输出端。其输出电流可通过15脚改变4.4单片机AT89S52控制电路主要组成部分为单片机AT89S

32、52,通过AT89S52与L298N来控制电机的正反转。AT89S52还控制液晶屏的显示和按键等一些工作4.4.1 AT89S52功能特性AT89S52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,片内含8k bytes的可重复编程的Flash存储器和256 bytes的随机存取数据存储器(RAM),3个16位可编程定时计数器,1个全双工串行通信口,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统。AT89S52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash

33、存储器可有效地降低开发成本。4.4.2 芯片结构AT89S52单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时器/计数器、并行I/O口、串行I/O口和中断系统等几大单元以及数据总线、地址总线和控制总线三大总线构成。(1) 中央处理器中央处理器(CPU)是整个单片机的核心部件,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。(2) 程序存储器AT89S52共有8KB个E2PROM,用于存放用户程序,原始数据或表格。(3) 数据存储器(RAM)AT89S52内部有128个8位用户数据存储单元和128个专用寄存器单

34、元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据。所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。(4) 并行输入输出口AT89S52共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。(5) 串行输入输出口AT89S52内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。(6) 定时/计数器AT89S52有三个16位的可编程定时/计数器,以实现定时或计数功能,并以其定时或计数结果对单片机进行控制。(7) 中断系统AT89S

35、52具备较完善的中断功能,有两个外中断、三个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有两级的优先级别选择。图4-9 内部结构框图4.4.3 引脚功能图4-10 AT89S52芯片引脚图(1) 电源和晶振VCC:供电电压。GND:接地。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。(2) I/O口 P0口P0口的字节地址为80H,位地址为80H87H。P0口既可以作为通用I/O口使用,也可以作为单片机系统的地址/数据线使用。当作为输出口使用时,由于输出电路是漏极开路,必须外接上拉电阻才能有高电平输出。 P1口P1口的字节地址为90H

36、,位地址为90H97H。P1口只能作为通用I/O口使用。当作为输出口使用时,已能对外提供推拉电流负载,外电路无需再接上拉电阻;当作为输入口使用时,应先向其锁存器写入“1”,使输出驱动电路的FET截止。 P2口P2口的字节地址为0A0H,位地址为0A0H0A7H。P2口用于为系统提供高位地址,但只作为地址线使用而不作为数据线使用。此外,P2口也可作为通用I/O口使用。 P3口P3口的字节地址为0B0H,位地址为0B0H0B7H。P3口可以作为通用I/O口使用,但在实际应用中它的第二功能信号更为重要。P3口引脚的第二功能,如下所示: P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3

37、.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(计时器0外部输入)P3.5 T1(计时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)(3) 4根控制线 RST:复位信号。保持RST脚两个机器周期以上的高电平,就可以完成CPU系统复位操作,使系统的一些单元内容回到规定值。 /PSEN:外部程序存储器读选通信号。在读外部ROM时,/PSEN有效(低电平),以实现外部ROM单元的读操作。 /EA/VPP:访问程序存储器控制信号。当/EA信号为低电平时,对ROM的读操作限定在外部程序存储器;而当/EA为高电平时,则对ROM

38、的读操作是从内部程序存储器开始,并可延续至外部程序存储器。 ALE/PROG:地址锁存控制信号。在系统扩展时,ALE用于控制P0口输出的低8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。此外由于ALE是以六分之一晶振频率的固定频率输出的正脉冲,因此也可作为外部时钟或外部定时脉冲使用。5软件设计5.1 主程序流程图当单片机上电开始执行之后,对液晶和单片机寄存器进行初始化,同时设置串口控制字及波特率,接着进入键盘扫描程序和接收程序。若有某个按键按下,则执行相应的键盘子程序;若单片机判断接收到数据,则开始进行CRC校验,如果数据正确就通过液晶显示传送的信息。主程序流程图见图5-1。开始

39、初始化设置定时器工作方式扫描键盘,同时判断是否有数据接收判断是否接收到数据判断是否有按键按下NNYYCRC校验是否正确执行相应的程序数据处理送入显示图5-1 主程序流程图5.2 液晶显示子程序流程图液晶显示模块HY-19264内有一个忙标志位ACC.7,它反映了控制器HD61202内部运行时序状态。当ACC.71时,表示内部操作正在运行,不能接受外部数据;当ACC.70时,表示已准备好接收,可以随时接收单片机发来的数据和命令,这是HY-19264向单片机发出的唯一联络信号。液晶显示子程序流程图见图5-2。入口对HY-19264初始化写入显示设置命令ACC.7=0?延时1ms获得显示RAM地址Y

40、N延时1ms检测忙信号写入相应的数据数据显示完毕返回主程序图5-2 液晶显示子程序流程图5.3 键盘驱动程序键盘驱动程序包括四个子程序:5.3.1 初始化子程序void KeyBoardInit(void) PORT_Line &= 0xc3;/输出低电平 DDR_Line |= 0x3c;/输出 PORT_Row = 0xff;/上拉 DDR_Row = 0x00;/输入如上所示程序,键盘初始化子程序定义IO的输入输出属性及初始电平值。5.3.2 按下判断子程序uint8 Key_Down(void) /判键盘是否活动函数 PORT_Line &= 0xc3;/输出低电平if (PIN_Ro

41、w!=0xff) /如果有键按下return 1;elsereturn 0; /否则返回0该程序应该在主循环中循环调用,当有按键按下时,程序返回1,否则返回0。5.3.3 等待抬起子程序uint8 WaitKeyUp(void) uint16 i,j;i=0; while(Key_Down() i+;if(i65530)i=0;j+;if(j10)return 0;return 1;当调用该程序时,过程会被阻塞,一直到按键抬起,程序才会返回1,过程恢复;如果等待超时,程序返回0,过程也会恢复。5.3.4 键盘扫描子程序void Key(void) if(key_1=0) key1_flay=1; if(key1_flay=1) key1_flay=0; a+; a=a&0x0f; delay1(100); switch(a) /单独脱水 / case 0x01: xygz(3,4,fenhao1); xygz(3,6,fenhao1); xygz(3,2,hz12); a=1; break; / 经济/ case 0x02: xygz(3,6,fenhao1); xygz(3,2,fenhao1

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号