實驗三用戶摘掛機識別初級編程_第1頁
實驗三用戶摘掛機識別初級編程_第2頁
實驗三用戶摘掛機識別初級編程_第3頁
實驗三用戶摘掛機識別初級編程_第4頁
實驗三用戶摘掛機識別初級編程_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、實驗報告項目名稱:用戶摘、掛機辨別初級編程教課班級:學(xué)生姓名:同構(gòu)成員:指導(dǎo)教師:實驗地址:實驗日期:實驗三用戶摘、掛機辨別初級編程一、實驗的目的及要求:實驗?zāi)康模荷钊胝J識實驗系統(tǒng)供給的模擬用戶接口電路硬件環(huán)境;2.經(jīng)過本次實驗,掌握模擬用戶線接口電路芯片88622的控制使用方法;3.嫻熟掌握使用BorlandC集成開發(fā)環(huán)境IDE編寫和調(diào)試程序的方法;能綜合運用所學(xué)知識,獨立編寫和調(diào)試用戶摘、掛機辨別程序,提升使用C語言編寫“儲存程序控制設(shè)施”軟件的能力,感覺成功的快樂。預(yù)習(xí)要求:實驗以前,請認真閱讀教材程控互換原理與軟硬件設(shè)計中對于MY88622芯片軟硬件設(shè)計的有關(guān)內(nèi)容,掌握模擬用戶線接口電

2、路芯片的構(gòu)成與工作原理;聯(lián)合210圖MY88622典型應(yīng)用電路,進行電路原理說明。2.預(yù)習(xí)MY88622芯片軟件控制和軟件設(shè)計知識,在預(yù)習(xí)報告的實驗原理一欄中對MY88622的用戶摘、掛機辨別軟件編程控制原理及群辦理方法進行說明;依據(jù)下邊的實驗內(nèi)容,單獨編寫“用戶摘、掛機辨別”程序,在預(yù)習(xí)報告中畫出實驗中預(yù)使用的程序流程圖,寫出預(yù)先編寫的程序和預(yù)期結(jié)果。圖210MY88622典型應(yīng)用電路二、實驗環(huán)境:程控互換教課與實驗系統(tǒng)實驗平臺程控互換教課與實驗系統(tǒng)編程平臺直流穩(wěn)壓電源(SPIDI80型用戶除外)外接模擬電話機三、實驗原理:1、模擬用戶電路功能在數(shù)字程控互換機中,模擬用戶電路是用得最多的零件

3、。用戶電路的芯片種類眾多,從功能上可分為用戶線接口電路SLIC,PCM編解碼與濾波電路CODEC,以及把兩者合二為一的帶C功能的用戶線接口電路(SLIC+CODEC),模擬用戶電路一般要擁有下述功能:對每個用戶饋電(Batteryfeed)、過壓保護(OverVoltageProtection)、振鈴(Ringing)、監(jiān)督(Supervision)、編譯碼(Codec)、2/4線變換(Hybrid)及測試等7項功能,通稱BORSCHT功能,如圖211所示。詳細含義是:(1)饋電(Batteryfeed)向用戶話機送直流電流。往常要求饋電電壓為-48V或-24V,環(huán)路電流不小于18mA。(2)

4、過壓保護(OverVoltageProtection)防備過壓過流沖擊和破壞電路、設(shè)施。3)振鈴控制(Ringing)向用戶話機饋送鈴流。往常為25HZ90Vrms正弦波。3)監(jiān)督(Supervision)監(jiān)督用戶線狀態(tài)、檢測用戶話機摘機、掛機等信號送控制模塊和互換網(wǎng)絡(luò)。圖211模擬用戶線電路功能框圖4)編譯碼(Codec)達成模擬話音與數(shù)字編碼之間的變換。往常采納PCM編解碼器CODEC來達成,編碼速率為64kb/s。5)2/4線變換(Hybrid)達成2/4線變換功能。實現(xiàn)模擬二線雙向信號與PCM發(fā)送、接收數(shù)字四線單向信號之間的連結(jié)。6)測試(Test)對用戶電路進行測試。一般模擬用戶電路

5、的BORSCHT七項功能中,C功能由PCM編解碼與濾波電路CODEC實現(xiàn),其余六項功能由用戶線接口電路SLIC及其外面電路實現(xiàn)。MY88622芯片是用戶線接口電路SLIC芯片。2、摘、掛機檢測功能及軟件設(shè)計原理掛機檢測模塊的功能是監(jiān)督用戶線路的狀態(tài),看看有無變化,以便在發(fā)現(xiàn)有變化時,進行一些必需的辦理,把有關(guān)數(shù)據(jù)送入摘機行列或掛機行列,轉(zhuǎn)交其余程序辦理。用戶摘機或掛機,反應(yīng)到用戶線上是用戶回路狀態(tài)的改變,即回路由斷開變成閉合或由閉合變成斷開。上述狀態(tài)改變能夠在用戶電路的監(jiān)督點上反應(yīng)出來。因為用戶回路狀態(tài)只有兩個,故正好能夠用一位二進制數(shù)的兩個邏輯值表示,用戶接口電路MY88622摘掛機檢測點為

6、SHK。摘機時SHK為高電平,掛機為低高電平,所以“0”表示斷開,“1”表示閉合。不論是摘機仍是掛機,辦理機應(yīng)實時發(fā)現(xiàn),但也無必需連續(xù)進行監(jiān)督,只需按期地進行周期性監(jiān)督就能夠了。為此每隔一準(zhǔn)時間(一般為200ms)從用戶電路的監(jiān)督點讀取一次用戶回路狀態(tài),經(jīng)過對讀數(shù)進行運算來辨別用戶的摘機和掛機。只是讀取反應(yīng)用戶回路目前狀態(tài)的信息,其實不可以判斷用戶能否摘機,因為目前的摘機可能是剛才摘機,也可能是早已摘機,正在通話中。所以還一定依據(jù)前一次掃描時讀取的狀態(tài)來鑒別,只有目前一次讀取的用戶回路為斷開狀態(tài),而本次讀取的用戶回路是閉合狀態(tài),即由“斷開”變成“閉合”時,才判斷為摘機。為此一定要有兩個儲存區(qū):

7、一個用來儲存本次的掃描結(jié)果SCN,另一個則用來寄存前一次的掃描結(jié)果LM。假如用JudgeWord來辨別用戶能否摘機呼出,辦理機履行“與”運算:JudgeWord=SCNLM如運算結(jié)果是1,表示用戶摘機呼出,因為只有當(dāng)SCN為1,LM也為1時,結(jié)果才SCN=1說明此次讀取的用戶線狀態(tài)為閉合,LM=1說明前一次讀取用戶線狀態(tài)為斷開。是1。而在其余狀況下,結(jié)果均為0。判斷摘機呼出的原理可用圖212表示。圖212摘機辨別原理掛機辨別也可照此辦理,可是程序算法要做某些改正,對于已摘機的用戶,也可采納按期讀取狀態(tài)的方法。判斷掛機的條件應(yīng)該是前一次為閉合狀態(tài),而本次為斷開狀態(tài),即當(dāng)JudgeWord=SCN

8、LM=1表示為掛機。因為每個用戶的狀態(tài)只占用一位,故對用戶摘掛機辨別可采納群辦理的方法,即每次對一組用戶進行檢測,每組多少個用戶,由計算機的字長確立,比如8位辦理機每組8個用戶,辨別原理見圖213。從圖213中能夠看出SCNLM=00110001表示第1號用戶、第5號用戶和第6號用戶摘機。SCNLM=01000100表示第3號用戶和第7號用戶掛機。圖213群辦理辨別用戶摘掛機四、實驗內(nèi)容及步驟:實驗內(nèi)容及要求:“用戶摘、掛機辨別”初級編程為必做項。單獨編寫的程序在達成輸入與調(diào)試工作后,運轉(zhuǎn)該程序可實現(xiàn)當(dāng)用戶對話機做摘/掛機操作時,屏幕大將顯示摘/掛機電話的號碼。用戶摘、掛機辨別初級編程提示:用

9、戶摘、掛機檢測硬件電路連結(jié)表示圖如圖214。圖214用戶摘、掛機檢測硬件電路連結(jié)表示圖SHK用戶組的地址為0 x260(不一樣型號設(shè)施的地址略有差別,可進入教課實驗系統(tǒng)查閱)。履行自編用戶摘、掛機辨別初級程序后,程序每隔200ms對用戶組掃描一次。該程序應(yīng)具備以下功能:運轉(zhuǎn)程序后,當(dāng)用戶對話機做摘、掛機操作時,屏幕上能正確顯示出摘、掛機電話的號碼。摘機算法:SCNLM=因為上邊的算法采納了群辦理,所以要用“尋1”操作找出摘機用戶號碼?!皩?”操作可采納移位實現(xiàn)或采納教材P143程序?qū)嵗械臄?shù)組Subs_Bit比較的方法。掛機算法:SCNLM=掛機的算法相同也采納了群辦理,也要用“尋1”操作找出

10、掛機用戶號碼。別的,每隔200ms對用戶組掃描一次,在編程中可考慮用delay()函數(shù)實現(xiàn)。摘掛機檢測流程圖在數(shù)字程控互換機中,往常采納群辦理方式辨別用戶摘掛機,流程圖見圖215。圖215群辦理方式辨別用戶摘掛機流程圖實驗步驟:實驗中的“用戶摘、掛機辨別”程序輸入與調(diào)試請在程控互換教課與實驗系統(tǒng)編程平臺上獨立達成。經(jīng)過實驗提升親身著手編程的能力,提升對用戶線接口電路的剖析和控制能力,學(xué)會解決在實驗及程序調(diào)試過程中碰到的各樣實質(zhì)問題。詳細步驟以下:步驟1、源程序輸入(1)接通電源,開機啟動系統(tǒng),雙擊“”圖標(biāo),選擇進入編程平臺口令窗口,如圖2-5;點擊“撤消”,進入編程平臺進口窗口,選擇摘掛機檢測

11、實驗編程如圖2-16;2)進入摘掛機檢測實驗編程窗口如圖2-17,閱讀編程要求與編程指導(dǎo),深刻認識編程要求所提出的詳細內(nèi)容與硬件電路,認真學(xué)習(xí)編程指導(dǎo)所提出的方法與使用的函數(shù)。3)點擊“編程實驗”按鈕,彈出BorlandC集成開發(fā)環(huán)境IDE窗口如圖2-18。圖2-16選擇摘掛機檢測實驗編程圖2-17摘掛機檢測實驗編程窗口圖2-18在窗口C環(huán)境下輸入自己編寫的摘掛機檢測程序進入程控互換教課與實驗系統(tǒng)的編程平臺,在C環(huán)境下輸入單獨編寫的“用戶摘、掛機辨別”源程序。源程序言件命名為:“班號學(xué)號”,存入D盤名為“實驗”的文件夾中本班文件夾內(nèi),以備教師檢查。(4)在File菜單項下,點擊New,彈出編程

12、窗口,在窗口C環(huán)境下輸入自己編寫的“用戶摘、掛機辨別”源程序。源程序言件命名為:“班號學(xué)號”,存入D盤名為“實驗”的文件夾中本班文件夾內(nèi)。步驟2、程序調(diào)試。1)在Compile菜單項下,點擊Compile進行編寫,除去語法上的錯誤。2)在Run菜單項下,點擊Run運轉(zhuǎn)程序,除去連結(jié)上的錯誤。調(diào)試過程中做好調(diào)試記錄,將實驗過程中碰到的問題、改正的語句、解決方法及結(jié)果記錄下來。程序調(diào)試經(jīng)過者,經(jīng)教師檢查通事后,方可上交實驗報告。步驟3、實驗結(jié)束。在File菜單下選擇Quit,回到原窗口,按“退出”按鈕退出。注意事項:本實驗在編程平臺上達成。要求鈴流源處于封閉狀態(tài)。實驗以前,檢查鈴流源是否處于封閉狀

13、態(tài),未關(guān)好的關(guān)好鈴流源。源程序言件命名為:“班號學(xué)號”,存入D盤名為“實驗”的文件夾中本班文件夾內(nèi),以備教師檢查。五、程序清單:#include#include#include#defineFIRST_BOARD_HOOK_ADDRESS0 x260#defineOFFHOOK_QUEUE_SIZE16#defineONHOOK_QUEUE_SIZE16#defineSUM_BOARD_3inti;unsignedcharUM_offhook;unsignedcharLm1;unsignedcharSubs_Bit8;unsignedcharOffHook_QueueOFFHOOK_QUEUE

14、_SIZE;unsignedcharOffHook_Spos,OffHook_Rpos,OffHook_Queue_Flag;unsingedcharOnHook_QueueONHOOK_QUEUE_SIZE;unsignedcharOnHook_Spos,OnHook_Rpos,OnHook_Queue_Flag;unsignedcharUM_OffHook_1,UM_OnHook_1;voidScanFirstBoard(void);main()OffHook_Queue0=0;OffHook_Spos=0;OffHook_Rpos=0;OffHook_Queue_Flag=0;OnHoo

15、k_Queue0=0;OnHook_Spos=0;OnHook_Rpos=0;OnHook_Queue_Flag=0;Lm0=0;Subs_Bit0=0 x01;Subs_Bit1=0 x02;Subs_Bit2=0 x04;Subs_Bit3=0 x08;Subs_Bit4=0 x10;Subs_Bit5=0 x20;Subs_Bit6=0 x40;Subs_Bit7=0 x80;UM_OffHook_1=0;UM_OnHook_1=0;Outportb(0 x369,0);clrscr();printf(“Pleaseoffhook,checkoffhooksubscribernumber

16、.n”);printf(“Thenonhook,checkonhooksubscribernumber.nfor(;)If(kbhir()Break;Delay(20);ScanFirstBoard();Return0;VoidScanFirstBoard()unsignedcharScn;unsignedcharNewScan_OffHook;unsignedcharNewScan_OnHook;unsignedcharOldLm;unsignedcharCurrentBoardNum;unsignedintJudgeWord;inti;CurrentBoardNum=0 x01;Scn=i

17、nportb(FIRSR_BOARD_HOOK-ADDRESS)&0 xff;JudgeWord=UM_OffHook_1&Scn;i=7;while(JudgeWord!=0)While(JudgeWord&Subs_Biri)!=Subs_Biti)i-;”);if(OffHook_Spos+1)=OffHook_Rpos)|(OffHook_Spos=OFFHOOK_QUEUE_SIZE)&(OffHook_Spos=0)Printf(“OffHook_QueueisFull.NotInsert.nElse”);OffHook_QueueOffHook_Spos=i;printf(“Of

18、fHook_Queue:BoardNum:%d,OffHook_Sub:%dn”,CurrentBoardNum,i+1);JudgeWord=JudgeWord&(Subs_Biti);i-;printf(“OffHook_Queue:%xn”,OffHook_QueueOffHook_Spos);NewScan_OffHook=Scn;OldLm=Lm0;UM_OffHook_1=NewScan_OffHook&(OldLm);NewScan_OnHook=Scn;JudgeWord=UM_OnHook_1&(NewScan_OnHook);i=7;while(JudgeWord!=0)While(JudgeWord&Subs_Biti)!=Subs_Bitii-;if(OnHook_Spos+1)=OnHook

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論