音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

請(qǐng)教PS/2問(wèn)題.

作者:idcard 欄目:單片機(jī)
請(qǐng)教PS/2問(wèn)題.
我參照以前的貼做了個(gè)鍵盤(pán)口的傳輸,可以接收到,但有時(shí)會(huì)出錯(cuò),請(qǐng)教做過(guò)的前輩程序還有什么需要完善的嗎?
程序如下,另CLOCK的頻率沒(méi)錯(cuò),是15K左右,大概十來(lái)次會(huì)錯(cuò)一次的機(jī)率,找不到原因,有點(diǎn)煩啊.請(qǐng)指教,先謝了!

程序如下:
MOV R6, #0bH;
MOV 3AH,#5aH
MOV  R1,#30H
SENT:
         MOV A,@R1  ;待發(fā)數(shù)據(jù)-A
         NOP
         CLR P1.7           ;數(shù)據(jù)線置為低電平
         ACALL DELA10        ;延時(shí)10us
         NOP
         NOP
         CLR P1.4            ;時(shí)鐘線置為低電平
         ACALL DELA30        ;延時(shí)30us
         NOP
         NOP
         SETB P1.4           ;時(shí)鐘線置為高電平,發(fā)送起始位
         MOV B,#9            ;置循環(huán)次數(shù)
         MOV C,P             ;奇偶標(biāo)志-C
         CPL C               ;偶校驗(yàn)
TC:     ACALL DELA10
         ACALL DELA10
         NOP
         NOP
         NOP
         NOP
         RRC A
         MOV P1.7,C          ;發(fā)一位數(shù)據(jù)
         ACALL DELA10
         NOP
         NOP
         CLR P1.4            ;產(chǎn)生一個(gè)時(shí)鐘脈沖
         ACALL DELA30
         NOP
         NOP
         SETB P1.4
         NOP
         NOP
         DJNZ B,TC           ;未完繼續(xù)
         NOP
         NOP
         ACALL DELA10
         ACALL DELA10
         NOP
         NOP
         NOP
         NOP
         SETB P1.7           ;停止位
         ACALL DELA10
         NOP
         NOP
         CLR P1.4
         ACALL DELA30
         NOP
         NOP
         SETB P1.4


SENT2:
          INC R1
          ACALL DELA50M
          DJNZ  R6, SENT
          AJMP  START


DELA10:  MOV R0,#02H     ;03
DELA11:  DJNZ R0,DELA11
          RET
DELA30:  MOV R0,#10h;11
DELA31:  DJNZ R0,DELA31
          RET
DELA50m:  MOV R7,#62h   ;11
DL0:  MOV R5,#0FFH
DL1:  DJNZ R5,DL1
       DJNZ R7,DL0
       RET

2樓: >>參與討論
焊出個(gè)未來(lái)
idcard 老師,你的這個(gè)程序我試過(guò)了怎么不好使呢?
我是用你的程序發(fā)了2個(gè)數(shù)據(jù)15H,15H在表里查是Q,怎么用記事本一個(gè)也收不到呢?我的是51,晶振11.0592


ORG 00H
JMP START

DELA10:  MOV R0,#02H     ;03
DELA11:  DJNZ R0,DELA11
          RET
DELA30:  MOV R0,#10h;11
DELA31:  DJNZ R0,DELA31
          RET
DELA50m:  MOV R7,#62h   ;11
DL0:  MOV R5,#0FFH
DL1:  DJNZ R5,DL1
       DJNZ R7,DL0
       RET



START:

MOV R6, #02H;
MOV 3AH,#5aH
;--------------------數(shù)據(jù)
MOV 30H,#15H
MOV 31H,#15H
;
MOV  R1,#30H
SENT:
         MOV A,@R1  ;´ý·¢Êý¾Ý-A
         NOP
         CLR P3.5           ;Êý¾ÝÏßÖÃΪΜÍΜçÆ½
         ACALL DELA10        ;ÑÓʱ10us
         NOP
         NOP
         CLR P3.4            ;ʱÖÓÏßÖÃΪΜÍΜçÆ½
         ACALL DELA30        ;ÑÓʱ30us
         NOP
         NOP
         SETB P3.4           ;ʱÖÓÏßÖÃΪ¸ßΜçÆ½,·¢ËÍÆðʼλ
         MOV B,#9            ;ÖÃÑ­»·´ÎÊý
         MOV C,P             ;ÆæÅ¼±êÖ¾-C
         CPL C               ;żУÑé
TC:     ACALL DELA10
         ACALL DELA10
         NOP
         NOP
         NOP
         NOP
         RRC A
         MOV P3.5,C          ;·¢Ò»Î»Êý¾Ý
         ACALL DELA10
         NOP
         NOP
         CLR P3.4            ;²úÉúÒ»¸öʱÖÓÂö³å
         ACALL DELA30
         NOP
         NOP
         SETB P3.4
         NOP
         NOP
         DJNZ B,TC           ;δÍê¼ÌÐø
         NOP
         NOP
         ACALL DELA10
         ACALL DELA10
         NOP
         NOP
         NOP
         NOP
         SETB P3.5           ;ֹͣλ
         ACALL DELA10
         NOP
         NOP
         CLR P3.4
         ACALL DELA30
         NOP
         NOP
         SETB P3.4
SENT2:
          INC R1
          ACALL DELA50M
          DJNZ  R6, SENT
          AJMP  $
END



3樓: >>參與討論
IDCARD
我發(fā)現(xiàn)問(wèn)題了,是和鍵盤(pán)的不兼容。去掉鍵盤(pán)就沒(méi)問(wèn)題了。
另樓上的兄弟,程序沒(méi)問(wèn)題,我晶體是12M,你可換晶體,或是調(diào)一下NOP,叫CLK的高低電平為40U左右就行了,還有你P3.5口若沒(méi)加上拉電阻加一10K上拉就行了。

4樓: >>參與討論
winhiwang
如果與鍵盤(pán)并連,需要做個(gè)切換
 
5樓: >>參與討論
sayasa
如何切換?能不能具體點(diǎn)
另鼠標(biāo)晃動(dòng)也會(huì)出錯(cuò),CLK波形為0(1MS)-1(100US)-0(1MS)-1(100US)-0(1MS)-1(100US)-0(1MS)-1(100US),出錯(cuò)就是這原因引起的,怎么處理好呢?以為我是只上傳,沒(méi)做接收PC的處理,是不是要做處理?具體怎么做?

6樓: >>參與討論
winhiwang
如果鍵盤(pán)鼠標(biāo)都用PS2的要他們之間的沖突,主機(jī)會(huì)禁止另外一方的
 可以用多路開(kāi)關(guān)做切換


7樓: >>參與討論
shixiudong
你用74HC4066切換PS2的各種設(shè)備
可以用74HC4066多路開(kāi)關(guān)切換。

注意:
最好采用74HC4066,不要用CD4066,因?yàn)榍罢叩膶?dǎo)通電阻更小。曾經(jīng)用CD4066不成功。

案例:
我在1998年,用這種方法設(shè)計(jì)了一款POS專(zhuān)用可編程鍵盤(pán),工作良好。



史修棟


8樓: >>參與討論
焊出個(gè)未來(lái)
疑惑
根據(jù)PS2的協(xié)議,上電后鍵盤(pán)送AAH給主機(jī),證明初始化成功。

發(fā)送數(shù)據(jù)應(yīng)有通碼和斷碼,比如發(fā)送一個(gè)Q到PC,首先是一個(gè)字節(jié)的通碼,接著
是2個(gè)字節(jié)的斷碼。應(yīng)發(fā)送數(shù)據(jù)15H,F(xiàn)0H,15H。

而我看現(xiàn)在市場(chǎng)上的產(chǎn)品沒(méi)有發(fā)送AAH給HOST,并且發(fā)送數(shù)據(jù)時(shí)也只發(fā)送了兩個(gè)字節(jié),好象兩個(gè)字節(jié)的數(shù)據(jù)還是一樣的。
這是怎么回事呢?

9樓: >>參與討論
sayasa
問(wèn)題解決
正如史修棟兄所說(shuō),是用硬件切換的,程序沒(méi)問(wèn)題,我拆了別人的一臺(tái)看了一下,且定做的連接線時(shí)鐘和數(shù)據(jù)不是并在一起的,而是分別接在設(shè)備上,通過(guò)74HC4066切換.當(dāng)設(shè)備傳數(shù)據(jù)時(shí)斷開(kāi),不傳時(shí)鍵盤(pán)的時(shí)種和數(shù)據(jù)是和PC連在一起的.
        SENT:  MOV C,P1.4
         JNC SENT
         ACALL DELA30
         ACALL DELA10
         ACALL DELA10
         MOV C,P1.4
         JNC SENT
         MOV C,P1.7
  還有這段小程序加在發(fā)送前.
  謝謝各位兄臺(tái)的支持,還有,建意以后在這問(wèn)問(wèn)題的朋友解決問(wèn)題后在這發(fā)個(gè)貼說(shuō)說(shuō)怎么解決的,以免后來(lái)人發(fā)現(xiàn)同樣的問(wèn)題又要費(fèi)時(shí)間.

新年大吉,早日發(fā)財(cái),呵呵

* - 本貼最后修改時(shí)間:2005-2-18 8:39:57 修改者:sayasa

10樓: >>參與討論
guoyahui
我用m8做了一款不用硬件切換的,
直接截獲鍵盤(pán)和計(jì)算機(jī)數(shù)據(jù)再轉(zhuǎn)發(fā),再加入自己的應(yīng)用

參與討論
昵稱(chēng):
討論內(nèi)容:
 
 
相關(guān)帖子
請(qǐng)問(wèn)誰(shuí)有Lattice isp下載線資料,納悶中...
78E58的ISP功能是否能屏蔽掉?
關(guān)于單片機(jī)系統(tǒng)實(shí)現(xiàn)語(yǔ)音功能。
請(qǐng)教測(cè)量頻率問(wèn)題
請(qǐng)問(wèn)有沒(méi)有PNP型達(dá)林頓晶體管陣列管腳和uln2003相當(dāng)
免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)