毕业设计论文 - 图文

更新时间:2024-04-09 22:42:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业论文

题目 自动启闭光控窗帘

二级学院 电子信息与自动化 专 业 测控技术与仪器 班 级 测控技术与仪器二班 学生姓名 谭瑞 学号 11007030223 指导教师 评阅教师 时 间

重庆理工大学 自动启闭光控窗帘

目 录

目 录 ................................................................................................................................................ II

摘 要 ............................................................................................................................................... IV

Abstract .......................................................................................................................................... IV

1 绪 论 .......................................................................................................................................... 5

1.1 研究意义 ......................................................................................................................... 5 1.2 国内外现状 .................................................................................................................... 5 1.3 本论文的主要研究内容 ................................................................................................ 6

2 总体方案设计 .............................................................................................................................. 8

2.1 设计目标及任务 ............................................................................................................. 8 2.2 设计模块 ........................................................................................................................... 8 2.3 总体方案设计 .................................................................................................................. 8

3 硬件电路设计 .......................................................................................................................... 10

3.1 设计思路 ......................................................................................................................... 10 3.2 电源模块硬件电路设计 .............................................................................................. 10 3.3 数据采集模块硬件电路设计 ..................................................................................... 12 3.4 信号处理模块硬件电路设计 ..................................................................................... 15 3.5 A/D转换模块硬件电路设计 ...................................................................................... 16 3.6 单片机AT89C51 ............................................................................................................. 17

3.7 步进电机驱动模块硬件电路 ..................................................................................... 20 3.8 整体硬件电路图 ........................................................................................................... 23

4 软件设计 ...................................................................................................................................... 24

4.1 控制软件设计方案 ....................................................................................................... 24 4.2 数据处理方案 ................................................................................................................ 24 4.3 步进电机程控方案 ....................................................................................................... 25 4.4 ADC0832的控制方案 ................................................................................................... 27

5 系统调试 ...................................................................................................................................... 32

5.1 光照采集硬件模块光敏电阻测试 ............................................................................ 32 5.2 电源模块测试 ................................................................................................................ 33 5.3 电压跟随模块调试及问题 ......................................................................................... 33 5.4 单片机最小系统模块调试及问题 ............................................................................ 34 5.5 步进电机控制模块调试及问题 ................................................................................ 35

6 总结 ............................................................................................................................................ 36

致 谢 .......................................................................................................................................... 37

参考文献 .......................................................................................................................................... 38

附 录 .......................................................................................................................................... 39

附件一 系统操作说明书 ..................................................................................................... 40

附件二 PCB制作原理图、仿真电路图以及实物图 ................................................... 40

附件三 程序清单 .................................................................................................................. 43

重庆理工大学 自动启闭光控窗帘

文献综述 .......................................................................................................................................... 49

摘 要

为了让室内居住、工作或者学习的人拥有一个更舒适的环境,本论文设计了一个自动启闭光控窗帘系统,它能够感应周围环境的光照强度,当光照低于某一数值时窗帘会自动打开,等到光照又回到或者高于某一数值时窗帘又会自动关闭。真正让窗帘成为现代家居的一道亮丽风景线。

本论文分别设计了电源模块、光照采集模块、信号处理模块、A/D转换模块、步进电机控制模块。电源模块主要用于整个系统的供电;光照采集模块采用光敏电阻搭建的分压电路,输入信号的改变使得控制信号跟随着改变;信号处理模块采用电压跟随电路提高输入阻抗,便于后续的信号处理;A/D转换模块用ADC0832来转换信号,将转换后的数字信号送入单片机AT89C51中进行控制;步进电机控制模块用ULN2003芯片驱动步进电机直接采用单片机进行程控。

实物调试结果符合预期要求,能放心运用于实际,方便人们生活,在智能家居领域具有很大的市场。

关键词:信号处理 AT89C51 ADC0832 ULN2003 步进电机

重庆理工大学 自动启闭光控窗帘

Abstract

In order to let indoor people live, work or study with a more

comfortable environment, this paper designed an automatic opening and closing electric curtain system, it can be induced ambient light intensity, when the light is lower than a certain value will automatically open the curtain, wait until the light back to or higher than a certain value when the curtain will automatically shut down. Really make the curtain of modern household a bright scenery line.

Respectively, this paper designed the power supply module, light collection module, signal processing module, A/D conversion module, stepper motor control module. Power supply module is mainly used for the power supply of the whole system; Light collection module using photoresistance structures, partial pressure of the circuit, the input signal changes makes the control signal with; The signal processing module adopts the following circuit to improve the input impedance, voltage to facilitate subsequent signal processing; A/D conversion module to convert signals with ADC0832, will be transformed in the digital signal into the microcontroller AT89C51 to control; By ULN2003 stepper motor control module chip driving a stepper motor by single chip microcomputer for SPC directly.

Physical debugging results conform to the requirements of the expectations, can safely applied to real, convenient people's life, has a large market in the field of smart home.

Key words: signal’processing AT89C51 ADC0832 ULN2003 stepping motor

IV

1 绪 论

1.1 研究意义

时代在进步,生活在提高,人类在逐步走向文明。不同的时代对居住空间、环境有着不同的需求,这是社会发展的必然潮流。单片机控制的自动启闭光控窗帘系统不但解决了每天手拉开关窗帘的不便,而且还凸显出了生活的档次,与此同时还可以根据光照的强度来自动控制窗帘的启闭,以便于调节室内的光线强度,更进一步地满足了人们的生活要求。因此该产品能大规模生产,很快就会普及全国市场,产生巨大的经济效益;除此之外,除了广大市民住宅使用外,该自动启闭光控窗帘系统还可以广泛应用于写字楼、歌舞厅、影剧院、会议厅、别墅、公寓、宾馆、饭店、学校、医院、银行等各种场所,由此观之该产品具有较为广阔的市场前景[1]。

自动启闭光控窗帘系统在我国才刚刚兴起,其广阔的发展前景和技术的成熟,使得自动启闭光控窗帘系统的推广和应用具有重要的现实意义。首先,改变人们的生活环境。自动启闭光控窗帘系统具有丰富的智能化功能,为家庭用户营造一个便利、高效、舒适、环保的居住环境。其仅仅使用一个光敏电阻、一个单片机和步进电机就能控制窗帘启闭问题,给人们日常生活带来了极大的方便。这些都将改变人们传统的生活方式,并提高了人们的居住质量。其次,带动产业。单片机控制的自动启闭光控窗帘产品全面面向家庭用户,具有庞大的销售市场,和广阔的发展前景,必将吸引一大批有远见卓识的各类企业介入,进而牵动一大批产业的发展。首当其冲的应该是房地产业,单片机控制的自动启闭光控窗帘不仅仅是一个很好的“卖点”和概念,同时也是提升住宅档次最直接的一个条件,这将会给房地产商带来新的销售空间[2]。在智能家居网络化、大众化、集成化的趋势下,智能家居也成为了一种新的潮流。最后,自动启闭光控窗帘系统开拓一个崭新的市场。自动启闭光控窗帘系统牵动了众多国内行业,它将不仅仅是目前的建筑弱电工程总包商和IT系统集成商的市场,而且还是专业公司和智能化装饰公司的市场。所以自动启闭光控窗帘的推广将不言而喻。 1.2 国内外现状

在欧美等发达国家,自动启闭光控窗帘已经在被广泛应用。早在几年前,它就

第 5 页

重庆理工大学 自动启闭光控窗帘

已经进入我国,可一直没有进一步的推广,近十年来,随着光控技术的不断提高以及价格的不断降低,自动窗帘才逐先矛头。据资料统计,全国共有170多种电动窗帘器获得了国家专利,但就其技术本身而言,还是大同小异,但售价却有很大差别,贵的要数千上万元,便宜的仅仅只需要几百元。

尽管自动启闭光控窗帘系统在国内还是一个刚刚兴起的产业,但是,它正在以一个不可抵挡之势迅速崛起。自动启闭光控窗帘系统进入中国大陆以来,在短短不到十年的时间里,生产商由最初的几家公司骤增到如今的上百余家企业,其行业发展迅速是目前国内其它任何行业所无法媲美的。就目前来看,我国自动启闭光控窗帘系统的生产厂商、分销商、集成商与装饰公司都发展到了相当大的规模,不少国内知名企业纷纷涉足自动启闭光控窗帘系统行业,如青岛海尔、清华同方、TCL等,并涌现出一些较具影响力的智能家居专业厂商,如上海索博智能电子有限公司、北京九州易居科技有限公司、深圳市正星特科技有限公司等。自动启闭光控窗帘产品已经走进中国家庭。据估计,如果自动启闭光控窗帘系统,销售占市场的5%左右,就可实现年产值上亿元,实在让人难以想象其前景的广阔[17]。

随着自动启闭光控窗帘的推广在世界范围内的逐渐兴起,随着中国电子技术的快速发展、人们生活水平的不断提高以及智能电子技术在人们生活中的广泛应用,自动启闭光控窗帘已经成为未来家居装饰潮流发展的最新方向,这样看来在不久的将来,没有自动窗帘系统的住宅定当不符合潮流[18]。

由此观之,在未来的十年时间里,自动启闭光控窗帘行业将成为中国的主流行业之一,其市场的发展前景是不可限量的。 1.3 本论文的主要研究内容

自动窗帘的控制方式大体上有三种:①、声控,②、遥控,③、光控,前两类都属于半自动类;因而光控式的自动窗帘机便成了专业以及业余电子设计人员的热门论文。根据以上自动窗帘有些不能实现完全的自动化;有些虽然实现了完全的自动化,但结构复杂,性能不够稳定,价格昂贵不适合中低层消费者使用。所以这里使用价格相对便宜的光敏电阻、单片机作为主要控制器件,来完成该系统的设计,以达到高性价比、占据更大市场的目标。本论文将进行以下几方面的研究工

第 6 页

作 。

1) 总体方案设计,主要介绍总体方案流程以及主要思路; 2) 硬件设计,主要介绍硬件电路的设计原理以及芯片的选择; 3) 软件设计,主要介绍控制和数字处理的软件算法; 4) 系统调试,对实物进行调试。

第 7 页

重庆理工大学 自动启闭光控窗帘

2 总体方案设计

2.1 设计目标及任务

光控窗帘能在完全脱离人的控制情况下随光照强度变化自动调节窗帘进而便捷人们的生活。主要目标:实现当光照强度高于某一数值时,步进电机驱动自动关闭窗帘;当光照强度低于某一数值时,步进电机驱动自动开启窗帘。最大程度使室内的光照稳定于某一适宜值[3]。主要任务: 1) 利用光敏电阻来采集室内的光强;

2) 利用51单片机分析AD转换后的采集信号,进而确定控制阈值,设定控制方案[4];

3) 通过单片机控制步进电机的转动角度和速度调节窗帘的起闭。

可行性分析:本方案基于单片机对电机的控制,选取高精度光敏电阻和A/D芯片,对窗帘的初始启闭位置实现完美吻合,最大可能的实现微小误差。可行性强。经费方面:在窗帘的基础上添加电机、单片机、电路以及电阻等元器件,价格低廉,适合广大人群使用,推广性强。 2.2 设计模块

本次设计名为自动启闭光控窗帘系统,共分为五个模块:电源模块、数据采集模块、信号处理模块、A/D转换模块、单片机数据处理模块、步进电机驱动模块。

2.3 总体方案设计

总体方案如图2.3.1所示[5]。 数据采集模块 信号处理模块 A/D转换步进电机单片机数据处模块 理控制模块 驱动模块 图2.3.1 总体方案

在本次设计过程中从开始到最后完成设计主要有两种方案。

方案一:用光敏电阻T12528和三个其在正常光照下同阻值的电阻15kΩ搭建的电桥电路作为采集电路,采集输出的两路信号送入滤波电路(由LM324组成)

第 8 页

[6]

,滤波输出接入到差模三运放电路进行信号放大(由LM324组成),放大后信号

送入ADC0832进行模数转换,转换后的信号输入单片机由信号变化对应控制步进电机实现启闭窗帘[7]、[8],方案一在实物制作采用的PCB板制作。

方案二:采用光敏电阻T12528和15kΩ的电阻组成的分压电路,分得15k电阻的电压紧接一个跟随器(OP07)其目的是:提高输入阻抗,减小输出阻抗,提高电路带负载能力。电压跟随器的输出输入到ADC0832的输入端进行模数转换,转换后的数字信号输入51单片机对步进电机进行程控,当外部条件满足时达到控制阈值,从而实现启闭窗帘的目的[9]、[10]。由于方案二硬件电路图并不复杂,在实物制作中采用的万用板制作。

由于方案一光敏电阻对光照强度敏感度很高,其阻值变化范围较大并不适合采用电桥电路和差分三运放电路[12],所以本设计最终采用方案二。方案二分压电路对5V电压进行分压,光照强度较大时光敏电阻阻值仅仅只有1kΩ左右,光线暗时却有2MΩ的阻值,采用15kΩ电阻分压范围为0.1V~4.8V无需进行电压放大,只需一个电压跟随器抬高输入阻抗即可[11]。两种方案均有共同以下几个特点: 1) 光敏电阻方便又实惠,而且灵敏度高;

2) 自动启闭光控窗帘系统,通过光敏电阻对光照强度的采集,让用户可以随自己的生活习惯方便的自动开关窗帘,无需手动;

3) 采用光控方式,其它电器的正常工作不会受到影响,也不会影响到邻近的无线设备,独立性高,抗干扰能力强;

4) 采用步进电机,匀速缓慢转动,大大减小了拉动时产生的噪声; 5) 美观,以往的光控电动窗帘都是向一边拉或向上拉,而本设计为向两边拉开,切拉动平缓;

6) 体积小、灵敏度高、抗干扰性强、经济实用、结构简单、工作可靠、使用寿命长。

第 9 页

重庆理工大学 自动启闭光控窗帘

3 硬件电路设计

3.1 设计思路

本论文主要对方案二进行设计。方案二是由光敏电阻T12528和一个15kΩ的电阻搭建的一个分压电路,当光照强度改变时,光敏电阻电阻阻值改变,分得15kΩ电阻的电压值也会改变,由此构成了随光照强度变化的输入电压信号[13]。信号经一由OP07搭建的跟随器以提高输入阻抗降低输出阻抗,再输入ADC0832进行A/D转换,将信号送入单片机89C51中,用来控制8个输出端的电平高低,这8个输出端分别与两片芯片ULN2003的U0-U4输入端相连,用于驱动步进电机同时控制步进电机的正反转[15],这就实现了自动光控窗帘的效果了。 3.2 电源模块硬件电路设计

由于整个设计中需要用到正负5V的电压,所以需要做一个正负5V的直流电源。LM7805和LM7905是最常用到的稳压芯片,它的使用方便,用很简单的电路即可以输入一个直流稳压电源,它的输出电压恰好为正负5V,刚好是51系列单片机和双电源运放运行所需的电压。

芯片简介,电子产品中,常见的三端稳压集成电路有正电压输出的78××系列和负电压输出的79××系列。顾名思义,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。它的样子象是普通的三极管,TO-220的标准封装,也有9013样子的TO-92封装。用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。该系列集成稳压IC型号中的78或79后面的数字代表该三端集成稳压电路的输出电压,如7805表示输出电压为正5V,7905表示输出电压为负5V。因为三端固定集成稳压电路的使用方便,电子制作中经常采用。封装图如图3.2.1所示

页 第 10

图3.2.1 TO-220封装图

注意:7805/7905系列的稳压集成块的极限输入电压是36V,最低输入电压为输出电压的3V-4V以上.

由于在整个电路系统中用到正负5V的电压,所以用三端稳压块LM7805和LM7905芯片来制作正5V和负5V的电源模块。电路原理图和PCB图如图3.2.2和3.2.3所示:

图3.2.2 电源模块原理图

第 11 页

重庆理工大学 自动启闭光控窗帘

图3.2.3 电源模块PCB图

3.3 数据采集模块硬件电路设计

经过综合考虑,在此模块中使用光敏电阻T12528。光敏电阻T12528的阻值随光照强度变化适合我们设计整个系统,且重量轻、性能稳定、价格便宜,因此应用比较广泛,在自动启闭光控窗帘系统使用是极佳的选择。

光敏电阻简介。光敏电阻与半导体二极管在结构上是相似的,其管芯是一个具有光敏特征的PN结,具有单向导电性,因此工作时需加上反向电压。在没有光照的情况下,有很小的饱和反向漏电流,称为暗电流,此时的光敏二极管截止。在受到光照的情况下,饱和反向漏电流大大增加,形成光电流,它随受到的光照强度的变化而变化。因此可以利用改变光照强度来改变电路中的电流,亦可理解为阻值。 工作原理。光敏电阻是将光信号变成电信号的半导体器件。前面说过它的核心部分是一个PN结,和普通二极管相比,在结构上不同的是,为了便于接受入射光照,PN结面积尽量做的大一些,如图3.3.2所示。电极面积尽量小些,而且PN结的结深很浅,一般小于1微米。光敏二极管是在反向电压作用之下工作的,反之则不能正常工作。没有光照射时,反向暗电流很小(一般小于0.1微安)。当有光照射时,携带能量的光子进入PN结后,把能量传给共价键上的束缚电子,使部分电子挣脱共价键,从而产生电子---空穴对,称为光生载流子。它们在反向电压作

页 第 12

用下参加漂移运动,使反向电流明显变大,光的强度越大,反向电流也越大。这种特性称为“光电导”。光敏电阻在一般照度的光线照射下,所产生的电流叫光电流。如果在外电路上接上负载,负载上就获得了电信号,而且这个电信号随着光的变化而相应变化。

光敏电阻的结构如图3.3.2所示。管芯是一块安装在绝缘衬底上带有两个欧姆接触电极的光电导体。其吸收光子而产生光电效应,但只限于光照的表面薄层,虽然也有少数产生的载流子会扩散到内部去,但并不能扩散的太深,因此光电导体一般都做成薄层。为了获得更高的灵敏度,光敏电阻的电极一般采用硫状图案(即S型),它是在一定的掩模下向光电导薄膜上蒸镀金或铟等金属形成的。采用这种硫状电极,由于在短间距的电极之间采用尽可能大的灵敏面积,因而提高了光敏电阻的灵敏度。

图3-3-2 光敏电阻的结构图

光敏电阻的主要参数有:亮电阻(RL)、暗电阻(RD)、最高工作电压(VM)、亮电流(IL)、暗电流(ID)、时间常数、温度系数灵敏度等。如表3.1.1所示。 1) 亮电阻,亮电阻是指光敏电阻器受到光照射时的电阻值。

2) 暗电阻,暗电阻是指光敏电阻器在没有光照射时(黑暗环境)的电阻值。 3) 最高工作电压,最高工作电压是指光敏电阻工作在额定功率下所允许承受的最大电压值。

4) 亮电流,亮电流是指在光敏电阻受到光照射时,在规定的外加电压下所

第 13 页

重庆理工大学 自动启闭光控窗帘

通过的电流值。

5) 暗电流,暗电流是指在光敏电阻无光照射时,光敏电阻器在规定的外加电压下通过的电流值。

6) 时间常数,时间常数是指光敏电阻从光照跃变开始到稳定亮电流的63%时所需的时间。

7) 电阻温度系数,温度系数是指光敏电阻在环境温度改变1℃时,其电阻值的相对变化。

8) 灵敏度,灵敏度是指光敏电阻在有光照射和无光照射时电阻值的相对变化。

表3.1.1光敏电阻的主要参数

设计原理:由光敏电阻T12528和一个15k?的电阻搭建的一个分压电路。将15k?电阻所分电压值送入到下一模块。T12528在光线暗的情况下阻值为2M?,光线明的情况阻值会骤降到8k?—20k?,由于光敏电阻的阻值会随着光照强度的变化而变化,所以输出的分压值也会随光照强度的变化而变化。电路图如图3.1.2所示。

图3.1.2 分压电路

页 第 14

3.4 信号处理模块硬件电路设计

在信号处理模块中,只需要一个电压跟随器抬高输入阻抗即可。此模块选择运放OP07作为电压跟随器的主要芯片,从性能上来说OP07为高精度运放,比LM324更为精确,价格低廉。外加其低失调、高开环增益的特性,决定了它是本模块很好的选择[19]。

OP07简介,Op07芯片是一种低噪声,非斩波稳零的双极性运算放大器集成电

路。由于OP07具有非常低的输入失调电压(对于OP07A最大为25μV),所以OP07在很多应用场合不需要额外的调零措施。OP07同时具有输入偏置电流低(OP07A为±2nA)和开环增益高(对于OP07A为300V/mV)的特点,这种低失调、高开环增益的特性使得OP07特别适用于高增益的测量设备和放大传感器的微弱信号等方面。主要特点有:

1) 超低偏移: 150μV最大; 2) 低输入偏置电流: 1.8nA ; 3) 低失调电压漂移: 0.5μV/℃; 4) 超稳定,时间: 2μV/month ; 5) 最大高电源电压范围: ±3V至±22V 。 引脚功能图及封装3.4.1。

图3.4.1 引脚功能图及封装

1和8为偏置平衡(调零端),2为反向输入端,3为正向输入端,4接地或接电源-,5空脚 6为输出,7接电源+。

设计原理:将前级输出的分压值输入到由OP07组成的电压跟随器,跟随器的输出端接到下一模块。其目的是提高输入阻抗,减小输出阻抗,增强带负载能

第 15 页

重庆理工大学 自动启闭光控窗帘

力稳定输出电压。使后级电路能够正常工作。

在电路中,电压跟随器一般做缓冲级及隔离级。因为,电压放大器的输出阻抗一般比较高,通常在几千欧到几十千欧,如果后级的输入阻抗比较小,那么信号就会有相当的部分损耗在前级的输出电阻中。在这个时候,就需要电压跟随器来从中进行缓冲,起到承上启下的作用。硬件电路图如图3.4.2所示。

图3.4.2 电压跟随器

3.5 A/D转换模块硬件电路设计

本模块选择ADC0832作为模数转换的主要芯片,同为八位分辨率,但其单端输出使得在设计电路上较ADC0809更为简单。ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换,单端输出芯片。由于它体积小,兼容性强。相比ADC0809更方便操作,端口管脚仅仅只有八个,也减小了硬件电路的复杂性。因此本模块选择了ADC0832。

ADC0832简介,ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。ADC0832具有以下特点: 1) 8位分辨率; 2) 双通道A/D转换;

3) 输入输出电平与TTL/CMOS相兼容; 4) 5V电源供电时输入电压在0~5V之间; 5) 工作频率为250kHz,转换时间为32μS;

页 第 16

6) 一般功耗仅为15mW;

7) 8P、14P—DIP(双列直插)、PICC多种封装;

8) 商用级芯片温宽为0°C to +70°C,工业级芯片温宽为40°C to +85°C。

接口示意图如图3.5.1所示。

图3.5.1 ADC0832接口示意图

正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。

设计原理:将通过电压跟随器后输出的模拟电压信号送入芯片ADC0832中,由芯片内部对数据进行锁存、译码、转码、比较等步骤转换成AT89C51所需的数字信号便于单片机的处理。本模块选用ADC0832的通道0作为数字信号的输出端口。如图3.5.2所示。

图3.5.2 ADC0832连接图

3.6 单片机AT89C51

为了占据更多的普通家庭市场,选择了AT89C51,而非ARM系列等,首先AT89C51功能上完全满足产品的需求,并且体积小、价格低廉、使用寿命长。从

第 17 页

重庆理工大学 自动启闭光控窗帘

而在满足要求的情况下,最大限度的降低了成本。

AT89C51简介,AT89C2051是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,片内含2k bytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合。 实物图及管脚图如图3.6.1所示。

图3.6.1 AT89C51引脚图

设计原理:对A/D转换后的数字信号进行处理,使得管脚输出直接对步进电机进行程序控制,ADC0832所需时序也是由此模块提供。是整个系统设计的核心模块。包括复位电路和晶振电路。

复位电路,在上电或复位过程中,控制CPU的复位状态。这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的[21]。

本次设计采用手动复位电路,手动按钮复位需要人为在复位输入端RST上加入高电平。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按

页 第 18

下按钮时,则Vcc的正5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。如图3.6.2所示。

图3.6.2 复位电路

晶振电路,每个单片机系统里都有晶振,全称是叫晶体震荡器,在单片机系统里晶振的作用非常大,结合单片机内部的电路,产生单片机所必须的时钟频率。单片机的一切指令的执行都是建立在这个基础上的,晶振提供的时钟频率越高,那单片机的运行速度也就越快。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十,高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)[22]。

本次设计采用如图3.6.3所示的电容三端式(考毕兹)交流等效振荡电路。

图3.6.3 晶振电路

AT89C51模块总体电路图如图3.6.4所示。

第 19 页

重庆理工大学 自动启闭光控窗帘

图3.6.4 最小系统模块

3.7 步进电机驱动模块硬件电路

本设计选用双(双相绕组通电)四拍(AB-BC-CD-DA-AB)来控制步进电机。ULN2003 是高耐压、大电流达林顿陈列,用于驱动步进电机方便使用。而28BYJ-48步进电机便于微小的转角控制,转动平缓,拖动窗帘噪声小。因此选择他们作为窗帘的拖动[23]。

ULN2003简介,ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN 达林顿管组成。该电路的特点如下:

1) ULN2003 的每一对达林顿都串联一个2.7kΩ 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据;

2) ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行; 3) ULN2003 采用DIP—16 或SOP—16 塑料封装。 管脚图如图3.7.1所示。

页 第 20

图3.7.1 ULN2003管脚图

工作极限值 (若无其它规定,Tamb=25℃)如图3.7.2所示。

图3.7.2 ULN2003工作极限值

步进电机简介,步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。您可以通过控制脉冲个来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的[24]。28BYJ-48步进电机实物图如图3.7.3所示。

图3.7.3 28BYJ-48步进电机

第 21 页

重庆理工大学 自动启闭光控窗帘

步进电机28BYJ48型四相八拍电机,电压为DC5V—DC12V。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A),双(双相绕组通电)四拍(AB-BC-CD-DA-AB),八拍(A-AB-B-BC-C-CD-D-DA-A)。本设计选择四拍来控制步进电机。驱动方式如图3.7.4所示。

图3.7.4 步进电机驱动方式

当然基本步距角是不能取任意值的。往往希望步进电机转一圈为100步或其倍数,这在2/4相和5相步进电机容易做到,但对于三相步进电机其基本步距角不可能做到转一圈为100步或200步,但可以是300步。

设计原理:由ULN2003提高电压驱动步进电机,所需驱动电压值可随需要改变,设计中需要驱动步进电机带动窗帘最低需要24V电压才能带动。单片机4个输出端口连接ULN2003的4个输入端。单片机收到ADC0832的输入信号后判断此时的电压值,如果小于某一数值,输出端P0口低四位输出对应控制电平,信号送到驱动控制芯片ULN2003后控制端步进电机正转,数秒后停止;如果大于某一数值,输出端变相反的时序,经ULN2003控制步进电机反转。如图3.7.5所示。

页 第 22

图3.7.5 步进电机驱动

3.8 整体硬件电路图

选择方案二,由于protuse仿真软件的问题ULN2003不能成功仿真,下面电路图并没有涉及到ULN2003,但并不影响仿真。如图3.8.1所示。

图3.8.1 方案二仿真电路图

第 23 页

重庆理工大学 自动启闭光控窗帘

4 软件设计

4.1 控制软件设计方案

本设计论文——自动启闭光控窗帘系统,在光照强度超过某一定值时要求关闭窗帘,同时气短数码管显示数值1;光照强度低于这一定值时打开窗帘同时气短数码管显示数值0。这就需要控制电机的转角和转速:转动到某一角度(窗帘恰好拉开完毕或恰好关闭完毕)停止转动,同时转速不能太快以免产生噪音和把窗帘拉坏。设计流程图如图4.1.1所示。

图4-1-1 软件流程图

4.2 数据处理方案

经过ADC0832模数转换后的数据并不便于我们编写控制程序,所以需要将其转换为我们所熟悉的十进制然后进行编程。八位ADC0832输出的二进制数码范围在0到255,最常用的方法是将转换后的值除以255然后乘以5就能转换到0至5,然后进行程控(eg: n=readad[0]/255*5,n为AD转换后的值)[14]、[16]。为了避免小数对我们编程带来的不便,我们把范围扩大到0至500的整形参数,程序如下:

页 第 24

Adc0832(0);

n=readad[0]*100/51; n=100;

n=n; //(51=255/5)

// //

4.3 步进电机程控方案

28BYJ48型步进电机是四相八拍电机,电压为DC5V~DC12V。当对步进电机按一定顺序施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号使得步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度。当通电状态的改变完成一个循环时,转子转过一个齿距。

在人们日常生活中窗帘的拉动最大长度是固定的,因此在控制步进电机转动时同样应该注意转动角度的最大值。转动角度过多会导致窗帘拉坏,转动角度不足又不能彻底的开启或关闭窗帘。以日常生活中最常用的窗帘为例,测得单边拉动最大距离为120cm,使用步进电机转盘半径为4cm,因此需要转动1720度。四步控制步进电机没一个端口循环步进电机转动7度,为达到要求需要给步进电机端口送入的控制信号循环246次。设计程序如下。 if(n>200) {

if(flag==0) {

LAMP=1;

for(i=0;i<10;i++) {

P0=0x03; //AB Delay(20); P0=0x06; //BC Delay(20); P0=0x0C; //CD

第 25 页

重庆理工大学 自动启闭光控窗帘

Delay(20); P0=0x09; //DA Delay(20); //正转

} LAMP=0; flag=1;

} }

else if(n<200) {

if(flag==1) { LAMP=1;

for(b=0;b<10;b++) { P0=0x03; //AB Delay(20); P0=0x09; //DA Delay(20); P0=0x0C; //CD Delay(20); P0=0x06; //BC

Delay(20); //反转

} LAMP=0;

flag=0;

}

第 26

}

4.4 ADC0832的控制方案

正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。

当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能,其功能如图4.4.1所示。

图4.4.1 ADC0832功能图

当此2位数据为“1”、“0”时,只对CH0进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当2位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当2位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1作为正输入端IN+进行输入。 到第3个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下沉开始由DO端输出转换数据最高位DATA7,随后每一个脉冲下

第 27 页

重庆理工大学 自动启闭光控窗帘

沉DO端输出下一位数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATD0。随后输出8位数据,到第19个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。

注意:作为单通道模拟信号输入时ADC0832的输入电压是0~5V且8位分辨率时的电压精度为19.53mV。如果作为由IN+与IN-输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。在进行IN+与IN-的输入时,如果IN-的电压大于IN+的电压则转换后的数据结果始终为00H。流程图和程序如下。

开始

uchar Adc0832(unsigned char channel) {

uchar i=0; uchar j;

页 第 28

使能芯片 产生时钟信号 输入通道控制 读取2字节数据 字节数据校验 将值送入指定寄存器 结束

uint dat=0; uchar ndat=0;

if(channel==0)channel=2; if(channel==1)channel=3; ADDI=1; _nop_(); _nop_(); ADCS=0; _nop_(); _nop_();

ADCLK=1; //拉高CLK端 _nop_(); _nop_();

ADCLK=0; //拉低CLK端,形成下降沿1 _nop_(); _nop_();

ADCLK=1; //拉高CLK端 ADDI=channel&0x1; _nop_(); _nop_();

ADCLK=0; //拉低CLK端,形成下降沿2 _nop_(); _nop_();

ADCLK=1; //拉高CLK端 ADDI=(channel>>1)&0x1; _nop_(); _nop_();

第 29 页

//拉低CS端

重庆理工大学 自动启闭光控窗帘

ADCLK=0; //拉低CLK端,形成下降沿3 ADDI=1; _nop_(); _nop_(); dat=0;

for(i=0;i<8;i++) {

dat|=ADDO; //收数据

ADCLK=1; _nop_(); _nop_();

//控制命令结束

ADCLK=0; //形成一次时钟脉冲

_nop_(); _nop_(); dat<<=1;

if(i==7)dat|=ADDO;

}

for(i=0;i<8;i++) { j=0;

j=j|ADDO; //收数据 ADCLK=1; _nop_(); _nop_();

ADCLK=0; //形成一次时钟脉冲

_nop_(); _nop_();

页 第 30

}

j=j<<7; ndat=ndat|j; if(i<7)ndat>>=1;

ADCS=1; //拉低CS端 ADCLK=0; ADDO=1;

readad[0]=dat; readad[1]=ndat; }

拉低CLK端

拉高数据端,回到初始状态第 31 页

// //

重庆理工大学 自动启闭光控窗帘

5 系统调试

5.1 光照采集硬件模块光敏电阻测试

测试方法:万用表黑色表笔接触光敏电阻一端,红色表笔接触另一端。用台灯改变光照强度观察所测电压值是否变化,多次测量并记录下光照最强时的电压值和光照最弱时的电压值。如图5.1.1和5.1.2所示。

光照下阻值

图5.1.1 光照下,光敏电阻阻值

黑暗下阻值

5.1.2 室内正常情况下,光敏电阻阻值

页 第 32

出现的问题:实际所测得光敏电阻阻值变化量,以及最大最小值与手册所给值有所不同。

分析:由于环境和测试光强标准的不一致,导致测试阻值与手册所给数据有出入,在做实物调试中,以实际测得值为准。 5.2 电源模块测试

测试方法:变压器将220V交流电源输出为双15V,接入做好的电源模块,用万用表测输出电压看是否在预定范围。如图5.2.1和5.2.2所示。

图5.2.1 正5V测试

图5.2.2 负5V测试

测试结果可给实物提供稳定电压,符合要求。 5.3 电压跟随模块调试及问题

调试方法:在固定光照强度的情况下测量分压电路输出电压值并记录,在条

第 33 页

重庆理工大学 自动启闭光控窗帘

件不表的情况下测量跟随器输出的电压值,观察两者电压值是否有误差,误差有多大。

出现的问题:电压跟随器输出值完全不符合预期要求。

分析:经多次实验发现在测量时OP07使用的是正5V的单电源,电源电压不够导致芯片不能正常工作。改用正负5V双电源后此现象消失,两者电压符合预期值。

5.4 单片机最小系统模块调试及问题

调试方法:首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否是电源电压5V。接下来就是检查复位引脚电压是否正常,分别测量按下复位按钮和放开复位按钮的电压值,看是否正确。然后再检查晶振是否起振了,用示波器来看晶振引脚的波形,注意应该使用示波器探头的“X10”档。另一个办法是测量复位状态下的IO口电平,按住复位键不放,然后测量IO口(没接外部上拉的P0口除外)的电压,看是否是高电平,如果不是高电平,则多半是因为晶振没有起振。最小系统如图5.4.1所示。

图5.4.1 单片机最小系统

出现的问题:单片机输出全为高电平+5v,复位按键四个脚均为短路状态。 分析:经过多次测量发现复位电路按键已毁坏,导致单片机不能复位,从而不能正常工作。换了按键后,一切工作正常。

页 第 34

5.5 步进电机控制模块调试及问题

调试方法:逐渐增强光照强度,看光照强度达到某一值时电机是否按预期方向转动;同理,逐渐减弱光照强度,看光照强度达到某一值时电机是否按预期方向转动。如图5.4.2所示。

图5.4.1 实物图

出现的问题:光照强度必须达到很高的值,步进电机才发生转动且转动缓慢。 分析:控制软件设置的阈值过高,给步进电机的控制时序频率太低致使步进电机转动缓慢。

第 35 页

重庆理工大学 自动启闭光控窗帘

6 总 结

本文详细介绍了自动启闭光控窗帘系统在智能家居领域的发展状况,提出了文章主要研究内容及实现目标。以其高性价比、小体积、寿命长等显著优点,占据自动窗帘领域,成为智能家居领域的又一大潮流。

在系统方案选择上。前后多次的改进最终选用的方案二更具实用性,最终结果证明了其正确性。实物完成之际也达到了本论文的设计目标:低噪声、高性价比、体积小、美观等。

在实物方案选材上。经过多次改进最终选择了光敏电阻T12582、ADC0832、AT89C51以及步进电机作为主要元器件。光敏电阻的选择不仅降低了成本,而且也达到要求精度,其随光照强度变化范围大,对于控制类的设计大有优势。对于ADC0832和AT89C51的选择不仅仅在因为其价格低廉,而是基于本设计要求而定,本设计对精度的要求没有严格要求而且程控单一,八位的AD和单片机完全可以胜任,进一步降低了成本。拖动选择上,由于步进电机又名智能电机,其高精度能够使得窗帘关闭和开启完全达到百分之百,启闭才是本设计的重点,要求精度体现生活档次。选材上的低成本进一步打开了中低层家庭的市场。可能在综合外部所有条件上需要更多的提高,比如:噪声、空气湿度、季节等对窗帘是否启闭带来的影响,但本次主要设计只针对光照强度对人们生活的影响,总体上成功的完成了课程要求的设计要求。

这次设计真真正正的让我意识到,一个真正的设计工程师,不仅要技术好而且要有很好的想象力与前瞻性,能够适应日夜变化的生活需要,其产品才能切入市场走进人们生活。在往后的学习中,要理论联系实际,把所学的理论知识用到实际当中,成长更是如此,技术只有在日常的实际运用过程中才能提高,这就是我在这次课程设计中的最大收获。

页 第 36

致 谢

转眼间大学四年已经接近尾声,毕业设计也要进入答辩阶段。在毕业设计完成之际,我首先要对我的指导老师鲁进老师和帮助过我的所有同学及提供给我实验条件的杨老师和万老师表示最真挚的感谢。在整个论文的选题、理论研究、需求分析和系统设计的过程中,他们给了我不少启发,并对论文的设计方案提出了许多至关重要的建议,在实验过程中帮我解决了不少的难题。

在论文的完成过程中,我还要特别感谢鲁进老师给予了我莫大的指导,正是在她的指导之下,才使得我的实验能顺利的完成;同时,也感谢其他许多让我分享他们宝贵经验和知识的老师以及同学的热心帮助,向他们表示由衷的感谢;我还要感谢这一领域的学者们,是他们给我经验和研究方向,文中引用了一些他们研究成果,在此一并表示衷心的感谢。

由于本人学识有限,加之时间仓促,文中不免有待改进之处,真诚欢迎各位师长、同行提出宝贵意见。衷心的感谢在百忙之中评阅论文和参加答辩的各位专家和教授!谢谢!

第 37 页

重庆理工大学 自动启闭光控窗帘

参考文献

[1] 何立民.单片机应用系统设计[M].航天航空大学出版,2001年 [2] 何希才.新型实用电子电路400例[M].电子工业出版社,2000年 [3] 江晓安.计算机电子电路技术[M].西安电子科技大学出版社,1999年 [4] 江晓安.数字电子技术[M].西安电子科技大学出版社,2008年 [5] 阎石.数字电子技术基础(第四版)[M].高等教育出版社,1999年

[6] 余孟尝.数字电子技术基础简明教程(第二版)[M].高等教育出版社,2006年 [7] 谢沅清.通信电子电路[M].北京:北京邮电大学出版社,2000年 [8] 李棠之.通信电子线路[M].北京:电子工业出版社,1999年

[9] 杨恢先、黄辉先.单片机原理及应用[M].长沙:国防科技大学出版社,2003年 [10] 张友德.单片机原理应用与实验[M].上海:复旦大学出版社,2000年 [11] 杨帮文.新编传感器实用宝典[M].北京:机械工业出版社,2005年

[12] 康华光.电子技术基础模拟部分(第五版)[M].北京:高等教育出版社,2006年

[13] 李宏.王崇武.现代电力电子技术基础[M].北京:机械工业出版社,20008年 [14] 谭浩强.C程序设计(第三版)[M].北京:清华大学出版社,2005年 [15] 刘锦波、张承慧.电机与拖动[M].北京:清华大学出版社,2006年 [16] 郭天祥.新概念51单片机C语言编程[M].北京:电子工业出版社,2009年 [17] 石珍.家庭装饰设计与预算图集[M].上海:上海科学技术出版社,2008年 [18] 王瑞杰.光控自动窗帘机[P].中国专利,95218893.7,1997年

[19] 陈桂友、柴元斌.单片机应用技术[M].北京:机械工业出版社,2008年 [20] 吴次男、刘为民.手控或光控自动窗帘装置[P].1995.年

[21] 郑毛祥.单片机应用基础[M].第一版.北京:人民邮电出版社,2006年 [22] V. Yu. Teplov,A. V. Anisimov. Thermostatting System Using a Single-Chip Microcomputer and Thermoelectric Modules Based on the Peltier Effect[J] ,2002

[23] Yeager Brent.How to troubleshoot your electronic scale[J].. Powder

页 第 38

and Bulk Engineering. 1995

[24] Meehan Joanne,Muir Lindsey.SCM in Merseyside SMEs:Benefits and barriers[J].. TQM Journal. 2008

附 录

第 39 页

重庆理工大学 自动启闭光控窗帘

附件一 系统操作说明书

将电源开关打开,正常状态电机处于停止状态,用手或物体遮住光敏电阻,将其周围的光照强度变弱,当光照强度降到某一数值时电机开始正转,同时指示灯点亮,放下窗帘,数秒后停止。拿开手或者物体,使光敏电阻周围恢复光亮,指示灯点亮,当光亮上升到某一数值时电机开始反转,收起窗帘,数秒后停止。 附件二 PCB制作原理图、仿真电路图以及实物图 1) 最小系统PCB原理图。

2) 方案一最小系统PCB。

页 第 40

3) 方案一电桥、差分放大、AD的PCB。

4) 方案一电桥、差分放大、AD原理图。

第 41 页

重庆理工大学 自动启闭光控窗帘

5) 方案一的仿真电路图。

6) 方案二的仿真电路图。

页 第 42

7) 方案二实物图。

附件三 程序清单

/***********步进电机控制*************/

第 43 页

重庆理工大学 自动启闭光控窗帘

#include #include

#define ulong unsigned long #define uint unsigned int #define uchar unsigned char sbit ADCS=P3^0; sbit ADDI=P3^2; sbit ADDO=P3^2; sbit ADCLK=P3^1; //sbit LAMP=P2^4;

unsigned char readad[2]; unsigned int n=0;

//uchar getdata; //获取ADC转换回来的值 uchar Adc0832(unsigned char channel);

/***********ADC0832函数***********/ //采集并返回 uchar Adc0832(unsigned char channel) {

uchar i=0; uchar j; uint dat=0; uchar ndat=0;

if(channel==0)channel=2; if(channel==1)channel=3; ADDI=1; _nop_(); _nop_();

页 第 44

ADCS=0; //拉低CS端 _nop_(); _nop_();

ADCLK=1; //拉高CLK端 _nop_(); _nop_();

ADCLK=0; //拉低CLK端,形成下降沿1 _nop_(); _nop_();

ADCLK=1; //拉高CLK端 ADDI=channel&0x1; _nop_(); _nop_();

ADCLK=0; //拉低CLK端,形成下降沿2 _nop_(); _nop_();

ADCLK=1; //拉高CLK端 ADDI=(channel>>1)&0x1; _nop_(); _nop_();

ADCLK=0; //拉低CLK端,形成下降沿3 ADDI=1; _nop_(); _nop_(); dat=0;

for(i=0;i<8;i++) {

第 45 页

//控制命令结束

重庆理工大学 自动启闭光控窗帘

dat|=ADDO; //收数据

ADCLK=1; _nop_(); _nop_();

ADCLK=0; //形成一次时钟脉冲 _nop_(); _nop_(); dat<<=1;

if(i==7)dat|=ADDO;

}

for(i=0;i<8;i++) { j=0;

j=j|ADDO; //收数据 ADCLK=1; _nop_(); _nop_();

ADCLK=0; //形成一次时钟脉冲 _nop_(); _nop_(); j=j<<7; ndat=ndat|j; if(i<7)ndat>>=1;

} ADCS=1; ADCLK=0; ADDO=1;

//拉低CS端

//拉低CLK端

//拉高数据端,回到初始状态

页 第 46

readad[0]=dat; readad[1]=ndat; // dat<<=8; // dat|=ndat;

// return(dat); //return ad data }

/*********延时函数*************/ void Delay (uint c) { uint i; while(--c!=0) {

for(i=0;i<300;i++); } }

/*********主函数*************/ void main() {

uint a,flag=0,b; P0=0x0; P2=0x00; while(1) {

Adc0832(0);

第 47 页

重庆理工大学 自动启闭光控窗帘

n=readad[0]*100/51; n=100;

n=n; //(51=255/5) if(n>200) {

if(flag==0) {

P2=0x3F;

for(a=0;a<600;a++) {

P0=0x33; //AB

Delay(2);

P0=0x96; //BC Delay(2);

P0=0xCC; //CD Delay(2);

P0=0x69; //DA Delay(2); //正转

// //

} P2=0x00; flag=1;

} }

else if(n<200)

{

if(flag==1) {

页 第 48

本文来源:https://www.bwwdw.com/article/o56r.html

Top