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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2145|回復(fù): 2
收起左側(cè)

修改程序,能不能加中斷器、計(jì)時(shí)器、定時(shí)器(三選二)

[復(fù)制鏈接]
ID:338876 發(fā)表于 2018-5-27 14:39 | 顯示全部樓層 |閱讀模式
10黑幣
數(shù)碼管顯示閃爍也解決一下

新建 Microsoft Word 文檔.docx

14.74 KB, 下載次數(shù): 8

最佳答案

查看完整內(nèi)容

#include #define uint unsigned int #define uchar unsigned char sbit led0=P2^2; sbit buzzer=P2^3; sbit dula=P2^6; //聲明段選線選通端 sbit wela=P2^7; //聲明位選線選通端 sbit clear=P3^4; uchar key,shi,ge,count; uchar code tab[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71, 0x76,0x79,0x38,0x3f}; uchar k=0; /*延時(shí)子 ...
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2018-5-27 14:39 | 顯示全部樓層
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit led0=P2^2;
sbit buzzer=P2^3;
sbit dula=P2^6;                //聲明段選線選通端
sbit wela=P2^7;                //聲明位選線選通端
sbit clear=P3^4;
uchar key,shi,ge,count;
uchar code tab[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,
0x76,0x79,0x38,0x3f};
uchar k=0;
/*延時(shí)子函數(shù),xms為形參*/
/*void delay(uint xms)
{
        uint x,y;
        for(x=xms;x>0;x--)
                for(y=110;y>0;y--);
}*/

/*矩陣鍵盤掃描子程序*/
void matrixkeyscan()
{
        static bit sign=0;                        //按鍵自鎖標(biāo)志
        static uint count=0;                //消抖計(jì)數(shù)變量                       
        uchar num=0;                                //臨時(shí)變量
        P3=0xf0;                                        //賦值P3 1111 0000
        if(P3!=0xf0)                                //檢測(cè)有按鍵按下
        {
                count++;                                //消抖計(jì)數(shù)
                if((count>=500)&&(sign==0))
                {                       
                        sign=1;                                //按鍵自鎖標(biāo)志置1
                        num=P3;                                //保存P3值xxxx 0000,x為0或1
                        num|=0x0f;                        //保存num按位或0x0f值xxxx 1111
                        P3=num;                                //賦值P3 xxxx 1111
                        num=P3;                                //保存P3值xxxx xxxx
                        switch(num)
                        {
                                case 0xee: key=16; break;
                                case 0xde: key=15; break;
                                case 0xbe: key=14; break;
                                case 0x7e: key=13; break;
                                case 0xed: key=12; break;
                                case 0xdd: key=11; break;
                                case 0xbd: key=10; break;
                                case 0x7d: key= 9; break;
                                case 0xeb: key= 8; break;
                                case 0xdb: key= 7; break;
                                case 0xbb: key= 6; break;
                                case 0x7b: key= 5; break;
                                case 0xe7: key= 4; break;
                                case 0xd7: key= 3; break;
                                case 0xb7: key= 2; break;
                                case 0x77: key= 1; break;
                        }
                        k=1;
                }
        }
        else                                                //鍵抬起
        {
                sign=0;                                //按鍵自鎖標(biāo)志清0
                count=0;                                //消抖計(jì)數(shù)清0
        }
}

void alarm()
{  
        static uint i=0;
        if(k==1)
        {
                buzzer=0;
                led0=0;
                i++;
                if(i==1000)
                {
                        i=0;
                        k=0;
                        buzzer=1;
                        led0=1;
                }
//        buzzer=~buzzer;
//        led0=~led0;
//        delay(30);
        }
}

void display(uchar num)
{
        static uchar i=0;
        P0=0x00;//消隱
        dula=1;
        dula=0;
        if(i==0)
        {
                P0=0xfe;
                wela=1;
                wela=0;

                P0=tab[num/10];
                dula=1;
                dula=0;
                i=1;
        }
        else
        {
                P0=0xfd;
                wela=1;
                wela=0;

                P0=tab[num%10];
                dula=1;
                dula=0;
                i=0;
        }
}
void main()
{
        P0=0x00;
        while(1)
        {
                matrixkeyscan();
                alarm();
                display(key);
        }
}
回復(fù)

使用道具 舉報(bào)

ID:155507 發(fā)表于 2018-5-27 21:28 | 顯示全部樓層
樓主未描述清楚,
1、你想做什么?達(dá)成什么目標(biāo)?
2、你現(xiàn)在是如何做的?
3、做完成后應(yīng)該出什么?
4、結(jié)果現(xiàn)在出現(xiàn)了什么?

發(fā)一下 原理圖
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品一区二区三区在线播放 | 99re热精品视频 | 中文字幕亚洲欧美日韩在线不卡 | 国产欧美视频一区二区三区 | 酒色成人网 | 成人做爰69片免费观看 | 四虎在线观看 | 一级黄色片网址 | 精品视频一区二区 | 亚洲视频免费播放 | 亚洲一一在线 | 99精品在线免费观看 | 欧美人成在线视频 | 亚洲精品一区二区网址 | 黄色日批视频 | 欧美不卡一区二区三区 | 亚洲 欧美 另类 综合 偷拍 | 国产免费一区二区 | 久久免费观看视频 | 国产一级一级国产 | 久久国产精品免费一区二区三区 | 日韩在线观看网站 | 亚洲免费在线 | 久久99精品久久久久久 | 久久成人国产 | 国产伊人精品 | 波多野结衣一区二区 | re久久| 欧美在线一区二区三区 | 国产日产精品一区二区三区四区 | 国产99久久精品一区二区永久免费 | 日本三级全黄三级三级三级口周 | 综合激情久久 | 精品日韩一区 | 操操网站 | 91精品欧美久久久久久久 | av中文字幕在线观看 | 日韩欧美专区 | 成人av一区| 成人欧美一区二区三区黑人孕妇 | 国产精品视频久久久久久 |