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).

[責任編輯:楊玉潔]

主站蜘蛛池模板: 亚洲三级成人| 一级做a爰片久久毛片毛片| 青青草一区二区免费精品| 国产丝袜第一页| 亚洲天堂网2014| 国产精品乱偷免费视频| 在线国产91| 日本成人不卡视频| 高潮爽到爆的喷水女主播视频 | 亚洲欧美极品| 在线精品亚洲一区二区古装| 国产高清无码第一十页在线观看| 精品99在线观看| 国产精品青青| 91精品国产一区| www亚洲天堂| 亚洲色图欧美| 国产精品尤物在线| 四虎精品免费久久| 91欧美亚洲国产五月天| 69精品在线观看| 亚洲国产精品无码AV| 国内a级毛片| 欧美日韩福利| 国产精品xxx| 国产福利一区视频| 99无码中文字幕视频| 免费又爽又刺激高潮网址 | 国产91丝袜在线播放动漫 | 婷婷六月综合网| 欧美精品三级在线| 国产女人水多毛片18| 国产黄网永久免费| 国产精品对白刺激| 久一在线视频| 亚洲精品波多野结衣| 久久久四虎成人永久免费网站| 欧美一级大片在线观看| 国产经典免费播放视频| 99热这里都是国产精品| 亚洲色图在线观看| 国产好痛疼轻点好爽的视频| 一级毛片免费观看不卡视频| 蜜臀av性久久久久蜜臀aⅴ麻豆| 天天综合色网| 人妻精品全国免费视频| 国产一级α片| 99国产精品国产| 91国内在线观看| 欧洲亚洲欧美国产日本高清| 一区二区在线视频免费观看| 日韩小视频网站hq| 色婷婷丁香| 曰韩人妻一区二区三区| 日韩人妻少妇一区二区| 久久久久中文字幕精品视频| 国产日韩丝袜一二三区| 精品国产亚洲人成在线| 国产靠逼视频| 亚洲—日韩aV在线| 免费A级毛片无码无遮挡| 深夜福利视频一区二区| 一区二区三区毛片无码| 欧美日韩亚洲国产| 麻豆精品在线视频| 欧美一区福利| 国产丝袜91| lhav亚洲精品| 五月天天天色| 国内精品视频区在线2021| 免费jjzz在在线播放国产| 国产精品成人免费视频99| 97国产精品视频人人做人人爱| 日韩无码视频专区| 香蕉视频国产精品人| 91 九色视频丝袜| 欧美性天天| 再看日本中文字幕在线观看| 亚洲专区一区二区在线观看| 亚洲男人的天堂久久精品| 久久精品只有这里有| 国产精品午夜福利麻豆|