自制电脑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位命令长度 每次传输两遍地址(用户码)和命令(按 ...
随机推荐
- C#中 Excel和其他文件类型的Content-Type/mime-type
C#中 Excel和其他文件类型的Content-Type/mime-type For BIFF .xls files application/vnd.ms-excel For Excel2007 a ...
- 初学UML之-------用例图
本文转载至:http://blog.csdn.net/a649518776/article/details/7493148 一.UML简介 UML(统一建模语言,Unified Modeling L ...
- Spring 学习笔记(十)渲染 Web 视图 (Apache Tilesa 和 Thymeleaf)
使用Apache Tiles视图定义布局 为了在Spring中使用Tiles,需要配置几个bean.我们需要一个TilesConfigurer bean,它会负责定位和加载Tile定义并协调生成Til ...
- ambari安装调研
http://blog.csdn.net/daiyutage/article/details/52210830 ssh-keygen ssh-copy-id -i ~/.ssh/id_rsa.pub ...
- Centos 7 更换yum源
Centos 7 更换源 yum clean all wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/ ...
- Tcp/IP 的四层模型
维基:https://zh.wikipedia.org/wiki/TCP/IP%E5%8D%8F%E8%AE%AE%E6%97%8F 因特网协议组 LITA 因特网协议组 Link 网络接口层 以太 ...
- weblogic反序列化漏洞CVE-2018-2628-批量检测脚本
#coding=utf-8 import socket import time import re,os,sys,codecs type = 'utf-8' reload(sys) sys.setde ...
- 14.vue路由&脚手架
一.vue路由:https://router.vuejs.org/zh/ 1.定义 let router = new VueRouter({ mode:"history/hash" ...
- css3贝塞尔曲线
http://yisibl.github.io/cubic-bezier/#.17,.67,.94,.53 前言 在了解 cubic-bezier 之前,你需要对 CSS3 中的动画效果有所认识,它是 ...
- linux中的cd
cd命令 实例 hling@hling:~$ cd /home/hling/桌面/huanghling@hling:~/桌面/huang$ cd ..hling@hling:~/桌面$ cd ..hl ...