久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

單片機入門課堂實例:數碼管顯示4x4矩陣鍵盤的鍵號(仿真+代碼)

查看數: 19509 | 評論數: 1 | 收藏 1
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2018-12-25 10:11

正文摘要:

目錄 數碼管顯示4x4矩陣鍵盤的鍵號              2 摘要              2     關鍵詞  &n ...

回復

ID:115923 發表于 2020-3-24 20:31
------------------------------------
P1.0 P1.1 P1.2 P1.3
p1.4 S1 S5 S9 S13
P1.5 S2 S6 S10 S14
P1.6 S3 S7 S11 S15
P1.7 S4 S8 S12 S16
------------------------------------
實現原理:
當高電平端口與低電平端口短接時,高電平端口會被拉成低電平
------------------------
算法分析:
1,檢查是否有鍵按下:
P1=f0h (即0-3置1,4-7置0)
檢查P1口是否是0F0H
是,則無鍵按下
否,則有鍵按下
2,掃描按下的鍵值:
循環(依次將4至7口單獨置0)
檢查0-3口是否有低電平端
確定被按下的鍵
返回鍵值
3,鍵盤防抖:
抖動原因:鍵按下時,會產生電壓的波動,持續約10MS
去抖方法:10MS掃描一次,使前后兩次均有鍵按下
********************************************************/
#include<ytc51.h>
uchar jps,ks; //鍵盤緩存
/*鍵盤掃描程序1,檢查是否有按鍵*/
uchar keyfun()
{
uchar key_c;
P2 = P2 & 0x03;
P2 = P2 | 0x3c;
key_c = P2;
if((key_c & 0xfc) == 0x3c) return (0);
else return(1);
}
/*鍵盤掃描程序2,確定按鍵數值*/
uchar keyscan()
{
uchar i,k;
P2 = P2 & 0x03;
P2 = P2 | 0xbc;
if((P2 & 0x3c) != 0x3c)
{
i = 0;
k = (~P2) & 0x3c;
}
else
{
P2 = P2 & 0x03;
P2 = P2 | 0x7c;
if((P2 & 0x3c) != 0x3c)
{
i = 1;
k = (~P2) & 0x3c;
}
}
k = k>>3;
if( k==4 ) k=3;
k=i*4+k+1;
return(k);
}
/**********************************************************************
函數功能: 定時器中斷函數(掃描鍵盤)(10ms 16位定時)
入口參數: 無
出口參數: 無
***********************************************************************/
void Time0_Func() interrupt 3 /*當定時器中斷時執行此函數*/
{
TH1=(0xffff-9259)/256; /*T0初始化*/
TL1=(0xffff-9259)%256;
WR = 1;
if((ks == 0) && ( keyfun() ))
{
jps = keyscan();
}
ks = keyfun();
}
/**********************************************************************
函數功能: 上電初始化函數
入口參數: 無
出口參數: 無
***********************************************************************/
void Power_Up(void)
{
TMOD = 0x10;/*Time0/1為16計數器*/
TH1=(0xffff-9216)/256;/*10ms*/
TL1=(0xffff-9216)%256;/*10ms*/
TR1=1;
SCON = 0x00;//串口工作模式設置
IE=0x88; /*EA=1 ET1=1*/
P0=0xff;
P2=0xff;
}

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久一视频 | 日韩精品在线一区 | 性一交一乱一伦视频免费观看 | 久久99精品久久久久久狂牛 | 日韩欧美在线观看视频 | 91在线精品秘密一区二区 | 久久精品视频在线播放 | 国际精品久久 | 日韩欧美一区二区三区在线播放 | 盗摄精品av一区二区三区 | 91看片| 日韩国产高清在线观看 | 日韩视频在线观看 | 福利片一区二区 | 在线观看中文字幕亚洲 | 一区二区三区国产好 | 日韩一区不卡 | 精品久久久久久亚洲综合网 | 精品国产欧美一区二区三区成人 | 免费一区二区三区 | 欧洲精品在线观看 | 中午字幕在线观看 | 欧美激情久久久久久 | av天天看 | 日一区二区 | 亚洲色图网址 | 亚洲一区二区三区四区五区午夜 | 国产永久免费 | 欧美精品一区二区三区在线 | 亚洲视频二区 | 天天操天天怕 | 久草中文在线 | 亚洲欧美在线视频 | 涩爱av一区二区三区 | 国产成人精品a视频一区www | 国产精品久久久久久久久久 | 免费爱爱视频 | 欧美精品乱码99久久影院 | 日韩精品1区2区 | www.亚洲视频.com | 成人免费影院 |