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

正文內(nèi)容

病房呼叫顯示器的設(shè)計(jì)與實(shí)現(xiàn)_畢業(yè)論文(設(shè)計(jì))-資料下載頁(yè)

2025-08-19 08:07本頁(yè)面
  

【正文】 機(jī)電路總原理圖 附錄 B 參考程序 主機(jī)程序: include typedef unsigned char uchar。 typedef unsigned int uint。 uchar code tab[]= {0x48,0x7b,0xc2,0x62,0x71,0x64,0x44,0x7a,0x40,0x60}。//數(shù)碼管段選 uchar disBuf[3]。 //顯示緩沖區(qū) uchar Buffer[10]。 //串口十位緩沖區(qū) uchar shuju。 sbit feng=P1^0。 //控制蜂鳴器 sbit tr=P2^2。 //控制 485 芯片引腳 sbit led1=P1^1。 //調(diào)試項(xiàng) 29 sbit led2=P1^2。 // sbit led3=P1^3。 // sbit led4=P1^4。 // void delay(unsigned int delay1)//延時(shí)程序 { int i。 for(。delay10。delay1) { for(i=0。i125。i++) {。} } } void xianshi(unsigned int x) //顯示子程序 { int shuju,i。 shuju=x。 for(i=0。i2020。i++) { disBuf[0]=0。 disBuf[1]=shuju/10。 disBuf[2]=shuju%10。 P2=0x20。 P0=tab[disBuf[0]]。 delay(1)。 P2=0x40。 P0=tab[disBuf[1]]。 delay(1)。 P2=0x80。 P0=tab[disBuf[2]]。 delay(1)。 30 } P0=0xff。 } void main() //主函數(shù) { uchar temp。 int i。 TMOD=0x20。 //定義波特率 TH1=0xfd。 TL1=0xfd。 PCON=0x00。 //波特率不加倍 SCON=0xf8。 //串口工作方式 3,允許接受, SM2=1; TR1=1。 //開(kāi)定時(shí)器 1 tr=1。 i=1。 led1=0。 while(1) { tr=0。 SM2=1。 //關(guān) SM2 TB8=1。 //發(fā)送地址標(biāo)志 TI=0。 //清零發(fā)送中斷 SBUF=i。 //送地址 1 while(TI!=1)。 //判發(fā)送是否完,不完則等待 TB8=0。 //發(fā)送數(shù)據(jù) TI=0。 //發(fā)送中斷清零 RI=0。 //清零接受中斷 SM2=0。 //允許接受 tr=1。 led2=0。 31 while(RI!=1)。 //判是否有數(shù)據(jù)接受,無(wú)則等 RI=0。 //清零接受中斷 temp=SBUF。 //讀取數(shù)據(jù),并放在變量 TEMP 中 led3=0。 if(temp!=1) //判是否與開(kāi)始發(fā)送地址一樣 { SBUF=0xff。 //不一樣 while(TI!=1)。 TI=0。 goto di2。 } if(temp!=6) { if(temp==1) //一樣 { SM2=0。 while(RI!=1)。 //接受數(shù)據(jù),進(jìn)行操作 RI=0 。 temp=SBUF。 if(temp==1) //為 1 則是顯示 { xianshi(1)。 } if(temp==2) //為 2 則是除顯示 { xianshi(2)。 } } } di2: 32 tr=0。 SM2=1。 //關(guān) SM2 TB8=1。 //發(fā)送地址標(biāo)志 TI=0。 //清零發(fā)送中斷 SBUF=2。 //送地址 2 while(TI!=1)。 //判發(fā)送是否完,不完則等待 TB8=0。 //發(fā)送數(shù)據(jù) TI=0。 //發(fā)送中斷清零 tr=1。 RI=0。 //清零接受中斷 SM2=0。 //允許接受 while(RI!=1)。 //判是否有數(shù)據(jù)接受,無(wú)則等 RI=0。 //清零接受中斷 temp=SBUF。 //讀取數(shù)據(jù),并放在 變量 TEMP 中 led4=0。 if(temp!=2) //判是否與開(kāi)始發(fā)送地址一樣 { SBUF=0xff。 //不一樣 while(TI!=1)。 TI=0。 break。 } if(temp==2) //一樣 { SM2=0。 while(RI!=1)。 //接受 數(shù)據(jù),進(jìn)行操作 RI=0。 temp=SBUF。 if(temp==3) //為 1 則是顯示 { 33 xianshi(3)。 } else if(temp==4) //為 2 則是除顯示 { xianshi(4)。 } else if(temp==5) { break。 } } } } 從機(jī)程序: include typedef unsigned char uchar。 typedef unsigned int uint。 sbit panjian1=P0^0。 //呼叫按鍵 sbit panjian2=P0^1。 //消除按鍵 sbit flog=P0^2。 //按鍵判斷標(biāo)志位 sbit tr=P0^5。 //控制 485 芯片端口位 sbit led1=P1^0。 //調(diào)試項(xiàng) sbit led2=P1^1。 //調(diào)試項(xiàng) sbit led3=P1^2。 void delay(unsigned int delay1) //延時(shí)子程序 { int i。 34 for(。delay10。delay1) { for(i=0。i125。i++) {。} } } void main() //主函數(shù) { uchar temp。 //定義變量 uchar flog1。 //定義標(biāo)志位 uchar flog2。 //定義標(biāo)志位 uchar flog3。 TMOD=0x20。 //設(shè)置波特 TH1=0xfd。 TR1=0xfd。 PCON=0x00。 SCON=0xd0。 RI=0。 SM2=1。 tr=1。 led1=0。 while(1) { tr=1。 //485 處于接受位置狀態(tài) while(RI!=1)。 temp=SBUF。 //把接收的地址號(hào)保存在變量中 RI=0。 //接受標(biāo)志清零 if(temp!=1) //判斷接受地址位是否為 1 { 35 goto tt 。 //不同則跳出程序 } if(temp==1) //與本身地址相同 { tr=0。 //485 處于發(fā)送狀態(tài) if(panjian1==0) //設(shè)置判鍵號(hào) 呼叫 flog1=1。 if(panjian2==0) //設(shè)置判建號(hào) 消除 flog2=1。 if(flog==1) flog3=1。 if(flog3==1) //向主機(jī)發(fā)送消除指令 { TI=0。 SBUF=6。 while(TI!=1)。 TI=0。 led3=0。 } if(temp==1) { tr=0。 led1=0。 TI=0。 //向主機(jī)會(huì)送應(yīng)答信號(hào) SBUF=1。 while(TI!=1)。 TI=0。 if(flog1==1) //向主機(jī)發(fā)送顯示指令 { TI=0。 36 SBUF=1。 while(TI!=1)。 TI=0。 led2=0。 } else if(flog2==1) //向主機(jī)發(fā)送消除指令 { TI=0。 SBUF=2。 while(TI!=1)。 TI=0。 } flog1=0。 //清除顯示標(biāo)志位 flog2=0。 //清楚消除標(biāo)志位 flog3=0。 } else goto tt; } tt: 。 } }
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦