基于单片机的电脑遥控系统的设计.docVIP

基于单片机的电脑遥控系统的设计.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于单片机的电脑遥控系统的设计.doc

基于单片机的电脑遥控系统的设计 高警卫 中国矿业大学信息与电气工程学院,徐州(221600) E-mail: 摘 要: 关键词: 中图分类号:TP7引言 ,是一种先进的控制方式,具有广阔的应用前景[2]。 系统总体结构 本系统在架构上主要由以下三个子系统组成:遥控板,单片机系统,上位机控制管理系统。如图1所示。 图1 电脑遥控系统结构框图 遥控板直接借助于普通电视红外遥控器。遥控板主要实现信号发射模块的功能:生成并发射红外信号。由于普通电视遥控器发出的信号一般为38K(Hz)的红外信号,所以红外信号接收装置选择使用型号TSOP1738的红外一体式接收器,红外信号的检测采用中断检测方式,检测与接收模块一旦检测到有效地红外信号立即进行接收以及对红外信号进行解码,并将解码后的数据交给数据传输模块,数据传输模块接到数据后负责与上位机建立串口通信,并传输相应数据给上位机控制管理系统,管理系统根据接受的数据在指令库中进行检索与匹配得到相应指令,继而执行电脑系统级操作。 系统设计 整个系统的设计主要是单片机系统和上位机程序的设计,下面分别进行简单介绍。 单片机系统设计 单片机系统由硬件和软件构成,硬件主要包括红外接收电路和串口通信电路。软件主要包括系统初始化程序、红外检测与解码程序、数据传输程序等。 硬件主要包括AT89C52单片机、一体化红外接收器TSOP1738、MAX232。AT89C52负责对红外信号的解码以及和MAX232构成串口通信电路对上位机传输数据[3],一体化红外接收器就负责检测和接收红外信号。单片机系统电路如图2所示。 图2 单片机系统电路图 在图2中,U1为AT89C52,U2为MAX232,TSOP1738为一体化红外线接收器,J1为串行通信连接设备。为了方便和准确的设置串行通信波特率,振荡电路中采用频率11.0592MHz的晶振。AT89C52自带看门狗,系统提供手动复位控制键。使用3-5V直流外电源或直接使用USB为系统供电。 单片机软件部分主要是红外信号解码程序的设计,本部分使用C语言进行编写,红外一体式接收头在没有检测到红外信号时数据输出引脚一直保持高电平,一旦检测到红外信号就会变为低电平,由于红外接收头输出端与单片机中断0端口相连,中断触发方式设置为下降沿触发,这样当红外接收头检测到红外信号时中断被触发,为了防止干扰信号引起的中断,在接收之前要进行红外信号的有效性判别。如果是有效信号就可以接收和解码,否则放弃。 [4]给出了38kHz红外信号编码格式的解析。应用比较广泛的一种编码格式是采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1” 图3 二进制编码格式 根据这种编码格式编写算法程序进行红外信号的接收和解码。通过引导码检验信号的有效性以及通过二进制编码的低电平长度来判断“0”和“1”, 解码程序流程如图4所示。 图4 解码程序流程图 当红外接收头检测到红外信号时中断被触发,软件延时9ms后如果检测到中断口是高电平则认为是干扰信号并返回重新检测,反之则是有效信号,再延时4.5ms跳过引导码高电平部分接收二进制编码。对于引导码之后的32位二进制“0”和“1”的脉宽同为0.565ms,但是它们的间隔不同,“0”为0.56ms,“1”为1.685ms,为了取得每个脉冲中间比较稳定的电平信号,从每一个脉冲下降沿开始软件延时0.565/2+0.56=0.8425≈0.84ms后再检测中断口,如果是高电平则为“0”,否则为“1”,然后把得出的结果移位存储到数据缓存变量中,由于AT89C52是8位处理器,而信号编码有32位串行码,所以需要循环32次判别每一个下降沿对应的二进制位,最后存储到32/8=4字节的数组中。等待接收解码成功完成后把解码后的数据通过串口通信方式传输给上位机控制管理系统进行分析处理。这种解码算法仅仅借助了编码的一个特征进行分析解码,因此该算法简单实用且利于编程实现。 上位机系统设计 上位机控制管理系统使用Microsoft Visual Basic 6.0设计实现。该子系统主要功能包括数据接收、数据处理和数据管理。Visual Basic 6.0为用户提供了串行通信端口COM控件,编写相应的程序即可实现数据接收的功能。为该系统创建一个简单的数据库,如表1、表2所示。 表1 控制标识码匹配函数数据表 控制标识码 控制函数 控制参数索引 272553761 mouse_event 1 272552932 ExitWindowsEx 2 272551256 myshell 3 …… …… …… 表2 控制参数数据表 参数索引 参数1 参数2 参数3 参

文档评论(0)

mghkfg58 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档