新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 兩機串行通訊

        兩機串行通訊

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

        /*************** writer:shopping.w ******************/
        #include
        #define uint unsigned int
        #define uchar unsigned char
        sbit LED1 = P1^0;
        sbit LED2 = P1^3;
        sbit K1 = P1^7;
        uchar Operation_NO = 0;
        uchar code DSY_CODE[]=
        {
        0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
        };

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

        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()
        {
        LED1=LED2=1;
        P0 = 0x00;
        SCON = 0x50;
        TMOD = 0x20;
        PCON = 0x00;
        TH1 = 0xfd;
        TL1 = 0xfd;
        TI = 0;
        RI = 0;
        TR1 = 1;
        IE = 0x90;
        while(1)
        {
        Delay(100);
        if(K1 == 0)
        {
        while(K1==0);
        Operation_NO=(Operation_NO+1)%4;
        switch(Operation_NO)
        {
        case 0:
        putc_to_SerialPort(X);
        LED1=LED2=1; break;
        case 1:
        putc_to_SerialPort(A);
        LED1=0;LED2=1;break;
        case 2:
        putc_to_SerialPort(B);
        LED2=0;LED1=1;break;
        case 3:
        putc_to_SerialPort(C);
        LED1=0;LED2=0;break;
        }
        }
        }
        }

        void Serial_INT() interrupt 4
        {
        if(RI)
        {
        RI = 0;
        if(SBUF>=0&&SBUF<=9)
        P0 = DSY_CODE[SBUF];
        else
        P0 = 0x00;
        }
        }



        關鍵詞: 兩機串行通

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 中阳县| 黄骅市| 昆明市| 江津市| 苍山县| 大同市| 工布江达县| 汉沽区| 荣成市| 普兰县| 武胜县| 大荔县| 简阳市| 乾安县| 岢岚县| 临潭县| 张家口市| 永靖县| 石渠县| 常山县| 象山县| 同德县| 乌恰县| 徐水县| 阳朔县| 尚义县| 高要市| 黄石市| 沧源| 柘荣县| 名山县| 泰来县| 祁东县| 甘谷县| 乌拉特前旗| 乌拉特中旗| 彭泽县| 青阳县| 连平县| 孟津县| 濮阳县|