欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

各位大佬,我想通過8255的A口接鍵盤控制B,C口的高低電平,該怎么改程序?

查看數: 2432 | 評論數: 2 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2021-1-15 10:27

正文摘要:

各位大佬,我想通過8255的A口接鍵盤控制B,C口的高低電平(例如,第一個按鍵按下后,PB0變為低電平,再按一下,PB0變為高電平),我應該怎么該程序 #include<reg52.h> #include<absacc.h> #define PA X ...

回復

ID:517466 發表于 2021-1-16 19:00
我查了8255的資料,感覺你使用好像有問題。如果想作為掃描鍵盤用,你應該使用PC口作為鍵盤矩陣使用。掃描矩陣要求一部分輸出,一部分輸入。
對8255,在設置好控制字后,是沒法讓PA口的一部分成為輸出,而另一部分成為輸出。PB也是一樣的。只有PC口是允許一部分成為輸入、而另一部分成為輸出的。
你的程序中,在設置控制字時,應使
1、PA口作為輸出口,PB口作為輸出口。
2、PC7-PC4作為輸出、PC3-PC0作為輸入;或者PC7-PC4作為輸入、PC3-PC0作為輸出;
ID:752974 發表于 2021-1-16 16:11
在此提供一點思路,供參考。
u8 temp;
  if(k1)//k1按下
    temp++;
  if(temp >1)
    temp = 0;
if(temp==1)
  PB &= 0xfe;//PB0輸出低電平,LED亮
else
  PB |= 0x01;//PB0輸出高電平,LED滅

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表