一種嵌入式無線呼叫系統(tǒng)的設(shè)計和實現(xiàn)
出處:申慶華,肖洪祥 發(fā)布于:2011-07-12 10:50:01
無線呼叫系統(tǒng)是一種用于呼叫的電子產(chǎn)品,是一個包含軟件和硬件的系統(tǒng),被廣泛的應(yīng)用于餐飲、休閑、醫(yī)護、行政辦公等場所。從硬件的組件來看,有調(diào)頻呼叫器或調(diào)幅呼叫器、控制中心、數(shù)字信息機、監(jiān)控系統(tǒng)接收機、監(jiān)控系統(tǒng)軟件、信號增強器、取號器、外接發(fā)射機等。從功能和應(yīng)用上分為醫(yī)院呼叫系統(tǒng),酒店無線呼叫系統(tǒng),餐飲無線呼叫系統(tǒng),工廠專用無線呼叫系統(tǒng)等等。從技術(shù)角度分有兩大類:調(diào)幅(AM)產(chǎn)品和調(diào)頻(FM)產(chǎn)品,我們生活中的無線門鈴、玩具和汽車遙控器等屬于調(diào)幅產(chǎn)品,手機、對講機、尋呼機等屬于調(diào)頻產(chǎn)品。目前,無線呼叫系統(tǒng)調(diào)頻技術(shù)的代表產(chǎn)品是多嘴貓,調(diào)幅技術(shù)的代表產(chǎn)品是訊鈴、紅鈴等。
本文介紹的呼叫系統(tǒng),為了盡量降低成本,只有收、發(fā)和提示等模塊,但設(shè)計電路功能完備,程序設(shè)計獨特,充分考慮呼叫的先后順序,在收端存下接收的號碼形成一個有序的隊列,顯示時按先后順序顯示,讓服務(wù)人員依次響應(yīng),以提升服務(wù)水平與服務(wù)對象滿意度。
1 系統(tǒng)總體設(shè)計
無線呼叫系統(tǒng)由發(fā)射、接收、提示三部分組成,系統(tǒng)框圖如圖1所示。

1.1 發(fā)射與接收
發(fā)射與接收選用CC1100模塊。發(fā)射部分因整體較小,采用體積小、價格低的AT89C2051.接收部分采用性能可靠、價格低、程序設(shè)計成熟的MCS51單片機[1].用于存儲號碼的外部數(shù)據(jù)RAM選用6264,它是一個很穩(wěn)定的存儲器。顯示芯片選用CH451,既方便又可以大量節(jié)約單片機資源,級聯(lián)使用來驅(qū)動五排數(shù)碼管。
發(fā)射部分由用戶自己設(shè)定地址(同時也是呼叫的號碼),可設(shè)為1~255(即多255個呼叫器),不設(shè)0號,0號在程序中作為比較號碼用。
1.2 無線傳輸
隨著無線技術(shù)的日益發(fā)展,無線傳輸技術(shù)應(yīng)用越來越被各行各業(yè)所接受。無線圖像傳輸作為一個特殊使用方式也逐漸被廣大用戶看好。其安裝方便、靈活性強、性價比高等特性使得更多行業(yè)的監(jiān)控系統(tǒng)采用無線傳輸方式,建立被監(jiān)控點和監(jiān)控中心之間的連接。
由于有眾多呼叫號碼,為避免碰撞,采用時分復(fù)用作為通信方式。此通信方式可靠性高、速度快,用在本系統(tǒng)中可方便快捷地傳輸數(shù)據(jù)。只需要把255個呼叫數(shù)據(jù)放入255個時隙中,CC1100模塊就能輕松地實現(xiàn)無線傳輸。
2 硬件電路原理
硬件電路圖分別如圖2、圖3所示。


發(fā)射部分的撥碼用來設(shè)定地址(即呼叫號碼),從1~255;按鍵起呼叫作用,當(dāng)接收部分接收到呼叫的號碼時,會返回確認信息,使LED燈亮。
接收部分的MCS51單片機用于控制,從CC1100接收到的號碼按順序存儲在6264存儲器中,從地址00H~FEH,依次存放成循環(huán)隊列。因為程序中有比較呼叫號碼是否相同的設(shè)計,所以呼叫號碼會與原來存儲的號碼相比較,發(fā)現(xiàn)是重號時將其丟棄,這樣,號碼不會多存,而存下來的號碼都是按呼叫的先后順序存放的,顯示時也按隊列先后順序顯示,使服務(wù)人員能及時有序地依次為服務(wù)對象提供服務(wù)。
5個CH451顯示芯片級聯(lián)使用,驅(qū)動五排數(shù)碼管,順序顯示先后呼叫的號碼。MCS51單片機的P1.0腳連確認按鍵,當(dāng)有按鍵按下時,排數(shù)碼管的號碼被清除,再將存在外部數(shù)據(jù)存儲器中的號碼清0,剩下的4排號碼前移,再從6264存儲器中讀一個號碼來顯示,當(dāng)沒有號碼時則不顯示;再有按鍵按下時再清除一個號碼,如此循環(huán)。
MCS51的P3.7口連,當(dāng)接收到呼叫時,如果不是重號就鳴響提示。74LS373為地址鎖存器。
3 程序設(shè)計
由于程序流程較復(fù)雜,程序設(shè)計參考了參考文獻[2]中的某些觀點。
3.1 程序流程
主程序流程圖如圖4所示。主程序開始后先判斷是否有應(yīng)答按鍵,如果有,則轉(zhuǎn)入顯示與移位子程序,沒有就檢查是否有呼叫,若沒有就跳回到判斷是否應(yīng)答,如此循環(huán);當(dāng)有呼叫時,先比較呼叫號碼是否為0號(因為在系統(tǒng)中0是做比較判斷的號碼),是0號就要丟棄,如果不是0號,則蜂鳴提示,再與外部數(shù)據(jù)存儲器所存的號碼比較,判斷呼叫的號碼是否與存放的號碼相同,若相同則丟棄,不同則存在隊尾,如此循環(huán)構(gòu)成隊列。

當(dāng)呼叫的號碼不是重號,則送顯示。由于多顯示5個號碼,所以設(shè)R1為顯示計數(shù)器,當(dāng)顯示的號碼多于5個時不再顯示。
顯示與移位子程序流程圖如圖5所示。調(diào)用顯示與移位子程序時先屏蔽呼叫中斷,以防止在子程序中有呼叫而改變R1的值產(chǎn)生混亂。判斷R1是否為0可以判斷外部數(shù)據(jù)存儲器是否還有號碼,沒有就不需顯示移位;若有號碼,就清除排顯示的號碼,同時將相應(yīng)外部數(shù)據(jù)存儲器地址中存儲的號碼清0.然后把下面的號碼上移,在顯示上移時,如果發(fā)現(xiàn)讀取的存儲號碼為0,表明已到隊尾,則停止讀號碼,但需把顯示定位器R2減1,回到上一地址,同時R1減1,以便有新號碼時直接顯示;如果讀取的存儲號碼不為0,則循環(huán)5次,這樣就按呼叫順序顯示了號碼。
3.2 隊列的采用
隊列說明如圖6所示。圖6(a)中間的箭頭表示數(shù)據(jù)的存儲和循環(huán)方向,呼叫號碼就從地址00H開始存放,依地址順序循環(huán)存儲;左邊箭頭表示隊尾指針R0的循環(huán);右邊箭頭表示隊頭指針(同時也是顯示定位指針)R2的循環(huán)。圖6(b)表示當(dāng)存下一個號碼后隊尾指針R0將指向下一個地址,可見隊尾指針并不是指向隊尾,而是隊尾的下一位。圖6(c)表示當(dāng)有按鍵按下響應(yīng)時,將隊頭指針R2原來指向的地址數(shù)據(jù)清0,再指向隊頭,此時,顯示的號碼從這里開始顯示。FFH處先置0可防止死循環(huán)。

3.3 主要程序編寫
比較是否重號:設(shè)新呼叫的號碼存入30H.
MOV 31H,R0;保存R0
LOOP:DEC R0;地址減1
MOVX A,@R0;讀外部RAM數(shù)值
CJNE A,30H,NOTEQ1;新舊號碼比較
EQUAT1:CLR A;重號,丟棄
LJMP START1;返回到開始
NOTEQ1:DEC R0;指向下一地址
MOVX A,@R0;讀外部RAM數(shù)值
CJNE A,#00H,NOTEQ2;與0比較
EQUAT2:MOV R0,31H;已到隊頭,返回R0值
MOV A,30H;把新呼叫的號碼給A
MOVX @R0,A; 存到外部RAM
AJMP NEXT; 進行下一步
NOTEQ2:AJMP LOOP; 未到隊頭,繼續(xù)比較
NEXT:……
本文提出的隊列方法結(jié)合嵌入式微控制器應(yīng)用于呼叫系統(tǒng)中,很好地解決了多呼叫順序響應(yīng)、多號碼排序顯示的問題。若要提升系統(tǒng)性能,可選用更好的嵌入式處理器。本設(shè)計經(jīng)過適當(dāng)修改可應(yīng)用于類似系統(tǒng)中,具有較高的實用價值。
參考文獻:
[1]. CC1100 datasheet //m.nhznwl.cn/datasheet/CC1100_1132259.html.
[2]. 74LS373 datasheet //m.nhznwl.cn/datasheet/74LS373_742872.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),//m.nhznwl.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識2025/7/14 16:59:04
- 獨立 ADC 優(yōu)勢大揭秘:為何不可替代?2025/7/7 16:21:04
- 深入剖析:嵌入式中 RS485、RS422 和 RS232 的特點差異2025/7/5 15:07:54
- 揭秘嵌入式 MCU:浮點數(shù)據(jù)處理難點及應(yīng)對策略2025/6/20 15:19:07






