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

正文內(nèi)容

[信息與通信]基于停等式協(xié)議的rs232雙機(jī)通信系統(tǒng)設(shè)計(jì)報(bào)告-資料下載頁

2025-03-23 00:45本頁面
  

【正文】 break。 case 7: Led7 = 0。 break。 } while(1) { while(1) { send(Tab[KeyTag+1])。 error = 1。 //error燈滅,保證重發(fā)時(shí)燈正常顯示 waiting = 0。 //等待確認(rèn)等亮 P0 = Tab[0]。 //初始化數(shù)碼管 for(i=0。i5。i++) //開始定時(shí) { delay(1000)。 //延時(shí)1s P0 = Tab[i+1]。 //數(shù)碼管顯示相應(yīng)的值 if(RI!=0) //若接受到應(yīng)答,則停止計(jì)數(shù) { P0 = Tab[0]。 RI = 0。 break。 } } if(i!=5) //接受到應(yīng)答,跳出循環(huán),進(jìn)行下一步處理,否則定時(shí)時(shí)間到,重發(fā) break。 else if(i==5) //超時(shí)重發(fā) { beep = 1。 //蜂鳴器響 delay(200)。 beep = 0。 } } if(SBUF == 0xff) //收到ff說明傳輸正確,跳出循環(huán) { right = 0。 error = 1。 waiting = 1。 break。 } else if(SBUF == 0x00) //收到00說明出錯(cuò),需要重發(fā) { error = 0。 waiting = 1。 while(1) { if(Key_Resend == 0) //檢驗(yàn)重發(fā)按鍵是否按下,只有按下時(shí)才進(jìn)行重發(fā) { delay(10)。 if(Key_Resend == 0) break。 } } } } KeyTag = 10。 //設(shè)置標(biāo)志位的值,便于下一次檢測電鍵 }}void init(){ EA=1。 ES=1。 //TMOD=0x20。 //TH1=0xfd。 //TL1=0xfd。 PCON=0x00。 SCON=0x90。 //串行口工作于方式2,恒定波特率,與t1無關(guān) //TR1=1。 P2 = 0xff。 P0 = Tab[0]。 waiting = 1。 right = 1。 error = 1。 beep = 0。 //Key_Resend = 1。} void delay(int x){ int a,b。 for(a=x。a0。a) for(b=110。b0。b)。}void send(uchar number){ number+=var。 TB8 = P。 //設(shè)置奇偶校驗(yàn)位 SBUF = number。 while(!TI)。 TI=0。 //傳送結(jié)束}從機(jī):includedefine uchar unsigned chardefine uint unsigned intvoid delay(uchar)。void receive(void) 。void init(void)。uchar Var_Recieve=0。 //用于實(shí)現(xiàn)奇偶校驗(yàn)uchar ACK。sbit right = P2^3。sbit error = P2^0。sbit key_ACK = P2^6。void main(){ while(1) { init()。 receive()。 while(1) { if(key_ACK == 0) //檢驗(yàn)電鍵是否按下 { delay(10)。 if(key_ACK == 0) //按下電鍵則發(fā)送確認(rèn)信息 { SBUF = ACK。 while(!TI)。 TI=0。 break。 //發(fā)送確認(rèn)后,才能接受下一數(shù)據(jù) } } } }}void init(void){ EA=1。 ES=1。 //TMOD=0x20。 //TH1=0xfd。 //TL1=0xfd。 PCON=0x00。 SCON=0x90。 //TR1=1。 right = 1。 error = 1。 P0 = 0x3f。 } void receive(void){ while(!RI)。 //接受結(jié)束后跳出循環(huán) RI=0。 Var_Recieve += SBUF。 if(RB8!=P) //奇偶校驗(yàn)失敗,傳輸出錯(cuò) { error = 0。 ACK = 0x00。 } else if(RB8==P) { right = 0。 P0 = SBUF。 //數(shù)碼管顯示相應(yīng)的數(shù)字 ACK = 0xff。 } }void delay(uchar x){ uchar a,b。 for(a=x。a0。a) for(b=110。b0。b)。} 四、加電調(diào)試:剛剛上電,沒有傳送任何信息時(shí)的狀態(tài):正確傳送數(shù)字1正確傳送數(shù)字2傳送數(shù)字4時(shí)出錯(cuò):正確的重傳數(shù)字4五、改進(jìn)與不足:僅僅使用簡單的停等式ARQ協(xié)議,傳輸效率不高,而且未使用編號(hào),傳輸時(shí)容易出錯(cuò)。由于未能找到RS232傳輸線,所以使用兩根導(dǎo)線代替,傳送出錯(cuò)的可能性加大,但正好可以驗(yàn)證協(xié)議工作的可靠性。計(jì)劃中,本系統(tǒng)在超時(shí)后可以重發(fā)并使蜂鳴器響以提醒用戶,但由于板子面積有限,蜂鳴器未能安裝,在從機(jī)的程序中,也存在bug使此項(xiàng)功能暫時(shí)無法實(shí)現(xiàn)。六、元件清單10k排阻用于數(shù)碼管 2個(gè)1k排阻用于指示燈數(shù)碼管2個(gè)共陰電鍵10個(gè)發(fā)光二極管8+3(紅、黃、綠)+2(紅、綠)51單片機(jī)2個(gè)max232 2個(gè)1u電容10個(gè)電阻1k 6個(gè) 或2個(gè)排阻rs232 接口2個(gè) 9孔 電容4個(gè)33p5V蜂鳴器1個(gè) 1k電阻 pnp三極管s9012電源:usb接口 7805 或電池供電 開關(guān)第34頁 共34頁
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1