新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于AT89C51的無線病房呼叫系統(tǒng)設(shè)計(jì)

基于AT89C51的無線病房呼叫系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2012-05-11 來源:網(wǎng)絡(luò) 收藏
255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  主機(jī)程序設(shè)計(jì)主要包括初始化程序、發(fā)送數(shù)據(jù)程序、接收數(shù)據(jù)程序、延時(shí)程序、LED顯示程序及蜂鳴器報(bào)警程序等。這些程序并沒有以子程序的方式來實(shí)現(xiàn),這是因?yàn)槊恳粋€(gè)功能的實(shí)現(xiàn)并不完全獨(dú)立,而是相互交織在一起,這就使得采用調(diào)用子程序的方式去實(shí)現(xiàn)變得相當(dāng)困難。本設(shè)計(jì)中采用單片機(jī)匯編語言編寫系統(tǒng)功能模塊程序。主機(jī)的主程序流程如圖3所示。

  主程序流程圖

  主程序流程圖

  2.2 從機(jī)程序設(shè)計(jì)

  從機(jī)的程序設(shè)計(jì)主要包括初始化程序、外部呼叫信號(hào)等待程序、數(shù)據(jù)接收程序、數(shù)據(jù)發(fā)送程序、延時(shí)程序等主要程序。這里需要說明的是在設(shè)計(jì)外部呼叫信號(hào)等待程序時(shí),在接收到外部呼叫信息后,需要經(jīng)過一段延時(shí)(約30 ms)后再進(jìn)行采樣看是否是瞬時(shí)干擾信號(hào)。

  3 系統(tǒng)通信協(xié)議設(shè)計(jì)

  3.1 系統(tǒng)通信協(xié)議設(shè)計(jì)

  由于本設(shè)計(jì)的網(wǎng)絡(luò)系統(tǒng)中存在一個(gè)中心(主機(jī))和多個(gè)用戶端(從機(jī)),因此本系統(tǒng)呈現(xiàn)為點(diǎn)對(duì)多點(diǎn)的通信方式,協(xié)議為點(diǎn)到多點(diǎn)的通信協(xié)議。在整個(gè)系統(tǒng)所設(shè)計(jì)的通信系統(tǒng)中,無論是在發(fā)射請(qǐng)求信息還是在發(fā)射應(yīng)答信息時(shí),發(fā)射的數(shù)據(jù)量始終保持固定的字節(jié)數(shù)且信息結(jié)構(gòu)簡(jiǎn)單,數(shù)據(jù)量較??;而且為了降低發(fā)射信息出現(xiàn)碰撞的概率,在該系統(tǒng)中從機(jī)的數(shù)量有一定限制,因此在本設(shè)計(jì)中采用了比較簡(jiǎn)單的純ALOHA法來解決信息碰撞的問題[3]。

  3.2 通信協(xié)議數(shù)據(jù)幀設(shè)計(jì)

  本系統(tǒng)采用固定字節(jié)長(zhǎng)度的數(shù)據(jù)幀,并使得請(qǐng)求信息數(shù)據(jù)幀和應(yīng)答信息數(shù)據(jù)幀格式相互對(duì)應(yīng),從機(jī)請(qǐng)求信息數(shù)據(jù)傳輸采用引導(dǎo)字頭、接收地址、發(fā)送地址和校驗(yàn)字的數(shù)據(jù)幀格式,而主機(jī)應(yīng)答信息數(shù)據(jù)傳輸采用引導(dǎo)字頭、接收地址、確認(rèn)指令和校驗(yàn)字的數(shù)據(jù)幀格式。

 ?。?)引導(dǎo)字頭:對(duì)主機(jī)而言,為了隨時(shí)接收從機(jī)發(fā)送的請(qǐng)求信息,其射頻芯片nRF401總是處于接收狀態(tài)。本設(shè)計(jì)的傳輸協(xié)議中,數(shù)據(jù)幀的引導(dǎo)字采用OxFF后跟OxAA作為通信同步碼,接收協(xié)議只能夠接收以O(shè)xFF后跟OxAA開始的數(shù)據(jù)包。要注意的是,上面已經(jīng)說明的引導(dǎo)字頭前還要再加一個(gè)隨機(jī)字節(jié),因?yàn)槠鹗紓鬏敃r(shí)第一個(gè)字節(jié)往往是接收不到的,它的作用是使接收機(jī)進(jìn)入狀態(tài)抑制噪聲,在本設(shè)計(jì)中該隨機(jī)字節(jié)采用Ox00。

  (2)接收地址:接收地址既包括從機(jī)發(fā)送請(qǐng)求信息中的接收地址,也包括主機(jī)發(fā)送應(yīng)答信息中的接收地址。在醫(yī)院的病房樓中,很可能存在多套同規(guī)格的射頻系統(tǒng)同時(shí)工作。這樣就必須給每一個(gè)主機(jī)編上代碼,才能使主機(jī)確認(rèn)接收的信息是否是發(fā)送給自己的,這個(gè)主機(jī)編號(hào)同時(shí)也就作為了從機(jī)發(fā)送請(qǐng)求信息時(shí)的接收地址。而每個(gè)主機(jī)下的從機(jī)也會(huì)有一個(gè)對(duì)應(yīng)的編號(hào),這個(gè)編號(hào)在本設(shè)計(jì)中就采用病房號(hào),也就是主機(jī)發(fā)送應(yīng)答信息時(shí)的接收地址。

  (3)發(fā)送地址:發(fā)送地址既存在于從機(jī)發(fā)送的請(qǐng)求信息中也存在于主機(jī)回復(fù)的應(yīng)答信息中。從機(jī)請(qǐng)求信息中的發(fā)送地址是提供給主機(jī)用于顯示的病房號(hào),也是在主機(jī)發(fā)送應(yīng)答信息時(shí)的接收地址。通過應(yīng)答信息中的接收地址,從機(jī)可以判斷出該接收到的信息是否是發(fā)給自己的。如果不是,從機(jī)將重新發(fā)送一遍請(qǐng)求信息,否則將繼續(xù)接收確認(rèn)信息。同理,主機(jī)也可以根據(jù)請(qǐng)求信息中的發(fā)送地址確認(rèn)發(fā)送信息的是否是自己轄區(qū)內(nèi)的從機(jī),如果不是將不予以接收顯示。

  (4)確認(rèn)指令:確認(rèn)指令用于主機(jī)通告從機(jī)信息發(fā)送是否正確。在本設(shè)計(jì)中,采用OxFF作為信息發(fā)送正確的指令,而采用OxEE作為信息發(fā)送錯(cuò)誤的指令。事實(shí)上,在本設(shè)計(jì)的軟件設(shè)計(jì)中,為了確保信息的準(zhǔn)確發(fā)送,只要確認(rèn)信息不是OxFF,則從機(jī)就會(huì)自動(dòng)地重新發(fā)送信息。

 ?。?)



關(guān)鍵詞: AT89C51 無線 病房呼叫

評(píng)論


相關(guān)推薦

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

關(guān)閉