⑴ 單片機如何通過ps2向pc傳輸數據
第一,首先要知道PS/2介面跟PC是怎樣連的。PC里的ps/2一般接鍵盤或滑鼠。
PS/2的針腳
:
6*
u
*5
4*
*3
2*
*1
1
n/c
不連
2
DATA
KeyData-
3
VCC
Power,+5VDC
電源5伏
4
GND
GND
地線
5
n/c
不連
6
CLK
Clock-
時鍾線
接線黃、紅、白、綠對應的針腳如下
鍵盤
滑鼠
黃
藍
3
紅
橙
4
白
白
6
綠
綠
2
接下來,你要知道數據是怎樣經過ps/2介面傳輸到pc的?
數據是變成了2進制數後經過ps/2介面傳遞到PC的,常用串列方式傳遞數據。
所以單片機要用串列方式和ps/2通訊。即單片機的TXD做移位脈沖,接PS/2的6腳;RXD是數據線,接PS/2的2腳.
還不明白給hychyc_2008發消息。
ps2是11位。
PS/2幀的第一位是起始位,為0,然後是8位數據位,發送鍵盤掃描碼的一個位元組(掃描碼為1-4個位元組),然後是奇偶校驗位,最後是停止位,為1。這些是在數據線(即1號引腳線)上發送的。無鍵按下時,數據線和始終線都保持為1。當有鍵按下時,時鍾線CLOCK送出脈沖,同時數據線送出數據。主機(此處是89c51
MCU)在始終脈沖的下降沿對數據線采樣獲得數據。鍵盤掃描碼包括通碼和斷碼,當鍵按下時發送通碼,抬起時發送斷碼。更詳細的內容可參考所附的《PS/2
技術參考》。
根據上述原理,我這樣設計了實驗:將鍵盤的脈沖線接至89c51的外部中斷輸入口(INT0或INT1),當鍵按下和抬起時有脈沖產生,此脈沖引發MCU
中斷。將鍵盤的DATA線連至89c51的輸入口(如P1.0)。在中斷處理程序中,從輸入口讀入數據,然後通過循環移位對讀進的數據位進行處理,1(起始位)、10(奇偶校驗)、11(停止位)可拋棄,如不嫌麻煩也可將奇偶校驗位加以應用。當一個數據幀收完後,將處理後剩下的2-9位(即掃描碼)通過串口發至PC機,通過PC機的串口監視軟體(如「串口調試助手」)來查看。硬體連線和源碼如下:
源碼:
ORG
0000H
AJMP
MAIN;轉入主程序
ORG
0003H
;外部中斷P3.2腳INT0入口地址
AJMP
INT
;轉入外部中斷服務子程序
;以下為主程序進行CPU中斷方式設置
MAIN:MOV
SCON,#50H;設置成串口1方式
MOV
TMOD,#20H;波特率發生器T1工作在模式2上
MOV
PCON,#80H;波特率翻倍為2400x2=4800BPS
MOV
TH1,#0F3H;預置初值(按照波特率2400BPS預置初值)
MOV
TL1,#0F3H;預置初值(按照波特率2400BPS預置初值)
SETB
EA
;打開CPU總中斷請求
SETB
IT0
;設定INT0的觸發方式為脈沖負邊沿觸發
SETB
EX0
;打開INT0中斷請求
SJMP
$
INT:
CLR
EA
;暫時關閉CPU的所有中斷請求
CJNE
R0,#0,L1
L3:
INC
R0
SJMP
L5
L1:
CJNE
R0,#9,L2
SJMP
L3
L2:
CJNE
R0,#10,L4
SETB
TR1;啟動定時器T1
MOV
SBUF,A
MOV
R0,#0
L5:
SETB
EA
;允許中斷
RETI
;退出子程序
L4:
MOV
C,P1.0
RRC
A
SJMP
L3
END
搞定後,當按下和釋放鍵時,會在PC機上顯示其掃描碼。
忘了說明一點,通電時鍵盤會自檢,此時鍵盤上三個燈全亮,自檢完成後熄滅,並向主機發送十六進制字元AA.。
以上取自某網頁。
⑵ 單片機怎麼控制電腦鍵盤輸入
進入軟體,最基礎的創建工程我就不說了,直接到按鍵程序,寫程序,首先要了解按鍵,對於按鍵,分為獨立式和矩陣式按鍵。
先說說獨立式按鍵,這個十分簡單,特點是每個按鍵佔用一條I/O線,當按鍵數量較多時,I/O口利用率不高,但程序編制簡單。所以,如果按鍵就那麼兩三個的話用起來還是占優勢的哦。這樣的開關程序就是一個檢測過程,看I/O埠是否低電平,如果是則有按鍵按下,否則就沒有。如下是獨立式按鍵的接法。
步驟閱讀
3
復雜的是矩陣式按鍵,但是他也有很大的優勢,電路連接復雜,但提高了I/O口利用率,軟體編程較復雜。要是你的東西有很多的按鍵要操作,那麼採用這種方式的優勢就十分明顯了。如下圖就是矩陣式按鍵,矩陣式按鍵的程序較獨立式按鍵復雜的多,方法也很多,基本的有線翻轉法,掃描法,計演算法,因為程序很復雜的原因,在這里就不一一講解了,有興趣的自己可以查查資料。
⑶ 與單片機有關的ps2鍵盤是什麼呀
ps2鍵盤就是我們平常電腦用的鍵盤,ps2鍵盤實際上就是一個按鍵編碼器,然後單片機要做的就是將ps2鍵盤發過來的鍵盤編碼進行解碼,最後在數碼管上或是液晶上顯示出來
⑷ 51單片機4×4矩陣鍵盤,下載程序後LED全亮怎麼回事
如果鍵盤燈亮時,按鍵無反應這種情況:
是介面插錯了,一盤鍵盤的PS2介面是紫色,滑鼠是綠色的,檢查你插對了嗎;
是斷針,PS2介面有6根針,中間是定位點,其中2根是電源,其他4根是數據,你看一下是丌是斷針了。