自制电脑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位命令长度 每次传输两遍地址(用户码)和命令(按 ...
随机推荐
- 【2019年04月10日】股票的滚动市盈率PE最低排名
仅根据最新的市盈率计算公式进行排名,无法对未来的业绩做出预测. 新钢股份(SH600782) - 滚动市盈率PE:3.87 - 滚动市净率PB:1.29 - 滚动年化股息收益率:1.31% - 钢铁 ...
- xcode8 iOS函数返回值使用警告
没有使用返回值时, 警告 swift: @warn_unused_result func doSomething() -> Bool { return true } OC: - (BOOL)do ...
- react ref获取dom对象
react文档 step = React.createRef(); // init <div ref={this.step}></div> // bind componentD ...
- 小Q系列故事——屌丝的逆袭
小Q系列故事——屌丝的逆袭 Problem Description 毕业于普通本科的小Q一直自称是资深屌丝,不仅学校不知名,甚至他自己在这个普通学校也是默默无闻——直到临近毕业的时候,班里5朵金花中的 ...
- mousedown、mousemove、mouseup和touchstart、touchmove、touchend
拖动时候用到的三个事件:mousedown.mousemove.mouseup在移动端都不起任何作用.毕竟移动端是没有鼠标的,查资料后发现,在移动端与之相对应的分别是:touchstart.touch ...
- python学习之旅(六)
Python基础知识(5):基本数据类型之字符串(Ⅱ) 字符串方法 17.join:对字符串进行拼接 x="can" y="li" y.join(x) 结果: ...
- Codeforces 1136E - Nastya Hasn't Written a Legend - [线段树+二分]
题目链接:https://codeforces.com/problemset/problem/1136/E 题意: 给出一个 $a[1 \sim n]$,以及一个 $k[1 \sim (n-1)]$, ...
- pytorch实现AlexNet网络
直接上图吧 写网络就像搭积木
- pytorch 中的重要模块化接口nn.Module
torch.nn 是专门为神经网络设计的模块化接口,nn构建于autgrad之上,可以用来定义和运行神经网络 nn.Module 是nn中重要的类,包含网络各层的定义,以及forward方法 对于自己 ...
- Kerberos安全体系详解---Kerberos的简单实现
1. Kerberos简介 1.1. 功能 一个安全认证协议 用tickets验证 避免本地保存密码和在互联网上传输密码 包含一个可信任的第三方 使用对称加密 客户端与服务器(非KDC)之间能够相互 ...