51单片机控制的红外遥控光立方的设计与制作
51单片机最小系统控制3D8 LED光立方
[Macro]51单片机最小系统控制3D8 LED光立方Posted on11/06/2011byaGuegu随着越来越多的朋友开始玩起3D8,不少朋友开始不局限于我们提供的上位机程序,以及我们的小卡里面固有的程序,开始玩起自定义的花样。
在之前的3D8串口通讯协议中,还是没有提供具体的操作实例,只是利用串口助手,以及命令行版本的上位机程序,进行介绍。
还是不够形象,今天我就把我手头能找到的单片机都拿出来,一个个驱动3D8给大家看看咯~用到4款单片机,都是STC的(毕竟这个目前是在51初学者中用到的最多的单片机),分别是STC12C5A60S2、STC12C5616AD、STC12C2052AD、STC89C58RD+,前3款都是12系列的1T单片机,而89C58RD就是更早期的型号,与Atmel同档51单片机性能更加接近,是12T的单片机(运算速度慢),其实都可以对3D8进行控制,简而言之,不管是什么类型的单片机,只要能进行波特率为115200的串口通讯,就能驱动3D8。
包括之前讲过的Arduino UNO标准版,都可以。
实现STC最小系统其实非常简单。
除了做好外部时钟电路(时钟晶振为22.1184M)的连接以外,引出4条线(VCC、GND、RXD、TXD)就能进行下载。
我们的3D8无非是将其用一个”伪USB“口封转起来。
因为目前用上述的单片机还无法实现与电脑直接的USB连接通讯,所以,我称之为“伪USB”口,借用这个封装,我们可以比较好地避免引线差错的情况。
而这4条线,也就足矣实现3D8与51最小系统的连接。
也就是说我们的”小卡“,本来就是一个以STC12C5A60S2为核心的最小系统,USB口里面就是这4条线,就多了2个按键而已,而按键的引脚其实就是连接它的2个外部中断引脚。
具体IO分布,请参阅相关数据手册。
插入介绍一下我用的下载系统:一个USB-ISP模块(这个和AVR用的那个不一样,核心为CP2102(若为PL2303也行));一个小开关板,加入了VCC的开关,因为在下载程序的时候,需要冷启动单片机;一个USB母口的接口。
基于51单片机的红外线遥控智能台灯设计-智能台灯的控制系统电路设计
基于51单片机的红外线遥控智能台灯设计-智能台灯的控制系统电路设计摘要随着社会的发展,智能产品也随着变化,电子产品快速发展,我们家用电器智能化越来越多,常见的智能家居如电饭煲,电磁炉,台灯等主要系统都具有一个共同的特点,那就是利用单片机控制系统作为本次的核心系统,因此带来巨大的方便,本次针对智能家居的台灯控制系统设计,对我国的智能家居发展是十分必要的,有着巨大的市场价值和市场潜力。
本设计以STC89C52为控制芯片,通过对红外传感器和光敏电阻的输出信息信号采集实现对LED灯的控制,达到模拟控制灯光的目的。
论文的主要的目的是完成智能灯光的硬件设计和软件设计,硬件设计的选择包括选型和电路设计;软件是对硬件的每个部分模块进行驱动,对于软件程序的编写可以将硬件部分传感器的数据采集和控制输出功能,从而做到灯光的智能控制。
关键词:STC89C52,智能台灯,光敏电阻,红外传感器Design of infrared remote control intelligent table lamp based on 51 single chip microcomputer-The control system circuit design ofintelligent table lampAbstractWith the development of society, intelligent products are also changing, and electronic products are developing rapidly. More and more intelligent home appliances are used. Common intelligent home systems such as rice cooker, electromagnetic stove, table lamp and so on have a common feature. That is to use the single-chip microcomputer control system as the core system of this time, which brings great convenience. This time, for the intelligent home The design of lamp control system is very necessary for the development of smart home in China, and has great market value and market potential.This design is based on STC89C52 as the control chip, through the acquisition of the output information signal of photoresist and infrared sensor to achieve the control of LED lamp, to achieve the purpose of analog control of light. The main purpose of this paper isto complete the hardware design and software design of intelligent lighting. The choice of hardware design includes selection and circuit design. The software is to drive each part of the hardware module. For the preparation of software program, the data acquisition and control output function of the hardware part of the sensor can be achieved, so as to make the lighting intelligent control.Key words: STC89C52; intelligent table lamp; photosensitive resistance; infrared sensor目录1 绪论 (3)1.1 本设计研究背景 (3)1.2 本设计的目的和意义 (3)1.3 设计方案的提出 (2)2 总体方案的选择 (2)2.1 主控芯片的选择 (2)2.2 三极管驱动模块 (3)2.3 热释电红外传感器 (3)2.4 光敏电阻 (3)2.5 报警模块的选择 (4)2.6 按键控制模块 (4)2.7 信号处理模块的选择 (5)2.8 手势模块的选择 (5)2.9 智能灯光方案的确定 (5)3 硬件设计 .................................................. 错误!未定义书签。
基于51单片机的红外遥控器设计
天津职业大学二○一五~二○一六学年第1学期电子信息工程学院通信系统综合实训报告书课程名称:通信系统综合实训班级:通信技术(5)班学号:1304045640 1304045641 1304045646姓名:韩美红季圆圆陈真真指导教师:崔雁松2015年11月17日一、任务要求利用C51单片机设计开发一套红外线收发、显示系统。
具体要求:●编写相关程序(汇编、C语言均可);●用Proteus绘制电路图并仿真实现基本功能;●制作出实物二、需求分析(系统的应用场景、环境条件、参数等)现在各种红外线技术已经源源不断进入我们的生活中,在很多场合发挥着作用。
机场、宾馆、商场等的自动门,会在人进出时自动地开启和关闭。
原来,在自动门的一侧有一个红外线光源,发射的红外线照射到另一侧的光电管上,红外线是人体察觉不到的。
当人走到大门口,身体挡住红外线,电管接收不到红外线了。
根据设计好的指令,触发相应开关,就把门打开了。
等人进去后,光电管又可以接到红外线,恢复原来的线路,门又会自动关闭。
因此这种光电管被称为“电眼”,在许多自动控制设备中大显身手。
在家庭中,许多电子设备如彩色电视、空调、冰箱和音响等,都使用了各种“红外线遥控器”。
利用它我们可以非常方便的转换电视频道或设定空调的温度档次。
三、概要设计(系统结构框图/系统工作说明流程图)红外线收发、显示系统硬件由以下几部分组成:红外遥控器,51单片机最小系统,接收放大器一体集成红外接收头,LED灯显示电路。
红外线接收是把遥控器发送的数据(已调信号)转换成一定格式的控制指令脉冲(调制信号、基带信号),是完成红外线的接收、放大、解调,还原成发射格式(高、低电位刚好相反)的脉冲信号。
这些工作通常由一体化的接收头来完成,输出TTL兼容电平。
最后通过解码把脉冲信号转换成数据,从而实现数据的传输。
红外遥控系统电路框图四、详细设计(Proteus电路图、程序流程图、源程序清单)1)Proteus电路图:2)程序流程图:程序是首先初始化红外接收端口,然后检测是否接收红外信号,如果接收到红外信号就调用接收子程序,然后就通过L 额度LED 显示当前按键的结果,如图所示:程序流程图3)源程序清单:#include<reg51.h> //头文件#define uchar unsigned char //这里用"uchar"代替"unsigned char","uchar"用来定义无符号字符型数。
基于51单片机的红外遥控课程设计
目录第一章设计简介 (2)第二章系统方案 (2)一、设计方案对比 (2)二、方案设计 (4)第三章硬件设计 (4)一、红外遥控器 (4)二、红外接收模块部分 (6)第四章软件设计 (7)一、红外遥控器软件设计 (7)二、红外接收模块软件设计 (10)三、程序代码 (10)第五章测试及分析 (10)第六章结论 (10)第七章参考文献 (11)附录一(程序代码): (12)第一章设计简介本设计分为红外遥控器与红外接收模块两部分。
红外遥控器包括矩阵键盘、增强型51单片机(STC11L04E)、红外发射电路组成。
单片机扫描矩阵键盘后,将按键状态进行信源编码与信道编码,载波(38k脉冲)后由红外发射器发射。
红外接收模块部分由传统51单片机、数码管、一体化红外接收头组成。
一体化红外接收头将信号进行限幅放大、带通滤波、解调、积分、整形后输出解调信号至单片机,并由单片机输出解调信号。
第二章系统方案一、设计方案对比红外遥控器部分2.1.1 主控芯片方案一:HT6222方案二:STC11L04E分析:传统红外遥控器芯片HT6222具有性价比高、功能强大、稳定可靠、使用简单等特点,但该芯片难以零购。
STC11L04E为增强型51单片机,控制灵活(载波频率可调、通信协议可变更、用户码可变换)、价格较HT6222稍贵。
STC11L04E最大的特别是低功耗,功作电压低3.3V,易于应用于移动设备。
结论:由于STC11L04E单片机的灵活性以及学习性(可增强我们对一个完整通信系统的理解)。
因此我们采用方案二。
2.1.2 矩阵键盘方案一:3*6*2.5 贴片轻触开关方案二:6*6*6 直插轻触开关分析:3*6*2.5贴片轻触开关虽然体积小巧、美观,但与6*6*6直插轻触开关对比,在制板布线上较繁锁。
结论:综上,我们采用6*6*6直插轻触开关,使得整体布线简单,可布单面版,简化制板流程。
2.1.3电源模块方案一:钮扣电池CR2032方案二:可充电锂电池18650分析:可充电锂电池18650容量大,节能环保(可多次利用),但体积大。
基于51单片机的红外遥控小车设计和制作
基于51单片机的红外遥控小车设计和制作本文介绍一款红外线遥控小车,以AT89S51单片机为核心控制器,用L289驱动直流电机工作,控制小车的运行。
本款小车具有红外线遥控手动驾驶、自动驾驶、寻迹前进等功能。
本系统采用模块化设计,软件用C语言编写。
一、设计任务和要求以AT98C51单片机为核心,制作一款红外遥控小车,小车具有自动驾驶,手动驾驶和循迹前进等功能。
自动驾驶时,前进过程中可以避障。
手动驾驶时,遥控控制小车前进、后退、左转、右转、加速等操作。
寻迹前进时小车还可以按照预先设计好的轨迹前进。
二、系统组成及工作原理本系统由硬件和软件两部分组成。
硬件部分主要完成红外编码信号的发射和接受、障碍物检测、轨迹检测、直流电机运行的发生等功能。
软件主要完成信号的检测和处理、设备的驱动及控制等功能。
AT89S51单片机查询红外信号并解码,查询各个检测部分输入的信号,并进行相应处理,包括电机的正反转,判断是否遇到障碍物,判断是否小车其那金中有出轨等。
系统结构框图如图1所示。
图1 系统结构框图三、主要硬件电路1、遥控发射器电路该电路的主要控制器件为遥控器芯片HT6221,如图2所示。
HT6221将红外码调制成38KHZ的脉冲信号通过红外发射二极管发出红外编码。
图2中D1是红外发射二极管,D2是按键指示灯,当有按键按下时D2点亮。
HT6221的编码规则是:当一个键按下超过36ms,振荡器使芯片激活,如果这个按键按下且延迟大约108ms,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9~18ms),8位数据码(9~18ms)和这8位数据码的反码(9~18ms)组成,如果按键按下超过108ms仍未松开,接下来发射的代码将仅由起始码(9ms)和结束码(2.5ms)组成。
按照上图的接法,K1~K8的数据码分别为:0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07。
51单片机红外控制发射器设计【非常详细】
单片机红外控制发射器设计【详细】摘要随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的遥控系统开始进入了人们的生活。
传统的遥控器采用专用的遥控编码及解码集成电路,这种方法虽然制作简单、容易,但由于功能键数及功能受到特定的限制,只实用于某一专用电器产品的应用,应用范围受到限制。
而采用单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随便设定等优点。
本设计主要应用了A T89C2051单片机作为核心,综合应用了单片机中断系统、定时器、计数器等知识,应用红外光的优点。
遥控操作的不同,遥控发射器通过对红外光发射频率的控制来区别不同的操作。
遥控接收器通过对红外光接收频率的识别,判断出控制操作,来完成整个红外遥控发射、接收过程。
其优点硬件电路简单,软件功能完善,性价比较高等特点,具有一定的使用和参考价值。
关键词:单片机,红外遥控,中断,定时,计数,频率AbstractWith the development of our society and the gradual improvement of science and technology, various kinds of help remote control systems have began to enter people’s life. The traditional remote controllers adopt special remote control code and decode integrated circuits, though this kind of method is simply and easily, it is only the practical application of some certain special electric equipments because of the counted functional keys is counted and the restricted function, so the range of application is limited. But the remote controllers which adopt the microprocessors have many advantages such as flexible operating and unceremonious manipulative keys.The design has used A T89C2051 microprocessor as core, integratively apply the interruptive system, timer , counter ,etc. mainly to design originally and also take the advantage of the infrared light. The remote control launcher distinguishes different operation through the control on frequency of infrared emission of light. The remote control receiver judges control operation by adopting the discerned frequency of the received infrared light to finish the whole launching and receiving course.Its advantage is that the hardware circuit is simple, the software is with perfect function, have certain use and reference valueKeywords:Microprocessor, Infrared remote control,Interrupt,Timing,Counting,Frequency目录摘要 (I)Abstract (I)1 绪论 (5)1.1 单片机的产生与发展 (5)1.2红外通信技术概述 (3)1.2.1红外概述 (3)1.2.2 选择红外遥控的原因 (3)1.2.3红外的简单发射接收原理 (4)2.1 设计目的与原理 (4)2.2单片机红外遥控发射器设计原理 (4)2.3 单片机红外遥控接收器设计原理 (5)3系统硬件电路设计 (6)3.1有关A T89C2051单片机的介绍 (6)3.1.1简介 (6)3.1.2引脚介绍 (6)3.1.3 A T89C2051单片机的主要组成部分 (8)3.2定时器/计数器 (9)3.2.1主要特性 (9)3.2.2定时/计数器0和1的控制和状态寄存器 (10)3.2.3 T0和T1的4种工作方式 (12)3.3独立式按键结构 (12)3.4低功耗控制电路 (13)3.4.1低功耗的实现方法 (13)3.4.2 掉电保护和低功耗的设计 (13)3.5 CPU时钟电路 (16)3.6 复位电路 (17)3.6.1复位状态 (17)3.6.2 复位电路 (17)3.7 红外发射电路的设计 (18)3.8 红外接收电路的设计 (19)3.9 完整的系统电路设计图 (20)4 系统软件设计 (20)4.1遥控发射器程序设计 (20)4.1.1程序总体结构 (20)4.1.2 伪指令和初始化程序 (22)4.1.3键盘扫描程序 (24)4.1.4 中断服务程序 (25)4.2 遥控接收器程序设计 (27)4.2.1 程序总体结构 (27)4.2.2 初始化程序 (29)4.2.3 计数值比较程序 (30)4.2.4 定时器1中断服务程序 (30)5 总结与展望 (31)致谢 (32)参考文献 (33)附录1 (35)附录2 (37)1 绪论1.1单片机的产生与发展为适应社会发展的需要,微型计算机不断的更新换代,新产品层出不穷。
基于51单片机的红外遥控开关设计
3.1系统硬件设计7
3.1.1硬件要求7
3.1.2ቤተ መጻሕፍቲ ባይዱ盘接口9
3.1.3LED显示器10
3.1.4发射部分12
3.1.5接收部分12
3.2系统软件设计13
3.2.1发射部分的工作原理13
3.2.2接收部分工作原理13
3.3遥控系统的编码及解码14
3.3.1遥控发射编码格式14
3.3.2数据帧的接收处理15
关键词:AT89C51芯片;红外遥控开关
ABSTRACT
The design of an infrared remote-control multi-line switch is introduced.This switch is based on principle of infrared remote-control and AT89C51 single chip microcomputer controlling .This system has strongapplicability,flexibility and advancement.People's life is improved greatly by Its apply.Its system composition and design of hardware and software are presented. The basic structure and chart of control decode program are also expounded. In order to achieve exact remote-control, the transmitted signal is divided into 3 parts:the connecting section, the controlling section and the ending section, then the receiver will verify it.The whole system is composed by the launches partially and the receives partially two unches partially including the keyboard matrix,the coded modulation,the LED infrared transmitter;Receives partially including the LED infrared light launch,the demodulation,decodes the electric circuit. It was proved that this kind of remote-control is convenient, reliable and practical after using in remote-control system.
51单片机综合学习系统_红外线遥控篇
图 10 截取的波形图像 Ele
PRACTICAL ELECTRONICS
制作天地
51 单 片 机 综 合 学 习 系 统
— ——红外线遥控篇
◎徐 玮
通过 以 前 的学 习 , 已 经对 51 单 片 机综 合 学 习 系 统 的 使用 方 法 及 学 习 方 式 有 所 了 解, 并 学 会 了 12864 点 阵型液晶显示的基本知识, 体会到了综合学习系统的 易用性与易学性, 这一期我们将学习红外线遥控的基 本原理与使用方法。
2008 年第 3 期 电子制作 23
PRACTICAL ELECTRONICS
制作天地
4.5ms 的结果码完成后才能读码。 3.接收器及解码 一体化红外线接收器是一种集红外线接收和放大
于一体, 不需要任何外接元件, 就能完成从红外线接收 到 输出 与 TTL 电 平信 号 兼 容的 所 有 工 作 , 而 体 积 和 普 通的塑封三极管大小一样, 它适合于各种红外线遥控 和红外线数据传输。在 51 单片机综合学习系统的右上 角有一个黑色的一体化红外线接收头。
遥控 器 在 按键 按 下 后, 周 期 性 地 发 出 同 一 种 32 位 二进制码, 周期约为 108ms。一 组码 本 身 的持 续 时 间随 它 包 含 的 二 进 制“0”和“1”的 个 数 不 同 而 异 , 大 约 在 45~63ms 之间, 图 6 为发射波形图。
HANDS ON PROJECTS
图 1 硬件平台 红外线遥控是目前使用最广泛的一种通信和遥控 方 式 。由 于红 外 线 遥控 装 置 具 有 体 积 小 、功 耗 低 、成 本 低 等 特点, 因 而 继彩 电 、录 像 机 之 后 , 它 在 录 音 机 、音 响 设备、空凋机以及玩具等小型电器装置上也被广泛采 用。 下面详细介绍红外线遥控的基本原理和使用方 法。 1.红外遥控系统 通用红外遥控系统由发射和接收两大部分组成, 应用编 / 解码专用集成电路芯片来进行控制操作, 如图
基于51单片机光立方设计_陈聪
参数
数值
集电极直流最大工作电压
50
输入电压
5
最大工作温度
+ 85
最小工作温度
- 20
集电极连续电流
500
输入电流
25
单位 V V ℃ ℃
mA mA
2.3 控制器 STC89C52RC
STC89C52 是宏晶公司 MCS-51 系列单片机中基本的产品,它采用宏晶公司可靠的 CMOS 工艺技
术制造的高性能 8 位单片机,属于标准的 MCS-51 的 HCMOS 产品。它结合了 CMOS 的高速和高密度
L1 10
L2 9
L3 8
L4 7
L5 6
L6 5
L7 4
L8 3
2
1
RN1
10k
H4.8
H4.7
H4.6
H4.5
H4.4
H4.3
H4.2
H4.1
H3.8
H3.7
H3.6
H3.5
H3.4
H3.3
H3.2
H3.1
H2.8
H2.7
H2.6
H2.5
H2.4
H2.3
H2.2
H2.1
H1.8
H1.7
H1.6
H1.5
3-4 控制电路焊接图
3.3 单片机工作电路原理及制作 1、单片机工作电路原理
2、单片机工作电路
C2
30p
U1
19 XTAL1
C1
30p
18 XTAL2
9 RST
C3
R1 10uF
10k
29 30 31
PSEN ALE EA
P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8
基于51单片机的红外遥控LED灯控制系统设计与实现
目录0. 引言 (1)1.设计方案 (2)1.1 系统方案选择 (3)1.2 系统构成框图 (5)2. 系统设计 (6)2.1 硬件原理 (8)2.1.1 硬件组成介绍 (8)2.1.2 电路各部分功能原理 (13)2.2 软件流程 (15)2.3 实验与仿真 (21)2.4 实物图 (23)结论 (24)参考文献 (25)附录1原理图 (26)附录2 源程序 (26)基于单片机红外遥控LED灯控制系统设计与实现0.引言随着国民经济的快速发展和社会进步,教育在全社会愈加被关注和重视,校园规模也随着受教育者的数量增加而不断扩大,教室的数量也大幅度增加。
为使师生有舒适的教学和学习的环境,无论是教室的面积、设施和照度,校方在力所能及的范围内,都付出了十分的努力。
但由于学校开放型的管理模式,以及全员的节能意识的淡薄,高校的教室在白天室内照度很高的情况下,仍然普遍存在开灯作业;即使室内无人或人数很少的情况下,也是全部开启室内照明。
夜间许多教室,即使仅有几个学生在教室自习,但室内照明全部开启,绝不会有师生因为只有少数人而仅开几盏灯。
LED被认为是21世纪的照明光源。
LED发光器件是冷光源,光效高,工作电压低,而且能耗低,同样亮度下,LED能耗为白炽灯的10%,荧光灯的50%。
LED寿命可达10万小时,是荧光灯的10倍,白炽灯的100倍。
用LED替代白炽灯或荧光灯,环保无污染。
使用安全可靠,便于维护。
我国照明用电占总发电量的12%。
目前,公共建筑的照明灯具控制大多采用手动开关,经常出现没有及时开关的现象,从而造成大量的能源浪费和使用上的不便。
另外,不必要的使用,也会缩短灯具的使用寿命。
本文阐述了一套LED智能照明控制系统设计方案,可以根据工作环境中是否有人员和环境补光亮度等来自动控制照明的开关和亮度。
采用本系统具有提高用电效率,节约电能和缓解了用电高峰的电力供双重作用。
单片机的出现至今已经有30多年的历史了。
基于51单片机的红外遥控开关设计初稿
本次设计是基于单片机的红外遥控开关系统,它在我们的生产和生活中有着很广泛的应用前景。在我们所居住的场所,我们就可以通过红外遥控技术来控制各种电器、仪表、机械等。这种系统具有很强的适用性、灵活性、先进性。它的应用将我们的生活变的更加轻松。大大方便了人们的生活随着信息技术的不断向前发展,一些功能更强的应用系统将出现在我们的各个方面,这将体现着高科技带给人们的无穷魅力。
2.方式1:当M1、M0为01是,定时器/计数器工作于方式1,这时定时器/计数器的等效电路如下图3-3
图3-3定时器/计数器方式1逻辑结构图
3方式2:
方式0和方式1的最大特点是计数溢出后,计数器为全0.因此在循环定时或循环计数用时就存在反复装入计数初值的问题。这不仅影响定时精数,而且也给程序设计带来麻烦。方式2就是针对此问题而设置的。当M1、M2为10时,定时器/计数器处于工作方式2,这时定时器/计数器得等效框图如图3-4所示。这种工作方式可以省去用户软件中得重装初值的程序,简化定时初值的计算方法,可以相当精确的确定定时时间。
定时器/计数器T0由特殊功能寄存器TH0、TL0构成,定时器/计数器T1由特殊功能寄存器T1、TL1构成。特设功能寄存器TMOD用于选择定时器/计数器T0、T1得工作模式和工作方式。特殊功能寄存器TCON用于控制T0、T1得启动和停止计数,同时包含了T0、T1得状态。TMOD、TCON这两个寄存器得内容由软件设置。单片机复位时,两个寄存器得所有位都被清0。
AT89C51芯片内部具有下列硬件资源:4KB闪速存储器、128个字节RAM、32条I/O线,两个16位定时/计数器、五源两级终端结构、全双工串行口、片内振荡器及时钟电路等。
正是由于AT89C51具有以上优点,所以我选择了它作为系统硬件所选单片机类型。
基于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;}}。
51单片机设计的红外线遥控器电路图及工作原理
51单片机设计的红外线遥控器电路图及工作原理你家里是否有一个电视机遥控器或者空调机遥控器呢?你是否也想让它遥控其他的电器甚至让它遥控您的电脑呢?那好,跟我一起做这个“红外遥控*器”。
该小制作所需要的元件很少:单片机TA89C2051一只,RS232接口电平与TTL电平转换心片MAX232CPE 一只,红外接收管一只,晶振11.0592MHz,电解电容10uF4只,10uF 一只,电阻1K1个,300欧姆左右1个,瓷片电容30P2个。
发光二极管8个。
价钱不足20元。
电路图及原理:主控制单元是单片机AT89C2051,中断口INT0跟红外接受管U1相连,接收红外信号的脉冲,8个发光二极管作为显示*输出(也可以用来扩展接其他控制电路),U3是跟电脑串行口RS232相连时的电平转换心片,9、10脚分别与单片机的1、2脚相连,(1脚为串行接收,2脚为串行发送),MAX232CPE的7、8脚分别接电脑串行口的2(接收)脚、3(发送脚)。
晶振采用11.0592MHz,这样才能使得通讯的波特率达到9600b/s,电脑一般默认值是9600b/s、8位数据位、1位停止位、无校验位。
电路就这么简单了,现在分析具体的编程过程吧。
如图所示,panasonic遥控器的波形是这样的(经过反复测试的结果)。
/sch/rc/0080743.html开始位是以3.6ms低电平然后是3.6ms高电平,然后数据表示形式是0.9ms低电平0.9ms高电平周期为1.8ms表示“0”,0.9ms低电平 2.4ms高电平周期为3.3ms表示“1”,编写程序时,以大于3.4ms小于3.8ms高电平为起始位,以大于2.2ms小于2.7ms高电平表示“1”,大于0.84ms小于1.11ms高电平表示“0”。
因此,我们主要用单片机测量高电平的长短来确定是“1”还是“0”即可。
定时器0的工作方式设置为方式1:mov tmod,#09h,这样设置定时器0即是把GATE置1,16位计数器,最大计数值为2的16次方个机器周期,此方式由外中断INT0控制,即INT0为高时才允许计数器计数。
基于51单片机的红外遥控设计-毕业设计论文
摘要很多电器都采用红外遥控,那么红外遥控的工作原理是什么呢?本文将介绍其原理和设计方法。
红外线遥控就是利用波长为0.76~1.5μm之间的近红外线来传送控制信号的。
常用的红外遥控系统一般分发射和接收两个部分。
红外遥控常用的载波频率为38kHz,这是由发射端所使用的455kHz晶振来决定的,在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷12≈37.9 kHz≈38kHz。
也有一些遥控系统采用36kHz、40kHz、56kHz等,一般由发射端晶振的振荡频率来决定。
接收端的输出状态大致可分为脉冲、电平、自锁、互锁、数据五种形式。
“脉冲”输出是当按发射端按键时,接收端对应输出端输出一个“有效脉冲”,宽度一般在100ms左右。
一般情况下,接收端除了几位数据输出外,还应有一位“数据有效”输出端,以便后级适时地来取数据。
这种输出形式一般用于与单片机或微机接口。
除以上输出形式外,还有“锁存”和“暂存”两种形式。
所谓“锁存”输出是指对发射端每次发的信号,接收端对应输出予以“储存”,直至收到新的信号为止;“暂存”输出与上述介绍的“电平”输出类似。
关键词:80c51单片机、红外发光二极管、晶振目录第一章1、引言 (3)2、设计要求与指标 (3)3、红外遥感发射系统设计 (4)4、红外发射电路设计 (4)5、调试结果及分析 (9)6、结论 (10)第二章1、引言 (10)2、设计要求与指标 (11)3、红外遥控系统设计 (11)4、系统功能实现方法 (15)5、红外接收电路 (16)6、软件设计 (17)7、调试结果及分析 (18)8、结论 (19)参考文献附录绪论人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。
其中红光的波长范围为0.62~0.76μm;紫光的波长范围为0.38~0.46μm。
比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线。
红外线遥控就是利用波长为0.76~1.5μm之间的近红外线来传送控制信号的。
基于51单片机的光立方设计毕业设计
毕业设计基于51单片机的光立方设计*名:***学号: ********班级: 10信科一班专业:信息科学与技术所在系:电子信息工程系指导教师:**基于51单片机的光立方设计摘要本文详细的介绍了光立方的搭建过程,以51系列的单片机STC12C5A60S2为主要的控制芯片,由512个LED通过共阴的形式连接起来,由74HC595为扩展单片机的I/O口,用ULN2803为驱动电路,形成一个规格为8*8*8(长,宽,高)14cm*14cm*20cm立方体,还介绍了这款芯片的特点和使用方法及在调试过程中遇到的软件和硬件方面的问题及解决方法,详细的阐述了光立方的设计原理和架构方法,对光立方目前存在的意义也进行了详细的介绍。
关键词:光立方;74HC595;单片机;ULN2803;LEDLight CuBe Based on 51 single ChiP miCroComPuterABstraCtThis PaPer introduCes the ProCess of Building Light CuBe, with 51 Series MCUSTC12C5A60S2 as the main Control ChiP, ConneCted By 512 LED By CO Yin form, By74HC595 for the exPansion of the MCU I/O Port, using ULN2803 as the drive CirCuit, the formation of a sPeCifiCation for 8*8* 8 (length, width, height) the 14Cm*14Cm*20Cm CuBe, also introduCes the CharaCteristiCs and methods of use of the ChiP and software and hardware in the ProCess of deBugging ProBlems and solutions, desCriBed in detail the design PrinCiPle and arChiteCture method Light CuBe, the CuBe existed at Present signifiCanCe have also Been introduCed in detail.Keywords:Light CuBe; 74HC595; STC12C5A60S2; ULN2803; LED目录摘要 ................................................................................................................................... 错误!未定义书签。
51单片机-毕业设计基于单片机设计的红外线遥控器
从光学的角度而言,红外光是频率低于红色光的不可见光,在无线光谱的整个频率中占有很小一个频率段,波长为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日
基于单片机的红外线遥控器
摘要
基于51单片机的光立方的设计2300字
基于51单片机的光立方的设计2300字摘要:本设计以51单片机为核心控制器,74LS245为I/O扩展口,制作了一个三维立体显示图案的LED光立方,文中给出了设计方案及原理图。
毕业关键词:LED光立方;74LS245;51单片机注:陕西省大学生科技创新项目(2014XK081)本设计制作出的三维立体显示图案的LED光立方,不仅可以像发光二极管点阵一样显示平面的静态或动态画面,还可以显示立体的静态或动态画面,打破了传统的平面显示方案,同时又增加了显示的花样和立体图案显示效果,可以广泛用于传媒信息显示和各种装饰显示,为将来显示技术的进步和发展指导了方向,光立方显示比发光二极管点阵更具有视觉效果,而且画面图案更加非富多彩。
1.背景与意义随着人们生活水平的不断提高,3D效果的欣赏已经成了人们的追求,美轮美奂的观赏让人醉心不已,给人带来无比宽松舒适的美感。
3D技术的将来必有广泛应用。
仅3D打印技术这一还处在萌芽阶段的技术就已经在世界掀起了巨大波澜。
就现有来看3D技术已经应用于军工、航空航天、水下作业、模拟分析等高端领域。
随着科技发展3D技术的成本也会越来越低,相信3D电视将来也会像液晶电视一样走入普通家庭。
3D技术在未来还可以应用于教学,医学,地下采矿,空中导航等领域。
但就目前的发展,3D还不能够普及到人们的生活中,这也就萌发了人们对于3D的设计。
因此,对发光二极管进行控制,使其显示出不同的花样,带给未来3D技术的科技体验。
2.设计的总体要求和方案选择本次设计制作一个三维的发光二极管立方显示体,能够通过编写程序来实现对每一个发光二级管的亮灭控制,从而可以显示多种多样的图案。
为了吸引观众增强显示效果,可以有多种显示模式。
3.工作原理有8个8*8点阵,再用8个引脚来当充当各个8*8点阵的“开关”。
只要将64个灯阳极连在一起,在连到这个引脚上。
采用了hc573暂存的方法,来分别把64个灯的亮灭信息存到这个上面,然后再一起输出到灯上,573的64个输出引脚控制前面所述每一个面的64个灯;而每层灯的阴极全连接在一起接入uln2803,由uln2803控制的每一个层灯。
基于STC51单片机光立方设计与实现
毕业论文(设计)题目:基于STC51单片机的光立方设计与实现**:**学号:**********层次:本科专业:软件工程班级: 12级(13)班指导教师:***独创性声明一、本论文是本人独立完成;二、本论文没有任何抄袭行为;三、若有不实,一经查出,请答辩委员会取消本人答辩资格。
承诺人(签名):年月日摘要本设计使用51系列的单片机STC15F2K60S2作为整个设计的控制,每层的64个LED通过层共阴的形式连接起来。
每束的8个LED通过共阳的形式连接起来。
使用74HC593控制各束LED的阳极,使用ULN2803控制各层的阴极。
组成一个由512个LED、规格为8*8*8的立方体。
同时介绍了STC15F2K60S2、74HC573、ULN2803的使用方法及选用原因。
同时介绍了在调试过程中,遇到的软、硬件方面的问题以及解决方法。
对光立方的原理进行了详细的阐述,并详细的介绍了光立方在应用方面的意义。
关键词光立方;74HC593;STC15F2K60S2;ULN2803;LEDSummary This design uses 51 series microcontrollers STC15F2K60S2 as the control of the entire design, form each of 64 LED by connecting the common cathode layer. Each bundle of eight LED connected through common anode form. Use 74HC593 control each beam LED anode, cathode layers using ULN2803 control. Composition consisting 512 LED, specifications for the cube 8 * 8 * 8. Also introduced STC15F2K60S2,74HC573, ULN2803 to use and selection reasons. Also introduced the problem in the debugging process, encountered software and hardware and solutions. Light cube principle set forth in detail, and describes in detail the significance of light cube applications.Keywords light cube;74HC593;STC15F2K60S2;ULN2803;LED目录1 前言 (1)1.1研究的背景 (1)1.2研究的意义 (1)1.3研究内容和结构 (1)2 总体设计 (2)2.1 系统的设计方案及工作原理 (2)2.2 各模块元件选择 (3)2.2.1 控制模块元件的选择 (3)2.2.2 驱动模块元件的选择 (3)2.2.3 显示模块元件的选择 (4)3 硬件电路设计与实现 (4)3.1 硬件电路布局 (4)3.2 控制模块电路的设计 (5)3.2.1 单片机的说明及引脚规划 (5)3.2.2 电源电路的设计 (6)3.2.3 串口选择电路的设计 (6)3.2.4 程序下载及串口通信电路的设计 (7)3.3 驱动模块电路的设计 (7)3.3.1 ULN2803的说明及引脚规划 (7)3.3.2 74HC573的说明及引脚规划 (8)3.4 显示模块电路的设计 (9)3.5 光立方搭建方法 (9)3.5.1 弯折LED的引脚 (9)3.5.2 光立方的焊接 (11)3.5.3 元器件的焊接 (13)4 软件设计 (13)4.1显示程序的设计 (14)4.2 光立方的显示数据 (15)4.2.1 内置显示数据 (15)4.2.2 串口接收显示数据 (17)4.2.3 显示数据来源的选择 (18)4.3 显示数据的获取 (19)5 测试和问题分析 (20)6结论 (20)附录 (21)参考文献 (23)致谢语 (24)1 前言1.1研究的背景在高速的信息、商业发展过程中,LED点阵广告显示器得到了广泛的应用,LED 点阵显示屏已逐步取代传统的大尺寸纸质广告,在大街小巷常见的LED点阵显示屏都得益于LED灯的发明。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51单片机控制的红外遥控光立方的设计与制作
作者:吴特威
来源:《世纪之星·交流版》2016年第05期
一、引言
现代信息化社会高速发展,大屏幕向消费类多媒体应用渗透。
数字化的多媒体内容将在信息世界中占据主流,大屏幕显示设备将代替传统的显示设备成为中心。
伴着电子行业的飞速发展,越来越多的电子爱好者,对于光立方产生了很浓厚的兴趣。
有绝大部分的人把光立方研究作为一种职业,光立方的技术也在不断的成熟,不仅具有了学习价值同时也具备了商业价值。
光立方最早在2009年10月1日天安门广场举行的国庆联欢晚会上面世,是一种基于LED 发展基础上所衍生的产物。
目前国内成功案例有很多效果也各有千秋,例如有显示图形图案的,有显示动态图案的,还有的具有音频AD效果等。
一般都是主控采用STC12C5A60S2,驱动采用74HC573以及ULN2803达林顿管。
光立方主要是引用了LED外发光技术,我国LED 经过这几年的发展,主要在华东,华北,华南区域形成了一批具有一定规模的企业,LED在规模发展的同时,技术推陈出新,目前约20余家研究机构和企业在进行LED的研究和开发,但与国外的差距还是比较大的。
主要原因是目前在投入资金、设备和人才均无法和国外相比,而且研究机构也相对的分散。
但一些科研所如中国科学院物理所和长春光机与物理所、北京大学、石家庄十三所等单位也相继展开了这方面的研究,并取得了可喜的进步,不断缩减与国外的差距。
1.设计的总体要求和方案选择
本次设计制作一个8*8*8的光立方,能通过编写程序来实现对每个发光二极管的亮灭控制,从而可以显示多种多样的图案。
同时在这个基础上加以创新,添加了红外遥控模式。
借鉴单片机控制LED点阵显示的原理,通过系统分析,确定该系统具有哪些功能,哪些模块,各个模块之间是怎样连接的,以及怎样组合电路是最合理的,即硬件方案设计。
编写硬件电路的相应软件程序部分,利用仿真软件对程序进行测试修改。
电路系统焊接完毕后,测试整个系统模块的功能,看各个功能是否能正常运行,并依据测试结果找出错误加以调整至测试成功达到毕业设计要求。
2. 光立方设计的主要内容
(1)初步整体方案的选择和论证搜索和光立方关的相关资料,参照目前通用的设计思想和设计方法拟定2套设计方案进行比较:第一套是以STC12C5A60S2为核心控制器件,以
74HC595为驱动芯片,LED选用512。
第二是以C51为核心控制器件,以74HC573为驱动芯片,LED同样选用512。
基于对C51的理解和节省成本的前提下,最终选定了第二套方案。
(2)方案的实现。
根据第二套设计方案通过protel99se设计相应的原理图。
同时进行512LED的灯架焊接和最小系统的搭建。
(3)软件的编写。
根据硬件特点和设计要求,再通过对“邵士媛,徐维祥.C语言程序设计”和“郭天祥.新概念51单片机C语言教程”的查阅.软件选用C语言编程。
程序按功能分静态,红外遥控等多个相对独立的模块,然后按照所划分的模块一一编程,最后整合起来。
(4)验证与测试。
测试分为硬件测试,软件测试和系统联合测试。
硬件测试:测试LED 塔架的焊接,有无漏焊,虚焊,阳极阴极有无焊错,74HC573芯片的测试等。
软件测试:检验程序的对错。
统联合测试:检测作品有无达到设计的要求。
(5)总结。
设计作品完成后对设计过程中所遇到的困难,经验教训进行总结分析。
二、系统总体方案设计
1.系统总体硬件选择
3D显示屏核心控制器采用51单片机,单片机是集成了CPU、ROM、RAM和I/0口的微型计算机具有很强的接口性能,非常适合于工业控制,且品种齐全,型号多样CPU从8、16、32到64位,多采用RISC技术,片上I/O口丰富集成有A/D,PWM,显示驱动,函数发生器,键盘控制等。
除此之外还具有低电压和低功耗的特点。
电路电源直接采用5V电源、LED发光二极管选取单色蓝光LED作为本次设计显示色彩、I/O口扩展芯片选取带有有数据锁存功能的74HC573芯片。
二、系统总体软件方案的选择
编辑语言采用简洁灵活,兼容性高,编译简单,执行效率高,对于循环使用方便的C语言
三、光立方的制作
1. 3DLED光立方工作原理
利用单片机控制LED点阵显示的原理和控制技术,来控制光立方显示。
通过编写程序控制不同的LED显示,显示所要显示的内容。
2.3DLED光立方的搭建
(1)由点到线。
准备一块洞洞板,一些排针做一个简易的磨具所示,将折弯好的LED分别插入一排插入以后,其阳极正好可以搭接在一起,进行焊接,实现共阳极的操做。
(2)由线到面。
将焊好的一条一条LED放在磨具上,实现共阴极的焊接。
(3)由面到体。
将垂直各面依次插到洞洞板上面,将露出的阳极引脚横向折90°,使其可以前后同一高度,最后稍微调整一下各个垂直面之间的间距,再通过漆包线实现各层的阴极相连。
四、系统硬件的设计
单片机最小系统,包括时钟电路和复位电路。
红外遥控模块由红外发射和红外接收两部分组成,发射电路部分主要实现红外信号的编码产生以及发射,接收电路部分主要实现红外信号的接收、解码等。
液晶显示屏采用串口HMI,直接调用模块。
74HC573驱动模块和74LS573的管脚一样。
器件的输入是和标准CMOS输出兼容的;加上拉电阻,它们能和LS/ALSSTTL 输出兼容。
五、系统软件的设计
系统软件采用 C语言编写,按照模块化的思路设计程序。
首先分析程序所要实现的功能,程序要实现静态显示,动态显示等。
通过按键控制程序选择不同的显示程序进行显示。
主程序的工作流程图如图 1所示:
图1主程序工作流程图
六、系统检测及结果分析
硬件测试对照电路图和实际线路检查是否正确,包括错接、少接、多接等;用万用表检查焊接和接插是否良好:元器件之间是否存在短、二极管正负极有无弄反、电源地有无接错。
将电源接入电路,用万用表电压档检测电源电压,观察有无异常现象。
如冒烟、异常气味、元器件发烫等。
软件测试在程序的编写中用keil编写,keil软件可以生成.HEX文件我们用到的下载软件是PROGISP这个软件,这个软件可以识别.HEX文件,只有.HEX文件可以写入单片机。
在程序的编写过程中全是采用C语言编程。
联合测试将所有焊接好的模块用杜邦线连接起来,载入程序观察是否可以达到预计的效果。
七、结论
本次设计预期要求:LED显示屏各点亮度均匀,可显示图形或文字,而且显示图形或文字显示稳定、清晰无干扰。
通过对单片机最小系统模块、红外遥控模块、液晶显示屏模块(HMI),74HC573驱动模块的添加,硬件件和软件的运行还算比较稳定,所呈现的动画与程序中预期的效果吻合,符合设计的要求
然而本次设计还存在许多不足的地方和可以改进的部分例如:还可以在本设计的基础上增加音频等功能,还可以在串口HIM的页面设计上做的更好一点做到控制光立方每一个led的的亮灭,当然,要增加这些功能51单片机的IO口是不足的,所以要用到其它开发板如89S52。
参考文献:
[1]周灵彬,任开杰,张靖武.基于Proteus的电路与PCB设计.北京:电子工业出版社,2010.
[2]邵士媛,徐维祥.C语言程序设计.第2版.化学工业出版社,2006.
[3]郭天祥.新概念51单片机C语言教程.电子工业出版社.
[4]陈强.电子产品设计与制作.北京:电子工业出版社,2010.
[5]关积珍.LED显示屏发展状况及趋势[J].世界电子元器件.
[6]郑刚,李雨成。
LED大屏幕显示系统[J].北方工业大学学报,2001.
[7]李元生.LED光柱专用驱动器[J].家庭电子,2005.
[8]文哲雄,用单片机控制LED显示屏[D].佛山:佛山科学技术学院,1995.
[9]肖红斌.跟我学用单片机[M].北京航空航天大学出版社,2002.
[10]张洪润,刘秀英,张亚凡.单片机应用设计200例(下).北京:北京航空航天大学出版社,2006.。