新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 甲機通過串口控制乙機LED閃爍

        甲機通過串口控制乙機LED閃爍

        作者: 時間:2016-11-17 來源:網絡 收藏
        C代碼

        乙機程序:

        本文引用地址:http://www.104case.com/article/201611/315533.htm

        /*************** writer:shopping.w ******************/
        #include
        #define uint unsigned int
        #define uchar unsigned char
        sbit LED1 = P0^0;
        sbit LED2 = P0^3;

        void Delay(uint x)
        {
        uchar i;
        while(x--)
        {
        for(i=0;i<120;i++);
        }
        }

        void main()
        {
        SCON = 0x50;
        TMOD = 0x20;
        TH1 = 0xfd;
        TL1 = 0xfd;
        PCON = 0x00;
        RI = 0;
        TR1 = 1;
        LED1 = LED2 =1;
        while(1)
        {
        if(RI)
        {
        RI = 0;
        switch(SBUF)
        {
        case A: LED1=~LED1;LED2=1;break;
        case B: LED2=~LED2;LED1=1;break;
        case C: LED1=~LED1;LED2=LED1;
        }
        }
        else
        LED1=LED2=1;
        Delay(100);
        }
        }

        甲機程序:

        /*************** writer:shopping.w ******************/
        #include
        #define uint unsigned int
        #define uchar unsigned char
        sbit LED1 = P0^0;
        sbit LED2 = P0^3;
        sbit K1 = P1^0;

        void Delay(uint x)
        {
        uchar i;
        while(x--)
        {
        for(i=0;i<120;i++);
        }
        }

        void putc_to_SerialPort(uchar c)
        {
        SBUF = c;
        while(TI == 0);
        TI = 0;
        }

        void main()
        {
        uchar Operation_NO = 0;
        SCON = 0x40;
        TMOD = 0x20;
        PCON = 0x00;
        TH1 = 0xfd;
        TL1 = 0xfd;
        TI = 0;
        TR1 = 1;
        while(1)
        {
        if(K1 == 0)
        {
        while(K1==0);
        Operation_NO=(Operation_NO+1)%4;
        }
        switch(Operation_NO)
        {
        case 0:
        LED1=LED2=1; break;
        case 1:
        putc_to_SerialPort(A);
        LED1=~LED1;LED2=1;break;
        case 2:
        putc_to_SerialPort(B);
        LED2=~LED2;LED1=1;break;
        case 3:
        putc_to_SerialPort(C);
        LED1=~LED1;LED2=LED1;break;
        }
        Delay(10);
        }



        關鍵詞: 串口控制LED閃

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 永胜县| 如皋市| 惠水县| 葵青区| 柳河县| 刚察县| 南京市| 涪陵区| 绩溪县| 清远市| 甘孜| 香河县| 福鼎市| 理塘县| 聂拉木县| 南和县| 米泉市| 绵阳市| 双牌县| 无为县| 芦溪县| 河曲县| 达拉特旗| 平陆县| 九寨沟县| 日照市| 屯留县| 英德市| 鄂伦春自治旗| 望奎县| 察雅县| 三河市| 荣成市| 巧家县| 区。| 东乡| 霍城县| 湘乡市| 香格里拉县| 榆社县| 张家川|