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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3050|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

拋磚引玉之七“八路實(shí)時(shí)控制系統(tǒng)”

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:67370 發(fā)表于 2017-9-27 10:46 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
一直想做個(gè)多路實(shí)時(shí)控制器,實(shí)現(xiàn)自動(dòng)控制。網(wǎng)上找了幾個(gè)實(shí)例不滿意,還是自己攢一個(gè)與網(wǎng)友分享。





/*********************************************************************************/
//項(xiàng)目名稱: 智能實(shí)時(shí)八路繼電器控制系統(tǒng)
//單片機(jī)  :STC89C52RC
//
//
/**********************************頭文件*****************************************/
#include <reg52.h>
#include <intrins.h>
#include <stdio.h>

/**********************************宏定義*****************************************/
#define INT8U unsigned char
#define INT16U unsigned int

/*****************************DS1302端口引腳定義**********************************/
sbit SCLK = P3^5;         //控制數(shù)據(jù)時(shí)鐘
sbit IO   = P3^6;         //數(shù)據(jù)口
sbit RST  = P3^7;         //使能端、復(fù)位端

/*****************************寫時(shí)分秒地址定義************************************/
//INT8U DATA[]={};          //初始化使用
#define write_nian 0x8A
#define write_yue  0x88
#define write_ri   0x86
#define write_shi  0x84
#define write_fen  0x82
#define write_miao 0x80

/*****************************讀時(shí)分秒地址定義************************************/
#define read_shi   0x85
#define read_fen   0x83
#define read_miao  0x81
//bit miao_flag=0;
bit flag;
INT8U miao_num;
//INT8U Dmiao;
INT8U shi,fen,miao;  //讀出數(shù)據(jù)存儲(chǔ)變量

/*****************************繼電器端口引腳定義**********************************/
sbit COM1 = P0^0;                 //第一路繼電器控制
sbit COM2 = P0^1;                 //第二路繼電器控制                 
sbit COM3 = P0^2;                 //第三路繼電器控制
sbit COM4 = P0^3;                 //第四路繼電器控制
sbit COM5 = P0^4;                 //第五路繼電器控制
sbit COM6 = P0^5;                 //第六路繼電器控制
sbit COM7 = P0^6;                 //第七路繼電器控制
sbit COM8 = P0^7;                 //第八路繼電器控制
INT8U ON_OFF_number = 0, COM_number = 0, MODE_number = 0;
INT8U SMG_display = 0;
INT8U SET_COM1,        SET_COM2, SET_COM3,        SET_COM4, SET_COM5,        SET_COM6, SET_COM7,        SET_COM8;

/*************************** 8路繼電器開關(guān)時(shí)間數(shù)列********************************/
INT8U JDQ_ON_OFF[10][4]=
{        
        0, 0, 0, 0,        0,
        9, 15, 9, 15,        
        9, 17, 9, 50,
        9, 16, 9, 26,        
        9, 18, 9, 45,
        9, 19, 9, 39,        
        9, 21, 9, 40,
        9, 26, 9, 48,
        9, 20, 9, 30,
        0, 0, 0
};

/******************************按鍵端口引腳定義***********************************/
sbit KEY1 = P1^0;         //設(shè)置繼電器通道1-8
sbit KEY2 = P1^1;         //設(shè)置定時(shí)功能
sbit KEY3 = P1^2;         //小時(shí)加
sbit KEY4 = P1^3;         //分鐘加
sbit KEY5 = P1^4;         //時(shí)鐘設(shè)置
sbit KEY6 = P1^5;         //時(shí)鐘加
INT8U KEY_number=0;
INT8U SHI_shi, SHI_ge, FEN_shi, FEN_ge;
INT8U on_shi, on_fen, off_shi, off_fen;
INT8U JDQ_shi, JDQ_fen, JDQ_miao;

/*****************************功能LED端口引腳定義*********************************/
sbit GREEN_LED   = P1^6;   //黃燈亮設(shè)置繼電器打開時(shí)間
sbit YELLOW_LED  = P1^7;   //綠燈亮設(shè)置繼電器關(guān)閉時(shí)間

/*****************************蜂鳴器端口引腳定義**********************************/  
sbit BUZZER = P3^4;

/***************************數(shù)碼管引腳/真值表定義*********************************/
#define DUAN P2           //段選
sbit SEC  = P2^0;        //
sbit WE_1 = P3^0;        //千位選
sbit WE_2 = P3^1;        //百位選
sbit WE_3 = P3^2;        //十位選
sbit WE_4 = P3^3;        //個(gè)位選
INT8U code SMG_array[]=
{
        0x03, 0x9F, 0x25, 0x0D, 0x99, 0x49, 0x41, 0x1F, 0x01, 0x09           //自定義共陽碼
};

/*****************************毫秒級(jí)延時(shí)函數(shù)**************************************/
void delay_ms(INT16U ms)
{
        INT16U i, j;
        for(i=0; i<ms; i++)
                for(j=0; j<110; j++);
}

/*******************************蜂鳴器函數(shù)****************************************/
void Buzzer(INT16U Number,INT8U Time)            //可以選擇鳴響次數(shù)和音頻
{
        INT8U h,j;
        INT16U i ;
        for (h = 0; h < Number; h ++)
        {
                for (i = 0; i < Time; i ++)
                {
                        BUZZER = ~BUZZER;               //BUZZER取反
                        for (j = 0 ; j < 100 ; j ++);   //需要產(chǎn)生方波,調(diào)節(jié)音頻
                }
                delay_ms(100);                         //間隔時(shí)間
        }
        BUZZER = 1;                  //注意PNP=0;NPN=1關(guān)閉蜂鳴器,否則三極管電流會(huì)很大。
}

/***************************定時(shí)中斷0初始化函數(shù)***********************************/
void TIMER0_init(void)  //定時(shí)50ms一個(gè)中斷
{
        TMOD = 0x01;
        TH0  = (65536-50000)/256;
        TL0  = (65536-50000)%256;
        IE   = 0x82;
        TR0  = 1;                          
}

/******************************DS1302讀函數(shù)***************************************/
INT8U READ_1302(INT8U add)
{
        INT8U i,date;
        RST=0;   //禁止讀寫數(shù)據(jù)
        for(i=0;i<8;i++)
        {
                RST=1;
                SCLK=0;
                IO=add&0x01;
                add>>=1;
                SCLK=1;
        }
        for(i=0;i<8;i++)
        {
                if(IO)
                date=date|0x80;
                else
                date=date|0x00;
                SCLK=1;
                date>>=1;
                SCLK=0;
        }
        RST=0;
        date=date/16*10+date%16;//進(jìn)制轉(zhuǎn)換 16轉(zhuǎn)10進(jìn)制
        IO=0;     //數(shù)據(jù)讀完后,IO口必須為0,不然小時(shí)一直顯示85
        return date;
}

/******************************DS1302寫函數(shù)***************************************/
void write_1302(INT8U add, INT8U dat)
{
        INT8U i;
        RST=0;     //禁止讀寫數(shù)據(jù)
        SCLK=0;   
        for(i=0;i<8;i++)    //寫地址
        {
                RST=1;     //允許讀寫數(shù)據(jù)
                SCLK=0;
                IO=add&0x01;  
                add>>=1;
                SCLK=1;
        }
        for(i=0;i<8;i++)    //寫數(shù)據(jù)
        {
                RST=1;    //允許讀寫數(shù)據(jù)
                SCLK=0;
                IO=dat&0x01;
                dat>>=1;
                SCLK=1;
        }
        RST=0;
}

/****************************DS1302初始化函數(shù)*************************************/
/*void DS1302_init(void)      //設(shè)置時(shí)間用一次即可
{
        flag=READ_1302(0x81);
        if(flag&0x80)
        write_1302(0x8e,0x00);  //保護(hù)取消,可以進(jìn)行讀寫操作
        write_1302(write_miao,0x56);
        write_1302(write_fen,0x49);
        write_1302(write_shi,0x14);
        write_1302(0x90,0xa5);
        write_1302(0x8e,0x80);   //保護(hù)啟動(dòng),不能進(jìn)行讀寫操作
}        

/*****************************數(shù)碼管顯示函數(shù)**************************************/
void DISPLAY_time(INT8U shi, INT8U fen)
{
        WE_1 = SMG_display;
        DUAN = SMG_array[SHI_shi=shi/10];
        delay_ms(5);
        WE_1 = 1;
        WE_2 = SMG_display;
        DUAN = SMG_array[SHI_ge=shi%10];
        delay_ms(5);
        WE_2 = 1;
        WE_3 = SMG_display;
        DUAN = SMG_array[FEN_shi=fen/10];
        delay_ms(5);
        WE_3 = 1;
        WE_4 = SMG_display;
        DUAN = SMG_array[FEN_ge=fen%10];
        delay_ms(5);
        WE_4 = 1;
}        

/***************************繼電器控制顯示函數(shù)************************************/
void DISPLAY_set(INT8U set_shi, INT8U set_fen)
{
        WE_1 = 0;
        DUAN = SMG_array[set_shi/10];
        delay_ms(10);
        WE_1 = 1;
        WE_2 = 0;
        DUAN = SMG_array[set_shi%10];
        delay_ms(10);
        WE_2 = 1;
        WE_3 = 0;
        DUAN = SMG_array[set_fen/10];
        delay_ms(10);
        WE_3 = 1;
        WE_4 = 0;
        DUAN = SMG_array[set_fen%10];
        delay_ms(10);
        WE_4 = 1;
}

/******************************讀取時(shí)間函數(shù)***************************************/
void READ_time(void)
{
        fen = READ_1302(read_fen);
        shi = READ_1302(read_shi);
//        if(shi<shi)
//                Buzzer(2, 100);          //整點(diǎn)報(bào)時(shí)
        DISPLAY_time(shi, fen);
}

/******************************按鍵掃描函數(shù)***************************************/
void KEYSCAN(void)         
{
        if(KEY5 == 0)           //時(shí)鐘設(shè)置按鍵按下
        {
                delay_ms(10);
                if(KEY5==0)
                {
                        while(!KEY5)
                        Buzzer(1,100);
                        DISPLAY_time(shi,fen); //加上這句,按鍵按下就不會(huì)閃
                        KEY_number ++;
                        if(KEY_number == 1)        //分閃爍
                        {
                                write_1302(0x8E,0x00);  //
                                write_1302(write_fen,0x80);
                        }
                        if(KEY_number == 3)         //時(shí)鐘啟動(dòng)
                        {
                                KEY_number = 0;
                                write_1302(write_fen , 0x00);
                                write_1302(0x8E, 0x80);  //保護(hù)取消
                        }
                }
        }
        if(KEY_number == 1)        //分鐘調(diào)節(jié)
        {
                if(KEY6 == 0)       //加
                {
                        delay_ms(10);
                        if(KEY6 == 0)
                        Buzzer(1,100);
                        {
                                while(!KEY6)
                                DISPLAY_time(shi,fen); //加上這句,按鍵按下就不會(huì)閃
                                fen++;
                                if(fen==60)
                                fen=0;
                                write_1302(write_fen,fen/10*16+fen%10); //寫入1302
                        }
                }
        }
        if(KEY_number == 2)
        {
                if(KEY6 == 0)
                {
                        delay_ms(10);
                        if(KEY6 == 0)
                        Buzzer(1,100);
                        {
                                while(!KEY6)
                                DISPLAY_time(shi,fen); //加上這句,按鍵按下就不會(huì)閃
                                shi++;
                                if(shi==24)
                                shi=0;
                                write_1302(write_shi,shi/10*16+shi%10);
                                READ_time();
                        }
                }
        }
}

void JDQ_ON_OFF_IF(void)
{
        JDQ_miao = READ_1302(read_miao);
        JDQ_fen  = READ_1302(read_fen);
        JDQ_shi  = READ_1302(read_shi);
        if(JDQ_ON_OFF[SET_COM1][1]!=JDQ_ON_OFF[SET_COM1][3] || JDQ_ON_OFF[SET_COM1][2]!=JDQ_ON_OFF[SET_COM1][4])
        {
                if(JDQ_ON_OFF[SET_COM1][1]==JDQ_shi && JDQ_ON_OFF[SET_COM1][2]==JDQ_fen && 0==JDQ_miao)
                {
                        COM1 = 0;   //打開第一路繼電器
                        delay_ms(1000);
                        Buzzer(1,40);
                }
                if(JDQ_ON_OFF[SET_COM1][3]==JDQ_shi && JDQ_ON_OFF[SET_COM1][4]==JDQ_fen && 0==JDQ_miao)
                {
                        COM1 = 1;   //關(guān)閉第一路繼電器
                        delay_ms(1000);
                        Buzzer(1,40);
                }
        }
        if(JDQ_ON_OFF[SET_COM2][1]!=JDQ_ON_OFF[SET_COM2][3] || JDQ_ON_OFF[SET_COM2][2]!=JDQ_ON_OFF[SET_COM2][4])
        {
                if(JDQ_ON_OFF[SET_COM2][1]==JDQ_shi && JDQ_ON_OFF[SET_COM2][2]==JDQ_fen && 0==JDQ_miao)
                {
                        COM2 = 0;   //打開第二路繼電器
                        delay_ms(1000);
                        Buzzer(1,40);
                }
                if(JDQ_ON_OFF[SET_COM2][3]==JDQ_shi && JDQ_ON_OFF[SET_COM2][4]==JDQ_fen && 0==JDQ_miao)
                {
                        COM2 = 1;   //關(guān)閉第二路繼電器
                        delay_ms(1000);
                        Buzzer(1,40);
                }
        }
        if(JDQ_ON_OFF[SET_COM3][1]!=JDQ_ON_OFF[SET_COM3][3] || JDQ_ON_OFF[SET_COM3][2]!=JDQ_ON_OFF[SET_COM3][4])
        {
                if(JDQ_ON_OFF[SET_COM3][1]==JDQ_shi && JDQ_ON_OFF[SET_COM3][2]==JDQ_fen && 0==JDQ_miao)
                {
                        COM3 = 0;   //打開第三路繼電器
                        delay_ms(1000);
                        Buzzer(1,40);
                }
                if(JDQ_ON_OFF[SET_COM3][3]==JDQ_shi && JDQ_ON_OFF[SET_COM3][4]==JDQ_fen && 0==JDQ_miao)
                {
                        COM3 = 1;   //關(guān)閉第三路繼電器
                        delay_ms(1000);
                        Buzzer(1,40);
                }
        }
        if(JDQ_ON_OFF[SET_COM4][1]!=JDQ_ON_OFF[SET_COM4][3] || JDQ_ON_OFF[SET_COM4][2]!=JDQ_ON_OFF[SET_COM4][4])
        {
                if(JDQ_ON_OFF[SET_COM4][1]==JDQ_shi && JDQ_ON_OFF[SET_COM4][2]==JDQ_fen && 0==JDQ_miao)
                {
                        COM4 = 0;   //打開第四路繼電器
                        delay_ms(1000);
                        Buzzer(1,40);
                }
                if(JDQ_ON_OFF[SET_COM4][3]==JDQ_shi && JDQ_ON_OFF[SET_COM4][4]==JDQ_fen && 0==JDQ_miao)
                {
                        COM4 = 1;   //關(guān)閉第四路繼電器
                        delay_ms(1000);
                        Buzzer(1,40);
                }
        }
        if(JDQ_ON_OFF[SET_COM5][1]!=JDQ_ON_OFF[SET_COM5][3] || JDQ_ON_OFF[SET_COM5][2]!=JDQ_ON_OFF[SET_COM5][4])
        {         
                if(JDQ_ON_OFF[SET_COM5][1]==JDQ_shi && JDQ_ON_OFF[SET_COM5][2]==JDQ_fen && 0==JDQ_miao)
                {
                        COM5 = 0;   //打開第五路繼電器
                        delay_ms(1000);
                        Buzzer(1,40);
                }
                if(JDQ_ON_OFF[SET_COM5][3]==JDQ_shi && JDQ_ON_OFF[SET_COM5][4]==JDQ_fen && 0==JDQ_miao)
                {
                        COM5 = 1;   //關(guān)閉第五路繼電器
                        delay_ms(1000);
                        Buzzer(1,40);
                }
        }
        if(JDQ_ON_OFF[SET_COM6][1]!=JDQ_ON_OFF[SET_COM6][3] || JDQ_ON_OFF[SET_COM6][2]!=JDQ_ON_OFF[SET_COM6][4])
        {
                if(JDQ_ON_OFF[SET_COM6][1]==JDQ_shi && JDQ_ON_OFF[SET_COM6][2]==JDQ_fen && 0==JDQ_miao)
                {
                        COM6 = 0;   //打開第六路繼電器
                        delay_ms(1000);
                        Buzzer(1,40);
                }
                if(JDQ_ON_OFF[SET_COM6][3]==JDQ_shi && JDQ_ON_OFF[SET_COM6][4]==JDQ_fen && 0==JDQ_miao)
                {
                        COM6 = 1;   //關(guān)閉第六路繼電器
                        delay_ms(1000);
                        Buzzer(1,40);
                }
        }
        if(JDQ_ON_OFF[SET_COM7][1]!=JDQ_ON_OFF[SET_COM7][3] || JDQ_ON_OFF[SET_COM7][2]!=JDQ_ON_OFF[SET_COM7][4])
        {
                if(JDQ_ON_OFF[SET_COM7][1]==JDQ_shi && JDQ_ON_OFF[SET_COM7][2]==JDQ_fen && 0==JDQ_miao)
                {
                        COM7 = 0;   //打開第七路繼電器
                        delay_ms(1000);
                        Buzzer(1,40);
                }
                if(JDQ_ON_OFF[SET_COM7][3]==JDQ_shi && JDQ_ON_OFF[SET_COM7][4]==JDQ_fen && 0==JDQ_miao)
                {
                        COM7 = 1;   //關(guān)閉第七路繼電器
                        delay_ms(1000);
                        Buzzer(1,40);
                }
        }
        if(JDQ_ON_OFF[SET_COM8][1]!=JDQ_ON_OFF[SET_COM8][3] || JDQ_ON_OFF[SET_COM8][2]!=JDQ_ON_OFF[SET_COM8][4])
        {
                if(JDQ_ON_OFF[SET_COM8][1]==JDQ_shi && JDQ_ON_OFF[SET_COM8][2]==JDQ_fen && 0==JDQ_miao)
                {
                        COM8 = 0;   //打開第八路繼電器
                        delay_ms(1000);
                        Buzzer(1,40);
                }
                if(JDQ_ON_OFF[SET_COM8][3]==JDQ_shi && JDQ_ON_OFF[SET_COM8][4]==JDQ_fen && 0==JDQ_miao)
                {
                        COM8 = 1;   //關(guān)閉第八路繼電器
                        delay_ms(1000);
                        Buzzer(1,40);
                }
        }         
}

void SET_JDQ(void)
{
        if(KEY2==0)
        {
                delay_ms(10);
                if(KEY2==0)
                {
                        while(!KEY2)
                        delay_ms(10);
                        MODE_number ++;         
                        if(MODE_number==1)
                        {
                                GREEN_LED = 0;
                                YELLOW_LED  = 1;
                                Buzzer(1,80);
                                on_shi = READ_1302(read_shi);
                                on_fen = READ_1302(read_fen)+5;
                                if(on_fen>59)
                                        on_fen = 0;
                        }
                        if(MODE_number==2)
                        {
                                GREEN_LED = 1;
                                YELLOW_LED  = 0;
                                Buzzer(1,80);
                                off_shi = READ_1302(read_shi);
                                off_fen = READ_1302(read_fen)+15;
                                if(off_fen>59)
                                        off_fen = 0;
                        }
                        if(MODE_number>2)
                        {
                                GREEN_LED = 1;
                                YELLOW_LED  = 1;
                                Buzzer(1,80);
                                MODE_number=0;
//                                SET_COM[COM_number] = COM_number;
                        }
                }
        }
        if(MODE_number==1)
        {
                if(KEY3==0)
                {
                        delay_ms(10);
                        if(KEY3==0)
                        {
                                while(!KEY3)
                                delay_ms(10);
                                JDQ_ON_OFF[COM_number][1] ++;
                                Buzzer(1,80);
                                if(JDQ_ON_OFF[COM_number][1]>23)
                                        JDQ_ON_OFF[COM_number][1] = 0;
                        }
                }
                if(KEY4==0)
                {
                        delay_ms(10);
                        if(KEY4==0)
                        {
                                while(!KEY4)
                                delay_ms(10);
                                JDQ_ON_OFF[COM_number][2] ++;
                                Buzzer(1,80);
                                if(JDQ_ON_OFF[COM_number][2]>59)
                                        JDQ_ON_OFF[COM_number][2] = 0;
                        }
                }
                DISPLAY_set(JDQ_ON_OFF[COM_number][1], JDQ_ON_OFF[COM_number][2]);
        }
        if(MODE_number==2)
        {
                if(KEY3==0)
                {
                        delay_ms(10);
                        if(KEY3==0)
                        {
                                while(!KEY3)
                                delay_ms(10);
                                JDQ_ON_OFF[COM_number][3] ++;
                                Buzzer(1,80);
                                if(JDQ_ON_OFF[COM_number][3]>23)
                                        JDQ_ON_OFF[COM_number][3] = 0;
                        }
                }
                if(KEY4==0)
                {
                        delay_ms(10);
                        if(KEY4==0)
                        {
                                while(!KEY4)
                                delay_ms(10);
                                JDQ_ON_OFF[COM_number][4] ++;
                                Buzzer(1,80);
                                if(JDQ_ON_OFF[COM_number][4]>59)
                                        JDQ_ON_OFF[COM_number][4] = 0;
                        }
                }
                DISPLAY_set(JDQ_ON_OFF[COM_number][3], JDQ_ON_OFF[COM_number][4]);
        }
        JDQ_ON_OFF_IF();        
}

/**************************設(shè)置繼電器開關(guān)時(shí)間函數(shù)*********************************/
void KEYJDQ(void)      
{
        if(KEY1==0)
        {
                delay_ms(10);
                if(KEY1==0)
                {
                        while(!KEY1)            
                        SMG_display = 1;           //關(guān)閉時(shí)間顯示
                        delay_ms(5);
                        COM_number++;  
                        if(COM_number==1)          //選擇設(shè)置繼電器通道1
                        {   
                                Buzzer(1,80);
                                WE_1 = 0;
                                DUAN = SMG_array[COM_number];
                                delay_ms(500);
                        }
                        if(COM_number==2)          //選擇設(shè)置繼電器通道2
                        {  
                                Buzzer(1,80);
                                WE_1 = 0;
                                DUAN = SMG_array[COM_number];
                                delay_ms(500);
                        }
                        if(COM_number==3)          //選擇設(shè)置繼電器通道3
                        {  
                                Buzzer(1,80);
                                WE_1 = 0;
                                DUAN = SMG_array[COM_number];
                                delay_ms(500);
                        }
                        if(COM_number==4)          //選擇設(shè)置繼電器通道4
                        {  
                                Buzzer(1,80);
                                WE_1 = 0;
                                DUAN = SMG_array[COM_number];
                                delay_ms(500);
                        }
                        if(COM_number==5)          //選擇設(shè)置繼電器通道5
                        {  
                                Buzzer(1,80);
                                WE_1 = 0;
                                DUAN = SMG_array[COM_number];
                                delay_ms(500);
                        }
                        if(COM_number==6)          //選擇設(shè)置繼電器通道6
                        {  
                                Buzzer(1,80);
                                WE_1 = 0;
                                DUAN = SMG_array[COM_number];
                                delay_ms(500);
                        }
                        if(COM_number==7)          //選擇設(shè)置繼電器通道7
                        {  
                                Buzzer(1,80);
                                WE_1 = 0;
                                DUAN = SMG_array[COM_number];
                                delay_ms(500);
                        }
                        if(COM_number==8)          //選擇設(shè)置繼電器通道8
                        {  
                                Buzzer(1,80);
                                WE_1 = 0;
                                DUAN = SMG_array[COM_number];
                                delay_ms(500);
                        }
                        if(COM_number>8)          //進(jìn)入工作狀態(tài)
                        {  
                                Buzzer(1,80);
                                COM_number = 0;
                                WE_1 = 0;
                                DUAN = SMG_array[COM_number];
                                delay_ms(100);            
                                SMG_display = 0;           //重新打開時(shí)間顯示
                        }           
                }
        }
        if(COM_number==1)          //選擇設(shè)置繼電器通道1
        {
                SET_JDQ();
                SET_COM1 = COM_number;
        }
        if(COM_number==2)          //選擇設(shè)置繼電器通道2
        {
                SET_JDQ();
                SET_COM2 = COM_number;
        }
        if(COM_number==3)          //選擇設(shè)置繼電器通道3
        {
                SET_JDQ();
                SET_COM3 = COM_number;
        }
        if(COM_number==4)          //選擇設(shè)置繼電器通道4
        {
                SET_JDQ();
                SET_COM4 = COM_number;
        }
        if(COM_number==5)          //選擇設(shè)置繼電器通道5
        {
                SET_JDQ();
                SET_COM5 = COM_number;
        }
        if(COM_number==6)          //選擇設(shè)置繼電器通道6
        {
                SET_JDQ();
                SET_COM6 = COM_number;
        }
        if(COM_number==7)          //選擇設(shè)置繼電器通道7
        {
                SET_JDQ();
                SET_COM7 = COM_number;
        }
        if(COM_number==8)          //選擇設(shè)置繼電器通道8
        {
                SET_JDQ();
                SET_COM8 = COM_number;
        }
}

/*********************************主函數(shù)******************************************/
void main(void)
{
        TIMER0_init();
//        DS1302_init();        
        Buzzer(1,60);
        P1 =0xFF;
        P2 =0xFF;
        while(1)
        {
                READ_time();
                KEYSCAN();
                KEYJDQ();
                JDQ_ON_OFF_IF();
        }
}

void TIMER0_timer() interrupt 1
{
        TMOD=0x01;
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        miao_num++;
        if(miao_num>=10)
        {
                SEC = 0;
        }
        if(miao_num==20)
        {
                SEC = 1;
                miao_num=0;
        }
}


DSC02483.JPG (2.7 MB, 下載次數(shù): 84)

DSC02483.JPG

評(píng)分

參與人數(shù) 2黑幣 +59 收起 理由
zqy181818 + 9 很給力!
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:89286 發(fā)表于 2017-9-27 18:47 | 只看該作者
thanks for sharing
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品国产三级国产aⅴ中文 | 欧美激情欧美激情在线五月 | 中文字幕一区二区三区在线观看 | 综合久久久久久久 | 日韩精品在线观看一区二区三区 | 中文字幕免费中文 | 亚洲免费观看视频网站 | 久久久无码精品亚洲日韩按摩 | 精品三级在线观看 | 亚洲视频免费在线观看 | 日韩在线视频观看 | 91精品国产91久久综合桃花 | 99精品在线 | 国产在线一区二区 | 久久久免费观看视频 | 国产午夜在线观看 | 欧美亚洲另类在线 | 九九热九九 | 成人午夜精品 | 久久av一区二区 | 中文字幕国产精品视频 | 精品中文在线 | 国产一区二区三区久久久久久久久 | 99亚洲精品 | 日本 欧美 国产 | 一区视频 | 久久久久久久久久毛片 | 欧美日韩视频网站 | 国产欧美日韩在线一区 | 全免一级毛片 | www.国产视频 | 精品福利在线 | 国产三级一区二区 | 免费同性女女aaa免费网站 | 欧美日韩国产传媒 | 免费三级网站 | 91高清在线视频 | 国产精品a免费一区久久电影 | 日本一区二区三区在线观看 | 免费精品在线视频 | 亚洲第一成人影院 |