有3種辦法去實現:
1、使用您手裡的PL2303晶元串口接PD12USB晶元,然後自己寫固件之後驅動。
2、使用C8051F320帶USB介面的51單片機直接驅動,也需要啟動固件。
3、購買CH376已經固化了文件系統的USB介面晶元,直接使用串口即可實現讀寫。
基於你的現狀,我建議您使用第3種辦法實現。
B. 通過單片機實現鍵盤/滑鼠動作
換個滑鼠試試看
經濟實惠的可以看看雷柏的V26、羅技的G100s、雷蛇的煉獄蝰蛇等等
高端點的可以看看羅技的G402和G502,雷柏的V910等等。
都是很不錯的滑鼠。
C. 單片機與計算機通信時是,通過什麼控制計算機的鍵盤或滑鼠呢通過控制鍵碼值電平的高低嗎
要控制計算機的鍵盤或滑鼠?是獲取計算機按鍵或滑鼠狀態吧,這只能通過RS232口由計算機將這些鍵值或滑鼠狀態發送給單片機。
D. 請教滑鼠/單片機的工作原理
不好意思,下一段的內容我是在拾人牙慧:
光電滑鼠的工作原理是:在光電滑鼠內部有一個發光二極體,通過該發光二極體發出的光線,照亮光電滑鼠底部表面(這就是為什麼滑鼠底部總會發光的原因)。然後將光電滑鼠底部表面反射回的一部分光線,經過一組光學透鏡,傳輸到一個光感應器件(微成像器)內成像。這樣,當光電滑鼠移動時,其移動軌跡便會被記錄為一組高速拍攝的連貫圖像。最後利用光電滑鼠內部的一塊專用圖像分析晶元(DSP,即數字微處理器)對移動軌跡上攝取的一系列圖像進行分析處理,通過對這些圖像上特徵點位置的變化進行分析,來判斷滑鼠的移動方向和移動距離,從而完成游標的定位。
可見,要用到數字微處理器,這玩意兒復雜,它能實現的功能單片機可幹不了。數字微處理器的實時運行速度可達每秒數以千萬條復雜指令程序,大大超過單片機。
你說的原理跟滑鼠那個滾輪差不多,也許用單片機能實現。
E. 請問滑鼠裡面的晶元是單片機嗎具體是怎麼工作的
不是單片機,是專用的PS2滑鼠晶元,因為滑鼠全世界很大量產,所以就有特製的晶元給他用,具體怎麼工作還不是一兩句說得明白的, 主要就是跟電腦南橋晶元進行PS2通信。 你可以用51做出來,我沒做過滑鼠,只做過鍵盤的。 我想應該一樣吧,找點資料就可以 PS2很簡單的。
F. 電腦控制單片機需要什麼軟體,什麼晶元
主要取決於電腦和單片機通過什麼方式連接通訊,如USB、串口等。USB連接的話必須在單片機電路板上能實現USB設備模式,還有PC端驅動等,一句話說不清楚,不建議你做。串口簡單,只要單片機有串口,沒有的話就IO模擬,接個max232晶元就可以通信了。電腦端簡單的就用串口調試助手就行。
G. 能實現通過單片機來控制滑鼠位移嗎
控制滑鼠位移?
單片機可以讀取滑鼠的位移和按鍵信息,從而決定程序的執行,而不是
控制滑鼠位移。
H. 用單片機實現PS/2滑鼠的設計
我也想知道,不過這么點分好像沒人回吧,等你這實在沒人回了,我出100分,大家分享
1鍵盤功能及工作原理
PC鍵盤功能主要有按鍵識別、去抖、重鍵處理、發送掃描碼、自動重發、接收鍵盤命令、處理命令等。鍵盤有編碼鍵盤和非編碼鍵盤。編碼鍵盤程序設計簡單,但硬體電路復雜,價格較高;非編碼鍵盤用軟體來實現識別鍵、編碼轉換、去抖等功能,硬體電路簡單,價格便宜。現代微機系統中廣泛採用非編碼鍵盤。PC鍵盤多採用18行×8列的二維矩陣行列結構。採用行掃描法識別按下的按鍵。
2PS/2協議
PS/2協議是外設與主機之間通信的一種同步雙向串列協議。在該協議中主機擁有較高的優先順序,在一定條件下可以終止外設正在進行的發送過程。PS/2協議採用的傳送數據幀的格式為:1位起始位(0)、8位數據位、1位奇偶校驗位、1位停止位(1)。數據發送時低位在前,高位在後。外設每收到主機發來的1幀數據,都要緊隨該幀的停止位發送一個握手位ACK(0)應答主機。然後,外設還要發1幀應答數據(0xF0),表示外設已經完整地接收到了主機的命令;而主機則不需發送握手位,也不需要發送應答幀。
PS/2通訊協議是一種雙向同步串列通訊協議。通訊的兩端通過Clock(時鍾腳)同步,並通過Data(數據腳)交換數據。兩個腳Clock(時鍾腳)和Data�數據腳都是集電極開路的,所以必須接大阻值的上拉電阻。它們平時保持高電平,有輸出時才被拉到低電平,之後自動上浮到高電平.任何一方如果想抑制另外一方通訊時,只需要把Clock(時鍾腳)拉到低電平。如果是PC機和PS/2鍵盤間的通訊,則PC機必須做主機,也就是說,PC機可以抑制PS/2鍵盤發送數據,而PS/2鍵盤則不會抑制PC機發送數據。一般兩設備間傳輸數據的最大時鍾頻率是33kHz,大多數PS/2設備工作在10~20kHz。推薦值在15kHz左右(14.8KHz),也就是說,Clock(時鍾腳)高、低電平的持續時間都為34μs。每一數據幀包含11~12個位,具體含義如表1所列。
表1數據幀格式說明
1個起始位總是邏輯0
8個數據位(LSB)低位在前
1個奇偶校驗位奇校驗
1個停止位總是邏輯1
1個應答位僅用在主機對設備的通訊中
2.1鍵盤到PC鍵盤介面的通信
當時鍾線和數據線均為高電平時,允許鍵盤發送數據,系統將接收數據;當時鍾線被拉為低電平時,表明系統禁止數據傳輸。圖1給出了發送時序,包含1個低電平觸發的起始位、8位數據位、1個奇校驗位和1個高電平的結束位。
圖1發送時序圖
當時鍾頻率為15kHz時,從Clock(時鍾腳)的上升沿到數據位轉變時間至少要5μs。數據變化到Clock(時鍾腳)下降沿的時間至少也有5μs,但不能大於25μs,這是由PS/2通訊協議的時序規定的。如果時鍾頻率是其它值,參數的內容應稍作調整。發送時一般都是按照數據幀格式順序發送。其中數據位在Clock(時鍾腳)為高電平時准備好,在Clock(時鍾腳)的下降沿被PC機讀入。PS/2設備到PC機的通訊時序如圖2所示。
從PS/2向PC機發送一個位元組可按照下面的步驟進行:
(1)檢測時鍾線電平,如果時鍾線為低,則延時50μs;
(2)檢測判斷時鍾信號是否為高,為高,則向下執行,為低,則轉到(1);
(3)檢測數據線是否為高,如果為高則繼續執行,如果為低,則放棄發送(此時PC機在向PS/2設備發送數據,所以PS/2設備要轉移到接收程序處接收數據);
(4)延時17μs(如果此時正在發送起始位,則應延時34μs);
(5)輸出起始位(0)到數據線上。這里要注意的是:在送出每一位後都要檢測時鍾線,以確保PC機沒有抑制PS/2設備,如果有則中止發送;
(6)輸出8個數據位到數據線上;
(7)輸出校驗位;
(8)輸出停止位(1);
(9)延時25μs(如果在發送停止位時釋放時鍾信號則應延時42μs);
通過以下步驟可發送單個位:
(1)准備數據位(將需要發送的數據位放到數據線上);
(2)延時17μs;
(3)把時鍾線拉低;
(4)延時34μs;
(5)釋放時鍾線;
(6)延時17μs。
2.2PC系統到鍵盤的通信協議
若時鍾線出現高電平,數據線出現低電平,表明系統請求發送,鍵盤准備產生同步時鍾脈沖串,並接收數據。包含了1個低電平觸發的起始位、8位數據位、1個奇校驗位、1個應答位、1個高電平的結束位。圖2為時序圖。
圖2時序圖
由於PS/2設備能提供串列同步時鍾,因此,如果PC機發送數據,則PC機要先把時鍾線和數據線置為請求發送的狀態。PC機通過下拉時鍾線大於100μs來抑制通訊,並且通過下拉數據線發出請求發送數據的信號,然後釋放時鍾。當PS/2設備檢測到需要接收的數據時,它會產生時鍾信號並記錄下面8個數據位和一個停止位。主機此時在時鍾線變為低時准備數據到數據線,並在時鍾上升沿鎖存數據。
而PS/2設備從PC機讀到數據。具體連接步驟如下:
(1)等待時鍾線為高電平。
(2)判斷數據線是否為低,為高則錯誤退出,否則繼續執行。
(3)讀地址線上的數據內容,共8個bit,每讀完一個位,都應檢測時鍾線是否被PC機拉低,如果被拉低則要中止接收。
(4)讀地址線上的校驗位內容,1個bit。
(5)讀停止位。
(6)如果數據線上為0(即還是低電平),PS/2設備繼續產生時鍾,直到接收到1且產生出錯信號為止(因為停止位是1,如果PS/2設備沒有讀到停止位,則表明此次傳輸出錯)。
(7輸出應答位。
(8)檢測奇偶校驗位,如果校驗失敗,則產生錯誤信號以表明此次傳輸出現錯誤。
(9)延時45μs,以便PC機進行下一次傳輸。
讀數據線的步驟如下:
(1)延時17μs;
(2)把時鍾線拉低�
(3)延時34μs�
(4)釋放時鍾線�
(5)延時17μs�
(6)讀數據線。
下面的步驟可用於發出應答位;
(1)延時12μs;
(2)把數據線拉低;
(3)延時5μs;
(4)把時鍾線拉低;
(5)延時34μs;
(6)釋放時鍾線;
(7)延時5μs;
(8)釋放數據線。
(1)鍵盤命令及執行過程
①FFH:(FAAA)復位鍵盤。系統通過此軟體復位命令使鍵盤進入程序復位和內部自測試,稱為基本保證測試(BAT)。復位鍵盤的過程如下:
a.鍵盤收到FFH後立即回送ACK(FAH)作答;
b.鍵盤介面收到ACK後,將鍵盤時鍾和數據線置為高電平;
c.鍵盤檢測到此狀態後開始BAT操作;
d.如果BAT正確完成,鍵盤發送AAH以表示結束,否則以FDH(或其它任何值)表示診斷有誤。
②FEH:(XX)重新發送。當系統檢測到從鍵盤送來的任何傳輸錯誤時,它便向鍵盤發送FEH命令。鍵盤接收到此命令後,將重新送出原來的內容。
③FDH~F7H:空操作(保留未用)。
④F6H:(FA)設置預設值。此命令使鍵盤所有條件復位到電源接通時的預設狀態,鍵盤繼續掃描。
⑤F5H:(FA)設置預設值和停止鍵盤。此命令使鍵盤所有條件復位到電源接通時的預設狀態,並停止鍵盤掃描,等待下一個鍵盤命令。
⑥F4H:(FA)啟動鍵盤。鍵盤接收到此命令後,用ACK(FAH)作答,清除輸出緩沖器,並啟動鍵盤開始掃描。
⑦F3H+XX:(FA)設置拍發速率和延時參數。每當按下任一鍵時,鍵盤以拍發速率連續送出鍵的接通碼,直到鍵被釋放為止。延時參數是指按下一鍵後,鍵盤輸出的響應時間。系統預設設置:拍發速率=10個/s±20%,延時=500ms±20%。
當要改變設置時可以使用F3H命令,並後跟一個位元組的參數。參數定義如表1所列。
表1
計算拍發速率和響應延時的公式如下:
註:預設的延時參數值為2CH。
此命令的執行過程如下:
a.鍵盤收到F3H命令後,用FAH予以響應,並停止掃描和等待隨後的參數;
b.鍵盤若收到隨後的設置參數,用另一個ACK響應,並按其參數設置新的拍發速率和響應延時,之後重新開始掃描(若鍵盤原來是開放的);
c.鍵盤若收到FAH命令,但無隨後的設置參數,則鍵盤結束命令設置,並保持原來的拍發速率和響應延時,停止掃描。
⑧F2H,F1,EFH:保留未用。
⑨F0H+XX:(FA)設置鍵盤掃描碼命令。此命令用於設置鍵盤的掃描碼,後跟參數指定三種掃描碼的哪一種。鍵盤復位時,默認掃描碼是第二種。
掃描方式1:01H行列掃描,按鍵發送:<E0>XX,放開發送:<E0>(80+XX)
掃描方式2:02H編碼掃描,按鍵發送:<E0>XX,放開發送:<E0>FOXX
掃描方式3:03H簡單模式,按鍵發送:XX放開發送:不發送
⑩EEH:(EE)回送命令。此命令用於輔助診斷,要求鍵盤接收到EEH時也要回送EEH予以響應。若鍵盤原來是開放的,則繼續掃描。
⑾EDH+XX:(FA)置位/復位LED指示器。鍵盤右上角有三個LED指示器,分別反映Caps、Num和Scroll三個鍵的鎖定情況。參數位元組如表2所列。
表2
此命令執行過程與F3H相似。若命令後跟參數,則按參數設定LED狀態並繼續掃描。若僅有命令無參數,則不改變LED原狀態,並停止掃描。
(2)鍵盤響應
鍵盤在下列四種情況下都會向鍵盤介面發送數據。
①按下任一鍵,鍵盤以拍發速率向介面發送鍵盤接通掃描碼。
②釋放所按下的鍵,鍵盤發送斷開掃描碼。
③系統向鍵盤發送鍵盤命令後,鍵盤回送應答。
④當用戶按鍵速度超出鍵盤所能容納的最大鍵個數時,鍵盤做出響應。
後三種情況稱為鍵盤響應。響應位元組有7個,定義如下。
①FEH:重新發送響應。當鍵盤收到一個無效的鍵盤命令,或者檢測到奇偶錯的鍵盤命令時,鍵盤回送響應位元組為FEH,要求系統重發鍵盤命令。
②FAH:正常應答。對任何一個有效的鍵盤命令,鍵盤回送FAH予以響應。
③00H:超限應答。當用戶按鍵速度超出鍵盤所能容納的最大鍵符個數時(16個位元組的緩沖器),鍵盤發送00H。
④FDH:診斷故障應答。鍵盤接受軟體復位命令,執行自測試過程中。若檢測到故障,則以FDH應答。此時,鍵盤停止掃描並等待下一個鍵盤命令。
⑤AAH:診斷正常應答。鍵盤在軟體復位過程中,正常完成BAT測試,以AAH應答。
⑥FEH:回響命令的應答,對鍵盤FEH命令的應答。
⑦F0H:斷開掃描碼前綴,鍵盤對鍵符按下後釋放的應答,第一個位元組為F0H,第二個位元組為接通掃描碼(有幾個鍵例外)。
3硬體設計
PC系列鍵盤採用18行×8列的矩陣行列結構。89C51單片機有4個8位I/O埠,因此可以採用P0、P2口再加上P3口的2個(P3.6和P3.7)作為行掃描線。P1口作為列輸入線(如果用P0口作列輸入線,必須加上拉電阻)。採用P3.0、P3.1作為數據線和時鍾線與PC系統進行通信,用P3.2、P3.4、P3.5控制鍵盤上的3個指示燈。硬體原理如圖3所示。
圖3硬體原理圖
鍵盤與計算機通過一個五芯(PS/2介面為六芯)插座相接,4個有效引腳的定義分別是電源(VCC)、地(GND)、串列時鍾線(SCK)、串列數據線(SIO)。
4軟體設計
①消抖及重鍵處理:通過軟體上延時程序來消除抖動;採用後按鍵優先處理,即多鍵同時按下時,只重復發送最後按下鍵的掃描碼。
②程序包括鍵盤掃描子程序、發送鍵碼子程序、發送數據子程序、接收命令子程序、定時器1中斷服務程序、主程序等。鍵盤掃描子程序用於掃描鍵狀態,將被按鍵的位置號存入緩沖器中;發送鍵碼子程序用於將緩沖區鍵的接通碼或斷開碼發送給計算機鍵盤介面或者存在鍵盤密碼緩沖區中;發送數據子程序用於將數據發給計算機鍵盤介面;接收命令子程序用於接收計算機鍵盤介面發來的鍵盤命令;定時器1中斷服務子程序用於給程序中的延時提供標准時鍾,並具有軟體看門狗功能,防止軟體出現死機現象;主程序用於系統初始化,子程序調度,鎖定狀態的顯示等。
圖4~6是主要軟體模塊的流程圖。單片機源程序見本刊網路補充版(http://www.dpj.com.cn)。
圖4主程序流程圖
圖5掃描鍵盤程序流程圖
圖6發送緩沖區鍵碼子程序流程圖
I. 那滑鼠中也有單片機,能叫嵌入式系統嗎
滑鼠可以叫嵌入式系統。
1、要弄清這個問題,先要弄清楚「嵌入式系統」的定義:
嵌入式系統定義為:以應用為中心,以計算機技術為基礎,軟硬體可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。
2、嵌入式系統是一個控製程序存儲在ROM中的嵌入式處理器控制板。所有帶有數字介面的設備,如手錶、微波爐、錄像機、汽車等,都使用嵌入式系統。
3、有些嵌入式系統還包含實時操作系統(RTOS),如:VxWorks、μClinux、μC/OS-II等,但大多數嵌入式系統都是由單個程序實現整個控制邏輯。
4、嵌入式系統的核心是由一個或幾個預先編程好以用來執行少數幾項任務的微處理器或者單片機組成。這些軟體通常是暫時不變的;所以經常稱為「固件」。
J. 關於用單片機製作滑鼠
這個問題比較有難度哦。我只回答我所知道的。
51單片機應用很廣,但是做滑鼠就不太使得上勁了,你可以拆開你手上的滑鼠看看。
1.關於單片機,針對滑鼠的介面,ps2的和usb的,您看51能方便的實現和電腦通訊嗎?51兩者都不擅長,或者做個com的滑鼠?
2.鑒於你是初學者,只能做機械的,就是以前的球鼠。光電的需要光學方面的知識,不是靠您diy所能解決的。如果您有光學專業知識除外。無線的滑鼠,您需要射頻方面的設計知識,當然市面上有現成的rf集成晶元,但是天線的設計和layout你還是要自己動手。
3.你還要自己寫單片機程序,處理所有的信號中斷等等。。。。
4.51我不建議,建議你試試freescale的滑鼠單品解決方案,帶外圍電路和程序的。
滑鼠看似簡單,設計到光學,射頻,程序設計方方面面。樓主加油,祝你成功。
3.