使用单片机进行通用电视

电脑杂谈  发布时间:2020-05-17 12:21:32  来源:网络整理

通用_传世通用登陆器_遥控统计器

简介

在1980年代初期,日本是第一个在电视产品中使用红外遥控技术的国家,并且已在电视中广泛使用. 电视使用专用的集成传输芯片来传输代码,例如东芝TC9012,飞利浦SAA3010T等. 这些芯片价格相对昂贵,并且它们之间使用的编码格式彼此不兼容通用,因此各种型号的通常仅用于其自己的远程控制对象,不能普遍使用. 本文在实验验证的基础上,介绍了如何利用低成本的MCS-51系列单片机实现遥控代码的模拟传输和的通用化.

远程启动技术的基本原理

图1 NEC标准下的主要代码表示形式

图2 NEC标准下数据0和1的表示形式

图3按照PHILIPS标准的完整代码表示形式

图4硬件原理图

通常,彩色电视遥控信号的传输是在32〜56KHz的范围内调制与载波上某个键相对应的控制命令和系统代码(由0和1组成的序列),然后放大并驱动红外线发射管发射信号.

不同公司使用的遥控芯片具有不同的格式. 这里介绍了另外两种常见的类型,一种是NEC标准,另一种是PHILIPS标准.

NEC标准: 遥控载波的频率为38KHz(占空比为1: 3);当按下一个键时,系统首先发送完整的完整代码,然后在延迟一段时间后发送一系列短代码,停止触发直到释放按钮. 简单代码重复了108ms的延迟,每两个导频脉冲的上升沿之间的间隔为108ms. 完整的完整代码如图1所示. 其中,指导代码为高电平4.5ms,低电平4.5ms;高电平为4.5ms. 系统代码8位,数据代码8位通用,共32位;数据0用“高电平0.5625ms +低电平0.5625ms”表示,数据1用“高电平0.5625ms +低电平1.6875ms”表示,如图2所示: 简单代码=引导代码+逆代码系统代码位0 +结束位(0.5625ms)的高电平.

代码各部分的作用: 引导代码用于将远程控制数据通知接收者. 系统代码用于区分用来确定后续数据是否是要执行的命令的数据类型. 数据码用于区分按下哪个键,接收端根据该数据码判断应该执行什么动作. 短代码是连续按下该键时发送的代码. 它通知接收端连续按下了一个键.

远程数据传输系统的关键是数据传输的可靠性. 为了提高编码的可靠性,NEC标准规定,在系统代码和数据代码之后应传输相同的代码或反向代码以进行错误代码验证.

PHILIPS标准: 载波频率为38KHz;没有短代码,按键时,控制代码在1和0之间切换,如果继续按键,则控制代码不会改变. 完整代码=起始代码'11'+控制代码+系统代码+数据代码,如图3所示.

数据0由“低电平1.778ms +高电平1.778ms”表示;数据1由“高电平1.778ms +低电平1.778ms”表示. 连续代码重复了114ms的延迟.

遥控统计器_传世通用登陆器_通用

硬件原理图

图4是硬件. 该电路主要由三部分组成: AT89C52及其电路部分; 8×8键矩阵部分;和直流电源部分.

由AT89C52 MCU及其电路组成的控制和遥控代码生成部分: 主要包括外部中断信号处理,12M时钟,CPU复位,I / O端口上拉电路,红外遥控传输,按钮指示,等. 密钥矩阵由P0端口和P2端口组成. 当按下一个键时,生成的外部中断请求信号(低电平有效)在八个输入NAND门和NOR门之后被发送到P32,从而使CPU进入中断处理,并同时点亮键指示器. 系统生成的遥控代码信号通过P14端子发送出去,放大后驱动发射管发射. DIP开关的功能是切换不同动作的状态. 例如,当DIP设置为“ 1000”时,系统处于长虹CH-10的运动状态. 为“ 1001”时,处于CN-12移动状态. R13,C11和按钮KEY构成了单片机的复位电路.

8×8键矩阵部分: 它由64个键盘开关组成,可以根据需要选择适当的键数. 8 * 8键是不增加扩展设备的最大键数.

整个系统的工作电源为DC + 5V. 它由电源模块IC31(PS0500DS),整流桥HBA,HBK等组成. [页面]

程序实施

NEC编码程序是使用MCS-51系列单片机的汇编语言编写的,可以通过类推推导PHILIPS编码.

NEC,TOSHIBA和SAMSONG的编码格式有一个共同点: 完整的远程控制代码由“飞行员代码+系统代码+系统代码(或系统代码倒置)+数据代码+数据代码倒置”组成. 数据“ 0”和“ 1”的定义相同;唯一的区别是引导代码的高低电平持续时间不同,系统代码位数长短不同,并且第一个短代码和完整代码的最后一位之间的延迟不同,短码的导频脉冲不同等;因此,可以将同一部分制成通用子例程,包括生成数据“ 0”和“ 1”的子例程“ ONE”和“零”,9ms,4.5ms,2.25ms,22ms,45ms以及其他时间控制子例程.

8×8键矩阵处理使用外部中断方法. 当按下某个键时,它将中断请求发送到CPU,然后根据“第一行然后第二行”逐个扫描以找到按下的键. 当然,当同时按下一个键时,它还包括去抖和多键处理的处理部分.

运动的不同状态由单片机P3端口的P3.5,P3.4,P3.1和P3.0的输入值来判断. 例如,“ 0000”表示在东芝TC90××系列状态下工作,“ 0001”表示需要在NEC的PD61××系列状态下工作.

判断哪个键被按下以及哪个运动状态后,程序严格按照相应的遥控编码方法,即一定周期的电平和一定的值,发送遥控代码. 在38KHz载波上地进行.

流程图如图5所示

图5程序流程图

某些程序块:

此处给出了NEC远程控制代码的主要部分,不再提供更常见的程序部分,例如按键扫描.

主程序的初始部分:

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

......

设置ETO

设置EA;打开中断

pp: jnb mdl,pp;循环等待按键

clr mdl;

CLR KEYHAO

sjmp pp ...

子程序“ 0”和“ 1”子程序: 零: CLR A

遥控统计器_通用_传世通用登陆器

SETB TR0;启动计时器0#

CJNZ A,#39,$; 0.5625ms高电平

CLR TR0;停止计时器0#

ACALL DE05625;沿时间0.5625ms

CLR A

RET

一个: CLR A

SETB TR0;启动计时器0#

CJNE A,#39,$; 0.5625ms高电平

CLR TR0;停止计时器0#

ACALL DE16875;沿时间1.6875ms

RET

结论

本文介绍了AT89C52单片机,而不是专用芯片来设计通用电视. 该程序结构简单,成本低廉. 使用本文介绍的方法模拟单片机的遥控信号,就可以制造出通用的遥控设备.

参考

1“ MCS-51系列单片机应用系统的设计”. 何立民北京航空航天大学出版社

2“长虹最新系列的运动彩电”. 电子科技大学出版社

3 NEC公司. PHILIPS公司专用芯片数据

关键字: 编辑: 引用什么地址: 本网站上复制的所有文章,图片,音频和视频文件以及其他材料的版权归版权所有者所有. 本网站上使用的原始文章和图片并非与确认版权的人联系. 如果本网站上所选内容的文章作者和编辑认为他们的作品不适合免费和公共传播,或者不应免费使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施以避免对双方造成不必要的经济损失.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/dianqi/article-213078-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 许亚奇
        许亚奇

        電商等造福大眾的行業

      • 张蓬勃
        张蓬勃

        问题是IS本就是美鬼豢养的一条狗

      热点图片
      拼命载入中...