找回密碼
         注冊會員
        搜索附件  

        鍵盤接口.rar

         

        51矩陣鍵盤1602顯示:
        我正在編一個簡單的矩陣鍵盤程序,用1602顯示。
        問題:我現在按一個鍵,1602總是不停的顯示我按數字(例如我按了1鍵,1602就一直全屏都是1),我想按一次鍵,1602只顯示一個數字。
        希望哪位高手提點一下,或者給我一個參考程序。。。。

        #include<reg52.h>
        #define uint unsigned int
        #define uchar unsigned char
        sbit dula=P2^6;
        sbit wula=P2^7;
        sbit lcden=P3^4;
        sbit lcdrs=P3^5;
        uchar code table[]={
        0x31,0x32,0x33,0x34,
        0x35,0x36,0x37,0x38,
        0x39,0x30,0x2b,0x2d,
        0x2a,0x2f,0x3d,0x2e};
        uchar num,temp,i,buf;
        void delay(uint z)
        {
        uint x,y;
        for(x=z;x>0;x--)
        for(y=110;y>0;y--);
        }
        uchar keyscan();
        void write_com(uchar com)
        {
        lcdrs=0;
        P0=com;
        delay(5);
        lcden=1;
        delay(5);
        lcden=0;
        }
        void write_data(uchar date)
        {
        P0=date;
        delay(5);
        lcden=1;
        delay(5);
        lcden=0;
        }
        void init()
        {
        dula=0;
        wula=0;
        lcden=0;
        i=0;
        write_com(0x38);
        write_com(0x0f);
        write_com(0x06);
        write_com(0x80);
        }
        void main()
        {
        init();
        while(1)
        {
        if(i>0)
        {
        lcdrs=1;
        delay(5);
        i=0;
        }
        write_data(table[keyscan()]);
        delay(5);
        lcdrs=0;
        delay(5);
        }
        }
        uchar keyscan()
        {
        P3=0xfe;
        temp=P3;
        temp=temp&0xf0;
        while(temp!=0xf0)
        {
        delay(5);
        temp=P3;
        temp=temp&0xf0;
        while(temp!=0xf0)
        {
        temp=P3;
        switch(temp)
        { i++;
        case 0xee:num=0;
        break;
        case 0xde:num=1;
        break;
        case 0xbe:num=2;
        break;
        case 0x7e:num=10;
        break;
        }
        while(temp!=0xf0)
        {
        temp=P3;
        temp=temp&0xf0;
        }
        }
        }

        P3=0xfd;
        temp=P3;
        temp=temp&0xf0;
        while(temp!=0xf0)
        {
        delay(5);
        temp=P3;
        temp=temp&0xf0;
        while(temp!=0xf0)
        {
        temp=P3;
        switch(temp)
        { i++;
        case 0xed:num=3;
        break;
        case 0xdd:num=4;
        break;
        case 0xbd:num=5;
        break;
        case 0x7d:num=11;
        break;
        }
        while(temp!=0xf0)
        {
        temp=P3;
        temp=temp&0xf0;
        }
        }
        }


        P3=0xfb;
        temp=P3;
        temp=temp&0xf0;
        while(temp!=0xf0)
        {
        delay(5);
        temp=P3;
        temp=temp&0xf0;
        while(temp!=0xf0)
        {
        temp=P3;
        switch(temp)
        { i++;
        case 0xeb:num=6;
        break;
        case 0xdb:num=7;
        break;
        case 0xbb:num=8;
        break;
        case 0x7b:num=12;
        break;
        }
        while(temp!=0xf0)
        {
        temp=P3;
        temp=temp&0xf0;
        }
        }
        }


        P3=0xf7;
        temp=P3;
        temp=temp&0xf0;
        while(temp!=0xf0)
        {
        delay(5);
        temp=P3;
        temp=temp&0xf0;
        while(temp!=0xf0)
        {
        temp=P3;
        switch(temp)
        { i++;
        case 0xe7:num=9;
        break;
        case 0xd7:num=15;
        break;
        case 0xb7:num=14;
        break;
        case 0x77:num=16;
        break;
        }
        while(temp!=0xf0)
        {
        temp=P3;
        temp=temp&0xf0;
        }
        }
        }
        return num;

        }
        這個就是我的程序,各位高手看看吧。就是按一次鍵,1602就一直顯示該數字,全屏都是,然后再按下一個鍵1602就顯示下一個數字,但是還是全屏一直顯示那個數字。
        [ 此貼被又一在2009-11-28 15:06重新編輯 ]


        QQ|手機版|MCU資訊論壇 ( 京ICP備18035221號-2 )|網站地圖

        GMT+8, 2025-5-2 12:12 , Processed in 0.039287 second(s), 8 queries , Redis On.

        Powered by Discuz! X3.5

        © 2001-2025 Discuz! Team.

        返回頂部
        精品亚洲欧美中文字幕在线看| 亚洲国产第一站精品蜜芽| 精品性影院一区二区三区内射| 国产精品无码无需播放器| 青青草国产精品久久久久| 精品久久久久久久久久中文字幕| 婷婷视频在线观看| xxx国产精品视频| 91无码人妻精品一区二区三区L| 久久99精品免费一区二区| 亚洲精品无码mv在线观看网站| 18国产精品白浆在线观看免费| 国产精品久久久久乳精品爆| 一本久久精品一区二区| 18国产精品白浆在线观看免费| 国产精品伊人久久伊人电影| 亚洲日韩精品一区二区三区无码| 欧美国产日本精品一区二区三区| 日本精品视频在线观看| 久久精品人人槡人妻人人玩AV| 亚洲一二成人精品区| 亚洲精品97久久中文字幕无码| 国产成人精品2021| 精品无码久久久久久久久久| 亚洲AV永久无码精品| 91精品国产91久久| 亚洲一区爱区精品无码| 久久久国产精品福利免费 | 国产一区二区三区欧美精品| 羞羞视频免费观看| 国产精品三级在线| 亚洲А∨精品天堂在线| 97久久精品无码一区二区天美| 久久久99精品一区二区| 国产精品熟女一区二区| 久久丝袜精品中文字幕| 国产欧美精品一区二区三区| 久久久久人妻一区精品果冻| 国产精品视频第一区二区三区| 久久亚洲国产精品123区| 92国产精品午夜福利|