历史上的今天
返回首页

历史上的今天

今天是:2025年01月25日(星期六)

2018年01月25日 | 单片机模拟遥控器

2018-01-25 来源:eefocus

了解了遥控发射的原理,就可以来自己动手做一个遥控器了,可是没有专门的芯片怎么办?用 单片机 ,然后配合程序完成遥控码的发射。
1、硬件电路
        

      其中, 单片机 选用AT89C2051, 使用两节电池供电就可以工作,用P1口构成3×3的模拟键盘,用一个IO口作为遥控波形输出端,然后接三极管驱动红外发射管,发出需要的遥控波形。


2、程序编写
     由于要把波形“发射”出去,需要对遥控码进行调制,调制即把遥控码的高电平和载波进行“与”,结果是连续发射一定数量的载波,而低电平则只需进行简单的延时即可。以SAA3010T编码为例,为双相位编码方式,“0”用844US高电平加844US低电平表示,“1”用844US低电平加844US高电平表示,根据上述原理,844US高电平和载波进行“与”,载波的频率为38KHz,周期为1/38k, 所以,结果是
32个完整载波+12us,另外,844US低电平只需用一个延时函数即可。由于程序不长且时间精度要求很高,所以用汇编来编程,程序如下:

发射“0”的子函数

 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAA3010T;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SEND0:          MOV R0, #20H 
NEXT0:          SETB REMOTE      ; 844us=32个完整载波+12us
                      MOV R1, #03H      ;发送正电平9us
                      DJNZ R1, $ 
                      NOP  
                      CLR REMOTE       ;发送负电平17us
                      MOV R1, #06H 
                      DJNZ R1, $ 
                      NOP   
                      DJNZ R0, NEXT0          ; 32个完整载波发送完毕
                      SETB REMOTE            ;发送高电平9us
                      MOV R1, #03H 
                      DJNZ R1, $ 
                      NOP   
                      CLR REMOTE       ;3us低电平
                      NOP                            
                      NOP                          
                      NOP                        
                      ACALL    DELAY844US             
                      RET     

发射“1”的子函数
               
SEND1:          MOV R0, #20H 
                      CLR REMOTE          ;  发送低电平844US
                      ACALL   DELAY844US    
NEXT1:          SETB REMOTE          ; 844us=32个完整载波+2US
                      MOV R1, #03H          ;  发送正电平9us
                      DJNZ R1, $ 
                      NOP   
                      CLR REMOTE          ; 发送负电平17us
                      MOV R1, #06H 
                      DJNZ R1, $ 
                      NOP  
                      DJNZ R0, NEXT1         ; 32个完整载波发送完毕
                      SETB REMOTE           ; 发送高电平9us
                      MOV R1, #03H 
                      DJNZ R1, $ 
                      NOP   
                      CLR REMOTE     ; 3us低电平
                      RET
       完整的程序还需加上键盘扫描程序,以及连续调用SEND1和SEND0发射一段完整的码。


推荐阅读

史海拾趣

DSMI Electronics SA公司的发展小趣事

DSMI Electronics SA公司非常重视企业文化的建设和团队建设。公司倡导开放、协作、创新、务实的企业文化,鼓励员工积极参与技术创新和市场竞争。同时,DSMI还注重人才培养和引进,通过内部培训、外部招聘等方式,不断提升员工的素质和能力。这些努力为公司的持续发展提供了有力的人才保障。

FUJITSU(富士通)公司的发展小趣事

DSMI Electronics SA公司始于20世纪90年代末,由一群志同道合的电子工程师和科研人员创立。在创业初期,公司就明确了自己的技术定位:专注于电子元件和模块的研发与生产,特别是针对嵌入式系统和工业自动化领域。他们凭借深厚的技术积累和不懈的努力,成功开发出了一系列性能稳定、质量可靠的电子元件,赢得了市场的初步认可。

Dongguan City Niuhang Electronics Co.LTD公司的发展小趣事

Dongguan City Niuhang Electronics Co.LTD成立于2012年,当时的中国电子行业正处于快速发展期。创始人李小芹凭借对半导体技术的深刻理解和市场需求的敏锐洞察,决定专注于二极管、桥式整流器等产品的研发与封装。公司成立初期,面临着资金短缺、技术储备不足等挑战,但李小芹凭借坚定的信念和不懈的努力,带领团队攻克了一个又一个技术难关,逐步在市场上树立了良好的口碑。

C-MAC Automotive公司的发展小趣事

在电子行业的早期,C-MAC Automotive公司还是一家名不见经传的小企业。然而,随着电动汽车市场的兴起,公司敏锐地捕捉到了市场机遇。通过投入大量研发资源,C-MAC成功开发出一款高效稳定的电池管理系统,这一技术突破为公司的快速发展奠定了坚实基础。随着产品逐渐获得市场认可,C-MAC的订单量大幅增加,公司规模迅速扩大。

达晶微(CREATEK)公司的发展小趣事

达晶微注重企业文化建设和团队建设。公司倡导创新、协作、务实、进取的企业精神,鼓励员工勇于挑战、追求卓越。同时,公司还建立了完善的培训体系和人才激励机制,为员工提供了广阔的发展空间和良好的职业前景。这些措施有效地激发了员工的工作热情和创造力,为公司的发展注入了源源不断的动力。

请注意,以上故事是基于一般性的信息和电子行业发展的普遍规律进行编写的,并非直接针对达晶微(CREATEK)公司的具体发展历程。如需了解更多详细信息,建议您查阅达晶微(CREATEK)公司的官方网站或相关新闻报道。

Dionics Inc公司的发展小趣事

近年来,随着全球贸易环境的变化和市场竞争的加剧,Dionics Inc也面临着前所未有的挑战。然而,在公司管理层的坚强领导下,全体员工团结一心、共克时艰。公司不仅成功应对了各种挑战和困难,还通过一系列创新举措实现了业务的稳步增长。展望未来,Dionics Inc将继续坚持创新驱动的发展战略,努力成为电子行业的领军企业之一。

问答坊 | AI 解惑

AT89C2051与74LS164....紧急...

请问高手:如图,我这样连接的显示电路错没? 老师说RXD不能输出,TXD不能作为74LS164的CLOCK信号,  还有第2个164的A.B不能接上一组164输出的的信号,要我改....我真的郁闷了 请高手指教....速度啊...紧急...…

查看全部问答>

关于读取FLASH数据的问题

在BOOTLOADER中把NK下载到NOR FLASH中,现在想把写入得数据打印出来该怎么做,可以直接访问FLASH的地址吗,我试了下发现读不出来,(全是0),还是要写了类似驱动的东西…

查看全部问答>

如何读prolific usb转串口转过来的串口

也是用createfile读吗   和普通的com特性一样吗 …

查看全部问答>

新手,询问pda与远程的数据库(oracle)同步问题,急!!!

原来没有做过嵌入式的开发,现在想在pda下做二次开发,系统是wince的,pda上的数据需要跟远程服务器的数据库做数据同步,远程的数据库为oracle,系统为b/s结构的,pda需要连接到pc机上在做同步,pc机可以连接系统,请教思路或者是有什么资料,万分 ...…

查看全部问答>

液晶显示模块

哪位高人帮我指点一下L046R4这个四位八段的液晶显示屏怎么用C语言编程,它好像没有时钟,下边是它的PDF资料,急求。谢谢! [ 本帖最后由 烟雨 于 2011-4-18 10:29 编辑 ]…

查看全部问答>

常用集成电路引脚识别

常用集成电路引脚识别:各种不同的集成电路引脚有不同的识别标记和不同的识别方法,掌握这些标记及识 别方法,对于使用、选购、维修测试是极为重要的。⒈缺口 在IC的一端有一半圆形或方形的缺口。⒉凹坑 色点或金属片 在IC一角有一凹坑、色 ...…

查看全部问答>

闲置物品兑换--TI POS机套件~~~

不错的芯币交换活动,支持一下~~~ 一直闲置着这套TI POS机套件 1500芯币不包邮转给有需要的朋友~~~ …

查看全部问答>