电子信息工程智能家居控制系统的设计与实现_第1页
电子信息工程智能家居控制系统的设计与实现_第2页
电子信息工程智能家居控制系统的设计与实现_第3页
电子信息工程智能家居控制系统的设计与实现_第4页
电子信息工程智能家居控制系统的设计与实现_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、广东东软学院本科毕业设计(论文) 智能家居控制系统的设计与实现 Design and lmplementation of Intelligent Home Control System 中文摘要 随着时代的发展,生产水平逐步提高,人们开始注重生活的质量,开始追逐更加方便简洁,高尚智能的生活方式。而另一方面,IT技术不断发展,已经不再局限在某个特定的公司和团体里,它渗入每个人的生活里,智能家居应运而生。然而传统的智能家居缺少国家的统一标准,而且价格高昂,操作繁琐,服务单一,这使得智能家居不能很好的普及到普通家庭。今日,智能家居降低成本,简化操作,势在必行。本文设计的智能家居控制系统使用红外通信对

2、STC89C52芯片进行控制,间接的控制温度模块,光强度模块,舵机模块,MQ2烟雾传感器模块,并让LCD1602显示相应的动作界面。其中光强度模块和MQ2烟雾传感器模块都采用AD模数转换,SPI总线,使用者可以通过调控烟雾敏感度阈值来调控火灾报警模块的敏感度,可以很好的符合某些人居家需求。测试结果证明,本系统运行正常,使用者可以在红外通信最大范围通过遥控器正常的对家居进行控制。关键词:智能家居 STC89C52 红外通信 AD模数转换 SPI总线AbstractWith the development of The Times, the level of production graduall

3、y improved, people began to pay attention to the quality of life, began to pursue a more convenient and simple, noble and intelligent way of life.On the other hand, the continuous development of IT technology, is no longer limited to a specific company and groups, IT infiltrates everyones life, smar

4、t home came into being.However, the traditional smart home lacks the unified standard of the country, and the price is high, the operation is tedious and the service is single, which makes the smart home cannot be well popularized to ordinary families.Today, intelligent household reduces cost, simpl

5、ify operation, imperative.The intelligent home control system designed in this paper USES infrared communication to control the STC89C52 chip, indirect control temperature module, light intensity module, steering gear module, MQ2 smoke sensor module, and let the LCD1602 display the corresponding act

6、ion interface.Among them, both the light intensity module and MQ2 smoke sensor module adopt AD analog to digital conversion and SPI bus. Users can adjust the sensitivity of the fire alarm module by adjusting the smoke sensitivity threshold, which can well meet the needs of some people at home.The te

7、st results show that the system runs normally and the user can control the household normally through the remote control in the maximum range of infrared communication.Key words: smart home, STC89C52, Infrared communication, AD to digital conversion, SPI bus目录1 绪论11.1 研究的背景与意义11.2 国内外研究情况21.2.1 国外发展

8、情况21.2.2 国内发展情况22 系统总体设计42.1 智能家居的系统组成42.2 介绍关键技术42.2.1 红外通信的起始与原理42.2.2 SPI总线52.2.3 ad模数转换52.3 智能家居控制系统的设计整体方案63 系统硬件电路设计73.1 系统硬件电路总体设计73.2 系统主用芯片的选择和介绍73.3 各个模块的介绍与实现83.3.1 检测温度模块83.3.2 检测光强度模块93.3.3 控制舵机模块103.3.4 报警模块114 系统软件设计134.1 开发环境和计算机语言134.1.1 KEIL4基础介绍134.1.2 选择计算机语言144.2 界面设计155 总结与展望19

9、5.1 测试195.2 项目总结205.3 不足与展望20参考文献22致谢231 绪论1.1 研究的背景与意义上个世纪中叶,互联网开始诞生,到了90年代,第一个提出物联网概念的是比尔盖茨,但是被那时候较为落后的设备所限制,这个划时代的概念并未被其他人看重陈天超.物联网技术基本架构综述J.林区教学,2013(3):64-65.。而智能家居系统的概念起源于四十多年前的美国,随后这个概念在东亚岛国地区、欧洲等国家得到了很好的发展,物联网与智能家居便结下了不解之缘王立华.智能家居控制系统的设计与开发TI CC3200+物联网云平台+微信M.北京:电子工业出版社,2018.08.。随着时代的变迁,科技在

10、无时不刻的改变着人们的生活,经济越来越繁华,人们也越来越注重生活质量,追逐更加方便简洁,高尚智能的生活方式。而智能家居便是其中之一。在我国,智能家居的概念传播得比较晚,大约在90年代才步入家居智能系统,但发展速度非常惊人,已经出现了数量相当多的智能小区和住所。智能家居综合了多种现代技术,在建筑内建立十分灵活的信息传输通道,这种通道的存在把家居集成一个平台,在服务方面更为人性化,用更少的功耗实现更好的功能,运用声音和图像将各种参数展示给用户,让整个家充满温馨体贴的氛围阮星 蔡闯华.一个基于ZigBee协议的智能照明应用实例的实现J.赤峰学院学报:自然科学版,2011.08.。与以往相比,现在这个

11、阶段的智能家居是相对成熟,但是现在看看传统的家居仍然占据了绝对的主导地位,它被一些制造商过分夸大了智能家居的功能但不能达到这种效果,这使得很多消费者望而止步,更糟糕的是,学习成本高,企业简单地开发代理,却忽略了代理培训和支持制造商(市场上大部分的公司),很多人不了解,也不想知道智能家居的使用,即使是现在在智能家居拥有高口碑的小米。但是智能家居和人工智能一样都是第三次工业革命的重要因素,是家具发展的必经之路。智能家居的发展前景一定是伟大的、辉煌的。至目前为止,智能通信系统的实现主要有WiFi、ZigBee、蓝牙和红外技术四种方式。WiFi技术,传输距离长,穿透能力强,通讯能力高,但功耗高;Zig

12、Bee技术,安全性高,功耗低,但成本较高,穿透能力低王国栋.基于蓝牙技术的智能家居控制系统设计与实现D,内蒙古大学,2019.;蓝牙技术,低功耗,成本低,低延时,但不同设备间协议不兼容。而红外技术与这些技术相比似乎微不足道,但红外拥有以下优势:稳定性好,通过模拟传输将信息传达给接收方,每种模拟信号都有所不同,因此基本不会有类似的信号干扰红外;隐私性强,因为波长短的缘故,一旦在传输过程中被物体遮挡,容易导致信号丢失,通常适用于短距离信息传输,也正是这个原因,使它拥有上述技术不可比拟的隐私性;低成本,红外技术发展多年,产商和用户数量极多,相比上述提到的技术,在成本上具有很大的优势吴振雄.红外传输在

13、智能家居中的应用J,中国公共安全,2013.。尽管红外技术还存在着些缺陷,比如通信角度较小,传输距离短,但前面的几个优势总是有一定的竞争力。红外传输技术即使是在现代的智能家居领域也应用广泛。1.2 国内外研究情况 智能家居的开拓史分为三部分,分别是家庭电子,住宅自动化和家居智能化,目前国内外的水平都处在第二与第三阶段之间,近代以来我国的科技技术蓬勃发展,对智能家居的发展形成了巨大的推力,相信在不久的将来,我国就能全面迈入第三阶段强静仁 王斌 张珣.智能家居基本原理及应用M.武汉:华中科技大学出版社,2017.05.。1.2.1 国外发展情况在1984年,世界上第一栋能称得上是智能建筑的大楼在美

14、国落成,由此拉开了智能家居在世界大舞台的帷幕,各国大大小小的公司都争相研发相关智能家居的产品。第一个家用电器设计标准是由美国电子工业协会在1988年制定的,名为家庭自动化系统和通信标准。又过了10年,新加坡在“98亚洲家电器和电子消耗品国际展览”上推出新的智能家庭系统,它拥有视频通话,监测防护报警,家电集成控制等功能,这个会议奠定了往后智能家居发展的方向与基础。根据一家在美国的专业顾问公司的资料表示:从90年代中期开始,预计智能家居市场的年均增长率达8%。这意味着智能家居前景十分可观。在21世纪09年,随着“物联网”概念的提出,令如今的智能家居更加地广泛使用和方便,智能家居、智能社区在整个国家

15、乃至全球似乎已经成为未来的发展趋势。1.2.2 国内发展情况在我国,智能家居还是个“少年”,相对于其他大国起步较晚,而且由于消费观念的局限,到目前为止智能家居面对的多是一些高消费群体,大多数人对其高价望洋兴叹。近年来,百姓们的生活习惯与消费思维逐渐发生了改变,他们开始从看重家居的实用性转向看重家居的舒适性,智能家居也因此迎来了个新的发展高潮。尽管智能家居在中国的利益是巨大的,但是使用成本高,操作系统的复杂性和不一致性也是一个不可避免的问题。为了让每一个老百姓都能得到随智能家居而来的舒适和便利,这些问题使必须得被克服的。如果智能家居系统能被大众所接受,智能家居将会成为家居制造业的主流指日可待,这

16、加速智能时代的来临。1.3 本课题的分章安排本论文内容可划分为5章,每个章节划分如下:第1章,介绍本系统的研究背景及意义,介绍相关的无线传输技术,通过比对,介绍了红外通信的优势。末尾文章给出了研究内容与组织结构。第2章,分析了智能家居控制系统的组成,介绍其中使用的关键技术并说明了系统的总体方案。 第3章,介绍控制系统的硬件电路设计,使用了何种芯片,使用了哪种型号的功能模块,并详细介绍功能模块的设计与实现。第4章,介绍软件开发环境,与相应的简易控制系统界面。第5章,测试系统和对研究实验进行总结和展望。2 系统总体设计2.1 智能家居的系统组成智能家居又称居住智能,将可能是未来建筑的必不可少的组成

17、部分,随着现代技术的飞速发展与人民生活需求的持续激增而诞生,是当代炙手可热的技术之一于军琪.智能建筑课程设计与项目实例M.北京:中国电力出版社,2011.03.。它被定性为一种控制系统,这种控制系统常常运用当代众多的电子技术创建分布合理的信息传输通道和与生活息息相关的各种各样的子系统,给予使用者多方面的信息和使用功能,让使用者在家轻松掌握家中的所有情况,一目了然。即使使用者外出,也能通过网络了解家中电器的使用状态及家居情况,让用户能安心的出行葛健.智慧城市的理论与实践M.北京:经济管理出版社,2014.09.。本系统使用的是红外控制,使用红外技术控制的智能家居系统一般的操作流程包括了通过手机红

18、外遥控,或者是使用红外遥控器遥控,系统接收后经过处理转化为有效的数据,模块配合芯片执行相关的操作,最后由显示器显示相关动作界面。2.2 介绍关键技术2.2.1 红外通信的起始与原理1800年,德国科学家赫歇尔通过观察玻璃三棱镜分离出的七彩光谱,并用温度计测量各个光谱中的能量时,意外的发现了红外线的存在。1898年,尼克拉特斯拉发明了最早的遥控器之一(超声波遥控器),1980年,能够集发射与接收红外线一体的半导体器件被发明面世后,越来越多的人开始使用红外控制,挤占了超声波遥控的市场,尽管更多的无线传输方式被不断地发明拓展,但红外控制经久不衰还是被众多的人们所使用杨帅.关于家庭遥控器的设计研究J.

19、价值工程,2010,29(23):97-99.。现今,在很多电器身上都能看到有红外的影子,它给世界带来了诸多方便。红外属于无线传输方式,在传输过程中必不可少的两个部件是接收端与发送端,发送方把要进行传输的信息转化为一长串的方波信号,使用IR发射半导体发出相应信号,接收方接收到了信号后再转化成方波,单片机将对方波进行一系列的操作后解析得到正确的信息方怡冰.单片机原理与应用M.西安:西安电子科技大学出版社,2017.02.。如图2.1所示:图2.1 红外信号的发送与接收过程得到的信息中蕴含有四种数据格式码,每种码都有8位,我们要用到的是数据码,反码用来给系统校正红外在传输过程中是否被干扰而产生了错

20、误,本课题不需要使用其他两个码;而判断0和1的方法不是看高低电平,而是看脉冲之间的高电平持续了多久,以此划分0和1,0高电平持续地时间为1.125毫秒,1高电平持续地时间为2.25毫秒,由于硬件误差,高电平持续时间并不会精准到每微秒,所以在写程序时会留有缓冲时间肖春华 何琼.单片机接口技术与应用M.北京:化学工业出版社,2015.08.。该器件如图2.2所示,HS0038抗干扰能力强,传输数据速度达800bit/s,完全适用于家庭中;图2.2 HS0038实物图2.2.2 SPI总线SPI是一种高效的,拥有全双工的4线通信总线,能节省输入输出口资源,它的硬件能力优秀,集成这种协议的app并不复

21、杂,能减少CPU在SPI方面使用的时间胡昌杰 李远敏.计算机公共基础教程 第2版M.北京:中国水利水电出版社,2006.01.。SPI的这种优势,促使更多的芯片采用SPI协议,如STC89C52,而SPI的通信原理也十分易懂,它工作的方式是主从,在不用双向通信时,用3条线就可以完成单向通信工作刘福奇.FPGA嵌入式项目开发实战M.北京:电子工业出版社,2009.04.。2.2.3 ad模数转换有关于ad模数转换就不得不说ADC的分辨率,它的意思是计算出来的数值与下一个模拟电压的相差值,差值越接近于零,精度越高,它常用二进制的位数表示 吕伟. 用于无线传感网络的逐次逼近型模数转换器研究与实现D.

22、中国科学技术大学,2014.。我们使用XPT2046来进行ad模数转换,该器件运用二分法的方式来无限逼近模拟电压,其内部有个二点五伏的对照电压源,由于器件本身体积小,所以在ad转换时需图2.3 XPT2046引脚功能描述图要外部时钟输入 孙庆良. 基于STM32和ZigBee的无线监测系统的设计与开发D.东北大学,2015.。该器件的引脚功能如图2.3所示。2.3 智能家居控制系统的设计整体方案本课题研究的是使用红外通信控制的智能家居控制系统,主要硬件构图如图2.4所示,图2.4 主要硬件构图手机红外遥控或红外遥控器发送编码,51单片机上的一体化红外接头接收数据,并把它转化为单片机可识别的信息

23、,经芯片处理后,做出相符合的动作。感光模块可对周围的光强度进行检测,检测到的数据经过xpt2046转换,模拟信号转变为单片机可理解的数字信号,处理后超过或低于阈值就会关闭或打开室内灯;感温模块则可以感知周围的温度,超过一定值,开启风扇进行降温;舵机模块模仿的是开关窗户,由遥控器直接控制,也可以通过烟雾报警模块间接控制;当烟雾报警模块感知到了室内空气浑浊度超过了设定值,将发出警报声,并打开窗户,开启风扇,让室内的空气流动起来,保证室内氧气充足。3 系统硬件电路设计3.1 系统硬件电路总体设计在了解了红外的工作原理和结构后,针对现有家庭的不足,本文设计了一款低成本、性能较高的智能控制系统。为了适应

24、市场的需要,论文对硬件需要用到的电路进行分析。硬件核心是STC89C52芯片,硬件电路设计方面有7个模块,分别是:红外,LCD1602,开关,感温,烟雾报警,舵机和最小系统模块于微波 刘俊平 姜长泓.计算机测控技术与系统M.北京:机械工业出版社,2016.01.。在本章中,主要介绍了包括主用芯片、红外模块的选择,并介绍了硬件电路的总体架构,红外模块接收到信息后交由芯片处理,芯片传出特定指令,对其他功能模块进行控制,而一些模块也能反馈些信息数据给单片机,让芯片根据设定的程序发出相应的指令。3.2 系统主用芯片的选择和介绍拥有低能耗、性能优越的STC89C52是宏晶科技发明的,内部含有8192bi

25、t可编写高速闪存器,该芯片用的是经典的MCS-51内核,不过这个内核被做了许多优化,已经比以前的51多了许多功能 鲁业安.一种汽车刹车警示安全辅助系统的设计J.安阳工学院学报,2018,17(02):34-36.;其中它有32个I/O口,能给系统更多的应用方案,所以选择这个型号的单片机能很好的配合智能家居控制系统,图3.2是STC89C52芯片的结构图。图3.1 系统硬件模块结构图图3.2 STC89C52结构图STC89C52发行年长久,C51系列从2005年开始生产,而C52和C51的内核是一样的,C51能用的程序,C52大多能兼容,这就使得C52的资源极其丰富,网络资源一抓一大把,各种各

26、样的程序都有,这就能很好的利用有限的资源进行开发智能家居控制系统,而且STC89C52内拥有中央处理器等单片机常用模块,这个系列的单片机几乎包含了所有必需的作为一个单元的数据采集和控制模块,可谓是一个片上系统王研玮.单片机原理及应用 第2版M.哈尔滨:哈尔滨工业大学出版社,2017.06.。外部电路的一些工作可以由内置的电路代替,所以本课题使用了STC89C52作为智能家居控制系统的主控芯片。3.3 各个模块的介绍与实现3.3.1 检测温度模块本文采用的温测器件是DS18B20,实物图如图7所示,该器件使用方法简单,而且拥有多种封装方式,能够适用于很多不同的环境,即使是在一些空间窄小环境恶劣的

27、地方,我们选用DS18B20的TO-92封装,这种封装表皮较厚,十分耐磨,体积还小李世书 赵映雪 魏玉鹏 郭继冬 王希旺.太阳能热水器优化系统的设计J.世界家苑(学术版),2018.。图3.3 DS18B20实物封装图一般单片机使用的电压在35V,DS18B20工作电压大部分在这区间之内,该器件除了正常的电源供电以外还有寄生电源供电,在数据线或者VDO为高时,电路便可正常运作,可是有一定的限制性;该器件有3根管脚,分别是地线,电源线和数据线,单线总线的方式可以为我们节省很多的输入输出口资源,而且在工作过程中不用布设外围电路,在器件内集成了测量温度所需的电路和元件,测温值域也很大,在负十度到八十

28、五度之间时误差少于零点五度,完全适用室内外温度检测徐雷 崔子晨 刘俊俊 王浩然 李文娟.基于DS18B20温度监测报警系统的设计与实现J.安庆师范大学学报(自然科学版),2020,26(01):89-92.。图3.4 DS18B20内部结构图值得一提的是,多个该器件能够组网测温,实现多方面温度测量覆盖,但如何识别每一个器件呢,它的识别码就隐藏在光刻ROM中,在出厂前就已经刻好的了,可以把识别码当成是它的地址序列号窦龙超 郑永春 霍艳忠.1-Wire总线在农业温度监测系统中的应用J.农机化研究,2009,31(07):210-212+217.。每一个该温度器件的地址序列号都是不一样的。DS18B

29、20与单片机的连线图如图3.5所示。图3.5 DS18B20连线图该器件在通电之后就会维持在低能耗休眠,只有在要检测温度和AD转换时,总线一定要传入指令44h,完成转换以后,得到的温度数值将会以两个字节的形式存储在高速暂存器中,然后该器件将进入休眠孙安青.MCS-51单片机C语言编程100例 第2版M.北京:中国电力出版社,2017.08.。为了实时检测,单片机会不断地发送44H命令,得到的两个字节经过处理后变成了实时温度数值,本文章在程序里设定了阈值范围,这个阈值范围用户不可调。一旦实时温度数值超过阈值范围的最高值,将会启动风扇进行室内降温,低于阈值范围的最低值将关闭风扇。这里的风扇模拟的是

30、空调。3.3.2 检测光强度模块本文采用的感光元件是光敏电阻,如果周围的环境都很幽暗,它的阻值会很高,当有光照射到它时,它的欧姆值就会随着坎德拉值的变大而变小。将该器件从有光的地方移入到黑暗的环境,它的阻值将会逐渐增大直到恢复到原来的数值。经过测试,处理后得到的数值会随着坎德拉值的变大而变大。本文的室内智能照明就是根据光敏电阻的这种特性写出来的。它与XPT2046连接到一起,方便XPT2046及时的将光敏电阻产生的模拟信号通过逐次逼进的方式转化为数字信号,以供给单片机使用。如图3.6所示。图3.6 光敏电阻与XPT2046的连接图本文使用的是SPI总线方式实现基于XPT2046的AD转换。对X

31、PT2046写入命令0XA4,XPT2046就会返回一个字节,但这个字节它是从高位到低位传过来的,经过程序处理后得到了相应的光强度数值陈澎 曾永和.电子技术M.长沙:湖南大学出版社,2004.02.。本系统预设了一个阈值范围160200,光强度超过200,室内灯将熄灭,小于160,室内灯会被打开,处于中间值无变化。设置这个阈值区间能很好的避免室内灯光出现闪烁的现象。这个阈值范围用户不可调。为了用户方便使用,本系统设定了灯光屏蔽位,一旦手动控制过灯光,那么将会自动关闭智能照明系统,方便用户的使用习惯,若要打开智能照明系统,只需通过遥控器或手机红外关闭灯光屏蔽位即可。3.3.3 控制舵机模块本系统

32、采用的舵机是SG90舵机,该器件除开VCC与GND以外,使用的信号线只有一根,只要对输入控制线输入模拟信号,就能让SG90舵机转到我们想要的位置杜坤坤 刘欣 解仑.情感机器人M.北京:机械工业出版社,2012.10.。由于SG90舵机是模拟舵机,而非数字舵机,所以需要不断地给它发送目的地的PWM信号,知道SG90舵机旋转的相应的位置。经测试,SG90舵机只需23个时基脉冲即可转到指定的位置,一个时基脉冲的周期为20ms,控制SG90舵机转到指定的方法是调整高电平在周期内的占空比,脉冲宽度一般在0.5ms2.5ms范围之内。给SG90舵机传入时基脉冲后,舵机内部会产生一个直流偏置电压,经过内部芯

33、片的一系列处理后,会得到一个电压差,而电机左右转向由这个差值的符号决定,电机带动电位器转动,直到电压差降到零,才会停下来赵东升 谭跃刚 黄林考 李彰.主动腰部四足机器人控制系统与跳跃步态研究J.机械设计与制造,2018.。SG90舵机如图3.7所示:图3.7 SG90舵机实物图SG90舵机模拟的是打开或者关闭窗户,每一次开机程序都会对SG90舵机进行初始化,将舵机的角度调整到45度,即为关窗状态。初始化能很好的避免舵机出现失误,导致打开窗户角度过小的情况。90度为开窗状态,开关窗都由手机红外或遥控器进行控制,也可由下述模块进行控制。3.3.4 报警模块报警模块由MQ2烟雾传感器,风扇(直流电机

34、),无源蜂鸣器,XPT2046和SG90舵机组成,MQ2烟雾传感器除了能检测烟雾外,还能检测酒精,液化气,烷,氢气,苯等气体,应用非常广泛,MQ2是一种二氧化锡半导体气敏材料孙波 刘士彩 郭帅 李昊朔 张志勇.基于AT89C51单片机的烟雾报警装置设计J.实验室科学,2018.,这种材料能吸附氧气形成氧负离子,致使材料本身内部电子数量变少,电阻值就变大了。当MQ2与烟雾碰触,材料的整体导电率就慢慢恢复,烟雾或其他上述气体的浓度越高,其电阻值越低,就会得到越大的模拟信号。烟雾传感器如图3.8所示:图3.8 MQ-2烟雾传感器模块实物图蜂鸣器有源无源的最大区别在于器件内部有没有震荡源,前者只需通电

35、就能振动发声,而后者还得另外加方波来驱动才能振动发声唐成祥.电子元件识别与焊接M.南宁:广西科学技术出版,2014.06.。它们的驱动电压都在5V左右,直接由芯片驱动的话,会导致供给蜂鸣器和其他模块的电压不足,所以需要外接5V电压。为简化电路设计,所以选用无源蜂鸣器,只需让输入或输出电压产生波动即可让蜂鸣器发声。无源蜂鸣器连线如下图3.9所示:图3.9 无源蜂鸣器连接图为了烟雾传感器的正常使用,通常要让MQ2运行预热2分钟在使用。MQ2收集到了周围环境的空气混浊数值后,输出模拟信号给XPT2046,XPT2046经过处理后得到了数字信号的空气混浊数值。本系统预设了空气混浊阈值,实时数值会和阈值

36、进行比较,一旦大于或等于阈值,将会发出警报声并打开窗户,开启风扇,保持室内的空气混浊数值保持在一个较低的程度,为用户逃离火灾现场创造一个良好的条件。4 系统软件设计4.1 开发环境和计算机语言系统的硬件电路和基本模块设计完成后,根据系统模块功能需要,编写相应的软件代码。使用的代码语言是C语言,开发环境是KEIL4,编写完代码后下载至单片机中进行硬件调试仿真,若仿真结果未符合预定功能,则需要修改代码,在进行仿真。4.1.1 KEIL4基础介绍 Keil Software公司发行的keil4软件能兼容单片机软件开发系统,内包含了C编译器和连接器等模块,将之组合成一个集成开发环境,不论使用C语言还是

37、汇编都能很好的简化我们的操作步骤,下面讲STC89C52在keil4的开发环境配置。创建新的项目project,如图4.1。图4.1 创建新项目图确定项目名称后储存到已经创建好的文件夹内,如图4.2所示。图4.2 保存项目图新建后选择STC中对应的芯片,由于keil4中不存在STC系列的芯片型号,所以选择的是与STC89C52芯片内核相同的AT89C52芯片,如图4.3所示。图4.3 选取芯片型号图搭配完成好我们的开发环境,就能往其中添加自己编写的软件程序,进行单片机开发。4.1.2 选择计算机语言使用keil4软件进行单片机程序开发,软件支持的语言一共有两种,一种是C语言,另一种是汇编语言。

38、两种语言各有千秋,C语言是高级语言,拥有优秀的移植性,在不同的微机平台几乎不用怎么改变代码就可以完美嵌入李绍中.计算机应用基础M.长沙:湖南教育出版社.2008.08.。C语言还可以进行结构化编程,这种编程方式使得代码条理清晰,易修改和维护程周.可编程序控制器技术与应用 第2版M.北京:电子工业出版社,2007.09.。而汇编语言在不同的微机平台使用的指令都是不同的,所以不具有可移植性,但汇编是贴近硬件的语言,它有很强的实时性和高效性。由于每个系统所使用的的寄存器和其他元件都有所不同,即使是做同一种功能,指令也千差万别,这也导致了汇编语言枯涩难懂,维护和修改困难。本系统在研究过程中需一边开发一

39、边调试仿真,而C语言很好的契合要求,它的结构化编程也符合系统的模块化编程,所以本系统使用C语言编程。4.2 界面设计本系统用于显示的器件是LCD1602,它能显示两行,每行能显示16个ASCII码字符,显示一个字符的点阵的大小为5*10或5*7,。由于本身的限制,LCD1602并不能很好的显示图片和汉字,它自带背光源,即使晚上显示的字符也清晰可见。1602的数据传输方式分为4线传输和8线传输,为保持刷新率,本系统选用的是8线传输。LCD1602如图4.4所示,图4.5是LCD连线图。图4.4 LCD1602结构图 图4.5 1602连线图图4.6,图4.7为手机红外遥控的图:图4.6 手机红外

40、遥控1图 图4.7手机红外遥控2图 图4.6中设定能使用的按键为数字键,上下方向键和返回键,图4.7展示的是数字键。图4.8是主界面的大概流程图:图 4.8 界面总体流程图由于16002每次只能显示两行字符,而在手动模式中也是有多行需要展示,所以程序内含有翻页的函数,下面是翻页函数的代码:if(inf_key = key_under) & welcome_flag)inf_key = 0xfe;LcdWriteCom(0x80+0x00);/从第一行第一格开始写入interface_manual_mode(); /手动模式LcdWriteCom(0x80+0x40);/从第二行第一格开始写入i

41、nterface_set_mode(); /设置模式其中inf_key是红外接收到的数据,而welcome_flag则是标志位,是辨认系统当时进入到哪个界面的标志。进入到不同的界面标志位都有所不同。接收到红外并执行相关指令后会立即清除inf_key内的数据(0xfe表示空的意思),key_under表示接收到向下翻页,与此对应的还有key_on向上翻页,与此代码大同小异。Interface前缀的函数都是界面函数,负责打印相应的字符。图4.9是自动模式下的界面流程图,它能循环显示实时的温度和光强度数值,直至使用者按返回键,返回主界面。自动模式相当于手动模式的第一第二功能的结合。图4.9 自动模式下的界面流程图图4.10 手动模式下的界面流程图图4.10是手动模式下的界面流程图,按对应的键位就能进入对应的功能,其中第一第二功能拥有独立的子界面,方便显示对应功能,而第三第四功能的变化直接显示在手动模式子界面上的,它是实时刷新的,图4.11的代码是关于界面内实时刷新显示开关窗户的代码,send_clk()函数为发送控制开关窗户的时基脉冲,window_refresh确定显示开关窗户字符的位置,开关灯的实时刷新与其大同小异。图4.11开关窗户实时刷新代码图图4.12是设置模式下的界

温馨提示

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

评论

0/150

提交评论