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全屏。
}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
-----------------------------------------------------------------------
再搞搞上位机,难度也不小哦。
可以去磁动力看看,不过别人是用红外线传送的,你想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
1,用单片机模拟出来一个HID设备来作为USB键盘,然后去查USB键盘的协议,一般来讲USB键盘的数据格式长度是5,看F5对应的什么码,通过USB接口直接发送给电脑,肯定可以用。(跟这个差不多的可以去模拟一个PS2的设备,原理一样)
2,单片机依然保留用串口的方法发送0x74(其实随便发什么都可以啦,配合好就行),然后做一个上位机程序去接收串口数据,当发现收到正确的数据之后再发送“F5”的命令给上层领导就可以了。
请问你用单片控制PPT有没有成功?
一周热门 更多>