freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

精品畢業(yè)論文--基于51單片機的主從通信系統(tǒng)的設(shè)計與實現(xiàn)-資料下載頁

2024-10-30 10:08本頁面

【導(dǎo)讀】行,而把監(jiān)控結(jié)果集中管理。這就是所謂的分布式監(jiān)控。的一種通信方式就是主從式通信了。本文介紹了一個單片機做主機,兩個單片機。做從機的小型主從式總線通信系統(tǒng)的設(shè)計與實現(xiàn)。RS-232的發(fā)送端并聯(lián)的可行方案。機的串行通信程序。會陷入混亂通信之中。

  

【正文】 ,并且偶爾出現(xiàn)數(shù)據(jù) 傳送時各機之間相互影響的現(xiàn)象。解決方法是,使用片外 RAM 或者采用更為高級的單片機。 此外,主從通信所使用的技術(shù)可謂日新月異,時刻了解最新的設(shè)計方法,并且搞清楚不現(xiàn)的方法適用的具體場合,利用不同的總線協(xié)議進行設(shè)計是本人下一步的研究方向。 25 致 謝 感謝 。 26 參考文獻 [1] 王偉 , 鄭金奎 . MCS51 單片 機主從式多機系統(tǒng)實時通訊的實現(xiàn) [J].西南自動化研究所, 1998 年第 3 期 P3934. [2] 陳衛(wèi)兵 . IIC 總線協(xié)議在 80C51 單片機上應(yīng)用的實現(xiàn) [J].阜陽師范學院學報 ,第 19 卷第 3 期 P5254. [3] 惠玥琳 . 基于單片機的 USB 主從機的設(shè)計與實現(xiàn) [D].電子科技大學, 2020年 . [4] 易志明等 . SPI 總線在 51 系列單片機系統(tǒng)中的實現(xiàn) [J].天津大學,精密儀器與光電子工程學院,天津 300072. [5] 姚志成 . 單片機多機通信協(xié)議的設(shè)計 [J].中國核心期刊 (嵌入式與 SOC),2020年第 22卷第 2期 . [6] 范逸之等 . Visual Basic 與 RS232 串行通信控制 [M]. 最新版 .北京: 北京航空航天大學出版社 , 2020. [7] 張明鋒 . PIC 單片機入門與實踐 [M]. 北京:北京航空航天大學出版社, 2020. [8] 張傳新 , 徐少杰 . PC 機與 MCS51 單片機主從多機通信控制程序的研究 [J].伊圖里河分局研究所,鐵路計算機應(yīng)用第 5 卷第 2 期 P1012. [9] 何曉紅 , 譚兵 . PC 機與多臺單片機的遠距離多機通信 [J].重慶交通學院信息中心,電子技術(shù)應(yīng)用, 1997 年第 12 期 P4143. [10] 劉艷鈴 . 采用 MAX232 實現(xiàn) MCS51 單片機與 PC 機的通信 [J].天津理工學院學報第 15 卷第 2期 P5761. [11] 黃亮 . 基于 AT89C51 單片機的串行通信程序設(shè)計 [J]. 中國地質(zhì)大學 , 單片機實用電子制作 P2932. [12] 何立民 . 單片機應(yīng)用技術(shù)選編 [M]. 北京:北京航空航天大學出版社, 2020. [13] 郝國法等 . 單總線單片機多機通信系統(tǒng)的設(shè)計 [J].武漢科技大學學報, 2020年 9月 P278280. [14] 張俊 . 匠人手記:一個單片機工作者的實踐與思考 [M].北京: 北京航空航天大學出版社 , 2020. [15] 周航慈 . 單片機應(yīng)用程序設(shè)計 [M]. 北京:北京航空航天大學出版社, 2020. [16] Universal Serial Bus Mass Storage Class Specification Overview,Revision 12,2020 [17] Compaq,Intel,Microsoft, Universal Serial Bus Specification Revision ,1998. 27 附錄 附錄一 主 機 通信程序 include define uint unsigned int define uchar unsigned char sbit key0=P1^0。 sbit key1=P1^1。 sbit key2=P1^2。 sbit key3=P1^3。 sbit key4=P1^4。 sbit key5=P1^5。 sbit key6=P1^6。 sbit P0_0=P0^0。 sbit P0_1=P0^1。 uchar shuju[20]。 uchar temp[20]。 uchar temp1[20]。 uchar temp2[20]。 uchar m,n,a,b,i,j,p,q,s,t,flag1,flag2。 unsigned char code tab[]={0xaa/*控制字 */,0xfc/*0*/,0x60/*1*/,0xda/*2*/,0xf2/*3*/,0x66/*4*/, 0xb6/*5*/,0xbe/*6*/,0xe0/*7*/,0xfe/*8*/,0xf6/*9*/,0x00}。//主機給從機 1傳送的數(shù)據(jù) unsigned char code table[]={0xbb/*控制字 */,0xfc/*0*/,0x60/*1*/,0xda/*2*/,0xf2/*3*/,0x66/*4*/, 0xb6/*5*/,0xbe/*6*/,0xe0/*7*/,0xfe/*8*/,0xf6/*9*/,0xab,0xbc,0x00}。//主機給從機 1傳送的數(shù)據(jù) void csh()//初始化串行口 { SM0=0。 SM1=1。 REN=1。 TI=0。 RI=0。 PCON=0。 TH1=0xfd。 TL1=0Xfd。 TMOD=0X20。 EA=1。 ET1=0。 ES=1。 TR1=1。 } void shujuchang1() //將主機給從機 1發(fā)送的數(shù)據(jù)進行位數(shù)計算并求和 28 { m=0。 while(tab[m]!=0x00) { m++。 } for(s=1。sm。s++) { temp[s+1]=temp[s]+tab[s]。 } } void shujuchang2() //將主機給從機 1發(fā)送的數(shù)據(jù)進行位數(shù)計算并求和 { n=0。 while(table[n]!=0x00) { n++。 } for(t=1。tn。t++) { temp[t+1]=temp[t]+table[t]。 } } void delay(uint z) //延時函數(shù) { uint x,y。 for(x=z。x0。x) for(y=110。y0。y)。 } void zdc1()//主機給從機 1發(fā)送數(shù)據(jù) { i=0。 while(im) { SBUF=tab[i]。 while(TI==0)。 TI=0。 i++。 } SBUF=temp[s]。 while(TI==0)。 TI=0。 SBUF=0x00。 while(TI==0)。 29 TI=0。 } void zdc2()//主機給從機 2發(fā)送數(shù)據(jù) { j=0。 while(jn) { SBUF=table[j]。 while(TI==0)。 TI=0。 j++。 } SBUF=temp[t]。 while(TI==0)。 TI=0。 SBUF=0x00。 while(TI==0)。 TI=0。 } void jianpan()//鍵盤掃描 { if(key0==0) { if(key0==0) { while(key0==0)。 a=1。 key0=1。 } } if(key1==0) { if(key1==0) { while(key1==0)。 a=2。 key1=1。 } } if(key2==0) { if(key2==0) { while(key2==0)。 30 a=3。 key2=1。 } } if(key3==0) { if(key3==0) { while(key3==0)。 a=4。 key3=1。 } } if(key4==0) { if(key4==0) { while(key4=0)。 a=5。 key4=1。 } } if(key5==0) { if(key5==0) { while(key5==0)。 a=6。 key5=1。 } } } main() //主函數(shù) { P1=0xff。//讓 P1口全為高電平,方便以后鍵盤掃描 shujuchang1()。 shujuchang2()。 jianpan()。 csh()。 switch(a) { case 1: //主機給人機 1發(fā)送數(shù)據(jù)程序 csh()。 zdc1()。 31 break。 case 2: //主機給人機 2發(fā)送數(shù)據(jù)程序 csh()。 zdc2()。 break。 case 3: //接收從機 1發(fā)給主機數(shù)據(jù)程序 csh()。 P0_0=0。 ES=0。 SBUF=0xcc。 while(!TI)。 TI=0。 flag1=0。 p=0。 csh()。 while(flag1==0)。 if(shuju[0]==0xcc) { temp1[1]=0x00。 for(b=1。bp2。b++) { temp1[b+1]=temp1[b]+shuju[b]。 } if(temp1[b]==shuju[p2]) { for(q=1。qp2。q++) { P2=shuju[q]。 delay(500)。 } } p=0。 flag1=0。 P0_0=1。 } csh()。 break。 case 4: //接收從機 2發(fā)給主機數(shù)據(jù)程序 csh()。 P0_1=0。 EA=0。 SBUF=0xdd。 while(!TI)。 TI=0。 32 flag1=0。 p=0。 csh()。 while(flag1==0)。 if(shuju[0]==0xdd) { temp2[1]=0x00。 for(b=1。bp2。b++) { temp2[b+1]=temp2[b]+shuju[b]。 } if(temp2[b]==shuju[p2]) { for(q=1。qp2。q++) { P2=shuju[q]。 delay(500)。 } } p=0。 flag1=0。 P0_1=1。 } csh()。 break。 case 5: //主機接收從機 1發(fā)給從機 2的數(shù)據(jù)的程序 csh()。 P0_0=0。 ES=0。 SBUF=0xee。 while(!TI)。 TI=0。 flag2=0。 p=0。 csh()。 while(flag2==0)。 if(shuju[0]==0x12) { for(q=0。qp。q++) { SBUF=shuju[q]。 while(!TI)。 TI=0。 } 33 p=0。 flag2=0。 P0_0=1。 } csh()。 break。 case 6: //主機接收從機 2發(fā)給從機 1的數(shù)據(jù)的程序 csh()。 P0_1=0。 ES=0。 S
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1