基于51单片机的红外遥控智能定时开关插座

合集下载

基于单片机的简易智能定时电源开关

基于单片机的简易智能定时电源开关

SCM Technology •单片机技术Electronic Technology & Software Engineering 电子技术与软件工程• 235【关键词】STC89C52RC 数码管 定时器 继电器智能家居是通过网络技术和硬件服务协同合作,将电子产品接入互联网,实现个性化的自定义操作。

智能设备是常见设备安装了更复杂的计算机处理系统,以实现提供更多功能。

有线宽带、DSL 、蓝牙和无线技术提供了一种接入方法使家庭联网,并使设备能够相互通信以及接入互联网,这些技术为智能家居的运营奠定了基础。

对于家电而言,可以通过智能供电达到一定的智能管理。

例如,家庭的空调若可以独立来设置开启和关闭的时间,便可大幅减少用电量、节约电能。

智能电源定时开关不仅可以广泛应用于家用电器、仪器仪表、航空航天、医用设备、专用设备的智能化管理以及过程控制等多个领域。

此外,还为各个领域的发展做出了贡献,其不仅体积小、重量轻,且电源效率较高,效率甚至可达90%以上。

智能电源定时开关的高效率不仅节省了大量材料且还节省了电能,给人们的生活带来了便利。

因此,高效率的定时开关电源成为了各种设备可靠工作的重要保障。

1 系统分析与框架设计1.1 研究目标智能定时电源开关是智能家居控制系统的基础组成部分,同时也是高效能源利用网络基于单片机的简易智能定时电源开关文/刘艳竹的组成部分之一。

在家庭设备的自动监控、控制和数据采集上,通过对电路系统中部分组件供电电源进行智能开合控制,是对家庭设备实现智能控制的一种简易部署方式。

(1)监控家用电器,按照预先设定的程序要求对家用电器进行监控,减少家庭安全隐患。

(2)照明设备、取暖设备、制冷设备的个性化控制,让户主进屋之后减少等待时间。

(3)起居室幕帘的自动控制,伴随着主人以及当地日照的信息,智能打开/关闭幕帘。

可以发现,针对智能家居的定时管理,智能供电是其中较为基础的模块与实现方法。

因此,本文围绕此设计简易的定时电源开关系统。

基于单片机的智能插座的设计与实现

基于单片机的智能插座的设计与实现

Of t l ds I i oa . dee s xer a ifaed i l d h s t o h k y . l tt M CU r s on es f p o es ig t e n s t tct e t n l nr r sgnas an te ae ft e e sAt as. he e p s at er r c sn h i- f r ain t onr lt e o o m t o c to h p wers o uppyI c y t e s ck t e ie s vi e gy marl l n su h wa h o e ral a ng en r s ty. z Ke wo d it l n oc e , er s vn PI 2F 5 igl hp y r s: elge ts k tEn gy a ig, C1 61 sn e-c i mir co p t rIfar n i c o m u e , r ed n
a l ge a pl g. y nd vot a s m i B deecig h c an te n t t t e h ge of h cu r t n h ci ui t asl a es n ren i te r t e i m k ou h ee tial on u p i c i y tt e lc r c s m t c on
插 座 启 动 之 后 ,主控 制器 通 过 电流 检 测 模 块 和红 外 信 号 检 测模 块 时刻 监 测 用 电 器 的 使用 状况 以及 外 部 指 令 ,通 过 控 制 继 电器 模 块 的通 断 实 现 对 电器 电 源开 关 的控 制 ,达 到及 时开 关 电
源 的 目的 。
通 过 发 出红 外 信 号使 插 座 开 启 ,检 测 待 机 一 定 时 间 后 自动 断 开

基于AT89C51的红外遥控开关系统设计

基于AT89C51的红外遥控开关系统设计
扇 定时 关 闭以及 电视定 时关 闭功 能 。
嘟 F 日 里 2匝 >墅 7 巫 匦 1


暖 匿


具 有制 作 简单等 特点 ,但 由于 这些 芯 为 了 方 便 用 户 能 够 清 楚 知 道 所 要 控 制 图1基于A 8 C 1 T 9 5 的红外遥控开关系统框图 片 价格 较贵 ,功 能键 数及 功能 受到特 电 器 的 工 作 状 态 , 系 统 中 加 入 了工 作 定 的 限制 ,且相 互之 间采 用的 遥控 编 状态指示模块和定时时 间显示模块 。


01R

2 脚 接 收 到 的 不 同 的 键 选 信 号 进 行 0
图 2 M54 2 P 作 框 图 06 A 工
编码和 码值 变化 ,得到遥控 指令 的功
M5 4 2 发射 器输 出的控制信 能码 ,结合 用户码产 生 出1 位 的传送 图4红外接收 电路 0 6 AP 6 号( 编码脉冲) 主要 由用户码和功能 ( 数 码。本设计 中共用N8 个按键 ,各个按 S 08 M0 3对外只有3 个引脚 :VC C、
8 N载波信号 。一路 用来形 定时 时 间的显 示 ,方便用 户 了解 电器 信号 编码 进行 识 别 ,根 据指 令发 出相 得 到3 kH z
的工作状态 。
应 的控制 信号 ,送 往接 口电路做 出相 成 时 钟 脉 冲 , 使 整 个 系 统 按 照 统 一 的
今日电予 .21年4 61 o2 月
( )定时时 间显示 电路和 工作 状 管后两位 显示 “0 1 O ”。
电 器 采 用 电 磁 式 继 电 器 , 是 用 较 小 的 态指示 电路
工 作 状 态 指 示 电 路 中 ,单 片 机

基于STC89C51单片机的红外遥控智能家居系统设计

基于STC89C51单片机的红外遥控智能家居系统设计

基于STC89C51单片机的红外遥控智能家居系统设计1. 本文概述阐述问题:我会指出当前智能家居系统中存在的问题,以及为什么需要基于STC89C51单片机的解决方案。

提出解决方案:接着,我会概述STC89C51单片机在智能家居系统中的作用以及红外遥控技术的优势。

文章结构:我会简要介绍文章的结构,说明接下来的章节将如何展开。

随着科技的不断进步,智能家居系统逐渐成为现代家庭生活的一部分,它们通过提高居住环境的舒适性、安全性和便利性,极大地提升了人们的生活质量。

现有的智能家居系统在集成性、成本效益和用户交互体验方面仍存在不足。

为了解决这些问题,本文提出了一种基于STC89C51单片机的红外遥控智能家居系统设计方案。

STC89C51单片机以其较低的成本、丰富的功能和良好的稳定性,成为实现智能家居控制的理想选择。

结合红外遥控技术,该系统不仅能够实现远程控制家电设备,还能通过简单的编程实现个性化的家居自动化场景,从而为用户提供更加灵活和智能的居住体验。

本文将首先介绍智能家居系统的基本概念和发展趋势,然后详细阐述STC89C51单片机的工作原理及其在智能家居系统中的应用。

接着,本文将描述红外遥控技术的原理,并展示如何将其与STC89C51单片机结合,实现对家居设备的智能控制。

本文将通过一个实际的系统设计案例,展示该设计方案的可行性和实用性。

2. 相关技术综述单片机技术:介绍STC89C51单片机的基本特性,包括其处理能力、内存、IO端口等,并说明其在智能家居系统中的应用优势。

红外通信技术:概述红外通信的基本原理,包括信号的调制、传输和解码过程,以及红外技术在遥控设备中的优势。

智能家居系统架构:描述智能家居系统的一般架构,包括控制中心、通信协议、传感器和执行器等组成部分。

现有智能家居解决方案:简要回顾市场上已有的智能家居解决方案,分析它们的特点和局限性。

设计挑战与创新点:讨论在设计基于STC89C51单片机的红外遥控智能家居系统时面临的技术挑战,以及本设计相对于现有技术的创新之处。

基于51单片机的红外遥控设计-毕业设计论文22(1)

基于51单片机的红外遥控设计-毕业设计论文22(1)

毕业设计(论文)卧室电器用红外遥控器(基于51单片机的红外遥控器设计)Bedroom Appliances With The Infrared Remote Control(Based on 51 single-chip infrared remote control design)完成日期 2012 年 4 月摘要红外遥控是目前家用电器中用得较多的遥控方式。

我们知道,红外线是人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。

其中红光的波长范围为0.62~0.76μm;紫光的波长范围为0.38~0.46μm。

比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线。

红外线遥控就是利用波长为0.76~1.5μm之间的近红外线来传送控制信号的。

常用的红外遥控系统一般分发射和接收两个部分。

发射部分的主要元件为红外发光二极管。

很多电器都采用红外遥控,那么红外遥控的工作原理是什么呢?本文将介绍其原理和设计方法。

红外遥控常用的载波频率为38kHz,这是由发射端所使用的455kHz晶振来决定的,在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷12≈37.9 kHz≈38kHz。

也有一些遥控系统采用36kHz、40kHz、56kHz等,一般由发射端晶振的振荡频率来决定。

接收端的输出状态大致可分为脉冲、电平、自锁、互锁、数据五种形式。

“脉冲”输出是当按发射端按键时,接收端对应输出端输出一个“有效脉冲”,宽度一般在100ms左右。

一般情况下,接收端除了几位数据输出外,还应有一位“数据有效”输出端,以便后级适时地来取数据。

这种输出形式一般用于与单片机或微机接口。

除以上输出形式外,还有“锁存”和“暂存”两种形式。

所谓“锁存”输出是指对发射端每次发的信号,接收端对应输出予以“储存”,直至收到新的信号为止;“暂存”输出与上述介绍的“电平”输出类似。

70年代研制出的红外遥控技术,随着大规模集成电路和微处理技术的发展和成熟,红外线遥控系统也迅速发展并得到广泛的应用,特别是在家用电器上的成功应用,给人们的工作、生活和娱乐带来了极大的方便,随着城市居民生活水平的提高,家庭里家用电器的种类和数量逐步增加,与之配套的红外遥控发射器也越来越多关键词:80c51单片机、红外发光二极管、晶振SummaryThe infrared remote control home appliances used more remote way. We know that infrared is the human eye can see the visible light wavelength from long to short arrangement, followed by red, orange, yellow, green, blue, blue, purple. Which the red wavelength range of 0.62 ~ 0.76μm; violet wavelength range of 0.38 ~ 0.46μm. Shorter than the violet wavelengths of light called ultraviolet light than the red wavelength of light called infrared. Infrared remote control is the use of a wavelength of between 0.76 ~ 1.5μm near-infrared to transmit control signals. Infrared remote control systems are generally divided into transmit and receive two parts. The main components of the emission part of the infrared light-emitting diodes.Many electrical appliances are using the infrared remote control, infrared remote control works what is it? This article describes the principle and design method. Infrared remote common carrier frequency of 38kHz, which is determined by the 455kHz crystal used by the transmitter, the transmitter crystal is the integer frequency divider factor generally take 12, so 455kHz ÷12 ≈37.9 kHz ≈38kHz. Remote control system uses 36kHz, 40kHz, 56 kHz, generally determined by the oscillation frequency of the transmitter crystal. The receiving end of the output state can be broadly divided into the pulse level, self-locking, interlocking, data five forms. "Pulse" output is press the transmitter button, the receiver corresponds to the output terminal an "effective pulse", width of about 100ms. Under normal circumstances, the receiver in addition to several data output, there should be a "data valid" output, so that after the class in a timely manner to take the data. The form of this output is generally used to interface with a microcontroller or microprocessor. In addition to the output in the form above, as well as "latch" and "temporary" in two forms. The so-called "latch output signal issued by each transmitter, the receiver corresponds to the output to be" stored "until they receive the new signal; similar to the output of" temporary "output of the above described level.Infrared remote control technology developed in the 1970s, with large-scale integrated circuits and micro-processing technology to develop and mature, infrared remote control system for the rapid development and wide range of applications, especially in the successful application of household appliances, to the people, live and play has brought great convenience, with the improvement of living standards, urban residents, the type and number of household appliances in the family gradually increase, more and more infrared remote control transmitter accompanyingKeywords: 80C51 microcontroller, infrared light-emitting diodes, crystal目录第一章1、引言 (6)2、红外线遥控电路的设计 (6)2、1设计要求与指标: (6)2.1.1、红外线遥控系统组成 (7)2.1.2、红外线遥控系统框图 (7)2.1、电路设计 (7)2.1.1、红外线遥控调光电路介绍 (7)2.1.2、电路组成 (8)2.1.3、电路工作原理 (10)2.1.4、芯片引脚及功能 (10)2.1.5、元器件的功能 (12)2.1.6、其他电路设计方案介绍 (17)3、安装与测试 (20)3.1、红外线遥感发射系统设计 (20)3.2、红外线发射电路设计 (22)3.3、调试与检测安全分析 (27)第二章1、引言 (28)2、原理图设计 (29)2.1、绘制PCB图 (35)3、红外线遥控系统设计 (46)4、系统功能实现方法 (50)5、红外线接收电路 (52)6、软件设计 (53)7、调试结果及分析 (54)8、结论 (55)附录 (55)参考文献 (61)致谢 (62)绪论人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。

基于单片机的简易智能插座设计

基于单片机的简易智能插座设计

基于单片机的简易智能插座设计文章提出一种基于8位8051内核单片机的智能插座设计方案,以单片机STC89C51RC作为智能插座系统的主控芯片,将LCD1602作为人机交互介质,实时显示当前时间和目标时间,从而通过单片机对电磁继电器的控制实现了以弱电控制强电,自动导通或断开电路的目的。

标签:智能插座;STC89C51RC;单片机;LCD1602引言随着物联网技术的迅猛发展,智能家居正在逐渐步入寻常百姓的日常家庭生活之中。

智能家居系统在兼具传统普通家居的一些功能的同时也在逐步地让人们享受着作为智能家居所给生活带来的安全性、舒适性以及便利性,特别是自身所具有的节能环保的一些独特优势。

智能插座是智能家居构成系统中最基本同时也是必不可缺少的设备之一,它具有自主提前定时,自动通断电从而实现节能省电的特点,用户可以根据家庭实際需要随意提前设定智能插座的通电时间或断电时间从而满足自己的生活需要。

在本设计中选取基于8位8051内核的STC89C51RC 单片机作为主控芯片,以LCD1602作为人机交互的可视介质,实现了单组定时功能,并且可通过对继电器的控制达到自动导通或断开电路的目的。

1 系统硬件设计系统硬件电路共分为单片机最小系统模块、LCD1602显示模块、按键输入模块和继电器控制模块四个部分。

其中,单片机最小系统是整个系统的核心控制单元,负责协调和控制外围数字电路或模拟器件;LCD1602显示模块用来实时显示当前时间和目标时间;按键输入模块用来设定当前时间和目标时间;继电器控制模块是整个智能插座系统设计中最终的受控单元,相当于一个电路开关,用来实现导通或断开电路。

1.1 单片机最小系统模块单片机是单片微型计算机(Single Chip Microcomputer)的简称,就是把组成微型计算机的各个部件,比如中央处理器CPU、随机存取存储器RAM、只读存储器ROM、可编程存储器EPROM、并行及串行输入输出I/O接口电路、定时器/计数器、中断控制器等集成在一块半导体芯片上而构成的一个微型计算机系统[1]。

(完整word版)基于51单片机的红外遥控智能定时开关插座

(完整word版)基于51单片机的红外遥控智能定时开关插座

目录第一章绪论 (1)1.1 选题的目的与意义 (1)1.2 本课题在国内外的发展现状及趋势 (1)1.3 本课题要解决的主要问题 (2)第二章系统设计方案 (3)2。

1 系统结构与功能 (3)2.2 总体系统框图 (3)2。

3 开关的选择 (4)2.4 显示方式选择 (4)2.5 时钟的实现及单片机的选择 (5)2。

6 按键控制部分的实现 (5)第三章主要元器件原理及其应用 (6)3。

1 单片机STC89C51简介 (6)3.2 1602工业字符型液晶简介 (7)3.3 继电器介绍 (8)第四章硬件电路的设计 (10)4。

1单片机最小系统 (10)4.2 液晶显示电路 (11)4.3 键盘电路 (12)4。

4 插座电源控制电路 (12)4。

5 蜂鸣器提示电路 (13)4。

6 红外遥控电路 (14)第五章系统软件设计 (16)5。

1 各模块程序设计 (16)5。

1.1 主程序流程图 (16)5.1.2 时钟程序设计 (17)第六章系统组装和调试 (19)总结与体会 (22)参考文献 (23)附录一实物图 (25)附录二源程序 (26)第一章绪论1。

1 选题的目的与意义现如今,生活水平提高,生活节奏加快,市面上的插座往往由于其功能过于单一而不能满足我们的需求。

比如:电动车充电通常是8小时左右,太长则容易损耗电池,太满则充不满,如果晚上充电,又经常不想从家里出来到车库去给车充电。

白天充电又忘记拔电源;家中的水塔忘记抽水而造成生活的一时不便;学校的起床广播因值班人员睡过头而推迟广播;家中的鱼缸因太久没有供氧造成鱼儿缺氧死亡;许多球迷或者新闻爱好者因为错过了开机时间而与精彩球赛或者新闻擦肩而过;夏天里风扇的定时时间过短(一般为1个小时),不便于晚上分段定时使用等等。

综合以上原因考虑,我们急需要一款智能插座。

此插座能够实现定时给电器供电,在工作时间之外把电器的电源切断,这样就能解决电器的待机损耗,达到节约用电的目的,还能消除安全隐患,最终使我们的生活更加方便化、智能化。

基于51单片机的红外线控制系统 2

基于51单片机的红外线控制系统 2

单片机原理结课项目项目题目基于51单片机的红外线控制系统基于51单片机的红外线控制系统一、概述:红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。

由于红外线遥控不具有像无线电遥控那样穿过障碍物去控制被控对象的能力,所以在设计红外线遥控器时,不必要像无线电遥控器那样,每套( 发射器和接收器) 要有不同的遥控频率或编码( 否则,就会隔墙控制或干扰邻居的家用电器) ,所以同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况。

这对于大批量生产以及在家用电器上普及红外线遥控提供了极大的方面。

由于红外线为不可见光,因此对环境影响很小,再由红外光波动波长远小于无线电波的波长,所以红外线遥控不会影响其他家用电器,也不会影响临近的无线电设备。

基于51单片机的红外线控制系统。

要求通过单片机发送和接红外信号程序,根据接收的信号,执行有关动作的系统,能够实现近距离的无线通。

二、硬件设计1. 系统框图2. 电路原理图电路由五个模块构成(最小系统模块、红外接收模块、数码管显示模块、编程下载模块、电源模块)1) 最小系统STC12C5410AD 单片机红外接收头红外遥控器复位电路时钟振荡电路数码光显示最小系统由stc12c5410ad单片机,按键复位电路,时钟振荡电路构成。

a.电源电源采用5V直流电供电。

b.时钟、复位电路本电路选用12MHz晶振。

2)红外接收模块3)显示模块三、软件设计1.红外编解码原理红外线发射编码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制‘0’;以脉宽为0.565ms、间隔1.658ms、周期为2.25ms的组合表示二进制‘1’;红外接收头接收的信号和发射编码相反;一组编码由一个引导码,四个字节数据组成;引导码由9ms的高电位和4.5ms的地电位组成。

基于51单片机的红外遥控

基于51单片机的红外遥控

基于51单片机的红外遥控红外遥控是无线遥控的一种方式,本文讲述的红外遥控,采用STC89C52单片机,1838红外接收头和38k红外遥控器。

1838红外接收头:红外遥控器:原理:红外接收的原理我不赘述,百度文库上不少,我推荐个网址,这篇文章写得比较清楚,也比较全面,我主要讲下程序的具体意思,在了解原理的基础上,我们知道,当我们在遥控器上每按下一个键,遥控器上的红外发射头都会发出一个32位的编码(32位编码分成4组8位二进制编码,前16位为用户码和用户反码,后16位为数据码和数据反码,用户码表示遥控器类型,数据码表示按键编码),不同的键对应不同的编码,红外接收头接收到这个编码后,发送给单片机,再进行相关操作。

源程序1:(这个程序的功能是将用户码和用户反码,数据码和数据反码显示在1602液晶上,因为遥控器买回来是不会说明按键对应什么码值,所以先自己测试,确定每个按键的码值)#include<reg52.h>#include<stdio.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned char#define _Nop() _nop_()#define TURE 1#define FALSE 0/*端口定义*/sbit lcd_rs_port = P3^5; /*定义LCD控制端口*/sbit lcd_rw_port = P3^6;sbit lcd_en_port = P3^4;#define lcd_data_port P0///////////////////////////////////void delay1 (void)//关闭数码管延时程序{int k;for (k=0; k<1000; k++);}////////////////////////////////////uchar code line0[16]={" user: "};uchar code line1[16]={" data: "};uchar code lcd_mun_to_char[16]={"0123456789ABCDEF"};unsigned char irtime;//红外用全局变量bit irpro_ok,irok;unsigned char IRcord[4];//用来存放用户码、用户反码、数据码、数据反码unsigned char irdata[33];//用来存放32位码值void ShowString (unsigned char line,char *ptr);//////////////////////////////////////////////void Delay(unsigned char mS);void Ir_work(void);void Ircordpro(void);void tim0_isr (void) interrupt 1 using 1//定时器0中断服务函数{irtime++;}void ex0_isr (void) interrupt 0 using 0//外部中断0服务函数{static unsigned char i;static bit startflag;if(startflag){if(irtime<63&&irtime>=33)//引导码TC9012的头码i=0;irdata[i]=irtime;irtime=0;i++;if(i==33){irok=1;i=0;}}else{irtime=0;startflag=1;}}void TIM0init(void)//定时器0初始化{TMOD=0x02;//定时器0工作方式2,TH0是重装值,TL0是初值TH0=0x00;//reload valueTL0=0x00;//initial valueET0=1;//开中断TR0=1;}void EX0init(void){IT0 = 1; // Configure interrupt 0 for falling edge on /INT0 (P3.2)EX0 = 1; // Enable EX0 InterruptEA = 1;}void Ircordpro(void)//红外码值处理函数(关键函数){unsigned char i, j, k=1;unsigned char cord,value;for(i=0;i<4;i++){//处理4个字节for(j=1;j<=8;j++){ //处理1个字节8位cord=irdata[k];value=value>>1;if(cord>7) value=value|0x80; //大于某值为1k++;}IRcord[i]=value;value=0;}irpro_ok=1;//处理完毕标志位置1}///////////////////////////////////////////void lcd_delay(uchar ms) /*LCD1602 延时*/{uchar j;while(ms--){for(j=0;j<250;j++){;}}}//////////////////////////////////////////////void lcd_busy_wait() /*LCD1602 忙等待*/{lcd_rs_port = 0;lcd_rw_port = 1;lcd_en_port = 1;lcd_data_port = 0xff;_Nop();_Nop();_Nop();_Nop();while (lcd_data_port&0x80);lcd_en_port = 0;}///////////////////////////////////////////////void lcd_command_write(uchar command) /*LCD1602 命令字写入*/ {lcd_busy_wait();lcd_rs_port = 0;lcd_rw_port = 0;lcd_en_port = 0;lcd_data_port = command;_Nop();_Nop();_Nop();_Nop();_Nop();_Nop();lcd_en_port = 1;_Nop();_Nop();_Nop();_Nop();_Nop();_Nop();lcd_en_port = 0;}/////////////////////////////////////////void lcd_system_reset() /*LCD1602 初始化*/{lcd_delay(20);lcd_command_write(0x38);lcd_delay(100);lcd_command_write(0x38);lcd_delay(50);lcd_command_write(0x38);lcd_delay(10);lcd_command_write(0x08);lcd_command_write(0x01);lcd_command_write(0x06);lcd_command_write(0x0c);}//////////////////////////////////////////////////void lcd_char_write(uchar x_pos,y_pos,lcd_dat) /*LCD1602 字符写入*/ {x_pos &= 0x0f; /* X位置范围0~15 */y_pos &= 0x01; /* Y位置范围0~ 1 */if(y_pos==1) x_pos += 0x40;x_pos += 0x80;lcd_command_write(x_pos);lcd_busy_wait();lcd_rs_port = 1;lcd_rw_port = 0;lcd_en_port = 0;lcd_data_port = lcd_dat;_Nop();_Nop();_Nop();_Nop();_Nop();_Nop();lcd_en_port = 1;_Nop();_Nop();_Nop();_Nop();_Nop();_Nop();lcd_en_port = 0;}void main(void){uchar i;lcd_system_reset(); /* 初始化LCD1602 */lcd_data_port = 0xff;for(i=0;i<16;i++) lcd_char_write(i,0,line0[i]);for(i=0;i<16;i++) lcd_char_write(i,1,line1[i]);EX0init(); // Enable Global Interrupt FlagTIM0init();while(1){//主循环if(irok){Ircordpro();irok=0;}if(irpro_ok){ /*遥控成功接收*/lcd_char_write(8,0,lcd_mun_to_char[IRcord[0]/0x10]);lcd_char_write(9,0,lcd_mun_to_char[IRcord[0]%0x10]);lcd_char_write(11,0,lcd_mun_to_char[IRcord[1]/0x10]);lcd_char_write(12,0,lcd_mun_to_char[IRcord[1]%0x10]);lcd_char_write(8,1,lcd_mun_to_char[IRcord[2]/0x10]);lcd_char_write(9,1,lcd_mun_to_char[IRcord[2]%0x10]);lcd_char_write(11,1,lcd_mun_to_char[IRcord[3]/0x10]);lcd_char_write(12,1,lcd_mun_to_char[IRcord[3]%0x10]);}//将码值显示在液晶上}}源程序2:(在知道了按键编码的基础上,我们便可以加入判断,判断哪个键被按下,进而执行相关操作)我只修改main函数,其他与源程序1相同sbit led1=P1^0;sbit led2=P1^1;sbit led3=P1^2;sbit led4=P1^3;sbit led5=P1^4;//发光二极管控制端定义void main(void){uchar i;lcd_system_reset(); /* 初始化LCD1602 */lcd_data_port = 0xff;for(i=0;i<16;i++) lcd_char_write(i,0,line0[i]);for(i=0;i<16;i++) lcd_char_write(i,1,line1[i]);EX0init(); // Enable Global Interrupt FlagTIM0init();while(1){//主循环if(irok){Ircordpro();irok=0;}if(irpro_ok){ /*遥控成功接收*/switch(IRcord[2])//为什么判断IRcord[2],因为这个里面存放的是数据码{case 0x0c: led1=0;//按0键,灯1亮break;case 0x18: led2=0; //按1键,灯2亮break;case 0x5e: led3=0; //按2键,灯3亮break;case 0x08: led4=0; //按3键,灯4亮break;case 0x1c: led5=0; //按4键,灯5亮break;}}}}附连接图。

基于51单片机的红外遥控器设计

基于51单片机的红外遥控器设计

基于51单片机的红外遥控器设计近年来,随着智能家居的兴起,红外遥控器在我们的生活中扮演着越来越重要的角色。

本文将基于51单片机,设计一个简单的红外遥控器。

首先,我们需要了解红外遥控器的工作原理。

红外遥控器使用红外线来传输指令。

当用户按下遥控器上的按键时,红外发射器发射一个特定的红外信号。

接收器接收到这个信号后,将其转换成电信号,并将其发送到电子设备中,实现对设备的控制。

接下来,我们需要选择合适的红外发射器和接收器。

常见的红外发射器有红外LED,常见的红外接收器有红外接收头。

在选择红外发射器和接收器时,要根据其工作频率、传输距离、灵敏度等因素进行选择。

在本设计中,我们选择了工作频率为38kHz的红外发射器和接收器。

接下来,我们需要设计电路,并进行程序开发。

首先,我们需要连接红外发射器和接收器到51单片机上。

红外发射器的一个引脚连接到51单片机的I/O口,另一个引脚连接到正极电源,第三个引脚连接到电源的接地端。

红外接收器的输出引脚连接到51单片机的I/O口,电源和接地端分别连接到正负电源。

接下来,我们需要编写程序。

首先,我们需要设置51单片机的I/O 口为输入或输出。

然后,我们需要编写程序来发送红外信号。

我们可以使用PWM技术来模拟红外信号的脉冲。

当用户按下遥控器上的按键时,我们可以发送一个特定的脉冲序列,来控制电子设备。

同时,我们还需要编写程序来接收红外信号。

当红外接收器接收到红外信号时,会输出一个特定的电平信号。

我们可以使用外部中断来检测这个信号,并进行相应的处理。

在程序开发过程中,我们需要注意红外信号的协议。

常见的红外信号协议有NEC、SONY等。

我们需要根据所使用的红外接收器的协议来编写相应的程序。

最后,我们需要测试代码的功能和稳定性。

可以通过连接电子设备,按下遥控器上的按键,来测试红外信号的发送和接收功能。

如果一切正常,我们的红外遥控器设计就完成了。

总结起来,基于51单片机的红外遥控器设计是一个简单而有趣的项目。

基于51单片机的红外遥控

基于51单片机的红外遥控

基于51单片机的红外遥控本讲内容:介绍红外遥控的知识,通过例程展示红外遥控程序的编写方法。

红外线简介:在光谱中波长自760nm至400um的电磁波称为红外线,它是一种不可见光。

目前几乎所有的视频和音频设备都可以通过红外遥控的方式进行遥控,比如电视机、空调、影碟机等,都可以见到红外遥控的影子。

这种技术应用广泛,相应的应用器件都十分廉价,因此红外遥控是我们日常设备控制的理想方式。

接收头输出的波形正好和遥控芯片输出的相反。

在这里红外通信采用NEC协议,它的特征如下:信号调制红外遥控信号接收管接口电路:红外信号发射电路 红外信号接收电路例程:红外遥控信号发射:/*****************红外通信——发射*******************单片机型号:STC89C52RC*开发环境:KEIL*名称:红外通信发射*功能:按下按键S4,S5,S6,S8,S9,S10,S11,S13,S14发射对应键值,可以与红外通信——接收程序配套使用***************************************************/#include <REG51.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int#define SBM 0x80 //识别码#define m9 (65536-8294) //约9mS#define m4_5 (65536-4147) //约4.5mS#define m1_6 (65536-1521) //约1.65mS#define m_65 (65536-599) //约0.65mS#define m_56 (65536-516) //约0.56mS#define m40 (65536-36864) //约40mS#define m56 (65536-51610) //56mS#define m2_25 (65536-2074) //约2.25mSconst uchar TabHL1[9]={0x0c,0x18,0x5e,0x08,0x1c,0x5a,0x42,0x52,0x4a};sbit IR=P1^5; //定义发射引脚sbit BEEP=P2^3;void keyscan();void ZZ(uchar x);void Z0(uchar temp);void TT0(bit BT,uint x);void delay(int In,int Out);/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈函数功能:主函数┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈/ void main(void){TMOD=0x01; //T0 16位工作方式IR=1; //发射端口常态为高电平while(1){keyscan();}}/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈函数功能:发送主程序┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈/ void ZZ(uchar x){TT0(1,m9); //高电平9mSTT0(0,m4_5); //低电平4.5mS/*┈发送4帧数据┈*/Z0(SBM);Z0(~SBM);Z0(x);Z0(~x);/*┈┈结束码┈┈*/TT0(1,m_65);TT0(0,m40);}/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈函数功能:单帧发送程序入口参数:1帧数据┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈/ void Z0(uchar temp){uchar v;for (v=0;v<8;v++) //循环8次移位{TT0(1,m_65); //高电平0.65mSif(temp&0x01) TT0(0,m1_6); //发送最低位else TT0(0,m_56);temp >>= 1; //右移一位}}/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈函数功能:38KHz脉冲发射 + 延时程序入口参数:(是否发射脉冲,延时约 x (uS))┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈/void TT0(bit BT,uint x){TH0=x>>8; //输入T0初始值TL0=x;TF0=0; //清0TR0=1; //启动定时器0if(BT==0)while(!TF0);//BT=0时不发射38KHz脉冲只延时;BT=1发射38KHz脉冲且延时;else while(1) //38KHz脉冲,占空比5:26{IR = 0;if(TF0)break;if(TF0)break;IR=1;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;}TR0=0; //关闭定时器0TF0=0; //标志位溢出则清0IR =1; //脉冲停止后,发射端口常态为高电平}void keyscan() //按键扫描函数{uchar buffer;/***************************************************/P3=0xfe; //扫描S3,S4,S5,S6;buffer=P3;buffer=buffer & 0xf0;if(buffer!=0xf0){delay(5,10);if(buffer!=0xf0){buffer=P3;switch(buffer){case 0xee:{;}break;case 0xde:{ZZ(TabHL1[0]);}break;case 0xbe:{ZZ(TabHL1[1]);}break;case 0x7e:{ZZ(TabHL1[2]);}break;}while(buffer != 0xf0){buffer=P3;buffer=buffer&0xf0;BEEP=0;}BEEP=1;}}/****************************************************/ P3=0xfd; //扫描S8,S9,S10,S11buffer=P3;buffer=buffer & 0xf0;if(buffer!=0xf0){delay(5,10);if(buffer!=0xf0){buffer=P3;switch(buffer){case 0xed:{ZZ(TabHL1[3]);}break;case 0xdd:{ZZ(TabHL1[4]);}break;case 0xbd:{ZZ(TabHL1[5]);}break;case 0x7d:{ZZ(TabHL1[6]);}break;}while(buffer!=0xf0){buffer=P3;buffer=buffer&0xf0;BEEP=0;}BEEP=1;}}/****************************************************/ P3=0xfb; //扫描S13,S14,S15,S16buffer=P3;buffer=buffer&0xf0;if(buffer!=0xf0){delay(5,10);if(buffer!=0xf0){buffer=P3;switch(buffer){case 0xeb:{ZZ(TabHL1[7]);}break;case 0xdb:{ZZ(TabHL1[8]);}break;}while(buffer!=0xf0){buffer=P3;buffer=buffer&0xf0;BEEP=0;}BEEP=1;}}}void delay(int In,int Out) //定义延时函数{int i,j;for(i=0;i<In;i++){for(j=0;j<Out;j++){;}}}红外遥控信号接收:/*****************红外通信--接收*******************单片机型号:STC89C52RC*开发环境:KEIL*功能:在液晶LCD1602上显示接收到的数值*************************************************/#include<reg52.h>#define LCD_Data P0#define Busy 0x80sbit IR=P3^2;sbit LCD_RS=P1^0;sbit LCD_RW=P1^1;sbit LCD_E=P2^5;void TIM0init(void);void EX0init(void);void SYSinit(void);void delay(int In,int Out);void Delay5Ms(void);void Ir_work(void);void Ircordpro(void);void WriteDataLCD(unsigned char WDLCD);void WriteCommandLCD(unsigned char WCLCD,BuysC);unsigned char ReadDataLCD(void);unsigned char ReadStatusLCD(void);void LCDInit(void);void DisplayOneChar(unsigned char X,unsigned char Y,unsigned char DData);void DisplayListChar(unsigned char X,unsigned char Y,unsigned char code *DData); void Info_display(void);bit IRpro_ok;bit IR_ok;unsigned char IRcord[4];unsigned char IRdata[33];unsigned char codedofly_DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsigned char irtime;unsigned char speed_num=0;unsigned char codemb_table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsigned char code welcome[]={"YOU ARE WELCOME"};unsigned char code ir_reve[]={"IR_RECEIVE: "};/*******************5ms延时函数*********************/void Delay5Ms(void){unsigned int TempCyc=3552;while(TempCyc--);}void delay(int In,int Out){int i,j;for(i=0;i<In;i++){for(j=0;j<Out;j++){;}}}/***********************写数据函数***********************/ void WriteDataLCD(unsigned char WDLCD){ReadStatusLCD();LCD_Data=WDLCD;LCD_RS=1;LCD_RW=0;LCD_E=0;LCD_E=0;LCD_E=1;}/**********************写指令函数************************/ void WriteCommandLCD(unsigned char WCLCD,BuysC){if(BuysC)ReadStatusLCD();LCD_Data=WCLCD;LCD_RS=0;LCD_RW=0;LCD_E=0;LCD_E=0;LCD_E=1;}/***********************读状态函数************************/ unsigned char ReadStatusLCD(void){LCD_Data=0xFF;LCD_RS=0;LCD_RW=1;LCD_E=0;LCD_E=0;LCD_E=1;while(LCD_Data & Busy);return(LCD_Data);}/************************LCD初始化************************/ void LCDInit(void){LCD_Data=0;WriteCommandLCD(0x38,0);Delay5Ms();WriteCommandLCD(0x38,0);Delay5Ms();WriteCommandLCD(0x38,0);Delay5Ms();WriteCommandLCD(0x38,1);WriteCommandLCD(0x08,1);WriteCommandLCD(0x01,1);WriteCommandLCD(0x06,1);WriteCommandLCD(0x0C,1);}/*******************按指定位置显示一个字符******************/void DisplayOneChar(unsigned char X,unsigned char Y,unsigned char DData){Y&=0x1;X&=0xF;if(Y)X|=0x40;X|=0x80;WriteCommandLCD(X,0);WriteDataLCD(DData);}/*******************按指定位置显示一串字符******************/void DisplayListChar(unsigned char X,unsigned char Y,unsigned char code *DData) {unsigned char ListLength;ListLength=0;Y&=0x1;X&=0xF;while(DData[ListLength]>=0x20){if(X<=0xF){DisplayOneChar(X,Y,DData[ListLength]);ListLength++;X++;}}}/***********************定时器0初始化***********************/void TIM0init(void){TMOD=0x02;TH0=0x00;TL0=0x00;ET0=1;TR0=1;}/**********************外部中断0初始化**********************/void EX0init(void){IT0=1;EX0=1;EA=1;}/*************************系统初始化*************************/void SYSinit(void){TIM0init();EX0init();LCDInit();}/********************红外信号接收相关函数********************/void Ir_work(void){switch(IRcord[2]){case 0x0C:{DisplayOneChar(12,1,0x31);}break;case 0x18:{DisplayOneChar(12,1,0x32);}break;case 0x5e:{DisplayOneChar(12,1,0x33);}break;case 0x08:{DisplayOneChar(12,1,0x34);}break;case 0x1c:{DisplayOneChar(12,1,0x35);}break;case 0x5a:{DisplayOneChar(12,1,0x36);}break;case 0x42:{DisplayOneChar(12,1,0x37);}break;case 0x52:{DisplayOneChar(12,1,0x38);}break;case 0x4a:{DisplayOneChar(12,1,0x39);}break;default:break;}}void Ircordpro(void){unsigned char i,j,k;unsigned char cord,value;k=1;for(i=0;i<4;i++){for(j=1;j<=8;j++){cord=IRdata[k];if(cord>7)value|=0x80;if(j<8){value>>=1;}k++;}IRcord[i]=value;value=0;}IRpro_ok=1;}/********************红外信号接收相关函数********************/ void main(void){SYSinit();delay(5,100);DisplayListChar(0,0,welcome);DisplayListChar(0,1,ir_reve);while(1){if(IR_ok){Ircordpro();IR_ok=0;}if(IRpro_ok){Ir_work();}}}/********************定时器0中断处理函数********************/ void tim0_isr (void) interrupt 1 using 1{irtime++;}/*******************外部中断0中断处理函数*******************/ void EX0_ISR (void) interrupt 0{static unsigned char i;static bit startflag;if(startflag){if(irtime<63&&irtime>=33)i=0;IRdata[i]=irtime;irtime=0;i++;if(i==33){IR_ok=1;i=0;}}else{irtime=0;startflag=1;}}。

基于单片机红外遥控开关的设计

基于单片机红外遥控开关的设计

基于单片机红外遥控开关的设计一、引言随着科技的发展和人们对生活品质的追求,智能化家居逐渐成为人们生活中的一部分。

其中,红外遥控技术是实现智能化家居的重要手段之一、本文将介绍基于单片机的红外遥控开关的设计方案,通过学习该方案,读者可以了解到红外遥控技术的原理和应用。

二、设计方案1.硬件设计本设计方案采用AT89S52单片机作为控制核心,通过红外接收头接收红外信号,并通过解码,将信号转化为数字信号;同时,使用继电器作为开关,通过控制继电器的通断,实现对电器设备的开关控制。

2.红外信号解码红外信号解码是实现遥控开关的关键步骤。

当用户按下遥控器上的按键时,红外发射器会发射一组特定的红外信号。

这组信号会被红外接收头接收,并通过解码器进行解码。

解码器将解码后的信号与预设的数据进行比对,确认遥控指令是否有效。

如果有效,则向单片机发送指令,控制继电器通断。

3.程序设计在单片机中,需要编写相关的程序,实现对红外信号的解码和继电器的控制。

首先需要配置单片机的I/O口为输入和输出模式,然后初始化红外接收头,设置外部中断,以便能够接收到红外信号。

接收到红外信号后,将解码后的数据与预设的数据进行比对,如果相同,则通过单片机的输出口控制继电器的通断,实现开关控制。

三、实验结果通过实验验证,基于单片机红外遥控开关的设计方案可以正常工作。

用户可以通过按下遥控器上的按键,控制继电器的通断,从而实现对电器设备的开关控制。

四、应用展望基于单片机红外遥控开关的设计方案可以广泛应用于智能化家居中,通过设置不同的红外编码,可以实现对不同设备的开关控制。

例如,通过不同编码实现对灯光、电视、空调等设备的开关控制。

此外,还可以通过增加传感器模块,实现对环境的监测和控制。

比如,根据温度传感器的数据,自动控制空调的开关,实现智能化温度控制。

总结:基于单片机红外遥控开关的设计方案利用了红外遥控技术和单片机控制技术,实现了对电器设备的智能化控制。

通过学习该方案,读者可以了解到红外遥控技术的原理和应用,以及单片机的应用。

基于51单片机智能排插的设计与实现

基于51单片机智能排插的设计与实现

应用技术2011年第1期自动化与信息工程 31*基金项目:广东药学院师资队伍建设经费资助项目;广东药学院校级优质课程项目(52159505); 广东药学院科研项目(43549005);广东药学院医药信息工程学院2010年科研资助项目基于51单片机智能排插的设计与实现*余华芳 罗建旭 蔡张盛 杨海(广东药学院 医药信息工程学院)摘要:顺应节能减排、环保的时代潮流,在不更换旧家用电器的基础上,设计一款基于51单片机控制的智能排插,赋予传统家电以遥控、定时开关、无待机功耗等功能,从而实现旧家电的节能减排和智能化目的。

关键词:51单片机;FYD12864液晶显示模块;排插;无线遥控模块1 引言随着节能减排、绿色环保意识的不断增强,人们对家用电器的节能减排提出了更高的要求。

但并不是每家每户都有资金去更换使用多年、现在仍可以使用的家用电器。

为此,本文设计研发了一款基于51单片机控制的节能环保的智能排插,旧一代的家电通过使用这个排插可以蜕变为智能化家电,具备遥控、定时开关、无待机功耗等功能,节约了家电更新换代的成本。

该排插现场运行效果良好,符合一般用户需求,具有一定的推广应用价值。

2 智能排插基本工作原理为方便用户使用,本设计将系统分成两部分:排插控制系统和排插遥控器系统(如图1、图2所示),它们分别由一片AT89S52单片机控制。

在排插控制系统中,单片机通过无线接收模块接收遥控器的遥控命令、解码并进行相关操作;单片机通过控制与排插插孔相连的继电器来控制插孔的通断电。

当然,插孔的通断电也可以通过手动开关按钮来操控。

LED指示灯用于指示排插当前的工作状况。

在排插遥控系统中,无线发射模块发送遥控指令,对排插进行定时开关或立即开关等远程操作。

本系统采用成都市飞宇达实业有限公司生产的液晶显示模块FYD12864-0402B ,内置ST7920 液晶控制器。

该LCD 用来显示遥控器人机交互界面。

图2 排插遥控系统3 智能排插硬件设计3.1 无线通讯模块与51单片机接口及通讯技术 3.1.1 无线收发模块与51单片机硬件接口[1]在排插系统中,为了降低生产成本,我们选用Atmel 公司的单片机AT89S52为控制单元,采用PT2272与PT2262配对编、解码芯片构成无线通讯模块。

51单片机-毕业设计基于单片机设计的红外线遥控器

51单片机-毕业设计基于单片机设计的红外线遥控器
1。1红外概述
从光学的角度而言,红外光是频率低于红色光的不可见光,在无线光谱的整个频率中占有很小一个频率段,波长为0.75—100微秒之间,其中0。75—3微秒之间的红外光称为近红外,3—30微秒之间的红外光称为中红外,30—100微秒之间的称为远红外。红外光就其性质而言很简单,与普通光线的频率特性没有很大的区别,但是,由于任何有热量的物体均有能量产生,所以红外的利用非常广泛,而且不可取代,能否检测红外、能测到多少红外或者红外检测的技术是否可以应用于任何自然的或想象的场合是红外应用技术的关键.
四、主要参考文献:
[1]梅丽凤,王艳秋,张军等。单片机原理及接口技术,北京:清华大学出版社,2004年。
[2]戴峻峰,付丽辉。多功能红外线遥控器的设计,传感器世界。2002,8(12):16~18.
[3]李光飞,楼然苗,胡佳文等.单片机课程设计实例指导,北京:北京航空航天出版社,
2004年.
[4]苏长赞。红外线与超声波遥控,北京:人民邮电出版社.1995年.
3.4独立式按键结构……………………………………………………………10
3。5掉电保护与低功耗设计……………………………………………………10
3。5.1低功耗的实现方法……………………………………………………10
3。5.2掉电保护与低功耗设计………………………………………………11
3。6系统完整电路设计图………………………………………………………13
2010.6。26~2010。8.10
在老师指导下反复修改,完成设计
五、指导教师意见:
指导教师签名:2010年5月10日
六、系部意见:
系主任签名:2010年5月11日
基于单片机的红外线遥控器
摘要

智能遥控插座设计

智能遥控插座设计

智能遥控插座设计-电气论文智能遥控插座设计胡宇航1,黄冬龙2,卜凡荣1,胡启帆2,马世勋2,张敏3 (1.江苏省电力公司昆山市供电公司,江苏昆山215300;2.深圳大学电子科学与技术学院,广东深圳518052;3.深圳大学光电工程学院,广东深圳518052)摘要:基于89C51单片机的外部中断和定时器中断定时计数功能,通过双向可控硅对220 V交流电源的导通进行无触点连续控制,实现了双模式(常规模式、夜间模式)智能遥控插座。

常规模式下调节家电的工作功率、控制其工作状态。

夜间模式下,通过光控模块、声控模块和人体感应模块对家电的工作状态进行智能控制。

实现了不更换家电,在原有电路中加上智能插座,即可使普通家电智能化,通用性好,成本低廉,应用面广,尤其适用于台灯、电风扇等低端家电,适用于消费水平中下的广大低端电器市场。

关键词:双向可控硅;无触点连续控制;物联网;智能家居中图分类号:TN710?34;TM925.9 文献标识码:A 文章编号:1004?373X(2015)16?0066?04收稿日期:2015?02?040 引言智能家居作为一个新生产业,市场消费观念还未形成,但随着智能家居市场推广普及的进一步落实,培育起消费者的使用习惯,智能家居市场的消费潜力必然是巨大的。

目前国内的智能家居发展水平低、造价高等问题使得智能家居很难普及。

在智能家居的推进过程中,如何在不更换旧家电的同时实现家电智能化是值得研究的一个问题。

智能遥控插座,可对家电进行功率调节和定时控制,对台灯、电风扇等小功率家电经过多次功能测试和性能测试,遥控控制灵敏,功能响应正确。

智能遥控插座可以在不更换大量旧家电的基础上,实现简单家电的智能化,具有广大的市场价值[1?6]。

1 总体设计智能遥控插座具有遥控端和插座端,通过遥控可以发送控制命令给插座,智能遥控插座响应命令,执行操作。

主要模块包括:遥控接收模块、光控模块、人体感应模块、声控模块、定时模块、电流通断模块、同步信号提取模块、220 V转5 V开关电源模块、51单片机主控制模块。

基于单片机的定时开关插座的设计与制作

基于单片机的定时开关插座的设计与制作
开 始

韧 始化

致 和 满 足 定 时 的 要 求 ,设 定 了 时 钟 设 置 和 定 时设 置功能 时钟设置和定 时设置用 同一个 函数 实现 ,通过 判断按键 的值和所按 下的按 键 来 确 定 所 设 置 的 内容 。K E Y 5 按 键 选 择 定 时 设 置 、 时 钟 设置 。 K E Y 6 、K E Y 7 按 键 是 实 现 定 时 组 别 的 选 择 ,K E Y 4 、K E Y 8 按 键 是 实 现 左 移 右 移 功 能 。整 个 系 统 软 件 设 计 的 流 程 图 如 图 2 所示 3 . 结论 本设计 定时 开关插 座采 用S T C 系列单 片 机s T C 1 2 c 5 A 6 O s 2 编 程 控 制 继 电器 的 通 、 断 来 实现 控制插座 的通、断 电,而继 电器 的通、 断 由定时组别 确定。在定 时范围 内继 电器导 通 ,否则断开 。并用L E D 1 2 8 6 4 显 示 出 时 钟 及 定 时时间等信 息。当时钟走 到定时开始 时间 时 ,继 电器接通 ,插座给 负载供 电;时钟走 到 定 时 结 束 时 间 时 , 继 电器 断 开 ,插 座 停 止 给 负载供 电。本 次设计 的定时开关插 座 自动 化 程 度较 高 , 符合 定时 开 关插 座 的发 展 方 向 。 系 统 适 用 于 日常 家 庭 电 器 供 电 , 如 : 给 电风 扇定时供 电,给水塔定 时抽水等 等,具 有较 高的实用价值 。
随着现代 电器产品增 多,而且大部分 存 在 着待机 能耗 问题 ,并且呈 日趋 增长态势 , 家庭 和社会为 此浪 费了太多 的资源 。中国节 能 认 证 中 心对 日常 的 家 庭 待 机 能 耗 做 过 详 细 的 调 查 显 示 , 仅 待 机 能 耗 这 一 项 就 大 约 占到 家 庭 电力消 耗 的1 0 % 。定 时开 关插座 能够 实 现 定 时 给 电 器 供 电 , 在 不 需 要 时 可 以把 电 器 的 电 源 准 时 切 断 ,这 样 就 能 减 少 很 大 部 分 电 器 的待机损耗,从而达到节能 的 目的。 定 时 开 关 插 座 是 能 根 据 用 户 需 要 自 定 义 时 间来控 制 电器通 、断 电的开关插座 … 。 能实现 2 4 d , 时制 和 1 0 0 d , 时制 两种 时钟走 时 模 式 ,在2 4 , J , 时制时 钟模 式 ,可 以实 现6 组 2 4 d " 时 内 的任 意 定 时 , 定 时 时 间 范 围最 小 为 1 分钟 ;在 1 o o d , 时 制时钟 模式 ,可 以实现 6 组1 o o d , 时 内的任意 定时 ,定 时时 间范 围最 小 也是 1 分 钟 。 它 可 以 对 家 中 一 些 需 要 在 特 定 时 间 对 电 器 进 行 自 动 断 、通 电 控 制 ,而 不 需 要 拔 掉 插 头 , 减 少 电 器 的 待 机 损 耗 ,解 决 生 活中的~些烦恼 。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录第一章绪论 (1)1.1 选题的目的与意义 (1)1.2 本课题在国内外的发展现状及趋势 (1)1.3 本课题要解决的主要问题 (1)第二章系统设计方案 (2)2.1 系统结构与功能 (2)2.2 总体系统框图 (2)2.3 开关的选择 (2)2.4 显示方式选择 (3)2.5 时钟的实现及单片机的选择 (3)2.6 按键控制部分的实现 (3)第三章主要元器件原理及其应用 (4)3.1 单片机STC89C51简介 (4)3.2 1602工业字符型液晶简介 (4)3.3 继电器介绍 (5)第四章硬件电路的设计 (6)4.1单片机最小系统 (6)4.2 液晶显示电路 (7)4.3 键盘电路 (8)4.4 插座电源控制电路 (8)4.5 蜂鸣器提示电路 (9)4.6 红外遥控电路 (9)第五章系统软件设计 (11)5.1 各模块程序设计 (11)5.1.1 主程序流程图 (11)5.1.2 时钟程序设计 (11)第六章系统组装和调试 (13)总结与体会 (15)参考文献 (16)附录一实物图 (17)附录二源程序 (18)第一章绪论1.1 选题的目的与意义现如今,生活水平提高,生活节奏加快,市面上的插座往往由于其功能过于单一而不能满足我们的需求。

比如:电动车充电通常是8小时左右,太长则容易损耗电池,太满则充不满,如果晚上充电,又经常不想从家里出来到车库去给车充电。

白天充电又忘记拔电源;家中的水塔忘记抽水而造成生活的一时不便;学校的起床广播因值班人员睡过头而推迟广播;家中的鱼缸因太久没有供氧造成鱼儿缺氧死亡;许多球迷或者新闻爱好者因为错过了开机时间而与精彩球赛或者新闻擦肩而过;夏天里风扇的定时时间过短(一般为1个小时),不便于晚上分段定时使用等等。

综合以上原因考虑,我们急需要一款智能插座。

此插座能够实现定时给电器供电,在工作时间之外把电器的电源切断,这样就能解决电器的待机损耗,达到节约用电的目的,还能消除安全隐患,最终使我们的生活更加方便化、智能化。

本文阐述了定时开关插座的硬件电路设计、软件算法设计, 给出了自动开关插座的设计和定型方案,它可以对家中一些需要在特定时间对电器进行自动断、通电控制,而不需要拔掉插头,减少电器的待机损耗,解决生活中的一些烦恼。

1.2 本课题在国内外的发展现状及趋势目前,在市面上,时间控制器技术相对先进,种类齐全,时间控制器被广泛应用于各类电器中,通过对时间的控制是人们的生活更加简单化、智能化。

在智能插座的领域却还处于刚刚发展的阶段,智能插座也仅仅限制于旋钮定时器,或者计数器芯片设计的体积较大的时控插座。

这种插座定时时间单一,功能单一,定时准确性低,很难真正满足我们日常生活的需求。

现在急需将一种功能强大的时控插座来满足市场需求,改善我们的生活。

随着现代电子科学技术的发展,由于单片机具有优异的性价比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗等特点,成品价格下降,越来越被广泛应用。

这种新兴产业的发展,势必在日常生活中产生深远的影响。

由单片机实现对插座的定时控制正符合这一发展规律。

1.3 本课题要解决的主要问题本论文主要是完成一种低成本、低价格、功能强大的单片机定时控制插座系统的设计与开发。

包括硬件电路和主要的软件设计。

本课题详细分析系统的硬件设计和软件设计,给出电路原理图,以及主要程序设计的流程图和程序。

主要采用51单片机为核心单元,利用单片机的定时器,I/O 等功能设计的一款具有定时的单片机时控插座。

第二章系统设计方案本章主要讨论了系统的总体方案以及各模块的设计方案,包括了控制核心、开关、显示模块、时钟电路以及键盘电路方案。

2.1 系统结构与功能系统总体设计主要实现以下功能:(1)人机交互界面:通过1602液晶显示屏,与独立按键建立起一套完善的人机交互界面。

可以用于设置定时的参数,显示剩余时间,显示断电提示。

(2)设置定时时间:用户通过人机交互界面,查找到设定时间界面,设置对应的每一组的设置时间。

(3)红外线遥控:本系统可以通过红外线遥控器进行两个定时的时间设定,可以强制开\关,确认开始定时功能(4)蜂鸣器提示:当电源接通和断开时都将有蜂鸣器提示。

2.2 总体系统框图采用一种以STC89C51为核心的单片机控制方案。

选用单片机STC89S51 作为本设计的核心元件,利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,实现基本的定时控制功能。

在单片机的外围电路外接输入键盘及1602液晶用于构造人机交互界面以设置各个参数。

其原理如下图2.1所示:图2.1 单片机控制插座原理图2.3 开关的选择采用光耦合器实现单片机控制开关。

耦合器(optical coupler,英文缩写为OC)亦称光电隔离器,简称光耦。

光耦合器以光为媒介传输电信号。

它对输入、输出电信号有良好的隔离作用,所以,它在各种电路中得到广泛的应用。

目前它已成为种类最多、用途最广的光电器件之一。

本次设计开关部分可选用光耦控制三极管开关的形式来驱动继电器的工作。

2.4 显示方式选择在模拟电子和数字电子中,常用显示数据的有数码管和液晶显示器。

采用LCD液晶显示,可以显示所有字符及自定义字符,并能同时显示多组数据、汉字,字符清晰。

由于自身具有控制器,不但可以减轻主单片机的负担,而且可以实现菜单驱动方式的显示效果,达到友好的人机介面。

LCD显示能解决LED只能显示数字等几个简单字符的缺点,性能好,效果多,控制方便,显示方式多,且能耗也较少。

2.5 时钟的实现及单片机的选择时钟的实现可已通过使用时钟芯片或者单片机的定时器实现。

下面简要介绍几种方案的特点。

单片机仅用于控制继电器、键盘,实现时钟和定时,用51结构的有Atmel的AT89CXX系列、AT89SXX系列、AT89C20系列(20引脚)或STC的所有单片机都可以实现。

根据在学校比较流行的学习单片机是STC89C51系列,而且STC89C51单片机便宜,购买方便,下载方便,故单片机选用STC89C51单片机。

时钟通过单片机的内部定时器来实现时钟。

单片机的内部定时器可实现较为精确的时钟走时,定时50毫秒的误差率极小,可达到定时开关插座的使用要求。

使用单片机内部定时器可简化硬件电路,可以节省开支,但是编程的难度有所提高。

本次设计的时钟走时用单片机定时器已经可以完全达到定时开关插座的使用要求,并可省去时钟芯片,节省开支。

考虑到软件的难度增加可换来更好的性价比,所以选用方案二。

2.6 按键控制部分的实现时钟时间和定时时间的设置功能可以通过按键来实现。

按键的实现可以通过以下两种方案实现:单片机的每一个I/O口与一个按键相连,这样就可以根据扫描I/O口的电平变化实现相关功能。

这样可以很简单的实现按键的功能。

根据本定时开关插座的设置要求,用到4个按键。

通过两个方案的对比,方案一的实施办法更符合要求。

第三章主要元器件原理及其应用本章主要讨论了各模块元器件的选择以及元器件的工作原理。

3.1 单片机STC89C51简介(1)增强型1T流水线/精简指令集结构8051CPU(2)工作电压:3.4V-5.5V(5V 单片机)/2.0V-3.8V(3V 单片机)(3)工作频率范围:0-35MHz,相当于普通8051的0~420MHz.实际工作频率可达48MHz.(4)用户应用程序空间12K/10K/8K/6K/4K/2K字节(5)片上集成512字节RAM(6)通用I/O口(27/23个),复位后为:准双向口/弱上拉(普通8051传统I/O口)可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏每个I/O口驱动能力均可达到20mA,但整个芯片最大不得超过55mA(7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片(8)EEPROM功能(9)看门狗管脚图如3.1所示。

图3.1 STC89C51管脚图3.2 1602工业字符型液晶简介工业字符型液晶,能够同时显示16x02即32个字符。

(16列2行)。

1602液晶管脚图如图3.2所示。

图3.2 1602液晶管脚图1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样。

3.3 继电器介绍继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。

故在电路中起着自动调节、安全保护、转换电路等作用。

(1)额定工作电压额定工作电压是指继电器正常工作时线圈所需要的电压,也就是控制电路的控制电压,根据继电器的型号不同,可以是交流电压,也可以是直流电压。

(2)直流电阻直流电阻是指继电器中线圈的直流电阻,可以通过万能表测量。

(3)吸合电流吸合电流是指继电器能够产生吸合动作的最小电流。

在正常使用时,给定的电流必须略大于吸合电流,这样继电器才能稳定地工作。

而对于线圈所加的工作电压,一般不要超过额定工作电压的1.5倍,否则会产生较大的电流而把线圈烧毁。

(4)释放电流释放电流是指继电器产生释放动作的最大电流。

当继电器吸合状态的电流减小到一定程度时,继电器就会恢复到未通电的释放状态。

这时的电流远远小于吸合电流。

(5)触点切换电压和电流触点切换电压和电流是指继电器允许加载的电压和电流。

它决定了继电器能控制电压和电流的大小,使用时不能超过此值,否则很容易损坏继电器的触点。

第四章硬件电路的设计本章节详细讨论了各个模块的具体电路的设计,单片机最小系统、液晶显示模块、继电器驱动模块以及键盘模块。

4.1单片机最小系统单片机最小系统由复位电路、时钟电路和单片机STC89C51组成,如图4.1所示。

图4.1 单片机最小系统电路(1)时钟电路模块由于系统需要计算精确时间,所以该模块使用了一个11.0592MHz的晶振。

时钟电路用于产生单片机工作所需要的时钟信号,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按照时序工作。

时钟电路图如图4.2所示。

图4.2 时钟电路(2)复位电路模块复位是单片机的初始化操作,单片机启动运行时,都必须复位。

复位电路包括了上电复位于手动复位两个部分。

单片机复位信号为高电平复位。

复位电路图如图4.3所示。

图4.3 复位电路4.2 液晶显示电路本设计选用的1602液晶为16管脚液晶,即带背光液晶。

与单片机接口设计如下:7—14:连接P0端口4:连接P2.25:连接P2.16:连接P2.01602液晶显示电路图如图4.4所示。

图4.4 1602液晶显示电路4.3 键盘电路本设计采用了独立键盘设计,只是用了3个独立案件与单片机IO口连接,利用简单的逻辑方式实现了人机交互界面。

相关文档
最新文档