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

正文內(nèi)容

單片機管線探測器設(shè)計與制作畢業(yè)論文-閱讀頁

2025-07-06 22:52本頁面
  

【正文】 示。定時計數(shù)器的工作方式是在TMOD寄存器中設(shè)置的,TMOD和TCON的格式如圖52所示,由于這里只用到方式1所以對方式1加以說明,方式1的結(jié)構(gòu)如圖53所示,方式1為計數(shù)器THX作為高8位TLX作為低8位,定時時間=(216-T0初值)時鐘周期12,因此要定時50ms需給定時器T0的初值為D8F0H。1)鍵盤模塊的調(diào)試鍵盤模塊包括鍵盤輸入的接收和鍵盤輸入的處理,兩個部分相互依賴。2)出現(xiàn)的問題(這是在設(shè)計時就應(yīng)該考慮的問題,基本常識,建議前移)按鍵在按下的瞬間,它不是產(chǎn)生一個完整的脈沖信號,而是帶有無數(shù)個毛刺的信號序列,要是不加防抖動處理或是防抖動處理的不好,那么程序接收到的將是按鍵多次按下,這樣會產(chǎn)生意想不到的錯誤。最后加二次檢驗和延時后這種現(xiàn)象消失了。圖54 防抖動鍵盤程序流程圖R:表示確定的行值;C表示確定的列值;J:最終確定鍵值;J1:第一次確定的鍵值;J2第二次確定的鍵值; 系統(tǒng)性能分析這里主要分析一下影響系統(tǒng)探測精度的因素以及提高探測精度的方法。當(dāng)然在振蕩電路確定后系統(tǒng)的振蕩頻率也就固定下來,那么為什么不選用這個固定值作為基準(zhǔn)頻率?只能說這兩個方案各有利弊。但是如果遇見這種情況,在一堆同類型金屬中檢測別的類型的金屬時這種方法就不可行了。這樣基準(zhǔn)頻率將隨著環(huán)境的不同而變化,所以它探測金屬的情況,是在當(dāng)前環(huán)境中去檢測金屬的,所以可以辨別不同的金屬。振蕩電路的頻率與幅值,是有振蕩電路本身的設(shè)計方案決定的,一經(jīng)實現(xiàn)就無法改變,因此這里只對后兩者進行討論。②在程序中設(shè)定的頻率的變化范圍,它用來報警,如果當(dāng)前的振蕩頻率高出或低出基準(zhǔn)頻率某個值,那么就驅(qū)動蜂鳴器進行報警,很顯然這個值設(shè)置的越大則探測的精度越小,用戶也是通過這種方法來改變探測的精度的,他在鍵盤上增加或減小的值就是這個頻率的變化范圍。本論文設(shè)計是在我的導(dǎo)師朱宇教授的悉心指導(dǎo)下完成的。感謝我的同學(xué)們,從不相識,開始慢慢建立起彼此之間兄弟般的感情,相互幫助,相互照顧,共同進步。我們在一起的日子,我會記一輩子的。由于本人時間比較倉促,本次畢業(yè)設(shè)計金屬探測器,還有很大的擴展空間,這里提供了一個數(shù)字金屬探測器的設(shè)計思想。 附 錄附錄一 防抖動鍵盤處理源程序void EnterAccept(){ scankey=KBD_PORT; if(scankey^0xe3) { keypress=1; } else { keypress=0; } switch(fsm_key) { case FSM_INIT: //鍵盤初始化,開始一執(zhí)行就可以進入鍵盤檢測程序段 KBD_PORT=0xe3; fsm_key=FSM_WAIT_PRESS; break; case FSM_WAIT_PRESS: //鍵盤監(jiān)測,如果有按鍵按下,則判斷是哪一個被按下去了(主要是通過判斷行與列而得到) if(keypress) { // 若有鍵按下先判斷是那一行 key_val=7; if(KR0==0){ kbd_row=0; //記錄是那一行 } else if(KR1==0){ kbd_row=1; } else { fsm_key=FSM_INIT; } KBD_PORT=0xfc; //寄存器的高四位變F低四位變?yōu)?,用于檢測是哪一列 if( KBD_PORT^0xfc) { if(KC0==0){ fsm_key=FSM_VERFY1; //下一個時間段為確認(rèn)時間段 kbd_col=0; //記錄列號 } else if(KC1==0){ fsm_key=FSM_VERFY1; kbd_col=1; } else if(KC2==0){ fsm_key=FSM_VERFY1; kbd_col=2; } else{ fsm_key=FSM_INIT; //如果無按鍵被按下則返回初始化狀態(tài) } } else{ fsm_key=FSM_INIT; //如果無按鍵被按下則返回初始化狀態(tài) } } break; case FSM_VERFY1: switch(KBD_PORT) { case 0xf8: key_val1=kbd_row*3+kbd_col; break; case 0xf4: key_val1=kbd_row*3+kbd_col; break; case 0xec: key_val1=kbd_row*3+kbd_col; break; default:key_val1=7; break; } KBD_PORT=0xe3; //還原到初始的檢測狀態(tài) fsm_key=FSM_VERFY2; break; case FSM_VERFY2: switch(KBD_PORT) { case 0xe2: key_val2=kbd_row*3+kbd_col; break; case 0xe1: key_val2=kbd_row*3+kbd_col; break; default:key_val2=7; break; } fsm_key=FSM_WAIT_RELESE; break; case FSM_WAIT_RELESE: if(!keypress) { //若鍵盤未釋放,則繼續(xù)保持在鍵盤釋放狀態(tài) fsm_key=FSM_INIT; } setDally(4); break; default: fsm_key=FSM_INIT; break; } if(key_val1!=key_val2) { key_val=7; } else { key_val=key_val1; key_val1=7; key_val2=7; } }附錄二前端金屬探測部分源程序ORG 0000HLJMP STARTORG 000BH ;定時器T0中斷程序入口LJMP TT0ORG 0013HAJMP INTT1 F_COMM EQU 23H ;標(biāo)志是否要進行通訊F_FR EQU 20H ;標(biāo)志基準(zhǔn)[頻率是否順利獲得F_DF EQU 21H ;標(biāo)志是否以獲得新探測到的頻率F_W EQU 22H ;標(biāo)志警報的類型(逆磁性還是順磁性)F_COMP EQU 24H ;標(biāo)志探測的頻率是否在正常的頻率范圍F_OK EQU 25HF_CHANGE EQU 26HPRISEH EQU 49HPRISEL EQU 50HSTART: MOV SP,60H MOV P3,0FFH MOV P1,0FFH MOV TMOD,51H MOV SCON,80H MOV PCON,80H SETB ET0 SETB EX1 SETB IT1 SETB EA CLR F_COMM CLR F_FR CLR F_DF CLR F_COMP CLR F_OK CLR F_CHANGE MOV PRISEH,2 MOV PRISEL,1 CLR MOV R4,40 ;r4用來裝延時的時間(5ms的整數(shù)倍 ) LCALL DALLY LCALL FR_DETECTS1: JNB F_FR,S1 CLR F_DF S2: LCALL START_DETECTS3: JNB F_DF,S3 CLR F_DF JNB F_COMM,SS9 JNB F_OK,SS10 ;如果通訊標(biāo)志為一則發(fā)送接通信號 MOV R5,01H MOV R6,01H LCALL DATACOMM CLR F_OKSS10: ACALL P_SETJNB F_CHANGE,SS9CLR F_CHANGEMOV R5,01H MOV R6,01H LCALL DATACOMM┇ SS7: MOV A,40H CJNE A,42H,SS1AJMP SS8SS1: JC SS2 ;如果比基準(zhǔn)頻率大則清零F_WSS4: SETB F_W AJMP SS5SS2: CLR F_W AJMP SS5SS8: MOV A,41HCJNE A,43H,SS6SS6: JC SS2 AJMP SS4SS5: ACALL WORNINGAJMP S2 WADD: MOV A,R1ADD A,R2 MOV R1,AJNC W1INC R0W1: RET WORNING:MOV 48H,10 WO0: JB F_W,WO1 CLR CLR MOV R4,8 ACALL DALLY AJMP WO2WO1: CLR CLR MOV R4,8 LCALL DALLY WO2: SETB SETB SETB MOV R4,10 ACALL DALLY DJNZ 48H,WO0 RET ┇ TT0: CLR TR1 ;確定基準(zhǔn)頻率 CLR TR0 MOV 42H,TH1 MOV 43H,TL1 SETB F_DF RETI FR_DETECT: MOV R7,10ACALL START_DETECTFR1: JNB F_DF,F(xiàn)R1 CLR F_DF MOV 40H,42H MOV 41H,43H FR2: ACALL START_DETECTFR3: JNB F_DF,F(xiàn)R3 CLR F_DF MOV R3,2 MOV R4,2 LCALL FR_COMP JNB F_COMP,F(xiàn)R5 MOV 40H,42H MOV 41H,43H DJNZ R7,F(xiàn)R2 LCALL WORNING AJMP FR6 FR5: SETB SETB F_FRFR6: RET┇ ;比較模塊判斷測得的頻率值是否在給定的范圍內(nèi),如果在則返回0,不在則返回1. FR_COMP: MOV R0,40H ;F1F+XF1+X+Y(F1XFF1+Y)MOV R1,41HMOV A,R3MOV R2,ALCALL WADDMOV 44H,R0MOV 45H,R1MOV A,R4ADD A,R3MOV R2,AMOV R0,42HMOV R1,43HLCALL WADDMOV 46H,R0MOV 47H,R1MOV A,44HCJNE A,42H,F(xiàn)C1AJMP FC3FC1: JC FC5FC8: MOV A,44HCJNE A,46H,F(xiàn)C2AJMP FC4FC2: JNC FC5 AJMP FC6FC3: MOV A,45H CJNE A,43H,F(xiàn)C7 AJMP FC6FC7: JC FC5 AJMP FC8FC4: MOV A,45HCJNE A,47H,F(xiàn)C9AJMP FC6FC9: JNC FC5FC6: CLR F_COMPAJMP FC10FC5: SETB F_COMPFC10: RET ;接受后臺的精度設(shè)置結(jié)果,來改變前端的探測精度. P_SET: JB ,PS3 JB ,PS2 MOV A,16 CJNE A,PRISEH,PS1 AJMP PS4PS1: JC PS4 INC PRISEH INC PRISEH SETB F_CHANGEPS6: JNB ,PS6 AJMP PS4PS2: JB ,PS4 MOV A,1 CJNE A,PRISEL,PS5 AJMP PS4PS5: JNC PS4 DEC PRISEL SETB F_CHANGEPS7: JNB ,PS7PS4: AJMP P_SETPS3: RET END 附錄三 外圍金屬探測精度設(shè)置源程序Void sendPlus(int p){Int j = 0;SET = 0; //使設(shè)置有效(開始設(shè)置)dally(5);if(p0){for(j=0;jp;j++) //發(fā)送減少精度的結(jié)果{P_ADD=0;dally(1);P_ADD=1;
點擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1