自制电脑usb红外遥控键盘
2010-08-08 19:20:00
看个ppt,还要一直按键盘或鼠标,能不能拿个遥控器控制一下。
动动脑,自己做一个吧。
电路分2部分,遥控器为发射部分,单片机为解码部分并且包含usb键盘功能。
一,完成红外解码
根据网上下载的lpc932的RC5红外解码程序,做了如下修改。完成了我at89s52的RC5红外解码程序。
1,涉及到需要使用2个定时器。分别是定时器1,作为波特率发生器。
2,定时器0,作为接收处理红外信号的定时器。并允许中断。
3,由于晶振不同,调TH和TL值。
4,等待接收完再请标志。
测试了0-9的按键值。分别由3和16进制数组成,06与07是区分连按得,00为地址,最后为00-09代码按键码,串口通信数据如下:
06 00 00 06 00 00 07 00 01 07 00 01 06 00 02 07 00 03 07 00 03 06 00 04 06 00
04 07 00 05 07 00 05 06 00 06 06 00 06 07 00 07 07 00 07 06 00 08 06 00 08 07
00 09 07 00 09
5,串口显示下文字吧,看的清楚些。更改程序后,串口通信数字如下:
按下0按下0按下1按下1按下2按下2按下3按下3按下4按下4按下5按下5按下6按下6按下7按下7按下8按下8按下9按下9
二,整合红外解码程序及usb键盘程序
思路:usb的键盘用遥控器键盘代替。
大概用了半天的调试时间,主要问题小结:
问题一,定时时间内调用其他函数,使定时波形捕捉不正确,需要删除。
// Prints("按下");
// UartPutChar(buf+48);
问题二,调用外部变量不规范,程序编译完出现警告。
应该用extern定义,并放在.h文件中。
问题三,不能单步调试,那么怎么知道问题出在哪里呢?
利用led的亮灭,来判断程序单步走的路径。
问题四,单片机多任务如何来区分?
可以使用按键当做任务的开关。
三,终于完成了简易红外键盘。
插上usb线,打开电脑ppt,拿着以前的电视遥控器。按下4,则代表pageup,按下5则代表pagedown,等等。座的远远的,遥控着电脑ppt,那是多么的高兴和自豪。学以致用,乐趣无穷。
自制电脑usb红外遥控键盘的更多相关文章
- 我设计的电脑usb红外遥控键盘原理图
我设计的电脑usb红外遥控键盘,orcad原理图备份如下:
- 手机遥控器,3.5mm耳机接口红外遥控改造解析
很多家电都用红外遥控,如电视机.机顶盒.空调.电风扇等.越来越多的遥控器反而给我们带来了更多的问题,有时找不到遥控器放哪儿了,或者混淆了都是麻烦,事实上对手机进行简单的改造,可以自制一个万能红外遥控器 ...
- Arduino红外遥控系列教程2013——红外转码
教程三:红外转码教程——用电视遥控器取代机顶盒遥控器 前言前段时间看到了使用红外遥控的X-Bot机器人[链接],感觉很有意思.最近开始玩Arduino与红外,一方面打算将来用于BOXZ的之间的通讯控制 ...
- 基于FPGA的红外遥控解码与PC串口通信
基于FPGA的红外遥控解码与PC串口通信 zouxy09@qq.com http://blog.csdn.net/zouxy09 这是我的<电子设计EDA>的课程设计作业(呵呵,这个月都拿 ...
- MicroPython TPYBoard v102 无线红外遥控舵机(基于红外解/编码模块)
转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇 红外解码/编码模块介绍 模块上搭载了红外接收头.红外 ...
- arduino红外遥控库IRremote的IRsend类sendRaw函数溢出问题及其解决方法
最近在调试红外遥控格力空调,在论坛中学到了不少东西.参考: (1)<解决问题系列(4)——红外编码分析利器使用> (2)<315Mhz模块传输替代315Mhz遥控器> 调试环境 ...
- 基于Arduino、STM32进行红外遥控信号接收
catalogue . 遥控器原理简介 . 红外遥控原理 . 常见红外遥控器红外线信号传输协议 . 遙控器的发展 . 实验过程 . 攻击面 . 基于STM32实现红外信号解码 1. 遥控器原理简介 0 ...
- 51单片机tea5767收音机 红外遥控 自动搜台 存台 DIY
先看效果图: 显示 频道CH , 频率 100.0Mhz 欢迎信息,1602 内置日文平假名, 正好用来显示博主名称. 焊接前,已经万能面包板上试验成功. 焊接完成以后,1602 的D0 - D7 接 ...
- 红外遥控NEC协议使用总结
最近做了一个调试红外遥控三色灯的实习,花了一个多月的时间研究基于NEC协议的红外遥控,下面是这次实习技术方面的总结. 一.NEC协议特征: 8位地址和8位命令长度 每次传输两遍地址(用户码)和命令(按 ...
随机推荐
- 【Tensorflow】tensorboard
tbCallBack = tf.keras.callbacks.TensorBoard(log_dir='./log' , histogram_freq=0, write_graph=True, wr ...
- 【netcore基础】ConcurrentDictionary 使用字符串作为key给代码加锁且使用EF事物防止并发调用数据混乱的问题
业务场景需要锁住指定的字符串下的代码,防止并发创建多个订单 这里我们使用 ConcurrentDictionary 首先初始化一个字典 private static readonly Concurre ...
- linux系统关闭指定服务的方式
1.根据名称称查找并关闭:pgrep -f 名称 | xargs kill -9 2.根据端口称查找并关闭:lsof -i:端口 | grep LISTEN|awk '{print $2}'|xarg ...
- 从零开始搭建Go语言开发环境
一步一步,从零搭建Go语言开发环境. 安装Go语言及搭建Go语言开发环境 下载 下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://gol ...
- G - Throw nails
来源hde4393 The annual school bicycle contest started. ZL is a student in this school. He is so boring ...
- gym102007 E
我计划预习五个小时离散,然后hmc补了这道他自认为非常的裸并且很傻逼自己可以一眼秒的简单题,然后给我讲了讲,然后我失去了一整晚的生命迹象. 首先我们可以发现一个神奇的现象,啊,先排个序,然后我们会发现 ...
- linux的基本操作(LAMP环境搭建)
LAMP 环境搭建 经过前部分章节的学习,你已经掌握了linux的基础知识了.但是想成为一名系统管理员恐怕还有点难度,因为好多单位招聘这个职位的时候都要求有一定的工作经验.然而真正的经验一天两天是学不 ...
- ArcGIS AddIN异常:无法注册程序集 未能加载文件或程序集"ESRI.ArcGIS.Desktop.Addins"
异常: 无法注册程序集“D:\CodeXX\bin\Debug\XX.dll”.未能加载文件或程序集“ESRI.ArcGIS.Desktop.AddIns, Version=10.1.0.0, Cul ...
- 【python】——购物车
作业需求: 用户名和密码存放于文件中,格式为:egon|egon123 启动程序后,先登录,登录成功则让用户输入工资,然后打印商品列表,失败则重新登录,超过三次则退出程序 允许用户根据商品编号购买商品 ...
- Alpine Linux常用命令
一:Alpine Linux开启SSH远程登陆 1.简介: 最重要的一个服务了,远程登陆需要用它,文件传输需要用它,必备功能.不管你是在实体机上跑,虚拟机上跑,docker里面跑,这个都是必须的. 2 ...