在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > proteus與keil Cx51的單片機(jī)仿真(串行口單工通信2)

            proteus與keil Cx51的單片機(jī)仿真(串行口單工通信2)

            作者: 時(shí)間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
            單片機(jī)U1和U2串行口均工作于方式3,其中U1作為接收機(jī),U2作為發(fā)送機(jī),波特率為9600,U1接收U2發(fā)送數(shù)據(jù)后,依次送P1、P0和P2口進(jìn)行流水燈顯示,編寫程序,并用Proteus仿真。

            電路圖:

            本文引用地址:http://www.biyoush.com/article/201611/320717.htm



            U1程序:

            #include//包含單片機(jī)寄存器的頭文件
            sbit p=PSW^0;
            unsigned char receive(void)//接收一個(gè)字節(jié)數(shù)據(jù)
            {
            unsigned char dat;
            while(RI==0);
            RI=0;//只要接收中斷標(biāo)志位RI沒有被置1,等待,直至接收完(RI1)
            ACC=SBUF;//將接收緩沖器中的數(shù)據(jù)存于dat
            if(RB8==P)//奇校驗(yàn)
            {dat=ACC;return dat;}
            }
            void main(void)
            {
            unsigned char i;
            TMOD=0x20;//定時(shí)器T1工作于方式2
            SCON=0xd0;//SCON=1101 0000B,串行口工作方式1,允許接收(REN=1)
            PCON=0x00;//PCON=0000 0000B,波特率9600
            TH1=0xfd;TL1=0xfd;//根據(jù)規(guī)定給定時(shí)器T1賦初值
            TR1=1;//啟動(dòng)定時(shí)器T1
            REN=1;//允許接收
            while(1)
            {
            for(i=0;i<9;i++)P1=receive();//將數(shù)據(jù)送P1口顯示
            for(i=0;i<9;i++)P0=receive();//將數(shù)據(jù)送P0口顯示
            for(i=0;i<9;i++)P2=receive();//將數(shù)據(jù)送P2口顯示
            }
            }

            U2程序:

            #include//包含單片機(jī)寄存器的頭文件
            sbit p=PSW^0;
            unsigned char code Tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff};//流水燈燈控制碼,該數(shù)據(jù)被定義為全局變量
            void send(unsigned char dat)//向PC發(fā)一個(gè)字節(jié)數(shù)據(jù)
            {
            ACC=dat;
            TB8=p;
            SBUF=dat;
            while(TI==0);//發(fā)送等待
            TI=0;
            }
            void delay(void)//延時(shí)約150ms
            {
            unsigned char m,n;
            for(m=0;m<200;m++)for(n=0;n<250;n++);
            }
            void main(void)
            {
            unsigned char i;
            TMOD=0x20;//TMOD=0010 0000B,定時(shí)器T1工作于方式2
            SCON=0xc0;//SCON=1100 0000B,串行口工作方式3,SM2置0,不使用多機(jī)通信,TB8置0
            PCON=0x00;//PCON=0000 0000B,波特率9600
            TH1=0xfd;TL1=0xfd;//給定時(shí)器T1賦初值
            TR1=1;//啟動(dòng)定時(shí)器T1
            while(1)
            {
            for(i=0;i<27;i++)//模擬檢測數(shù)據(jù)
            {
            send(Tab[i]);//發(fā)送數(shù)據(jù)i
            delay();//50ms發(fā)送一次檢測數(shù)據(jù)
            }
            }
            }




            評論


            技術(shù)專區(qū)

            關(guān)閉