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

標題: 求程序 雙單片機之間的通信 [打印本頁]

作者: lianjinhui    時間: 2017-12-5 14:30
標題: 求程序 雙單片機之間的通信

兩個單片機之間的通信:在A機的4*4鍵盤(0——f)上按下一個按鍵,在B機數碼管上顯示相應的數據;在B機按下操作,在A機數碼管顯示相應的數據.
哪位大神能幫寫一下實現這個功能的匯編語言程序或者C語言程序嗎?謝謝

作者: cjjcjj1    時間: 2017-12-5 16:07
提示: 作者被禁止或刪除 內容自動屏蔽
作者: gss0418    時間: 2017-12-5 17:20
跟你的不一樣 可以參考一下
ORG 0000H
AJMP MAIN
ORG 0023H
AJMP INTRT

ORG 0030H
MAIN:MOV TMOD,#20H               ;設置定時器1的工作方式
     MOV TH1,#0E6H               ;設置波特率1200
     MOV TL1,#0E6H
     SETB TR1               ;啟動定時器1
     MOV SCON,#50H          ;設置串口工作方式
     CLR RI                 ;清除標志位
     CLR TI                 ;清除標志位
         SETB ES                ;開串口中斷
     SETB EA                ;開總中斷
LOOP:JNB P3.2,S3OK          ;檢測按鍵是否按下
     JNB P3.3,S4OK
         AJMP LOOP
S3OK:MOV A,#0FBH                    ;點亮LED4
     MOV SBUF,A
         JNB TI,$               ;等待發送完
         SJMP LOOP2
S4OK:MOV A,#0F7H                    ;點亮LED5
     MOV SBUF,A
         JNB TI,$               ;等待發送完        
LOOP2:ACALL DELAY
         AJMP LOOP

INTRT:PUSH ACC
      JNB TI,NEXT           
          CLR TI
          AJMP OUT
NEXT: CLR RI                            ;清標志      
          MOV A,SBUF                        ;讀取接收的數據
          MOV P1,A                                ;送P1口
OUT:  POP ACC
          RETI

DELAY:MOV R3,#60     ;   延時0.6秒
D1:   MOV R4,#20
D2:   MOV R5,#248
      DJNZ R5,$
      DJNZ R4,D2
      DJNZ R3,D1
      RET

END

作者: lianjinhui    時間: 2017-12-5 19:21
gss0418 發表于 2017-12-5 17:20
跟你的不一樣 可以參考一下
ORG 0000H
AJMP MAIN

你這個程序的仿真圖有嗎?可以發一下嗎?謝謝
作者: HC6800-ES-V2.0    時間: 2017-12-6 08:49
我有試驗成功的例子:
由于你的兩單片機要求一樣,硬件一樣,所以,只需要一個程序就可以了。兩個單片機都下載同樣的程序,功能也是一樣的,符合你的要求。
不過,從你的電路圖中,我沒有看到兩單片機連接的線路,你要注意哦。
我的程序對應的電路如圖



程序如下:
/*
串口實驗:單片機與單片機之間的通訊,這是主機程序
*/                                                                         

#include<reg51.h>

#define LED P2
#define JP P1

unsigned char JZ;
bit AJ;       

void UsartConfiguration();
void Delay10ms(unsigned int c);
void KeyDown(void);

void main()//主函數
{
        UsartConfiguration();
        Delay10ms(10);
        while(1)
        {
                KeyDown();
                if (AJ==1)
                {
                        AJ=0;
                        SBUF = JZ;
                        while (!TI);
                        TI = 0;
                }
        }
}

void UsartConfiguration()
{
        SCON=0X50;
        TMOD=0X20;
        PCON=0X80;
        TH1=0XF3;
        TL1=0XF3;
        TR1=1;
        EA=1;
        ES=1;
}

void Delay10ms(unsigned int c)//延時10ms
{
    unsigned char a, b;
    for (;c>0;c--)
        {
                for (b=38;b>0;b--)
                {
                        for (a=130;a>0;a--);
                }         
        }      
}

void KeyDown(void)
{
        unsigned char a=0;
        JP=0x0f;//測試列
        if(JP!=0x0f)
        {
                Delay10ms(1);
                if(JP!=0x0f)
                {
                        AJ=1;
                        switch(JP)
                        {
                                case(0X07):        JZ=0;break;
                                case(0X0b):        JZ=1;break;
                                case(0X0d): JZ=2;break;
                                case(0X0e):        JZ=3;break;
                        }
                        JP=0Xf0;//測試行
                        switch(JP)
                        {
                                case(0X70):        JZ=JZ;break;
                                case(0Xb0):        JZ=JZ+4;break;
                                case(0Xd0): JZ=JZ+8;break;
                                case(0Xe0):        JZ=JZ+12;break;
                        }
                        for (a=0;(a<50)&&(JP!=0xf0);a++)
                        {
                                 Delay10ms(1);
                        }
                }
        }
}

void FSSZ(void) interrupt 4
{
        RI=0;
        LED=~SBUF;
        Delay10ms(1);
}



作者: lianjinhui    時間: 2017-12-6 15:51
HC6800-ES-V2.0 發表于 2017-12-6 08:49
我有試驗成功的例子:
由于你的兩單片機要求一樣,硬件一樣,所以,只需要一個程序就可以了。兩個單片機都 ...

我的電路圖兩個單片機有連接的,P3.0與P3.1交錯連接
作者: dzbj    時間: 2017-12-6 16:17
lianjinhui 發表于 2017-12-6 15:51
我的電路圖兩個單片機有連接的,P3.0與P3.1交錯連接

你就這么連上然后互相用uart通訊就行啊




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久久久9999| 黄色一级视频免费 | 九色视频网 | 亚洲国产精品一区 | 国产成人午夜电影网 | 亚洲国产精品久久 | 国产成人91视频 | 欧美三级电影在线播放 | 福利片在线观看 | 日韩高清国产一区在线 | 男女网站免费观看 | 日韩一区精品 | 91精品国产一区二区三区 | 亚洲精品区 | 精品视频在线播放 | 免费精品| 欧美一区免费 | 国产激情偷乱视频一区二区三区 | 综合久久综合久久 | 337p日本欧洲亚洲大胆 | 久久精品亚洲精品国产欧美 | 五月婷婷激情网 | 久久青| 日本成年免费网站 | 久视频在线观看 | 亚洲二区在线 | h片在线观看免费 | 精品国产一区二区三区免费 | 亚洲精品68久久久一区 | 成人av电影免费在线观看 | 国产xxx在线观看 | 羞羞色影院 | 国产精品国产a | 精品一区二区三区在线播放 | 亚洲精品二区 | 色综合色综合网色综合 | 日韩电影中文字幕在线观看 | 日日夜夜草 | 九九精品久久久 | 国产精品日本一区二区在线播放 | 欧美videosex性极品hd |