標題: 我的單片機獨立式鍵盤包含程序代碼原理圖 [打印本頁]
作者: 吹夢到西洲 時間: 2022-7-5 15:05
標題: 我的單片機獨立式鍵盤包含程序代碼原理圖
使用AT89S52單片機,設計一個具有8個按鍵的獨立式鍵盤,每個按鍵對應一個發光二極管。功能要求:無鍵按下時,鍵盤輸出全為“1”,發光二極管全部熄滅;有鍵按下時,其所對應發光二極管點亮。
獨立式鍵盤電路組成由單片機最小系統;
8個按鍵電路;8個LED電路。
單片機I/O口引腳分配8個按鍵接P0口;按鍵一端接地;另一端接P0口引腳,并通過上拉電阻接+5V。
8個LED接P1口,LED采用共陽極接法。
獨立式鍵盤電路設計時,每個按鍵的一端與P0口的一個引腳相連,另一端接地。
無鍵按下時,P0的8個I/O口均通過電阻接高電平,信息為“1” ,鍵盤輸出全為“1”發光二極管全部熄滅。
有鍵按下,將使對應的I/O口通過該鍵接地,信息為“0” ,對應發光二極管點亮。
CPU可以通過檢測P0的8個I/O口線哪個是“0”就可以識別是否有鍵按下,并能識別出是哪一個鍵按下。
- 在keil軟件中,新建項目,新建c語言獨立式鍵盤文件,輸入代碼保存并編譯,生成hex文件
代碼如下:
獨立式鍵盤功能實現分析
判斷是否有按鍵按下
while(x==0xff) //循環判斷是否有鍵按下
{
x=P0; //讀鍵盤狀態
}
delay10ms(); //延時10ms去抖動
x=P0; //再次讀鍵盤狀態
if(x==0xff) continue;//如果無鍵按下則認為是按
//鍵抖動,重新掃描根據鍵值點亮對應的發光二極管
switch(~x)
{
case 0x01:P1=0xfe; break;//點亮第一個發光二極管
case 0x02:P1=0xfd; break;//點亮第二個發光二極管
case 0x04:P1=0xfb;break;//點亮第三個發光二極管
case 0x08:P1=0xf7; break;//點亮第四個發光二極管
case 0x10:P1=0xef; break;//點亮第五個發光二極管
case 0x20:P1=0xdf; break;//點亮第六個發光二極管
case 0x40:P1=0xbf; break;//點亮第七個發光二極管
case 0x80:P1=0x7f; break;//點亮第八個發光二極管
default:break;
}
}
}
- 運行Proteus,新建“獨立式鍵盤”設計文件,放置并編輯ST89C52、CRYSTAL、CAP、CAP-ELEC 、RES 、BUTTON 、LED-YELLOW等元器件.有鍵按下,其發光二極管點亮。
程序要判斷是否有2個或2個以上的鍵盤同時按下,以免鍵盤分析錯誤。
給每個不同的功能模塊用不同的ID號標識,這樣,每按下一次按鍵,ID 的值是不相同的,所以單片機就很容易識別不同功能的身份了。 D1到D4發光二極管在每個時刻的閃爍的時間是受按鍵來控制,我們給D1到D4閃爍的時段,定義出不同的ID號,只要每次按下按鍵時,分別給出不同的ID號我們就能夠完成上面的任務了。
-
2.png
(250.58 KB, 下載次數: 133)
下載附件
2022-7-5 15:04 上傳
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
久久精品一区二
|
欧美一区中文字幕
|
国产精品一区二区在线
|
精品日韩一区
|
欧美极品视频在线观看
|
精品一区二区久久久久久久网精
|
成人在线网
|
一区二区三区欧美在线观看
|
午夜精品久久久久久久久久久久久
|
精品久久久久久久久久久久久
|
亚洲性人人天天夜夜摸
|
爱爱视频在线观看
|
欧美 日韩 国产 成人 在线
|
能免费看的av
|
欧美成人一区二区三区
|
91精品国产乱码久久久久久久久
|
国产一区二区三区四区hd
|
9999久久|
91在线视频免费观看
|
九九精品在线
|
日韩精品一区二区三区中文在线
|
久久久资源
|
免费一看一级毛片
|
一级毛片观看
|
国内精品视频在线观看
|
黑人久久
|
亚洲一区二区三区高清
|
欧美一区二不卡视频
|
九色网址
|
成人精品国产一区二区4080
|
a在线视频
|
www..com18午夜观看
|
91 视频网站
|
蜜桃五月天|
久久久这里只有17精品
|
中文字字幕一区二区三区四区五区
|
国产精品乱码一二三区的特点
|
国产不卡一区在线观看
|
午夜精品久久久久久不卡欧美一级
|
成人h电影在线观看
|
国产精品视频导航
|