999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

具有滾輪翻頁功能的PPT無線翻頁器設計

2016-04-26 12:25:55李子祥
科技視界 2016年9期

李子祥

【摘 要】為了方便使用,設計了一種PPT翻頁器,系統分為發射電路和接收電路兩個模塊,每個模塊都包含一個STC8952單片機和藍牙模塊,發射電路還包括一個鼠標滾輪編碼器和D觸發器構成鑒相電路,當發射電路的按鍵按下或滾輪滾動時,經過藍牙主機發送,接收電路接收到指令后,經USB通信模塊送入PC機,PC機接收命令后模擬鍵盤按鍵事件和鼠標滾輪滾動事件,來控制PPT的翻頁。

【關鍵詞】PPT無線翻頁器;STC8952;PDIUSB12;編碼器

The Designs of PPT Wireless Pager with Wheel Flip Function

LI Zi-xiang

(Department of resources and civil engineering, Shandong University of Science and Technology, Taian Shandong 271019, China)

【Abstract】In order to facilitate the use of a PPT, a PPT wireless pager was designed. The system was divided into two modules, The system is divided into two modules: transmitting circuit and receiving circuit, Each module contains a STC8952 MCU and Bluetooth module, The transmitting circuit also comprises a mouse encoder and a D trigger to form the phase detector circuit, When the button of the transmitting circuit is pressed or the rolling wheel is rolled, the data will be sent by the Bluetooth host, after receiving the instruction, the receiving circuit send it to the PC through the USB communication module, finally the pc simulate the keyboard and the roll event, to achieve the controlling of the PPT.

【Key words】PPT wireless pager; STC8952; PDIUSB12; Encoder

隨著計算機輔助教學的發展,PPT無線翻頁器應運而生。有時在PPT演講過程中,為了臨時跳到某一頁講解或回顧其他內容,需要一下翻很多頁,但現有的無線翻頁器只能按一下翻一頁,造成了很多不便。針對這種情況,開發了一種帶滾輪翻頁功能的PPT無線翻頁器,通過滾輪來實現翻頁功能,可以大大增加PPT翻頁的速度,解決上述問題。

1 系統方案設計

整個硬件電路分為發射電路和接收電路兩個模塊,當按下發射電路的按鍵或滾動滾輪時,由單片機控制無線模塊的信號收發。接收電路的無線模塊接收命令后,通過USB通信模塊把數據傳給PC機,PC機根據不同的鍵值分別作出相應,通過模擬鍵盤的按鍵事件、鼠標的滾輪滾動事件等來實現對PPT的控制。系統總體框圖如圖1所示。

圖1 系統總體功能框圖

2 硬件電路設計

2.1 發射電路

發射電路共設置上翻、下翻、激光燈、全屏、退出播放5個按鍵外加一個滾輪翻頁模塊。單片機采用STC89C52。STC89C52是STC公司生產的一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統可編程Flash存儲器,共具有P0,P1,P2,P3四個I/O口,這里通過I/O口來控制各部分電路及無線模塊的通信[1]。

在設計滾輪翻頁模塊時,將滾輪的編碼器的A相輸出端接入STC89C52的計數器0來采集計數脈沖,并將編碼器接入一個八D觸發器74LS379來構成鑒相電路,判斷滾輪的滾動方向,當編碼器順時針方向旋轉時,A相信號在相位上超前B相信號1 /4周期(圖2)。經過D觸發器后,Q1為高電平,Q1反為低電平,反之當編碼器逆時針旋轉時,Q1為低電平,Q1反為高電平[2],將Q1和Q1反接入單片機的I/O口,便可以據此判斷是上翻頁還是下翻頁。

在設計無線通信模塊時,采用了HC-05藍牙模塊。HC-05模塊是一款高性能的藍牙串口模塊,具有寬波特率范圍4800~1382400,模塊兼容單片機系統。波特率、藍牙名稱、配對密碼等可通過AT命令修改。HC-05在購買時默認為從機,在設計發射電路時,通過AT命令將藍牙模塊設置為主機。藍牙主機模塊與單片機的連接如圖3所示。

圖3 發射電路原理圖

2.2 接收電路

接收端采用STC89C52和HC-05藍牙從機模塊來接收數據。主從模塊配對后相當于一根串口線使用,這時不分主從,進入透傳模式,實現單片機雙機通信。

單片機接收到數據后,通過USB通信模塊傳送給上位機,完成翻頁操作。USB通信模塊采用飛利浦公司生產的PDIUSBD12接口芯片,芯片遵循USB1.1協議。PDIUSBD12使用八位并行數據口DATA[7:0]與STC8952的P[0.7:0.0]連接,STC8952既要對PDIUSBD12發送命令又要發送數據,通過PDIUSBD12的地址選擇命令還是數據。STC8952和PDIUSBD12的連接有復用的數據地址總線和獨立的數據地址總線兩種方式,在這里使用的獨立地址線,A0表示地址位,A0為1表示命令,A0為0表示寫數據,可以使用I/O口模擬,將A0接到單片機的T1腳上(T1是復用引腳,這里使用的普通I/O口),發送命令前對A0置1,發送數據時置0,把命令或數據發送到USB總線上[3]。

圖4 接收電路原理圖

3 軟件設計

3.1 上位機程序

對于普通按鍵,要加入一個按鍵去抖程序,以上翻頁按鍵KEY1為例,代碼如下:

void delay(uint8 xms )

{

uint8 i,j;

for(i=xms;i>0;i++)

for(j=110;j>0;j--);

}

while(1) //死循環

{

if(KEY1= =0) //KEY1按下,發送上翻頁命令

{

delay(10);

if(KEY1= =0)

{

UartPutChar(0x01);

}

while(!KEY1);

對于滾輪模塊,將單片機的計數器模式打開以采集來自編碼器的計數脈沖。有時只根據相位來判斷翻頁的方向可能會出現錯誤,所以在這里,通過比較上翻頁和下翻頁的次數,來決定真正的翻頁方向,代碼如下:

void main(void) //主函數

{

uint8 tl,th1,th2;

uint16 val;

uint8 Count=0,Up_count=0,Down_count=0; //滾輪采集數據標志

InitTIMER(); //初始化定時器

InitUART(); //初始化串口

LIGHT=1; //關閉激光燈

while(1) //讀計數器值

{

th1=TH0;

tl=TL0;

th2=TH0;

if(th1==th2)break; //若沒有進位打斷while(1)循環

}

if((tl!=0)||(th1!=0))

{

delay(50); //延時待滾輪穩定

Count++; //計數滾輪采集值

if(WHEEL_A==1) //向下滾動滾輪

{

Down_count++;

}

else if(WHEEL_A==0) //向上滾動滾輪

{

Up_count++;

}

if(Count>5)

{

if(Up_count>Down_count)UartPutChar(0x01); //發送上翻頁命令

if(Up_count

Count=0;

Up_count=0;

Down_count=0;

}

TH0=0;

TL0=0;

}

}

}

3.2 下位機程序

USB HID設備是通過報告來返回數據的,輸入報告通過中斷輸入端點返回,在這里通過端點1來返回報告,判斷是否需要發送報告的代碼如下[4]:

if(ConfigValue!=0) //如果已經設置為非0的配置,則可以返回報告數據

{

if(!Ep1InIsBusy) //如果端點1輸入沒有處于忙狀態,則可以發送數據

{

if(Command!=0) //如果有按鍵事件發生

{

SendReport(); //則返回報告,發送結束會清零數據

SendReport(); //則返回報告,發送一則空數據,證明鍵盤動作清零

}

}

}

SendReport()負責發送具體的報告。在輸入報告中定義一個數組,可以同時返回多個按鍵值。輸入報告共8字節,第一字節的8位表示是否有數據按下,第二字節為保留值,第3到8字節是一個普通鍵鍵值的數組,在PPT中,上翻頁鍵對應鍵盤上的PageUp,下翻頁為PageDown,全屏放映為F5,退出全屏為Esc,具體的鍵值可以查HID用途文檔表獲得[4]。這里只給出上翻頁的情況,其余按鍵依次類推。

extern uint8 Command;

void SendReport(void)

{

/***************************************************

根據HID用途表文檔 F5--3E ESC--29 PageUp--4B PageDown --4E

***************************************************/

uint8 Buf[8]={0,0,0,0,0,0,0,0};

uint8 i=2;

if(Command==0x01) //接收到0x01

{

Buf[i]=0x4B; //播放命令。

i++; //切換到下個位置。

Prints("發送4B\r\n");

}

//報告準備好了,通過端點1返回,長度為8字節。

D12WriteEndpointBuffer(3,8,Buf);

Ep1InIsBusy=1; //設置端點忙標志。

Command=0;

}

4 結束語

按照設計原理完成制作后,經測試可以實現設計的功能要求,可以正常完成按鍵翻頁及滾輪翻頁的功能,當使用滾輪翻頁可以大大加快翻頁速度,滿足某些場合下需要快速多次翻頁的需要,具有很好的應用前景。

【參考文獻】

[1]胡聰,何勁,郭金龍.基于nFR24L01的無線電子教鞭[J].科技信息,2012(9):97.

[2]高偉,李玄曾.光電編碼器的信號處理電路研究[J].陜西師范大學繼續教育學院學報(西安),2007,24(2):117.

[3]萬利峰,徐曉潔,胡慧鋪,張嘩暉.基于PDIUSB12的USB數據采集系統的設計 [J].微計算機信息,2006,22(5-1):110-111.

[4]劉榮.圈圈教你玩USB[J].北京航空航天大學出版社,2009(1).

[責任編輯:楊玉潔]

主站蜘蛛池模板: 91精品小视频| 久久久久亚洲av成人网人人软件| 欧美一级片在线| 国产欧美在线观看视频| 国产成人精品免费视频大全五级| 在线欧美国产| 性网站在线观看| 伊人激情综合| 色老头综合网| 97se亚洲综合| 亚洲无码37.| 99re精彩视频| 国产极品美女在线播放| 欧美.成人.综合在线| 人妻中文久热无码丝袜| 国产成人亚洲日韩欧美电影| 欧美日本在线播放| 亚洲综合激情另类专区| 亚洲精品成人片在线观看| 国产丝袜一区二区三区视频免下载| 手机精品福利在线观看| 国产精品无码翘臀在线看纯欲| 欧美精品伊人久久| 国产精品免费入口视频| AV在线麻免费观看网站 | 国产爽爽视频| 亚洲无码久久久久| 欧美一区二区自偷自拍视频| 99久久国产综合精品女同| 这里只有精品在线播放| 欧美一级夜夜爽| 国产精品免费p区| 在线网站18禁| 久久综合九九亚洲一区| 日韩欧美国产成人| 91精品啪在线观看国产91九色| 青青草欧美| 热久久综合这里只有精品电影| 9cao视频精品| 成人在线欧美| 国产精品原创不卡在线| 2019年国产精品自拍不卡| 亚洲天堂自拍| 国产成人精品免费av| 欧美不卡在线视频| 成年人福利视频| 免费国产不卡午夜福在线观看| 玖玖免费视频在线观看 | 成人亚洲天堂| 无码aⅴ精品一区二区三区| 中文天堂在线视频| 亚洲精品制服丝袜二区| 老司机久久精品视频| 91色在线视频| 日本不卡在线| 99re在线观看视频| 国产美女在线免费观看| 亚洲 日韩 激情 无码 中出| 国产午夜看片| 日本手机在线视频| 午夜三级在线| 夜色爽爽影院18禁妓女影院| 亚洲成人黄色在线观看| 国产资源站| 在线欧美国产| 五月天久久综合| 欧美精品啪啪一区二区三区| 99视频在线观看免费| 97在线免费| 欧美精品一区在线看| 国产精品99一区不卡| 国产国产人免费视频成18| 亚洲第一视频网| 久久一日本道色综合久久| 国产精品视频观看裸模| 无码免费的亚洲视频| a级毛片免费播放| 五月激情婷婷综合| 日本三级欧美三级| 高清无码手机在线观看| 中文字幕亚洲综久久2021| 国产人成网线在线播放va|