日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門 >> 8051單片機(jī)串行口擴(kuò)展矩陣鍵盤接口與應(yīng)用

8051單片機(jī)串行口擴(kuò)展矩陣鍵盤接口與應(yīng)用

作者:admin 來(lái)源:不詳 發(fā)布時(shí)間:2018-05-08  瀏覽:15
 由于8051的串行口在方式0工作狀態(tài)下,可以方便地通過移位寄存器74LS164擴(kuò)展并行輸出口。因此,可以將這些并行口線作為列線,與P3口的行線構(gòu)成行列式鍵盤。每占用一條P3口線可增加8個(gè)按鍵,用戶根據(jù)需要可增減。
     在8051的串行口方式0工作狀態(tài)下,結(jié)合P3.4和P3.5實(shí)現(xiàn)2*8鍵盤。如圖所示。

 C51軟件設(shè)計(jì):
     #include<stdio.h> //預(yù)處理
     #include<reg51.h>
     #include<intrins.h>
     unsigned char getkey(void); //鍵盤掃描函數(shù)
     void proc1(void); //定義按鍵處理程序1
    void proc2(void); //定義按鍵處理程序2
    void proc3(void); //定義按鍵處理程序3
    void proc4(void); //定義按鍵處理程序4
    ……
    bit0=P3.4;
    bit1=P3.5;
    void delay(void); //定義延時(shí)函數(shù)
    void main(void) //主函數(shù)
    {
    unsigned char idata key;
    SCON=0x00; //串口初始化
    ES=0;
    EA=0; //關(guān)閉中斷
    while(1)
    {
    key=getkey();
    if(key!=0xff)
    switch (key)
    {
    case 0x00:
    proc0();
    braek;
    case 0x01:
    proc1();
    braek;
    case 0x02:
    proc2();
    braek;
    case 0x03:
    proc3();
    braek;
    ……
    ……
    ……
    default:
    break;
    }
    }
    }
    unsigned char getkey(void) //鍵盤掃描函數(shù)
    {
    unsigned char idata key_code,col=0; mask=0x00;
    TI=0;
    SBUF=mask;
    while(TI==0);
    if((bit0&bit1)!= 0)
    return(0xff);
    delay();
    if((bit0&bit1)!= 0)
    return(0xff);
    mask=0xfe;
    while(col!=8)
    {
    TI=0;
    SBUF=mask;
    while(TI==0);
    if((bit0&bit1)!= 0)
    {
    mask=mask<<1;
    mask=mask|0x01;
    col=col+1;
    continue;
    }
    else break;
    }
    if(col==8)
    return(0xff);
    if(bit0==1) key_code=col;
    else key_code=8+col;
    while(bit0&bit1==0);
    return(key_code);
    }
    void delay(void) /*延時(shí)10毫秒*/
    {
    unsigned int i=10;
    while(i--);
    }

編輯:admin  最后修改時(shí)間:2018-05-08

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

东平县| 沐川县| 安福县| 新野县| 苏尼特右旗| 昌邑市| 贺兰县| 突泉县| 革吉县| 达拉特旗| 塔城市| 平泉县| 通榆县| 南昌市| 嘉定区| 临澧县| 临沭县| 台前县| 清苑县| 青铜峡市| 遂川县| 循化| 云梦县| 綦江县| 桂林市| 东丽区| 雷山县| 黑龙江省| 石家庄市| 松桃| 华池县| 台前县| 罗田县| 定州市| 固始县| 洛隆县| 津南区| 江都市| 驻马店市| 裕民县| 改则县|