<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于PSTN 的城市電梯安全呼叫系統設計

基于PSTN 的城市電梯安全呼叫系統設計

作者: 時(shí)間:2009-06-17 來(lái)源:網(wǎng)絡(luò ) 收藏

3.2 管理主機

管理主機部分選用 操作,將其移植到LPC2114 處理器上,移植過(guò)程在此不作討論。主程序流程框圖如圖3-2 所示。

圖 3-2 管理主機主程序流程圖

根據功能要求,劃分任務(wù)為:液晶顯示任務(wù)、按鍵檢測任務(wù)、設置/查詢(xún)任務(wù)、信號音檢測任務(wù)、號碼分析任務(wù)、自檢任務(wù)及通話(huà)任務(wù)等七個(gè)任務(wù)。 1) 液晶顯示任務(wù)

每隔1 秒從時(shí)鐘芯片DS1302 讀取當前時(shí)鐘,根據當前狀態(tài)指示液晶顯示不同內容,待機狀態(tài)下顯示系統日期和時(shí)鐘,通話(huà)狀態(tài)下顯示通話(huà)時(shí)間。 2) 按鍵檢測任務(wù)

鍵盤(pán)掃描任務(wù)不斷掃描按鍵,如果檢測到按鍵,記錄鍵值并延時(shí)20 毫秒,20 毫秒后仍有按鍵并且鍵值與之前相同時(shí)判斷為有效按鍵,通過(guò)調用OSMboxPost(KeyMbox,0,err)函數將有效鍵值發(fā)送到鍵值消息郵箱KeyMbox,由其他任務(wù)取用。 3) 設置/查詢(xún)任務(wù)

當按下SET 鍵時(shí),產(chǎn)生外部中斷EINT1,其中斷服務(wù)程序喚醒設置/查詢(xún)任務(wù)。根據系統輸入的號碼,可分別進(jìn)入系統時(shí)鐘設置、遠程中心專(zhuān)線(xiàn)電話(huà)設置、自動(dòng)轉外線(xiàn)延時(shí)時(shí)間設置、系統自動(dòng)監測范圍設置。

進(jìn)入預置狀態(tài)后,設置/查詢(xún)任務(wù)調用OSMboxPend(KeyMbox,20, err),等待按鍵, 根據輸入的首位按鍵,進(jìn)入相應設置功能的子程序。如按下“8”鍵,進(jìn)入設置轉外線(xiàn)延時(shí)子程序;按“9” 鍵進(jìn)入設置遠程監控中心號碼子程序;按“0” 鍵進(jìn)入設置系統時(shí)間子程序;按“1” 鍵進(jìn)入設置自檢范圍子程序;按“上翻/下翻”鍵進(jìn)入查詢(xún)通話(huà)記錄子程序;按“查詢(xún)”鍵進(jìn)入查詢(xún)未接電話(huà)子程序;長(cháng)按“查詢(xún)”鍵3 秒進(jìn)入自檢結果查詢(xún)子程序。 4) 信號音檢測任務(wù)

當有外線(xiàn)呼入或內部網(wǎng)絡(luò )轉撥遠程監控中心時(shí),通話(huà)任務(wù)喚醒信號音檢測任務(wù)。任務(wù)通過(guò)采集LM567 芯片的輸出引腳,并根據信號音的信號標準判斷是否忙音及回鈴音,以事件標志的形式反饋給通話(huà)任務(wù),使其進(jìn)行自動(dòng)掛機處理及記錄通話(huà)時(shí)間。 5) 號碼分析任務(wù)

當有分機時(shí),管理主機的MT8870 芯片接收DTMF 信號,并產(chǎn)生EINT3 外部中斷。根據內部通信約定,一幀數據包括起始碼、分機號、校驗碼及結束碼。在EINT3 的中斷服務(wù)程序中,將收到的數據存入數組,如果收到結束碼就表示一幀數據接收完畢,通過(guò)OSMboxPost()函數將數組首地址發(fā)送到已創(chuàng )建好的InCallMbox 消息郵箱,并且喚醒號碼分析任務(wù)。

在號碼分析任務(wù)中,通過(guò)調用OSMboxPend(InC allMbox,0,err)來(lái)取得先前中斷中存入的數組數據,對號碼進(jìn)行檢查并校驗,如號碼正確則發(fā)送給通話(huà)任務(wù),最后掛起自身任務(wù)。6) 通話(huà)任務(wù)

當用戶(hù)摘機或有公網(wǎng)外線(xiàn)呼入時(shí)會(huì )產(chǎn)生摘機中斷和振鈴中斷,在各自的中斷服務(wù)程序中調用OSFlagPost()函數以事件標志的形式通知通話(huà)任務(wù)。

在通話(huà)任務(wù)中,任務(wù)不斷查詢(xún)當前的事件標志,根據有無(wú)摘機、是否有振鈴、有無(wú)內部呼叫等,來(lái)判斷主機當前的狀態(tài),進(jìn)入相應處理子程序。如收到內線(xiàn)呼叫碼并且通過(guò)號碼分析任務(wù)檢驗,則表示有內線(xiàn)呼叫請求,進(jìn)入內線(xiàn)呼叫本機處理程序;如有振鈴中斷,表示有外線(xiàn)呼入請求,進(jìn)入外線(xiàn)呼叫本機處理程序;如果本機未通話(huà)且處于摘機狀態(tài),則進(jìn)入本地呼叫內外線(xiàn)處理程序。這里給出了內線(xiàn)呼叫主機處理程序的流程圖,如圖3-3 所示。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>