维修网

 找回密码
 注册

QQ登录

只需一步,快速开始

微信扫码 , 快速开始

查看: 515|回复: 1

用单片机制作通用型电视遥控器

[复制链接]

classn_11

发表于 2010-1-22 21:17:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
用单片机制作通用型电视遥控器
1 v- @7 l* `- J% s2 L
* s, d% z5 S1 n电子设计应用  李王旬 4 d9 o8 l1 H  x4 J" v5 Y
  摘要:本文介绍了一种用MCS-51系列单片机AT89C52代替专用遥控芯片的设计方案,通过软件模拟 实现了电视机遥控编码的发射,并且达到“一器多用”。
* [- p+ f' q/ |4 \  引言
# d: `5 j- k5 ]! w' q, ]% G  上世纪八十年代初,日本率先在电视产品中使用了红外遥控技术,目前已经在电视机上得到了广泛 应用。电视遥控器使用的是专用集成发射芯片来实现遥控码的发射,如东芝TC9012,飞利浦SAA3010T 等。这些芯片价格较贵,且相互之间采用的遥控编码格式互不兼容,所以各机型的遥控器通常只能针对 各自的遥控对象而无法通用。本文在试验验证的基础上,介绍了如何利用低成本的MCS-51系列单片机来 实现遥控码的模拟发射,并实现遥控器的通用化。 8 f2 T/ M/ N6 V
  遥控发射技术的基本原理 6 X3 Z% j& N8 S3 F: c* k
  通常彩电遥控信号的发射,就是将某个按键所对应的控制指令和系统码(由0和1组成的序列),调制 在32~56KHz范围内的载波上,然后经放大、驱动红外发射管将信号发射出去。   0 m! p3 Z5 O9 E  Y& c
  不同公司的遥控芯片,采用的遥控码格式也不一样。在此介绍较普遍的两种,一种是NEC标准,一 种是PHILIPS 标准。  
8 v* {7 l$ W8 ~! _3 L  NEC标准:遥控载波的频率为38KHz(占空比为1:3);当某个按键按下时,系统首先发射一个完整的 全码,然后经延时再发射一系列简码,直到按键松开即停止发射。简码重复延时108ms,每两个引导脉 冲上升沿之间的间隔都是108ms。一个完整的全码如图1所示。 其中,引导码高电平4.5ms,低电平 4.5ms;系统码8位,数据码8位,共32位;数据0用“高电平0.5625ms+低电平0.5625ms”表示,数据1 用“高电平0.5625ms+低电平1.6875ms”表示,如图2所示:一个简码=引导码+系统码位0的反码+ 结束位(0.5625ms)高电平。  
3 K, `: n- E, ^/ T$ y1 {2 ?( q  各部分码的作用:引导码用来通知接收器其后为遥控数据。系统码用来区分是哪一机型的数据,接 收端依此来判断后续的数据是否为须执行的指令。数据码用来区分是哪一个键被按下,接收端根据数据 码做出应该执行什么动作的判断。简码是在持续按键时发送的码。它告知接收端,某键是在被连续地按 着。
! s) G, k! K! f6 C1 K( [9 }5 ~7 X% j& }% k9 C
  遥控数据传输系统的关键是数据传输的可靠性。为了提高编码的可靠性,NEC标准规定系统码、数 据码后分别接着传送一个同样的码或者反码,供误码校验用。
7 }# ~! \" \; z5 K: |( v  PHILIPS标准:载波频率为38KHz;没有简码,点按键时,控制码在1和0之间切换,若持续按键,则 控制码不变。一个全码=起始码‘11’+控制码+系统码+数据码,如图3所示。
0 I6 \1 c  f. i  V) g图1 NEC标准下的主码表示
( v/ O& r1 B! P图2 NEC标准下,数据0和1的表示' f6 a% z3 b; {% Y' k  W8 {
第 1 頁,共 5 頁用 单片机制作通用型电视遥控器. `' Y- s. R# e( `/ G7 i
2004/9/11file://E:\lin_sam\net_down\net\123\ 單片機\REMOTE\用单片机制作通用型电视遥控器.htm Free Datasheet Download
- O9 W, y( P7 Y# A( @! X; t) n6 `+ FBbs.Chinadz.Com : ^% k% Q  L' e5 P& w
  数据0用“低电平1.778ms+高电平1.778ms”表示;数据1用“高电平1.778ms+低电平1.778ms” 表示。 连续码重复延时114ms。 / k  a9 c( ~6 ?5 b2 D- m  F* P+ O

" S4 W  {; v' U2 \% h9 H% P  硬件原理图
: G" E' U3 t6 ~" E. K: s4 I. Y  图 4为硬件原理图,电路主要由三大部分组成:AT89C52及其外围电路部分;8×8键矩阵部分;及直 流电源部分。
) Q3 q9 S  g: v. o7 @* Y1 X$ G# }* e' q( C
  AT89C52单片机及其外围电路组成的控制和遥控码产生部分:主要有外中断信号处理、12M时钟、 CPU复位、I/O口上拉电路、红外遥控发射、按键指示等。由P0口和P2口搭成按键矩阵,当有键按下时, 产生的外中断请求信号(低电平有效)经八输入与非门和非门后送至P32端,使CPU进入中断处理,同时点 亮按键指示灯。系统产生的遥控编码信号通过P14端发出,经放大后驱动发射管发射出去。拨码开关DIP 的作用是进行不同机芯状态的切换。比如当DIP设置为“1000”时,系统处于长虹CH-10机芯状态;为 “1001”时,则处于CN-12机芯状态。R13、C11和按键KEY组成单片机复位电路。
' m& P& {( u6 n- F& H7 J  B3 V  8× 8键矩阵部分:由64只键盘开关排列而成,可以根据需要,选择合适的按键数。 8*8键是不增加 扩展器件的情况下最多的按键数。
" d9 n& b+ T& a/ j! j  W0 ~) V  整个系统的工作电源为直流+5V。由电源模块IC31 (PS0500DS)、整流桥HBA、HBK等组成。 ( P* }! g/ D# S" q0 _' K
  程序实现
* I- q- o" L% E2 ~% l7 a! m6 s  NEC编码程序用MCS-51系列单片机汇编语言编写而成,PHILIPS编码可以此类推。 % I# ^2 U! s  G1 M
  NEC、TOSHIBA、SAMSONG公司的编码格式有其共通之处:遥控全码都由“引导码+系统码+系统码(或 系统码取反)+数据码+数据码取反”组成;数据“0”和“1”的定义相同;不同的只是引导码高低电平
* B+ r7 u' u" `, p0 N. u图3 PHILIPS标准下的全码表示  A) Z2 l  ?! G7 ^4 [; w0 ?
图4 硬件原理图: ^" P0 q& [8 U
第 2 頁,共 5 頁用 单片机制作通用型电视遥控器# }" _( w, n; |. r: x6 Z7 ~4 a8 n4 A# N
2004/9/11file://E:\lin_sam\net_down\net\123\ 單片機\REMOTE\用单片机制作通用型电视遥控器.htm Free Datasheet Download
5 i- t# P- E' N7 w7 r( O& d& ~
3 n+ m: U& o: P  E& D! x的持续时间不同,系统码位数有长有短,第一个简码和全码最后一位之间的延时不同,简码的引导脉冲 不同等;所以可以把相同的部分做成通用子程序,包括产生数据“0”和“1”的子程序“ONE”和 “ZERO”,9ms、4.5ms、2.25ms、22ms、45ms等时间控制子程序。 / I0 _5 M1 S# `' h* J4 K0 ^+ c
  8× 8的键矩阵处理,采用外中断的方式,有键按下时,就向CPU发出中断请求,然后按照“先列后 排”一个个扫描,从而找出被按下的键,当然这里面还包括了去抖动、多键同时按时只处理一键的处理 部分。 ) D% L5 d, `0 _: j  N
  机芯的不同状态由单片机P3口的P3.5、P3.4、P3.1、P3.0四位的输入数值来区分判断,比如 “0000”表示工作于东芝TC90××系列状态,“0001”则表示要求工作于NEC公司的PD61××系列状 态。
1 P1 r$ N& Z' x+ X) {7 Z, x3 `  判断了是哪一只键按下以及处于机芯的哪种状态以后,程序就严格按照相应的遥控编码方式来进行 遥控码的发射,也就是说将一定时段、一定数值的电平脉冲调制在38KHz载波上,逐一发射出去。流程 图如图5所示。 % O9 G% J* l' T9 l& {, y' W* D
第 3 頁,共 5 頁用 单片机制作通用型电视遥控器
" l* f0 d& d' Y9 F: C% d( m% C2004/9/11file://E:\lin_sam\net_down\net\123\ 單片機\REMOTE\用单片机制作通用型电视遥控器.htm Free Datasheet Download ; w) s/ i4 s) M3 X2 p; f
  部分程序段: 3 t" Y& e: C0 @/ j2 N
  这里给出的是产生NEC遥控码的主要部分,而像键扫描等较常见的程序段就不再提供. 3 `& R1 s' `; U# p
  主程序初始化部分: ( |( {2 q9 S% ]/ ?, ]; q( l: P
ORG 100H main: mov psw,#0 ; mov sp,#30h ;设置堆栈 mov tmod,#02h ;方式2定时 mov th0,#0f3h ;38KHZ方波时间数 mov p2,#0 ; mov p0,#0ffh setb ex0 ;允许外中断0 setb pt0 ;外中断0(有键按下)优先 clr it0 ;电平触发方式 clr mdl ;设有无按键的标志 setb p3.2 ; setb p3.4 setb p3.5 setb p3.1 setb p3.0 ;置P3.0~P3.5为输入状态 clr c ;清进位标志位 clr p1.4 ;清遥控输出端 clr a ;清累加器A mov KEYHAO,#0H ; 清按键号存储器 xrl a,#11000000b ;0000(p3.5 p3.4 p3.1 p3.0) jz TV1 mov a,r7 xrl a,#11000001b ;0001 jz TV2 mov a,r7 xrl a,#11000010b ;0010 jz VCD mov a,r7 …… SET ETO SET EA ;开中断 pp:jnb mdl,pp ;循环等待按键 clr mdl ; CLR KEYHAO sjmp pp…… ‘0’子程序和‘1’子程序部分:ZERO: CLR A SETB TR0 ;启动定时器0# CJNZ A,#39,$ ;0.5625ms高电平 CLR TR0 ;停定时器0# ACALL DE05625 ;沿时0.5625ms CLR A RET ONE: CLR A SETB TR0 ;启动定时器0# CJNE A,#39,$ ;0.5625ms高电平 CLR TR0 ;停定时器0# ACALL DE16875 ;沿时1.6875ms RET 3 j+ l! U) g8 d0 y9 D3 ?
  结语 0 `0 q- T2 g5 y# w  d# A
  本文介绍了AT89C52单片机代替专用遥控芯片设计通用型电视遥控器,该方案具有结构简单、成本 低等优点,用本文介绍的方法进行单片机遥控信号模拟,可以作出一款自己家的通用遥控器。
( m% V8 S" j% {. l+ E4 E6 }/ e! [! W: N8 c, G/ @

3 T0 |; i9 m/ D. ?3 O! p  j 用单片机制作通用型电视遥控器.pdf (298.2 KB, 下载次数: 3)

手机扫码浏览

classn_11

发表于 2016-10-23 23:08:47 | 显示全部楼层
谢谢师傅的宝贵资料。
[发帖际遇]: 加航伟 发帖时在路边捡到 5 金钱,偷偷放进了口袋. 幸运榜 / 衰神榜
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|手机版|小黑屋|最新贴|维修网 ( 粤ICP备09047344号

GMT+8, 2024-6-4 12:52 , Processed in 0.545366 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表