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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3055|回復: 0
打印 上一主題 下一主題
收起左側

單片機電子時鐘仿真程序 可以設置鬧鐘,時鐘調節

[復制鏈接]
跳轉到指定樓層
樓主
設置鬧鈴鍵第3下設置鬧鈴小時,第4下設置鬧鈴分鐘,第5下確定鬧鈴,第6下結束鬧鈴設置
時間到達設置的鬧鈴時,led燈開始流水,直到過了一分鐘后(鬧鈴沒有秒)led燈停止

可以設置鬧鐘,時鐘調節
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar abc[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar moshi=0,a=0,b=0,c=0,i=0,j=0,bb=0;
char sec = 00,min = 11,hou = 12,hou_nl = 0,min_nl = 0;
char moshi_num = 0;
char n = 0;
char Close_naozhong = 0;
sbit key1 = P1^0;
sbit key2 = P1^1;
sbit key3 = P1^2;
sbit key4 = P1^3;
sbit key5 = P1^4;
sbit key6 = P1^5;
sbit key7 = P1^6;
#define led P3
void delay(uchar x)
{
        while(x--);
}
void key(void)
{
        if(key1 == 1)
        delay(200);
        if(key1 == 1)a = 1;
        if(a == 1 && key1 == 0)
        {
                moshi++;
                if(moshi > 5)moshi = 0;
                a = 0;
                moshi_num = moshi;
        }
        if(key2 == 1)
        delay(200);
        if(key2 == 1)bb = 1;
        if(bb == 1 && key2 == 0)
        {
                if(moshi == 1)hou++;
                if(moshi == 2)min++;
                if(moshi == 3)hou_nl++;if(hou_nl > 23)hou_nl = 0;
                if(moshi == 4)min_nl++;if(min_nl > 59)min_nl = 0;
                bb = 0;
        }
        if(key3 == 1)
        delay(200);
        if(key3 == 1)c = 1;
        if(c == 1 && key3 == 0)
        {
                if(moshi == 1)hou--;if(hou < 0)hou = 23;
                if(moshi == 2)min--;if(min < 0)min = 59;
                if(moshi == 3)hou_nl--;if(hou_nl < 0)hou_nl = 23;
                if(moshi == 4)min_nl--;if(min_nl < 0)min_nl = 59;
                c = 0;
        }
        if(key4 == 0)moshi = 5;
        if(key4 == 1)moshi = moshi_num;

        if(key5==0)
        {
                delay(200);
                TR0 = 1;
        }
        if(key6==0)
        {
                delay(200);
                TR0 = 0;
        }
        if(key7==0)
        {
                delay(200);
                Close_naozhong = 1;
        }
}
void t0_init(void)
{
        TMOD = 0X01;
        TH0 = 60536 / 256;
        TL0 = 60536 % 256;
        ET0 = 1;
        EA = 1;
        TR0 = 1;
}
void t0(void)interrupt 1
{
        TH0 = 60536 / 256;
        TL0 = 60536 % 256;
        i++;
        if(i == 200)
        {
                i = 0;
                if(moshi == 0)sec++;
                b = ~b;
        }
        if(sec > 59)
        {
                sec = 0;
                min++;
        }
        if(min == 60)
        {
                min = 0;
                hou++;
        }
        if(hou > 23)hou = 0;
}
void main(void)
{
        t0_init();
        led = 0;
        while(1)
        {
                key();
                P0 = 0xff;
                if(moshi == 0)
                {        
                        switch(j)
                        {
                                case 0:P0 = abc[hou/10];P2 = ~0x01;break;
                                case 1:P0 = abc[hou%10]&(0x7f|b);P2 = ~0x02;break;
                                case 2:P0 = abc[min/10];P2 = ~0x04;break;
                                case 3:P0 = abc[min%10]&(0x7f|b);P2 = ~0x08;break;
                                case 4:P0 = abc[sec/10];P2 = ~0x10;break;
                                case 5:P0 = abc[sec%10];P2 = ~0x20;break;
                        }
                }
                if(moshi == 1)
                {
                        switch(j)
                        {
                                case 0:P0 = abc[hou/10]|b;P2 = ~0x01;break;
                                case 1:P0 = abc[hou%10]&0x7f|b;P2 = ~0x02;break;
                                case 2:P0 = abc[min/10];P2 = ~0x04;break;
                                case 3:P0 = abc[min%10]&(0x7f|b);P2 = ~0x08;break;
                                case 4:P0 = abc[sec/10];P2 = ~0x10;break;
                                case 5:P0 = abc[sec%10];P2 = ~0x20;break;
                        }
                }
                if(moshi == 2)
                {        
                        switch(j)
                        {
                                case 0:P0 = abc[hou/10];P2 = ~0x01;break;
                                case 1:P0 = abc[hou%10]&(0x7f|b);P2 = ~0x02;break;
                                case 2:P0 = abc[min/10]|b;P2 = ~0x04;break;
                                case 3:P0 = abc[min%10]&0x7f|b;P2 = ~0x08;break;
                                case 4:P0 = abc[sec/10];P2 = ~0x10;break;
                                case 5:P0 = abc[sec%10];P2 = ~0x20;break;
                        }
                }
                if(moshi == 3)
                {
                        switch(j)
                        {
                                case 0:P0 = abc[hou_nl/10]|b;P2 = ~0x01;break;
                                case 1:P0 = abc[hou_nl%10]&0x7f|b;P2 = ~0x02;break;
                                case 2:P0 = abc[min_nl/10];P2 = ~0x04;break;
                                case 3:P0 = abc[min_nl%10]&(0x7f|b);P2 = ~0x08;break;
                                case 4:P0 = 0xc6;P2 = ~0x10;break;
                                case 5:P0 = abc[1];P2 = ~0x20;break;
                        }
                }
                        if(moshi == 4)
                {
                        switch(j)
                        {
                                case 0:P0 = abc[hou_nl/10];P2 = ~0x01;break;
                                case 1:P0 = abc[hou_nl%10]&(0x7f|b);P2 = ~0x02;break;
                                case 2:P0 = abc[min_nl/10]|b;P2 = ~0x04;break;
                                case 3:P0 = abc[min_nl%10]&0x7f|b;P2 = ~0x08;break;
                                case 4:P0 = 0xc6;P2 = ~0x10;break;
                                case 5:P0 = abc[2];P2 = ~0x20;break;
                        }
                }
                        if(moshi == 5)
                {
                        switch(j)
                        {
                                case 0:P0 = abc[hou_nl/10];P2 = ~0x01;break;
                                case 1:P0 = abc[hou_nl%10]&(0x7f|b);P2 = ~0x02;break;
                                case 2:P0 = abc[min_nl/10];P2 = ~0x04;break;
                                case 3:P0 = abc[min_nl%10]&(0x7f|b);P2 = ~0x08;break;
                                case 4:P0 = 0xc6;P2 = ~0x10;break;
                                case 5:P0 = 0xc6;P2 = ~0x20;break;
                        }
                }
                j++;
                if(j > 5)j = 0;
                if(hou == hou_nl && min == min_nl && moshi<=2)
                {
                        if( Close_naozhong == 0 )
                         {
                           led = 0x01<<n;
                           n++;
                           if(n > 8)
                           n = 0;
                           switch(j)
                                {
                                        case 0:P0 = abc[hou/10]|b;P2 = ~0x01;break;
                                        case 1:P0 = abc[hou%10]&0x7f|b;P2 = ~0x02;break;
                                        case 2:P0 = abc[min/10]|b;P2 = ~0x04;break;
                                        case 3:P0 = abc[min%10]&0x7f|b;P2 = ~0x08;break;
                                        case 4:P0 = abc[sec/10]|b;P2 = ~0x10;break;
                                        case 5:P0 = abc[sec%10]|b;P2 = ~0x20;break;
                                }

                          }
                          if( Close_naozhong == 1 )
                          led = 0x00;
                 }
                 else
                 {
                         led = 0;
                         Close_naozhong = 0;
                        }

        }
}



GG%`PXRZG15J72~29QMI$NI.png (26.19 KB, 下載次數: 93)

GG%`PXRZG15J72~29QMI$NI.png

電子時鐘仿真.rar

3.21 MB, 下載次數: 41, 下載積分: 黑幣 -5

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品一二三区 | 99精品欧美一区二区三区综合在线 | 国产原创在线观看 | 国产日韩在线观看一区 | 欧美日韩综合视频 | 欧美一区二区三区在线观看 | 国产成人精品在线播放 | www.中文字幕 | 欧美视频 亚洲视频 | 在线观看中文字幕视频 | 久草在线在线精品观看 | 国产精品综合 | 中文字幕 视频一区 | 国产一区二区麻豆 | 91www在线观看| 欧美jizzhd精品欧美巨大免费 | 久久久国产精品 | 在线播放一区二区三区 | 精品国产乱码一区二区三区 | 高清视频一区二区三区 | 成人精品 | 久久精品视频免费观看 | 韩国主播午夜大尺度福利 | 91香蕉视频在线观看 | 小早川怜子xxxxaⅴ在线 | 国产黄色大片网站 | 亚洲精品久久久久久一区二区 | 欧美色综合一区二区三区 | 性做久久久久久免费观看欧美 | 欧美一区二区三区在线观看 | 四虎成人精品永久免费av九九 | 日韩免费视频一区二区 | 成人久久久 | 日本免费一区二区三区 | 电影午夜精品一区二区三区 | 午夜精品一区二区三区在线观看 | 亚洲欧美日韩在线不卡 | 久久久久国产精品人 | 久久骚 | 亚洲综合视频 | 亚洲国产精品99久久久久久久久 |