搜索
bottom↓
回复: 12

51单片机来控制ppt的操作,如使它全屏,退出等

[复制链接]

出0入0汤圆

发表于 2011-5-20 09:36:19 | 显示全部楼层 |阅读模式
51单片机连接pl2303通过USB线发送编码数据给电脑,通过单片机的按键来控制电脑中ppt的操作,
    如要使ppt全屏,按电脑键盘的F5就可以全屏,在网上查到电脑F5按键的编码是0x74。
       程序如下,但是编译后发觉按键对ppt没反应。这是错在哪里了呢。那要怎么改才行呢。我是单片机新手,请高手们多多指教。谢谢
#include <reg51.h>
#include <string.h>   
unsigned char ch;   
bit read_flag= 0 ;   
void init_serialcom( void )
   { SCON = 0x50 ;  //SCON: serail mode 1, 8-bit UART, enable ucvr   
                         //UART为模式1,8位数据,允许接收
          TMOD |= 0x20 ; //TMOD: timer 1, mode 2, 8-bit reload            
                         //定时器1为模式2,8位自动重装
          PCON |= 0x80 ; //SMOD=1;
          TH1 = 0xFD ;   //Baud:19200 fosc="11".0592MHz
          IE |= 0x90 ;     //Enable Serial Interrupt
          TR1 = 1 ;       // timer 1 run
          TI=1;
           }           
//向串口发送一个字符
void send_char_com( unsigned char ch)
         {
            SBUF=ch;
            while (TI== 0);
               TI= 0 ;
          }
main()
    {
           init_serialcom(); //初始化串口
                  while ( 1 )
                        {
                            if (P0==0xfe) //如果按下单片机的按键,则P0=0xfe?
                                    {
                                               send_char_com(0x74); //按下单片机按键后,则向txd发送编码数据0x74,相当于电脑键盘的F5按键按下,ppt全屏。
                                          }
                            }
       }

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2011-5-20 09:47:10 | 显示全部楼层
因为你的电脑只认键盘传过来的0X74是F5,而认为你向他通信发送了一个数据,但是不认为你的单片机是键盘,所以不会执行键盘的功能~
否则的话我们要打开个TXT文件,你一直用串口发数据,还不打出文章来呵呵~~

出0入0汤圆

发表于 2011-5-20 09:48:35 | 显示全部楼层
你得模拟一个usb键盘,单单串口是不行的

出0入0汤圆

发表于 2011-5-20 09:50:21 | 显示全部楼层
电脑F5按键的编码是0x74
-----------------------这个不是说串口,说的是PS/2口吧

出0入0汤圆

 楼主| 发表于 2011-5-20 09:52:12 | 显示全部楼层
谢谢楼上两位 。
我再试试。

出0入0汤圆

发表于 2011-5-20 10:08:02 | 显示全部楼层
总得先让电脑认出是键盘吧

出0入0汤圆

发表于 2011-5-20 10:55:31 | 显示全部楼层
这个好办,你得用一个控件,具体什么不记得了,以前做了一个通过串口的红外遥控键盘,可以当做一个键盘来使

出0入0汤圆

发表于 2011-5-20 11:00:21 | 显示全部楼层
回复【6楼】Hamyou
-----------------------------------------------------------------------

再搞搞上位机,难度也不小哦。

出0入0汤圆

发表于 2011-5-20 11:27:46 | 显示全部楼层
找到了,用驱动级模拟,使用一个组件WINIO来完成读写端口操作,工作于驱动层具有全局按键功能。能在VB下用,还可以在DELPHI、VC等其它环境下使用。

出0入0汤圆

发表于 2011-5-20 11:50:14 | 显示全部楼层
除了用单片机模拟PS/2接口,还有一个方法是用上位机,即在电脑里按装Grider3.2软件,把电脑串口接收的代码转换成电脑里的键盘及鼠标动作。
可以去磁动力看看,不过别人是用红外线传送的,你想51单片机连接pl2303通过USB线发送编码数据给电脑,把程序中的红外那部分省掉,修改修改就可以,比用红外还简单。

有关文章:打造超级PC遥控器(上篇)http://www.cdle.net/web/alldata/CDLE/cdle050007.htm
打造超级PC遥控器(下篇) http://www.cdle.net/web/alldata/CDLE/cdle050008.htm
Grider3.2简单使用教程 http://www.cdle.net/web/alldata/CDLE/cdle050009.htm

出100入0汤圆

发表于 2011-5-20 12:12:46 | 显示全部楼层
用串口通讯,搞个上位机程序吧~

出0入0汤圆

发表于 2011-5-20 21:39:28 | 显示全部楼层
呵呵,有两个办法:
1,用单片机模拟出来一个HID设备来作为USB键盘,然后去查USB键盘的协议,一般来讲USB键盘的数据格式长度是5,看F5对应的什么码,通过USB接口直接发送给电脑,肯定可以用。(跟这个差不多的可以去模拟一个PS2的设备,原理一样)
2,单片机依然保留用串口的方法发送0x74(其实随便发什么都可以啦,配合好就行),然后做一个上位机程序去接收串口数据,当发现收到正确的数据之后再发送“F5”的命令给上层领导就可以了。

出0入0汤圆

发表于 2012-5-11 09:33:39 | 显示全部楼层
assingle 发表于 2011-5-20 09:52
谢谢楼上两位 。
我再试试。

请问你用单片控制PPT有没有成功?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-27 01:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表