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

正文內(nèi)容

基于spce061a的智能密碼鎖系統(tǒng)的軟件設計-閱讀頁

2025-07-12 19:00本頁面
  

【正文】 (3)主程序調(diào)試在所有的子程序和中斷服務程序都調(diào)試完畢后,還需要用主程序?qū)⑺鼈冞B接在一起,進行整體調(diào)試,檢查各個模塊之間、各中斷服務程序之間是否存在相互影響,是否會出現(xiàn)程序之間的交叉錯誤。若整體調(diào)試通過,則說明軟件系統(tǒng)基本正確:若不能通過,則需要按照連接時的相反的順序逐次將子程序模塊與主程序分離,直到發(fā)現(xiàn)出錯原因。本課題主要完成了對本系統(tǒng)各個模塊,包括:鍵盤電路模塊、語音信號識別檢測模塊、傳感器信號檢測模塊、電話信號檢測模塊、模擬摘掛機模塊、DTMF編碼發(fā)送模塊、發(fā)送語音報警信號模塊等部分模塊的程序編寫。在程序的編寫過程中合理分配本系統(tǒng)使用的單片機資源,對單片機的各個口進行有效利用,有效地解決了單片機系統(tǒng)資源的浪費。 致 謝本研究及論文是在我的指導老師楊銀賢老師的親切關懷和悉心指導下完成的。從課題的選擇到項目的最終完成,楊老師都始終給予我細心的指導和不懈的支持。 在此,我還要感謝在一起愉快的度過畢業(yè)設計生活的各位同學,正是由于你們的幫助和支持,我才能克服一個一個的困難和疑惑,直至本文的順利完成。_nop_() //HT9200延時程序.define p_ioa_data 0x7000。.define p_ioa_attri 0x7003。.define p_iob_data 0x7005。.define p_iob_attri 0x7008。.define p_int_clear 0x7011。.IRAMR1=0100H //HT9200選中芯片[P_IOB_DIR]=R1[P_IOB_ATTRIB]=R1sbit HT9200_DATA=[P_IOB_DATA]。 //存放時間TA數(shù)組 unsignde char Y[3]。 //時間TA單元數(shù)學運算后暫存單元 unsignde char t_2=0。 //存放電話號碼的數(shù)組unsigned char flag。 //輸入電話號碼計數(shù)器(最長20位) unsigned char set=0。 //全局變量unsigned char n=0。unsigned char timera_flag=0。 //延時子函數(shù)聲名Void bh() // 撥號子函數(shù)聲明/*************************************//*模擬摘掛機*/Void MNZGJ(){R1=0100H[P_IOB_DIR]=R1[P_IOB_ATTRIB]=R1sbit kz=[P_IOB_DATA]。call L_delay。call L_delay。call L_delay。 //轉(zhuǎn)向DTMF編碼發(fā)送處執(zhí)行}/*計數(shù)器TA初始化*/.CODE.PUBLIC_KZ_KZ: R1=1000H [7010H]=R1 INT OFF R5=002Dh [700BH]=R5 R4=0000h [700AH]=R4/**************************************//*延時子程序*/L_delay:.PROC //延時10S的子程序LOOP: R1=4000L_LOOP1 R2=1248 NOPL_LOOP2: R2=1 JNZ L_loop2 R1=1 JNZ L_LOOP1 RETF.ENDP/**************************************//*延時1MS*K子程序*/void idelay(unit k){unit i,j。ik。j60。}}}/*************************************//*語音識別訓練程序*/ void lfy()include include CMD1_ID 0x100include CMD2_ID 0x101 include S_CMD1 0include S_CMD2 1include S_AGAIN 2include S_NOVOICE 3include S_CMDDIFF 4include S_NOISY 5include S_START 6include S_RSP1 7include S_RAP2 8 Int TrainWord(int WordID,int SndID){Int Result。Ressult=BSMTrain(wordID,BSM_TRAIN_TWICE)。case 1: //沒有檢測出聲音 PlaySnd(S_NOVOICE,3)。case 2。case 3: //環(huán)境太吵 PlaySnd(S_NOISY,3)。Case 4: //數(shù)據(jù)庫滿 Break。 Break。Default: Break。}/**************************************//*語音識別解鎖主程序*/.public Main()Main(){ Int Result。 //初始化RAM While(TrainWord(CMD1_ID,0) !=0)。 //訓練第二條命令 BSR_initRecognizer(BSR_MIC)。 //訓練結(jié)束,開始識別 While(1) { Result=BSR_GetResult()。 Break。 Break。 } } }.Include .Public _FIQ。 //寄存器壓棧保護 R1 = C FIQ_TMA。 //是FIQ_TimerA中斷? Jnz L_FIQ_TimerA。 Test R1,[P_INT_ctrl]。L_FIQ_PWM: //FIQ_PWM中斷服務程序 R1=C_FIQ_PWM。 //清中斷標志位 POP R1,R5 from[sp]。L_FIQ_TimerA: //FIQ_TimerA中斷服務程序 [P_INT_clear]=R1。 //語音播放中斷服務 Pop R1,R5 from [sp]。 L_FIQ_TimerB: //FIQ_TimerB中斷服務程序 [P_INT_clear]=R1。 Reti。 //電話號碼計數(shù)器歸0[P_IOB_data]=1。 while(sed) { for(i=i)。 HT9200_CE=0。 //延時10ms,以使其起振 while(N) { if(dtmfDataamp。 } else { HT9200_DATA=0。 //延時5μS HT9200_CLK=0。 //延時5μS HT9200_CLK=1。 //數(shù)據(jù)右移一位 } L_delayMs(60)。 //禁止HT9200 }void sendDTMF(unsigned char *s,l) /*發(fā)送一串DTMF號碼,定義指針變量S*/{ while(l) { sendHt9200Bit(*s)。 //延時50msDTMF間隔 s++。 sendDTMF(haoma,8)。 //循環(huán)}}/***********************************************************//*啟動報警進入警戒工作*/void work(){unsigned char h。t_1++if(set!=1){EX1=0。break。[P_timera_data]=0x00。t_1=0。if(f=5){[P_TimerA_DATA]=0X00。}}}/*************************************/EX1=0。t_2++。break。CALL L_delay(3000)。h60。f500。CALL L_delay(1)。} //控制輸出端恢復為高 t_1=0。 //有關計數(shù)器\端口回到初始狀態(tài) for(f=0。f++) delay(60000)。/**********************************//*** 關機***/void stop(){if(flag==0x55)。if(flag==0x55) PCON=0X01。}/**********************************//***主函數(shù)***/void main(){init_timerA()。break。break。}}else if([P_IOA_DATA]==0){ly()} //語音工作}if(flag!=0x55) {rest==1。 //若flag標志變化,程序復位} }}
點擊復制文檔內(nèi)容
教學教案相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1