版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、遥控窗帘的设计摘 要随着电子技术和自动化技术的发展,人们对生活质量的要求越来越高。本设计根据社会发展的需要,采用at89c51单片机系统来控制窗扇,利用p1和p3口的特殊功能,根据其不同的控制模式,实现半制动控制,自动控制,定时控制的相互转换,实现窗扇自动开关。关键词: 单片机,编码, 定时控制,步进电机 design of remote control curtainabstractwith the development of electronic technology and automation technology, people on the quality of life of
2、the increasingly high demand. this design according to the needs of social development, using at89c51 single-chip microcomputer system to control the window, using the special function of p1 and p3, according to its different mode of control, realize the brake control, automatic control, mutual conv
3、ersion timing control, automatic switch model.key words: single chip microcomputer,coding, timing control, stepper motor毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名: 日期: 毕业论文(设计)授权使用说明本论文(设计)作者完全了解*学
4、院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。学校可以公布论文(设计)的全部或部分内容。保密的论文(设计)在解密后适用本规定。 作者签名: 指导教师签名: 日期: 日期: 注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论
5、文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用a4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)
6、附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订3)其它目 录第一章 绪论.11 1.1. 设计背景和意义以及主要任务.11 1.2设计的要求.11第2章 方案设计.12 2.1 控制器智能项目.12 2.2 系统的总体架构计划.12第3章 硬件电路的设计.13 3.1 at89c51单片机的介绍.13 3.2 本设计的相关电路的介绍.13 3.2.1 晶振电路.13 3.2.2 复位电路.13 3.2.3 时钟电路.13 3.2.4 电源电路.13 3.2.5 步进电机.13 3.3.6 键盘和显示接口电路.13第4章 软件程序设计.14 4.1 软件开发环境选择.14 4.
7、2 主程序.14 4.3 主程序软件的设计.14 4.4 其它功能程序的设计.14 4.4.1 键盘程序的设计.14 4.4.2 定时程序的设计.14 4.4.3 步进电机的程序设计.14 4.4.4 定时程序的设计.14第5章 系统的调试和运行.15 5.1 软件调试.15 5.2 pcb图.15小结 .16致谢 .17参考文献.18第一章 绪论1.1设计背景和意义以及主要设计任务 随着社会经济的发展和人们生活水平的改变,宽大窗户的办公和生活建筑越来越多。这种建筑结构美观,采光良好。但是,窗户的高度或者宽度超过4米以后手拉窗帘却比较困难。而现在的放地产商几乎却都没有为用户考虑这个问题,使一些
8、高档住宅反而带来了生活上的不便,解决这个问题的方法是使用窗帘机。 窗帘机是专门为高大的窗户设计的窗帘控制装置,根据功能不同可以分为智能、遥控、自动和智能等多种规格。智能窗帘机是通过窗帘机上的控制按键操作窗帘开合的一种最简单的窗帘机,仅仅解决了手动窗帘的问题,可还需要人来近距离操作,智能窗帘使一些超高、超宽窗帘的操作变得比较容易。但是因为这种窗帘技术含量低,基本没有厂家作大规模工业化生产;遥控窗帘机可以远距离操作窗帘的开合,使用更为方便,自动窗帘机具有自动控制功能,可以满足用户各种情况下的使用要求。随着新科技和自动化的发展,传感器的使用数量越来越大,功能越来越强,各种传感器都已经标准化和模块化,
9、这为智能家居控制控制系统的设计提供极大的方便。智能家居是利用先进的计算机技术、网络通讯技术、综合布线技术、依照人体工程学原理,融合个性需求,将与家居生活有关的各个子系统如安防、灯光控制、窗帘控制、煤气阀控制、信息家电、场景联动、地板采暖等有机地结合在一起,通过网络化综合智能控制和管理,实现“以人为本”的全新家居生活体验。在设计系统时,面对各种检查对象和大量控制单元,需要利用各种标准和mcu进行连接,在通过mcu进行数据处理,实现实时监控。而此时采用单片机来实现智能家居控制系统不仅具有采集控制方便,简单,灵活等优点,而且大幅度提高采各模块和芯片的协调性,从而大大提高系统的利用性。此系统设计正是利
10、用at89c51单片机的优点,顺利的完成了本设计的要求。并且实现了定时和自动控制功能,为控制家居设备提供了良好的基础。随着自动窗帘热潮在世界范围内的日渐兴起,随着中国电子技术的飞速发展、人们生活水平的不断提高以及智能电子技术在生活中的广泛应用,自动窗帘已经成为未来家居装饰潮流发展的最新方向,在不久的将来,没有自动窗帘系统的住宅肯定不合潮流。从目前的发展趋势来看,在未来的20年时间里,自动窗帘行业将成为中国的主流行业之一,其市场的发展前景是非常广阔的。本设计的主要任务主要是通过单片机实现窗扇的多项智能控制,完成单片机应用系统其开发过的系统的总体设计,软件设计和系统调试。1.2设计的要求(1) 进
11、一步熟悉和掌握单片机的内部结构和工作原理,了解单片机应用系统设计的基本方法和步骤(2)掌握单片机仿真软件proteus,protel,keil的使用方法;(3)掌握键盘和显示器在的单片机控制系统中的应用。(4)掌握撰写课程设计报告的方法。 第二章 方案设计智能窗帘控制器总体方案设计是确定能够满足设计要求的总体方案的环节。本章从系统功能需求出发,规划并确定了系统的总体结构,并在此基础上考虑了系统的可扩展性及可实现性。2.1 控制器智能项目随着人民生活水平的不断提高,人们对家庭生活舒适性的需求越来越强烈,窗帘作为每个家庭生活中最必须的家居用品之一,自然也需要满足人民更舒适性的需求。窗帘最基本的作用
12、无非是保护业主的个人隐私以及遮阳挡尘等功能,但传统的窗帘您必须手动去开关,每天早开晚关也是挺麻烦的,特别是别墅或复式房的大窗帘,比较长,而且重,用时需要很大的力才能开关窗帘,特别不方便;于是智能窗帘应运而生。现有的智能窗帘都可以自动开关闭窗帘,到了时间自动控制窗帘的开关,可以根据光的但是他们也有些缺点。窗帘控制器的自动开关如何让窗帘能够开关自如,停机的时间是否到位。智能窗帘主要有以下几大功能:(1)手动控制:该功能使智能窗帘具有手动正传、手动反转 和手动停止的功能。而且增加了工作状态指示,电机工作在正传、反转和停止状态的时候,数码管均有不同工作状态指示。(2)半自动手动控制:半自动手动控制是在
13、需要关闭或打开窗帘的时候,只需要人工按一下“正转”或“反转”按键后,窗帘到位自动停止。(4)时间自动控制:根据设置输入的开启或关闭时间,来控制窗帘的关闭和打开。窗帘的正转、反转和停止功能可由单片机输出信号来控制步进电机的运转以实现。时间自动控制可以由定时器来控制。2.2 系统总体架构计划整个智能窗户控制系统包括微处理器、电机驱动电路等模块组成。整个系统框图如图2-1所示。stc89c51复位电路电机驱动电路按键lcd显示电路时钟显示电路电源电路 图2-1 系统框图智能窗帘控制器的总体结构框图如图2-2所示。电源电路时钟电路复位电路单片机显示部件键盘步进电机图2-2 智能窗帘控制器结构框图首先给
14、电路加上电源,在通过时钟电路来定好时间,到了设定的时间自动的复位来开闭窗扇。在通过信号的传输到单片机控制器,来实现电机的运行与停止。显示部件用来显示智能窗帘控制器的各种状态信息。键盘是主要的输入设备,控制单片机的各种参量。第三章 系统硬件设计整个系统的硬件接线图如图3-1所示。 图3-1 系统总硬件接线图总体硬件电路图包括单片机外围电路,键盘/显示接口电路,步进电机控制电路等模块。单片机外围电路提供各模块所需的5v电源和时钟模块;单片机的p2口控制步进电机的运行从而控制窗帘的升降。显示和键盘让人机交换变得更容易。以上各模块组成了智能窗帘控制器的总体电路。3.1 at89c51单片机的介绍at8
15、9c51是一种带4k字节flash存储器(fperomflash programmable and erasable read only memory)的低电压、高性能cmos 8位微处理器,俗称单片机。at89c2051是一种带2k字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,at89c2051是它的一种精简版本。at89c51单片机为很多嵌入式控制系统提
16、供了一种灵活性高且价廉的方案。 图3-2 at89s51单片机引脚图 at89c51 提供以下标准功能:4k 字节flash 闪速存储器,128字节内部ram,32 个i/o 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,at89c51可降至0hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止cpu的工作,但允许ram,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存ram中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。vcc:供电电压。gnd:接地。p0口:p0口为一个8位漏级开路双向i/o
17、口,每脚可吸收8ttl门电流。当p0口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须接上拉电阻。p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为低八位地址接收。p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电
18、流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)
19、这是由于上拉的缘故。p3口也可作为at89c51的一些特殊功能口,如下表所示:口管脚 备选功能p3.0 rxd(串行输入口)p3.1 txd(串行输出口)p3.2 /int0(外部中断0)p3.3 /int1(外部中断1)p3.4 t0(计时器0外部输入)p3.5 t1(计时器1外部输入)p3.6 /wr(外部数据存储器写选通)p3.7 /rd(外部数据存储器读选通)p3口同时为闪烁编程和编程校验接收一些控制信号。rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在flash编程期间
20、,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。/psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效的/psen信号将不出现。/ea/vpp:当/ea保持低电平时,则在此期
21、间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。xtal2:来自反向振荡器的输出。3.2 本设计的相关电路的介绍3.2.1晶振电路电路中的晶振即石英晶体震荡器。由于石英晶体震荡器具有非常好的频率稳定性和抗外界干扰的能力,所以,石英晶体震荡器是用来产生基准频率的。通过基准频率来控制电路中的频率的准确性。同时,它还可以产生振荡电流,向单片机发出时钟信号。图3-3是单
22、片机的晶振电路。电路中的电容c1和c2的典型值通常选择为30pf左右,该电容的大小会影响振荡电路频率的高低、振荡器的稳定性和起振的快速性。晶体振荡频率的范围通常在1.212mhz。晶体的频率越高,系统的时钟频率越快,单片机的运行速度越快。但反过来,运行速度对于存储器的速度要求就越高,对印刷电路板的工艺要求也就越高,即要求线间的寄生电容要小。晶体和电容应该尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证振荡器稳定、可靠地工作。at89c51常选择振荡频率12mhz的石英晶体。 图3-3 单片机晶振电路图3.2.2复位电路复位是单片机的初始化操作,只需要给at89c51的复位引脚rst加上
23、大于2个机器周期(即24个时钟振荡周期)的高电平就可以使at89c51复位。复位时,单片机初始化为0000h,从0000h单元开始执行程序。除了进入系统的正常初始化之外,当程序运行错误(如程序跑飞)或操作错误使系统处于锁死状态时,也需要复位键使rst脚为高电平,使at89c51摆脱“跑飞”或“死锁”状态而重新启动。图3-4是复位电路图。 图3-4 复位电路图3.2.3时钟电路本设计需要窗帘在给定的时间自动开和关,所以需要用到定时器,而为了保证单片机与外界时钟一致,要用到一个实时时钟电路。这里使用ds12887实时时钟芯片来完成这项功能。ds12887是dallas公司生产的实时日历时钟芯片,其
24、主要功能包括非易失性时日历时钟、报警器、百年历、可编程中断、方波发生器和114字节的非易失静态ram。使用ds12887时应注意以下几点:vcc正常情况下为5v,当vcc降至4.25v时,所有的输入被忽略,输出为高阻状态,vcc降至3v时,外部电源被关断,内部锂电池为实时时钟和ram供电,在断电情况下,时钟继续运行,其中的数据可保存十年以上不会丢失。ds12887有两种工作时序,即motorola和intel时序,由mot引脚的电平指定,当mot引脚为高电平时选择motorola时序,当mot引脚为低电平时选择intel时序,图中选为intel时序,这时芯片的ds引脚接系统的读信号/rd,r/
25、w引脚接系统的写信号/wr。as引脚用于分离数据地址总线ad7-ad0上的地址和数据信息,连接到mcu的ale引脚。reset引脚的信号对日历时钟和ram没有影响,但它影响ds12887的命令和状态寄存器的内容,在图中直接将reset连至vcc,这样可以保证ds12887在进入或退出电源失效状态时,其工作状态不受reset引脚的影响。ds12887有一个可编程输出方波引脚sqw,从该引脚可以输出频率为2hz-256hz的方波,在系统中正是利用此引脚输出周期为125ms的方波,作为mcu外部中断/int0的中断源实现周期性中断,每当中断发生时,mcu读一二次输入口,检查电表是否转过一圈,在整点时
26、还要采一次三相电流和电压。除此之外,ds12887内部还有128字节的ram的单元,其中前10个字节用于存放日历时钟信息,字节0为秒,字节2为分,字节4为时,字节6为星期,字节7为日,字节8为月,字节9为年,字节0ah-0dh用作控制和状态寄存器,剩下的114字节为用户ram,所有的这128字节都是掉电非易失性的。 图3-5 时钟电路图ds12887时钟芯片和at89c5l单片微机的接口电路如图3-5所示。模式选择脚mot接地, ds12887时钟芯片的as端口和at89c51单片机的aie端直接相联;而ds、rw 读写控制线与单片机的rd/wr控制线制线相连;ds12887的高位地址由at8
27、9c51单片机的p27端口来片选,则ds12887的高8位地址定为7fh,而其低8位则由芯片内部各单元的地址来决定(00h-3fh);ds12887的中断输出端iqr和at89c51的外部中断int0端相联,给单片机提供中断信号;ds12887的sqw端与89c5i的to端相连。3.2.4 电源电路单片机工作需要使用5v电压,因此需要给单片机设计电源电路。图3-6是单片机的电源电路。它采用lm7805三端集成稳压器,可输出+5v的直流电压供电。 图3-6 电源电路图3.2.5步进电机步进电机为一种数字伺服执行元件,具有结构简单、运行可靠、控制方便、控制性能好等优点,广泛应用在数控机床、机器人、
28、自动化仪表等领域。为了实现步进电机的简易运动控制,一般以单片机作为控制系统的微处理器,通过步进电机专用驱动芯片实现步进电机的速度和位置定位控制。单片机在本次试验中对步进电机的控制从而达到对转角和位移的控制的方法。本次设计采用两个型号为130hz308-450的三相反应式步进电机对旋转角度和位移进行控制,该步进电机力矩大、耐负载冲击、精度高。其步距角为1.2,即=1.2,即本次设计的测控系统对回转台转角的控制精度可以达到1.2。步进电机的驱动电路是根据控制信号工作的。而本次测控系统是以单片机位控制中心的,下面将介绍步进电机控制系统。步进电机控制系统主要由脉冲分配器,功率驱动电路,步进电机几部分构
29、成的。步进电机控制系统的方框图如图3-8所示: 脉冲控制器 功率驱动电路 步进电机负载脉冲信号 图3-8 步进电机控制系统方框图 图3-9 步进电机控制系统电路图如图3-9所示,是步进电机控制系统的电路图。单片机输出步进脉冲后,再由脉冲分配电路按事先确定的顺序控制各相的通断。本设计由软件完成脉冲分配工作,不仅使线路简化,成本下降,而且可根据应用系统的需要,灵活地改变步进电机的控制方案。软件控制脉冲将在软件设计部分说明。步进电机功率驱动电路工作在较大脉冲电流状态,采用光电耦合器将单片机与步机电机隔离可以避免单片机与步进电机功率回路的共地干扰,防止强功率的干扰信号反串进主控系统。此外,万一驱动电路
30、发生故障,也不致让功放中较高的电压串入单片机而使其损坏。步进电机的驱动电路有很多种,但最为常见的就是用单电压驱动,双电压驱动,斩波驱动,细分驱动等。但电压驱动是步进电机控制中最为简单的一种驱动电路,它在本质上是一个单间的反相器。它最大的特点是结构简单,工作效率低。而且它的外接电阻要消耗相当一部分能量,这样会影响电路的稳定性。双电压驱动电路是采用两种电源电压,缺点在于在高低电压连接处电流出现谷点,这样必然引起力矩在谷点处下降,不易于电机的正常运行。对于斩波驱动则可以克服这种缺点,并且还可以提高步进电机的效率。从提高效率的角度来看这是一个很好的驱动电路,它可以用较高的电源电压,同时无需外接电阻来限
31、定额定电流和减少时间常数。但由于其波形顶部呈现锯齿形波动,所以产生较大的电磁噪声。细分驱动是用脉冲电压来供电的,对于一个电压脉冲,转子就可以转动一步。本设计采用的是恒频脉宽调制细分驱动电路,电路图如3-10所示。 图3-10 恒频脉宽调制细分驱动电路3.2.6 键盘和显示接口电路 键盘在单片机应用系统中能实现向单片机输入数据,传送命令等功能,是人工干预单片机的主要手段。本设计中的键盘采用44矩阵键盘。16个键分别为:0-9十个数字键,用于时间设定输入;设定键,设定自动窗帘开和关的时间;复位键,在程序出错或者有误操作的时候;正转键,使步进电机正转,窗帘打开;反转键,使步进电机反转,窗帘关闭;停止
32、键,步进电机停止运转;确定键,时间设定完成后确定输入。由于按键比较多,加上减少所战占用的端口,可以将按键组成一个矩阵,如图3-11所示。 图3-11 键盘接口电路获取键盘信息的方法有2种,我们经常用到的是扫描法。在扫描法中,所有的行线固定为输出端口,并依次输出低电平;所有列线固定为输入端口,用来检测按键状态。当全部按键均松开时,从列线上检测不到行线输出的低电平。当某个按键按下时,只有在对应的行线输出低电平时才能在对应的列线端口检测到低电平。按键的触点在闭合和断开时均会产生抖动,这时触点的逻辑电平是不稳定的,如果不妥善处理,将会引起按键命令的错误执行或重复执行。一般消除抖动采用软件方法来解决,将
33、在软件部分介绍这点。显示部分则主要显示时间,用于设置时间。采用led数码管进行显示是一种经济实用的方法。每位数码管由7个笔画加上小数点共8个发光二极管组成;有共阴极和共阳极两种类型,公共端用来进行位控制,笔画端用来进行字符控制;数码管显示有静态显示和动态显示两种方法。在数码管显示中,有2个技术问题需要解决,这就是整数高位和闪烁显示问题。虽然某些新型led驱动芯片本身具有闪烁控制和熄灭控制功能,但通过合理的软件设计,采用廉价芯片组成的驱动电路同样可以实现整数高位灭零和闪烁显示功能,达到降低系统硬件成本的目的。本设计采用的就是4位led数码管的串行驱动电路来达到显示时间和消除闪烁显示的目的。驱动器
34、采用74ls164,由at89c51的p3.0和p3.1来控制led数码管的显示。显示电路图如3-12所示。 图3-12 显示电路第四章 系统软件设计系统软件设计主要包括显示子程序,键盘子程序,时钟程序,步进电机控制程序设计及部分构成。本章节系统的介绍了智能窗帘的主程序和各主要功能子程序的设计流程。 本论文所设计的程序主要完成以下功能: 按键+遥控控制窗帘开关(分为连续开关和步进开关) 定时开关窗帘设置 人机交互信息+时间显示是窗帘到位或按键按下步进关窗步进开窗连续关窗连续开窗窗帘未完全开启未完全开启未完全关闭窗帘位置检测窗帘控制按下开始按键检测功能键按下否功能设置(定时时间设置、定时延时后窗
35、帘状态设置)确认键按下是定时时间不为零启动定时器时间到程序流程图如下:未完全关闭是 图4-1 遥控窗帘总流程图4.1 软件开发环境选择 本论文所选择的软件开发环境为keil uvision4。 keil公司是一家业界领先的微控制器(mcu)软件开发工具的独立供应商。keil公司由两家私人公司联合运营,分别是德国慕尼黑的keil elektronik gmbh和美国德克萨斯的keil software inc。keil公司制造和销售种类广泛的开发工具,包括ansi c编译器、宏汇编程序、调试器、连接器、库管理器、固件和实时操作系统核心(real-time kernel)。有超过10万名微控制器开
36、发人员在使用这种得到业界认可的解决方案。其keil c51编译器自1988年引入市场以来成为事实上的行业标准,并支持超过500种8051变种。keil公司在2007年被arm公司收购。其两家公司分别更名为arm germany gmbh和arm inc和。keil公司首席执行官reinhard keil表示:“作为arm connected community中的一员,keil和arm保持着长期的良好关系。通过这次收购,我们将能更好地向高速发展的32位微控制器市场提供完整的解决方案,同时继续在uvision环境下支持我们的8051和c16x编译器。”2009年2月发布keil vision4,
37、keil vision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的arm芯片,还添加了一些其他新功能。2011年3月arm公司发布最新集成开发环境realview mdk开发工具中集成了最新版本的keil uvision4,其编译器、调试工具实现与arm器件的最完美匹配。 图4-2 keil vision4启动画面 图4-3 编程界面4.2 主程序4.3 主程序软件设计主程序构成无限循环,主要完成单片机初始化,关中
38、断,菜单显示内容初始化,按键扫描,电机运行,计时等功能。主程序的流程图如图4-4所示。 图4-4 主程序流程图启动主程序,先关中断并且设置堆栈,接着初始化寄存器,初始化显示内容;然后执行按键查询,执行相应的操作。如果是设定键,则设定时间,开始计时;到时间后步进电机开始相应的工作,工作完成后停机。如果是电机控制键,则也执行相应的工作。如果都不是,则是复位键,采取复位操作。4.4 主要功能子程序设计4.4.1 步进电机程序设计步进电机程序设计的主要任务是: 1).判断旋转方向;2).按顺序传送控制脉冲;3). 判断所要求的控制步数是否传送完毕。图4-5 步进电机工作流程图4.4.2 显示程序显示程
39、序开始后,起始地址60h发送到r0,01h发送至显示位代码r2,再将位代码发送到单片机a口,单片机取显示数据查表转换成显示代码发送至单片机b口,延时2ms,指针r0加1,然后判断6显示是否完成。如果完成则返回,没完成则位代码r2左移一位,继续显示查表,一直到6位显示完成后返回。显示子程序流程图如图4-6所示 图4-6 显示部分流程图4.4.3 键盘程序设计按键的触点在闭合和断开时均会产生抖动,这时触点的逻辑电平是不稳定的,如不妥善处理,将会引起按键命令的错误执行或者重复执行。现在用软件延时的方法来避开抖动阶段。在判断是否有键闭合后都延时5ms,按下键后再延时12ms就可以避免键盘的抖动。然后键
40、码分析,执行相应的模块,显示后返回。键盘子程序如图4-7所示。 图4-7 键盘程序流程图4.4.4 定时程序设计定时的主要功能是在设定时间单片机能够得到中断信号,从而控制窗帘的开关。时钟发出50ms的信号给单片机,计数器计数,当计数到20,则过了1秒,秒单元数值加1,当秒单元到达60,分单元数值加1,秒单元清零。当时单元到达24,时单元清零。标志1天时间计满,把他们的值放到存储单元的指定单元。图4-8是定时功能流程图。图4-8 定时功能流程图第五章 系统的调试和运行5.1软件调试当硬件制作完成后,软件制作也是不可轻视的部分,是实现电路的功能的关键部分,通过本次毕业设计,总结经验如下:(1)先进
41、行人工检查。写好程序后,不要立刻烧入单片机,先对纸面上的程序进行人工检查。由于采用c语言编程,所以要特别小心地检查语法错误,如括号不配对,漏写分号等,通过仔细的检查,发现并排除这些错误。(2)人工检查无误后,上机调试。在编译时给出的语法错误的信息,根据提示的信息具体找出程序中错误之处并改之,从上至下逐一改正。应当注意的是:有的提示出错行并不是真正出错的行,如果在提示出错的行上找不到错误的话,则应该到上行再找。(3) 当确认程序无语法错误和逻辑错误时,通过直接下载到单片机来调试。采用的是自下到上的调试方法,即单独调好每一个模块,然后再连接成一个完整的系统调试。(4) 程序烧入单片机后,观察各个部
42、件的工作是否正常,功能是否实现。如不能正常工作,则继续检查程序中的相应模块,必要时从上到下重新检查程序。 5.2 pcb图小结本次设计系统地介绍了自动窗帘控制系统的硬件电路设计以及软件设计。经过几个月的资料查找和设计,我已完成了毕业设计的任务。本文设计了电动窗帘控制器的智能项目,系统的介绍了电动窗帘控制器的硬件电路设计到软件设计的以系列步骤。本设计采用步进电机作为执行元件,以at89c51单片机作为控制芯片,辅助键盘和显示,实现了电动窗帘控制器的多项智能项目。本次毕业设计的整个研究与设计过程包括选题、设计以及完善等。首先,在选题方面查阅了很多与题目有关的资料和课题并且制定设计方案,进行设计的总体规划,然后将这些方案落实到设计环节中。其次,在制定的方案基础上运用所学的知识对硬件以及软件进行设计,并用相关软件进行仿真设计。最后,对设计内容进一步修缮,以求达到最佳设计结果。纵观整个设计系统,单片机使用了熟悉的at89c51单片机,从而使整个控制芯片设计起来也是得心
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 店铺代理收租合同范例
- 机加工配件合同范例
- 爱车保洁服务合同范例
- 个人转让厂房合同范例
- 泡沫配件采购合同范例
- 不可逾越合同范例
- 公司人才租房合同范例
- 异地订购合同范例
- 工商汽车合同范例
- 护理管理基础模拟考试题(附答案)
- 《物理学之美 插图珍藏版 》读书笔记思维导图PPT模板下载
- 国开电大本科《人文英语4》机考总题库珍藏版
- 腮腺疾病围手术期护理查房
- 学生假期安全承诺书200字(5篇)
- 血液透析个案护理两篇
- GB/T 37814-2019综采综放工作面远距离供电系统技术规范
- 高中通用技术《技术试验及其方法》公开课课件
- PSSR试车前的安全检查
- 基于R语言数据挖掘课程期末论文
- 数字电子技术课程设计电子密码锁
- 防火防爆安全技术课件
评论
0/150
提交评论