CS模型的智能家居电源控制系统硕士毕业论文

上传人:1777****777 文档编号:36131217 上传时间:2021-10-29 格式:DOC 页数:51 大小:1.24MB
收藏 版权申诉 举报 下载
CS模型的智能家居电源控制系统硕士毕业论文_第1页
第1页 / 共51页
CS模型的智能家居电源控制系统硕士毕业论文_第2页
第2页 / 共51页
CS模型的智能家居电源控制系统硕士毕业论文_第3页
第3页 / 共51页
资源描述:

《CS模型的智能家居电源控制系统硕士毕业论文》由会员分享,可在线阅读,更多相关《CS模型的智能家居电源控制系统硕士毕业论文(51页珍藏版)》请在装配图网上搜索。

1、浙江大学硕士学位论文 摘要基于C/S模型的智能家居网络控制系统摘要几年前一些经济比较发达的国家提出了“智能住宅”的概念,住宅智能化是智能家居的先导,智能家居是住宅智能化的核心。智能家居是利用计算机、通讯与网络、自动控制、IC卡技术,通过有效的传输网络,将多元信息服务与管理、物业管理与安防、住宅智能化系统集成,为住宅小区的服务与管理提供高技术的智能化手段,以期实现快捷高效的超值服务与管理,提供安全舒适的家居环境”。 随着计算机技术,通信技术和嵌入式系统的发展,智能家居正逐步走进人们的生活。一个典型的现代智能家居系统提供安防、家电控制、远程抄表和信息服务等功能。低功率和高性能CPU的发展,为开发智

2、能家居提供了现实可能性。其内部构成包括嵌入式处理器、相关支持硬件、嵌入式操作系统以及应用层的软件包等。针对智能家居需求,本文设计并实现了智能家居中的控制系统。采用计算机网络控制方式,结合了基于ARM的嵌入式系统、单片机系统、计算机网络、WIN32编程等技术,实现了对开关型家电的控制。本文的智能家居控制系统设计方案是:以Philips LPC2103实验板为硬件平台,建立了嵌入式系统开发环境,移植了uc/os内核;开发的应用软件分为单片机子系统、PC客户端和PC服务端三个模块。最终完成相关软硬件设计、调试,经测试,完全实现预期功能。最后提出系统改进的方案和措施。在硬件方面着手于Philips L

3、PC2103芯片的数据手册,通过对其针脚的定义,进行相关电路的设计,实现了单片机串口的通讯、电脑数据的接收和处理、继电器电路的开关和复位电路的实现。在软件方面,在Delphi 2007中实现了PC服务端和客户端的数据收发和处理,并使服务端在接收到特定字符后发送相应的指令到串口。基于LPC 2103的智能家居远程控制系统提供了一种对家庭普通家用电器进行远程控制的新思路,是嵌入式的一项有效的尝试和应用。关键词:LPC 2103,Indy 10,智能家居,远程控制ii浙江大学硕士学位论文 AbstractAbstract A few years ago a number of economicall

4、y developed countries put forward the smart house concept; domestic intelligence is a leader in smart home, intelligent home, the domestic intelligence core. Smart Home is the use of computer, communications and networks, self-control, IC card technology, through an effective transport network, mult

5、i-information services and management, property management and security, home intelligent system integration for the residential district of high-tech services and management intelligent tools in order to achieve fast and efficient value for money services and management, providing a safe and comfor

6、table home environment. With computer technology, communication technology and embedded system development, intelligent home is getting into peoples lives. A typical modern smart home security systems, home appliance control, remote meter reading and information services functions. Low-power and hig

7、h-performance CPU development, for the development of intelligent home offers a real possibility. Its internal composition, including embedded processors, related support hardware, embedded operating system and application layer software packages and so on. In response to this phenomenon, this paper

8、 designed and implemented one of the intelligent home control system. Control method using a computer network, combined with ARM-based embedded system, microcontroller systems, computer networks, WIN32 programming techniques to realize the switching-type appliance control. This article system throug

9、h a combination of software and hardware in order to experiment board for the Philips 2103 hardware platform, the establishment of the embedded system development environment, transplantation of uc / os-core; developed application software, is divided into microcontroller subsystem, PC client and PC

10、 server-side three modules. Finalization of the relevant hardware and software design, debug, tested, fully achieve the desired functionality. Concludes with system improvements, programs and measures. On the hardware side to precede on the Philips LPC2103 datasheet, through its pin definition of th

11、e related circuit design, implementation of the microcontroller serial port communication, computer data reception and processing circuit relay switch and reset circuit implementation. On the software side, in the Delphi 2007 to achieve a PC server and client for data transmission and processing, to

12、 enable the service to a specific character on the receiving end, after sending the appropriate commands to the serial port. LPC 2103-based Remote Control System for Smart Home provides a family for common household appliances for remote control of new ideas is an effective attempt to embed and appl

13、ications. Key Words: LPC 2103, Indy 10, smart homes, remote control iv浙江大学硕士学位论文 目录目录摘要iAbstractii图目录III表目录1第1章 绪论11.1 课题背景11.2 本文研究的内容11.3 项目软硬件分析11.3.1 硬件分析21.3.2 软件分析21.4 本文组织结构21.5 本章小结2第2章 系统设计方案42.1 设计流程42.2 硬件设计方案52.3 软件设计方案62.4 单片机软件的设计62.5 拟解决的关键问题62.6 本章小结7第3章 硬件系统的设计83.1 CPU电路设计93.2 继电器电路

14、设计143.3 串行接口设计153.4 电源电路设计163.5 复位电路设计173.6 本章小结17第4章 软件系统的设计194.1 软件功能分析194.2 软件设计流程194.3 PC端远程控制软件194.4 PC机服务端接收软件224.5 本章小结26第5章 单片机软件设计275.1 单片机软件功能分析275.2软件设计流程285.3 单片机指令接收与处理295.4 本章小结34第6章 测试366.1 测试方案的设计366.2 测试流程设计366.2.1 硬件测试366.2.2 软件设计合理性测试376.2.3 系统设计的合理性测试396.3 本章小结39第7章 总结40II浙江大学硕士学

15、位论文 图目录图目录图 1.1 项目设计方案2图 2.1 智能家居系统的总体结构4图 2.2 系统整体设计流程5图 2.3 硬件电路设计6图 2.4 软件设计方案6图 3.1 中央处理器及各针脚定义9图 3.2 继电器电路设计14图 3.3 串口RS232电路设计15图 3.4 电源电路设计16图 3.5 复位电路设计17图 4.1 软件功能模块图19图 4.2 Delphi2007中的Indy 10插件19图 4.3 PC机客户端操作界面20图 4.4 服务端PC数据接收、处理过程23图 4.5 PC机服务端接收界面24图 5.1 单片机数据接收、处理流程28图 6.1 硬件测试模块37II

16、I浙江大学硕士学位论文 表目录表目录表3.1 CPU各针脚定义10IV浙江大学硕士学位论文 第1章 绪论第1章 绪论1.1 课题背景目前,一些经济比较发达的国家提出了“智能住宅”的概念,住宅智能化是智能家居先导,智能家居是住宅智能化的核心。最近国家建设部住宅产业化办公室提出了关于住宅小区智能化的基本概念,即:“住宅小区智能化是利用4C(即计算机、通讯与网络、自控、IC卡)技术1,通过有效的传输网络,将多元信息服务与管理、物业管理与安防、住宅智能化系统集成,为住宅小区的服务与管理提供高技术的智能化手段,以期实现快捷高效的超值服务与管理,提供安全舒适的家居环境”。 随着计算机技术,通信技术和嵌入式

17、系统的发展,智能家居正逐步走进人们的生活。一个典型的现代智能家居系统提供安防、家电控制、远程抄表和信息服务等功能。2低功率和高性能CPU的发展,为开发智能家居提供了现实可能性。其内部构成包括嵌入式处理器、相关支持硬件、嵌入式操作系统以及应用层的软件包等。国内的数码屋,在这方面走得比较领先,可以实现6项基本功能,包括家庭安全防范、照明系统控制、环境控制、家电控制、智能化控制、多种途径控制,可以通过手机短信或GPRS3功能实验对家用电器的远程控制,智能家居以嵌入式系统的形式走入了我们的生活。根据国内的智能家居的发展趋势,完成本课题的研究。1.2 本文研究的内容本文设计并实现了其中的智能家电控制系统

18、。采用计算机网络控制方式,结合了基于ARM的嵌入式系统、单片机系统、计算机网络、WIN32编程等技术,实现了对开关型家电的控制。系统以Philips 2103实验板为硬件平台,建立了嵌入式系统开发环境,移植了uc/os内核;开发了应用软件,分为、单片机子系统、PC客户端和PC服务端三个模块。最终完成相关软硬件设计、调试,经测试,完全实现预期功能。最后提出系统改进的方案和措施。41.3 项目软硬件分析本文通过客户端PC与服务端PC进行通讯,通过客户端PC发送指令,经过服务端PC的接收与处理,再用串口发送给单片机,单片机接收到指令进行相应的操作,如断电操作等。针对智能家居,总结出一个简单易操作的智

19、能家居模型,即把家庭里的一系列设备通过中央电脑来分别控制,比如电源的开关,而中央电脑又可以通过远程计算机发送指令进行相应的操作,设计方案如图1.2所示,采用C/S模型。图1.2的C/S模型中5,中央电脑通过容易实现的串口与单片机进行通讯,单片机接收到指令后进行电路的开关操作。图 1.1项目设计方案1.3.1 硬件分析硬件主要由服务端PC、客户端PC和Philips2103实验板构成。选用LPC2103是因为LPC2103是基于一个支持实时仿真的ARM7TDMI-S CPU,并带有8kB和32kB嵌入的高速Flash存储器。由于 LPC2103 非常小的尺寸和极低的功耗,它们非常适合于那些将小型

20、化作为主要要求的应用,多个UART、SPI 到SSP和2 个I2C 总线组成的混合串行通信接口和片内2kB/4kB/8kB的SRAM一起作用,可使得LPC2103 非常适合用来实现通信网关和协议转换器、数学协处理器以及足够大空间的缓冲区的强大处理功能。61.3.2 软件分析PC端软件设计分为客户端PC软件和服务端PC软件两个模块,客户端PC发送指令,服务端PC接收指令并发送相应的开与关指令给单片机。1.4 本文组织结构本文首先介绍总体的系统设计方案,然后分硬件系统的设计、软件系统的设计和单片机软件的设计这三个方面来具体说明。最后,对整个系统进行测试,并归纳总结全文。1.5 本章小结本章简要地阐

21、述了本论文的课题背景,包括国内外智能家居应用于生活的发展程度和趋势、智能家居影响生活的应用,提出本论文的写作目的和构成本论文提出的基于C/S模型的智能家居远程控制系统的三个组成部分。35浙江大学硕士学位论文 第2章 系统设计方案第2章 系统设计方案智能家居系统总体结构如图2.1所示,其中LPC2103 基于一个支持实时仿真的ARM7TDMI-S CPU,并带有8kB 和32kB嵌入的高速Flash 存储器。128位宽度的存储器接口和独特的加速结构使32 位代码能够在最大时钟速率下运行。这可以使得中断服务程序和DSP 算法中重要功能的性能较Thumb模式提高30%。对代码规模有严格控制的应用可使

22、用16 位Thumb模式将代码规模降低超过30%,而性能的损失却很小7。由于 LPC2103 非常小的尺寸和极低的功耗,它们非常适合于那些将小型化作为主要要求的应用,多个UART、SPI 到SSP 和2 个I2C 总线组成的混合串行通信接口和片内2kB/4kB/8kB 的SRAM 一起作用,可使得LPC2103 非常适合用来实现通信网关和协议转换器、数学协处理器以及足够大空间的缓冲区的强大处理功能。而多个32 位和16 位的定时器、一个经改良后的10 位ADC、PWM 特性(通过所有定时器上的一个输出匹配来实现)和32 个快速GPIO(含有多达9 个边沿或电平有效的外部中断管脚)使它们特别适用

23、于工业控制和医疗系统。图 2.1智能家居系统的总体结构2.1 设计流程系统整体设计流程如图2.2所示,由硬件电路设计、PC端程序设计、单片机程序设计和测试四个部分组成。其中,硬件电路设计分为CPU电路设计、继电器设计、串口设计、电源电路设计和复位电路五个部分构成;PC端程序设计由客户端PC程序和服务端PC程序构成;最后进行系统的整体测试。图2.2 系统整体设计流程2.2 硬件设计方案硬件系统主要由Philips 2103实验板、PC电脑2台、串口数据线和用电器构成。Philips 2103实验板的硬件电路设计如图2.4所示,由CPU电路设计、继电器设计、串口设计、电源电路设计和复位电路设计五部

24、分构成。图 2.3 硬件电路设计2.3 软件设计方案如图2.4所示,软件设计方案主要由客户端PC软件和服务端PC软件两个部分构成。图 2.4 软件设计方案2.4 单片机软件的设计通过单片机的编码实验单片机对指令的接收与处理,以实现预期的功能目标。2.5 拟解决的关键问题针对智能家居的特点,要合理地完善计算机客户端与服务端的通讯方式、出错控制和中央电脑与单片机的通讯方式、人工校验,以保证系统可以可靠、稳定地运行。2.6 本章小结本章主要分析了目前智能家居的形势和提出硬、软件协同设计的思想以达到本项目设计的顺利实现。根据自己的设计思想,作出硬件、软件分析并在此基础上进行硬件设计、软件设计和测试。浙

25、江大学硕士学位论文 第3章 硬件系统的设计第3章 硬件系统的设计C/S模型的智能家居模型,需要硬件系统对从PC客户端发来的数据有一个即时的分析和处理,对系统处理的可靠性和即时性很高的要求。Philips的LPC2103芯片被广泛地应用于各嵌入式系统的设计,可以满足本系统的要求。基于本项目的软件系统的特征,硬件平台需要需要具备以下功能:81.针对实时数据的处理需求,选用Philips LPC2103芯片作为中央处理器。2.针对系统根据接收到的指令进行开关的开与断,要求一个继电器电路。3.针对ARM实验板接收数据的需求,硬件平台必须具备2个串行接口。4.为了能使软件系统持续稳定的工作,需要一个5V

26、的直流电源。5.任何的硬件系统必备的一个模块就是复位电路。复位电路的设计为硬件系统和软件系统在运行过程中出现的异常情况提供一个可靠、快捷的处理方式。3.1 CPU电路设计图 3.1 中央处理器及各针脚定义如图3.1所示,本硬件电路板采用Philips LPC2103芯片为中央处理器。主要特性:1. 16/32 位ARM7TDMI-S 处理器,极小型LQFP48 封装。2. 2kB/4kB/8kB 的片内静态RAM,8kB/16kB/32kB 的片内Flash 程序存储器,128 位宽的接口/加速器使其实现了70MHz 的高速操作。3. 通过片内Boot-loader 软件实现在系统/在应用编程

27、(ISP/IAP)。Flash 编程时间:1ms可编程256 字节,单个Flash 扇区擦除或整片擦除只需400ms。4. EmbeddedICE RT 通过片内RealMonitor 软件来提供实时调试。5. 10 位的A/D 转换器含有8 个模拟输入,每个通道的转换时间低至2.44s,专用的结果寄存器使中断开销降到最低。6. 2 个32 位的定时器/外部事件计数器,具有7 路捕获和7 路比较通道。7. 2 个16 位的定时器/外部事件计数器,具有3 路捕获和7 路比较通道。8. 低功耗实时时钟(RTC),有独立的供电电源和专门的32kHz 时钟输入。9. 多个串行接口,包括2 个UART(

28、16C550),2 个快速I2C 总线(400kbits/s)以及带缓冲和可变数据长度功能的SPI 和SSP。10. 向量中断控制器,可配置优先级和向量地址。11. 多达32 个可承受5V 的通用I/O 口。12. 高达13 个边沿或电平有效的外部中断管脚。13. 通过可编程的片内PLL9(可能的输入频率范围:10MHz25MHz)可实现最大为70MHz 的CPU 时钟频率,设置时间为100us。14. 片内集成的振荡器,工作在1MHz25MHz 的外部晶体下。15. 节电模式包括空闲模式、RTC 有效的睡眠模式和掉电模式。16. 通过外设功能的单独使能/禁止和调节外设时钟来实现功耗的最优化。

29、17. 通过外部中断或RTC 将处理器从掉电模式中唤醒。LPC2103各针脚的功能如表1所示:表3.1 CPU各针脚定义续表3.1续表 3.1续表 3.1续表 3.13.2 继电器电路设计图 3.2 继电器电路设计继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。如图3.2所示电路是当输入量达到规定值时,使被控制的输出电路导通或断开的电器。继电器具有动作快、工作稳定、使用寿命长、体积小等优点。广泛应用于电力保护、自动化、运动、遥

30、控、测量和通信等装置中。电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)吸合。这样吸合、释放,从而达到了在电路中的导通、切断的目的。对于继电器的“常开、常闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”。本系统采用普通额定电压12V,5

31、针脚的光敏继电器。3.3 串行接口设计图 3.3 串口RS232电路设计10如图3.3所示,串口接口电路采用SP3222E/3232E芯片分别与串口1和串口2中的URXD0、UTXD0、RXD0、TXD0相连,以实现数据的发送与接收。SP3222E/3232E系列是RS232收发器对便携式或手持式应用如笔记本或掌上型电脑的一种解决方案。SP3222E/3232E系列有一个高效的电荷泵,工作电压为3.3V时只需0.1F电容就可进行操作。电荷泵允许SP3222E/3232E系列在+3.3V到+5.0V 内的某个电压下发送符合RS-232的信号。SP3222E/3232E系列是一个2驱动器/2接收器

32、的器件,适用于便携式或手持式设备(如笔记本或掌上型电脑)。SP3222E/3232E器件的ESD保护使得驱动器和接收器的管脚可承受15kV人体放电模式和IEC1000-4-2 气隙放电模式。SP3222E器件包含一种低功耗关断模式,该模式下器件的驱动器输出和电荷泵被禁止。关断状态下,电源电流低于1A。113.4 电源电路设计图 3.4 电源电路设计如图3.4所示,电源电路使用一个AS1117 3.3V芯片和一个AS1117 1.8V芯片完成主要功能。AS1117是一款低功耗的稳压器件,能够满足2.85V的固定输出电压和800mA的输出电流,并符合支持SCSI-II规格。该芯片是SCSI总线和便

33、携式计算机中电池供电稳压的理想选择。AS1117功能强大,工作时满负荷下具有非常低的的静态电流和非常低的压降。 AS1117可作为可满足的1.5V,2.5V,3.0V,3.3V和5.0V输出电压的稳压需求。3.5 复位电路设计图 3.5 复位电路设计如图3.5所示,复位电路由一个MAX811芯片与一个RESET重置键构成。MAX811是低功率微处理器监控电路,用于5V或3V供电的微处理器或数字系统的电源监视,具有防抖动人工复位输入。MAX811具有/RESET输出(VCC降至1V仍保持有效),采用4脚SOT-143封装。3.6 本章小结本章主要介绍硬件平台的设计需求、外设接口电路,以及设计思路

34、。对系统硬件采用的LPC 2103 CPU芯片、12V-5PIN光敏继电器、SP3222E/3232E串口芯片、AS1117的电源稳压芯片、MAX811的复位电路芯片分别作了特性说明,并在此基础上完成电路设计。整个电路设计可靠性高,通过CPU电路、继电器电路、串口电路、电源电路和复位电路,完成系统硬件实验版的五个主要电路的设计。浙江大学硕士学位论文 第4章 软件系统的设计第4章 软件系统的设计4.1 软件功能分析服务端软件主要完成接收从客户端PC发送来的指令,加以分析处理之后,发送相应的指令给单片机系统,以实现客户端PC要求的功能。4.2 软件设计流程PC端软件设计分为客户端PC软件和服务端P

35、C软件两个模块,如图4.1所示,客户端PC发送指令,服务端PC接收指令并发送相应的开与关指令给单片机。图 4.1 软件功能模块图4.3 PC端远程控制软件在Delphi2007中的Indy 10插件的功能非常强大,见图4.2,通过它们可以非常简单、快速、高效地开发网络应用程序。12图 4.2 Delphi2007中的Indy 10插件客户端运行指定的Client程序,服务端运行指定的Server程序,并在Client中指定Server端的IP地址,使Client发送的数据可以正确地被Server接收并处理。13图 4.3 PC机客户端操作界面在客户端PC上发送特定的指令到服务端PC上,由服务端

36、PC处理命令作出相应的操作。通过TidTCPClient控件来实现指令的发送。关键代码:procedure TForm1.SendInf(inf: string);begin try IdTCPClient1.IOHandler.Writeln(Cmd);14 except if MessageBox(Form1.Handle, PChar(服务端已断开,是否重连?), PChar(系统提示), 1) = 1 then begin IdTCPClient1.IOHandler.Close;/清除原来发送的命令,否则在发送命令失败后不能重新连接到服务端 IdTCPClient1.Disconne

37、ct; FormCreate(Form1); end else begin Application.Terminate; Exit; end; end;end;procedure TForm1.Button1Click(Sender: TObject);begin Sendinf(opencom);/打开串口end;procedure TForm1.Button2Click(Sender: TObject);begin Sendinf(closecom);/关闭串口end;procedure TForm1.Button3Click(Sender: TObject);begin Sendinf(

38、openno1);/发送指令:打开1号开关end;procedure TForm1.Button4Click(Sender: TObject);begin Sendinf(closeno1); /发送指令:关闭1号开关end;procedure TForm1.Button5Click(Sender: TObject);begin Sendinf(openno2); /发送指令:打开2号开关end;procedure TForm1.Button6Click(Sender: TObject);begin Sendinf(closeno2);/发送指令:关闭2号开关end;procedure TFo

39、rm1.Button11Click(Sender: TObject);begin Sendinf(readstatus1);/读取1号开关状态end;procedure TForm1.Button13Click(Sender: TObject);begin Sendinf(readstatus2); /读取2号开关状态end;procedure TForm1.Button12Click(Sender: TObject);begin SendInf(edit1.Text); /发送16进制控制命令end;end.4.4 PC机服务端接收软件如图4.5所示,服务端PC数据接收、处理过程分为判断是否

40、为6个指令中的一个并采取相应的操作。图 4.4 服务端PC数据接收、处理过程图 4.5 PC机服务端接收界面如图4.5所示,本系统服务端PC机上采用Text控件用来显示接收自客户端PC的指令。服务端PC软件完成接收从客户端PC通过TidTCPClient控件发送的命令的功能。服务端PC软件使用TidTCPServer控件来接收命令。使用ListBox控件显示从客户端PC接收到的命令。15关键代码:procedure ReceiveCMD;procedure WriteCom(Command:DWORD);var Mode: string; AppDir: string; Cmd: string

41、;implementation$R *.dfmprocedure fillstruct(control: PMixerControl; var Cdetails: tMIXERCONTROLDETAILS);begin Cdetails.cbStruct := SizeOf(cdetails); cdetails.dwControlID := Control.dwControlID; cdetails.cbDetails := SizeOf(Integer); cdetails.hwndOwner := 0;end;procedure ReceiveCmd;begin while (StepI

42、nReceiveCmd) do /在 TForm2.FormCloseQuery 置False退出线程 begin if ReceiveOrNot = true then /在 TForm2.IdTCPServer1Execute 置True begin /在 创建线程 和 下面 置Falsetext1.text:=cmd; 接收到客户端的指令后,服务端PC使用MSComm控件通过串口与LPC2103实验版进行通讯。关键代码:case Cmd of opencom: begin Mscomm1.PortOpen :=true; / 打开串口 Mscomm1.InputMode:=comInpu

43、tModeText;end; closecom: begin Mscomm1.PortOpen :=false; / 关闭串口 Mscomm1.DTREnable :=false; Mscomm1.RTSEnable :=false;end; openno1: Mscomm1.Output:=a; closeno1: Mscomm1.Output:=b; openno2: Mscomm1.Output:=c; closeno2: Mscomm1.Output:=d;readstatus1: Mscomm1.Output:=e;readstatus2: Mscomm1.Output:=f; en

44、d; Sleep(10); end;end;4.5 本章小结本章主要进行了服务端PC和客户端PC的软件编码。由客户端PC通过TidTCPClient控件发送特定的指令到服务端PC,服务端PC用TidTCPCServer控件解析由客户端PC发送的指令,服务端PC根据接收到的指令对串口写入特定的字符,以达到控制单片机继电器的目的。16浙江大学硕士学位论文 第5章 单片机软件系统的设计第5章 单片机软件设计5.1 单片机软件功能分析单片机软件完成对从服务端PC发送过来的指令的读取、分析并作相应的操作。由根据串口指令并作出相应操作的主程序、初始化串口子程序、读取从串口发送来的数据子程序和发送字符到串口

45、子程序组成。5.2软件设计流程图 5.1 单片机数据接收、处理流程如图5.1所示,处理器软件主要完成数据接收和处理的功能。17从服务端PC机发送开和关的指令到串口,处理器软件触发中断,读取串口数据,如果指令是开,置CPU 的SW_OUT0针脚为启用,使继电器实现通路,打开连接在实验版上的电器;如果指令是关,置CPU的SW_OUT0针脚为关闭,使继电器实现断路,关闭连接在实验板上的电器。5.3 单片机指令接收与处理子程序:初始化串口18关键代码:DWORD UARTInit( DWORD baudrate ) DWORD Fdiv; U0LCR = 0x83; /* 8 bits, no Par

46、ity, 1 Stop bit */ Fdiv = ( Fpclk / 16 ) / baudrate ;/*baud rate */ U0DLM = Fdiv / 256; U0DLL = Fdiv % 256; U0LCR = 0x03; /* DLAB = 0 U0FCR = 0x07;/* Enable and reset TX and RX FIFO. */ if ( install_irq( UART0_INT, (void *)UART0Handler ) = FALSE ) return (FALSE); U0IER = IER_RBR | IER_THRE | IER_RLS

47、;/* Enable UART0 interrupt */ return (TRUE);子程序:读取从串口发送来的数据。关键代码:void UART0Handler (void) _irq BYTE IIRValue, LSRValue; BYTE Dummy; IIRValue = U0IIR; /UART0 中断标识寄存器U0IIR IIRValue = 1;/* skip pending bit in IIR */ IIRValue &= 0x07;/* check bit 13, interrupt identification */ if ( IIRValue = IIR_RLS )

48、/* Receive Line Status 接收线状态 */ LSRValue = U0LSR;/UART0 线状态寄存器(U0LSR/* Receive Line Status */if ( LSRValue & (LSR_OE|LSR_PE|LSR_FE|LSR_RXFE|LSR_BI) ) /各种错误情况 /* There are errors or break interrupt */ /* Read LSR will clear the interrupt */ UART0Status = LSRValue; Dummy = U0RBR;/* Dummy read on RX to

49、 clear interrupt, then bail out */ VICVectAddr = 0;/* Acknowledge Interrupt */ return;if ( LSRValue & LSR_RDR )/* Receive Data Ready */ /* If no error on RLS, normal ready, save into the data buffer. */ /* Note: read RBR will clear the interrupt */ UART0BufferUART0Count = U0RBR; UART0Count+; if ( UA

50、RT0Count = BUFSIZE ) UART0Count = 0;/* buffer overflow */ else if ( IIRValue = IIR_RDA )/* Receive Data Available 接收数据可用 */ /* Receive Data Available */UART0BufferUART0Count = U0RBR;UART0Count+;if ( UART0Count = BUFSIZE ) UART0Count = 0;/* buffer overflow */ else if ( IIRValue = IIR_CTI )/* Characte

51、r timeout indicator 字符超时指示*/ /* Character Time-out indicator */UART0Status |= 0x100;/* Bit 9 as the CTI error */ else if ( IIRValue = IIR_THRE )/* THRE, transmit holding register empty */ /* THRE interrupt */LSRValue = U0LSR;/* Check status in the LSR to see ifvalid data in U0THR or not */if ( LSRVa

52、lue & LSR_THRE ) UART0TxEmpty = 1;else UART0TxEmpty = 0; VICVectAddr = 0;/* Acknowledge Interrupt */子程序:发送字符到串口关键代码:void UARTSend(BYTE *BufferPtr, DWORD Length ) while ( Length != 0 ) while ( !(UART0TxEmpty & 0x01) );/* THRE status, contain valid data */U0THR = *BufferPtr;UART0TxEmpty = 0;/* not emp

53、ty in the THR until it shifts out */BufferPtr+;Length-; return;void Printf_UART(BYTE *str)UARTSend(str, strlen(str);主程序:根据串口指令并作出相应的操作关键代码:void DelayNS(int dly)int i;for (;dly0;dly-)for(i=0;i50000;i+);void EINT2_Handler (void) _irq /键盘中断处理EXTINT = EINT2;/* clear interrupt */ IENABLE;/* handles neste

54、d interrupt */Int_Flag = 1;i = (+i)%2;if (i)IOSET = LED;elseIOCLR = LED; IDISABLE; VICVectAddr = 0;/* Acknowledge Interrupt */DWORD EINTInit( void ) SCS= 0;/* set GPIOx to use regular I/O */ EXTMODE = EINT2_EDGE;/* INT2 edge trigger */ EXTPOLAR = EINT2_RISING; /* INT2 is rising edge*/ if ( install_i

55、rq( EINT2_INT, (void *)EINT2_Handler ) = FALSE ) return (FALSE); return( TRUE );int main (void)PINSEL0 = 0x40051555;20 init_VIC();20init_timer(); /初始化定时器enable_timer( 0 ); /定时器使能 UARTInit(9600);/* baud rate setting */I2C_Init(1, 100000, 0);RTCInit();if ( install_irq( RTC_INT, (void *)RTCHandler ) =

56、FALSE ) while ( 1 ); RTCSetAlarmMask(AMRDOW|AMRDOY); CIIR=0; RTCStart();Printf_UART(nr);Printf_UART(Program starts here.);if(EEPROM_Write(0x00, 123)Printf_UART( Write EEPROM OKrn);elsePrintf_UART( Write EEPROM Failedrn);i = 0;IODIR = LED|SW_OUT0|SW_OUT1; EINTInit();keyscan = 0;Int_Flag = 0; if (U0TH

57、R=a) IOSET=SW_OUT0;elseif (U0THR=b) IOCLR=SW_OUT0;/IOCLR=SW_OUT0; return 0;Philips 2103芯片的实验板通过串口RS232与本机相连,使用Keil编写相应代码使单片机响应PC主机传输的指令。5.4 本章小结 本章主要使用KEIL软件进行单片机软件的编码,使单片机能够接收并处理由PC服务端通过串口发送的数据,根据相应的数据进行继电器的开与关,以实现对用电器的控制。浙江大学硕士学位论文 第6章 测试第6章 测试6.1 测试方案的设计本项目从硬件电路到软件系统的设计、实现涵盖了嵌入式系统开发的各个方面。针对这两个方面,本项目设计人员从以下几个角度进行测试。1. 硬件测试。硬件设计包括:实验板电源是否稳定;电路设计是否完善;串口是否正常工作;USB转串口线是否正常使用等4个方面。硬件测试将从以上几个方面详细进行。2. 软件设计合理性。软件设计合理性将采取白盒测试,客户端PC机和服务端PC机收发数据是否正常;服务端PC与实验板通讯是否正常;服务端PC接收到指令后是否正确处理;实验板接收到指令后是否正常处理。6.2 测试流程设计6.2.1 硬件测试硬件测试分为两个部分,第一部分,是用手动的视觉方法检测方法查

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!