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

        鍵盤接口.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.

        返回頂部
        国产精品热久久无码av| 欧美精品在线免费| 久久久一本精品99久久精品88| 国产精品免费αv视频| 精品日韩在线视频一区二区三区| 国产AV无码专区亚洲精品| 亚洲韩国精品无码一区二区三区| 无码AⅤ精品一区二区三区| 国产综合精品久久亚洲| 国产精品xxxx国产喷水亚洲国产精品无码久久一区| 国产精品视频九九九| 精品视频在线免费观看| 国产精品无码a∨精品| 无码精品久久久久久人妻中字| 中国又粗又大又爽的毛片| 久久久精品视频免费观看| 国产精品麻豆VA在线播放| 人妻少妇精品无码专区动漫| 日韩精品专区AV无码| 久久99精品国产| 免费精品精品国产欧美在线| 亚洲av午夜成人片精品网站| 四虎影视国产精品永久在线 | 日本精品高清一区二区不卡| 欧美日韩精品在线观看| 日韩精品一区二区三区中文| 四虎精品成人免费观看| 美女扒开粉嫩尿口| 中文字幕在线亚洲精品| 4438亚洲最大| 亚洲日本精品一区二区| 亚洲欧美日韩另类精品一区二区三区| 亚洲欧美精品午睡沙发| 国产精品午睡沙发系列| 久久精品这里只有精99品| 精品久久久久久成人AV| 97r久久精品国产99国产精| 国产亚洲福利精品一区| 亚洲国产精品自在线一区二区| 亚洲精品欧美二区三区中文字幕| 台湾佬中文娱乐22|