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

正文內(nèi)容

三位倒計時器pic單片機(jī)課程設(shè)計含全部匯編程序清單-在線瀏覽

2025-05-30 05:00本頁面
  

【正文】 PORTB,1 。送入段選 MOVWF PORTD MOVWF NUM4 。延時 BSF PORTB,1 。十位位選打開 MOVF NUM,W 。延時 BSF PORTB,2 。2個數(shù)組合成十進(jìn)制兩位數(shù) MOVF NUM8,W 。十位是否為0 SUBWF NUM5,F BTFSS STATUS,Z CALL JIASHI1 。將NUM9與NUM6相加 ADDWF NUM6,W MOVWF NUMB 。加十1子程序JIASHI1 MOVLW .10 。NUM5減1 BTFSS STATUS,Z 。否,繼續(xù)加十 RETURN 。該程序的原理是:首先判斷鍵入幾位數(shù),最初鍵入的數(shù)在十位,十位還是百位,然后對其相應(yīng)的加一百或時循環(huán),最后把所有的轉(zhuǎn)化之后的數(shù)加起來,實現(xiàn)多位數(shù)的轉(zhuǎn)化?,F(xiàn)在已知NUM11為第一次鍵入的數(shù),NUM6為第二次鍵入的數(shù),NUM8為第三次鍵入的數(shù),NUM10初值為0,其流程如下。進(jìn)行三個數(shù)到十進(jìn)制三位數(shù)的轉(zhuǎn)換 MOVF NUM8,W 。判斷百位數(shù)是否為0 SUBWF NUM11,F BTFSS STATUS,Z CALL JIABAI 。為0,繼續(xù)判斷十位數(shù)是否為0 SUBWF NUM6,F BTFSS STATUS,Z CALL JIASHI2 。將個位數(shù)與NUM10相加 ADDWF NUM7,W MOVWF NUMB 。加百子程序JIABAI MOVLW .100 。NUM11減1 BTFSS STATUS,Z 。不為0,返回加百 RETURN 。加十2子程序JIASHI2 MOVLW .10 。NUM6減1 BTFSS STATUS,Z 。否,繼續(xù)加十 RETURN 。但是TMR0定時器所能定時的最長時間為65毫秒,為實現(xiàn)1秒的定時,我們選擇其定時50毫秒,循環(huán)20次的方法。有關(guān)TMR0的中斷控制寄存器主要有OPTION_REG和INTCON,前者可以控制其分頻比,后者用來控制中斷的使能位,為使其正常工作,總中斷和它的使能位必須同時打開。 interrupt vector location movwf w_temp 。 move status register into W register movwf status_temp 。清TMR0溢出標(biāo)志位 DECFSZ COUNTER 。否,中斷返回 DECF NUMB 。循環(huán)數(shù)賦初值20 MOVWF COUNTERRT MOVLW 3DH 。 retrieve copy of STATUS register movwf STATUS 。 restore preisr W register contents retfie 。進(jìn)入體1 MOVLW 07H 。前面提到過,顯示程序分為兩部分,前面一部分負(fù)責(zé)鍵盤的顯示,這一部分負(fù)責(zé)計數(shù)變量變化時其顯示的變化。其分解子程序工作過程如下,除初值外,其他參數(shù)初值均為0。其子程序在總程序中可查,不再多說。 暫停和繼續(xù)倒計時的功能是通過TMR0定時器實現(xiàn)的,定時器時間到后顯示變量減1,因此,可通過控制定時器來實現(xiàn)暫停和繼續(xù)功能。圖26 中斷控制流程圖程序代碼:。釋放 BCF INTCON,5 。C鍵,用于計數(shù)繼續(xù)JIANC CALL SFANG 。T0使能打開,計數(shù)繼續(xù) RETURN 計數(shù)功能計數(shù)功能的實現(xiàn)是對計數(shù)變量的控制,運(yùn)行過程中,變量加一實現(xiàn)顯示加一,變量減一實現(xiàn)顯示減一。D鍵,用于計數(shù)加一JIAND CALL SFANG 。顯示變量加一 RETURN 。釋放 DECF NUMB 。其主要操作是使定時器關(guān)閉,有關(guān)變量初始化,并跳轉(zhuǎn)到按鍵大循環(huán)。F鍵,用于清零和重新開始JIANF CALL SFANG 。T0使能關(guān)閉,停止計時 MOVLW 01H 。中間變量的初始化 CLRF NUM10 GOTO LOOP 。它的原理同復(fù)位相同,都是參數(shù)的初始化。關(guān)閉T0使能,計時器停止工作 CALL SHANSHU 。KEYFLAG初始化 MOVWF KEYFLAG CLRF NUM9 。跳轉(zhuǎn)至LOOP大循環(huán),重新開始工作 結(jié)束提示部分當(dāng)計時到0時,三色小燈各亮滅一次,且小燈亮起蜂鳴器響起,亮燈關(guān)閉蜂鳴器停止鳴叫。 程序部分總結(jié)介紹完所有子程序的工作原理之后,還要將其有機(jī)的組合起來。這樣就把以上所設(shè)計的子程序連接起來,組成一個整體。圖32 鍵入初值顯示圖33 計時過程記錄圖34 計時過程中暫停第四章 問題與體會兩周的單片機(jī)課程設(shè)計轉(zhuǎn)瞬即逝,這兩周是我感覺過的最快的兩周。這兩周里我們體驗了從焊板到編寫程序,再到燒寫、調(diào)試程序,最終完成我們的設(shè)計的艱辛歷程。首先是對編程軟件的使用不夠熟練,剛開始編寫程序常常不能夠靈活的新建工程,添加文件,遇到意外問題也會不知所措,經(jīng)過兩天的熟悉之后,終于能夠解決這些基本問題。還有一個很嚴(yán)重的問題就是焊接問題,由于焊接的不夠熟練,焊出的焊點(diǎn)不夠圓潤飽滿,偶爾還會出現(xiàn)虛焊的情況。縱使有許多的不足與遺憾,這次課程設(shè)計我還是學(xué)到了很多的東西。通過這次課程設(shè)計我了解了電子設(shè)計的基本流程,熟練的掌握了編程軟件和匯編語言的使用,同時鍛煉了我的編程思維,讓我在以后的編程過程中少走一些彎路。它也讓我意識到團(tuán)隊協(xié)作的重要性,在這次兩周的設(shè)計過程中,我和我的隊友密切協(xié)作才能夠完成最終的結(jié)果。相信這次PIC的單片機(jī)課程設(shè)計也促進(jìn)了我能夠觸類旁通的能力,為其他類型的單片機(jī)設(shè)計甚至所有電子類設(shè)計打下了堅實的基礎(chǔ)。能夠靈敏的顯示所要輸入的數(shù)字,并能夠精確的計時,有很廣泛的應(yīng)用前景,可以應(yīng)用于跑步計時、辯論賽的計時等各種需要計時的比賽場合,有很強(qiáng)的現(xiàn)實意義。出于這些問題,只要時間足夠,可以設(shè)置兩個內(nèi)存空間用于存放計時變量,且把數(shù)碼管擴(kuò)展為4位甚至更多,就能夠?qū)崿F(xiàn)多達(dá)65535秒的計時,當(dāng)然實際生活中很少用到這么長時間的秒用計時。參考文獻(xiàn)1. 李榮正. PIC單片機(jī)原理及應(yīng)用[M]. 北京航空航天大學(xué)出版社,20052. [M].北京航天航空大學(xué)出版社,20053. [M].高等教育出版社,20004. —基礎(chǔ)篇[M]. 北京航天航空大學(xué)出版社,20025. [M].北京航空航天大學(xué)出版社,200023附錄:程序清單list p=16f887 。 processor specific variable definitions __CONFIG _CONFIG1,_LVP_OFFamp。_BOR_OFFamp。_WDT_OFFamp。***** VARIABLE DEFINITIONSw_temp EQU 0x71 。 variable used for context savingBIAN EQU 0X40 。計數(shù)變量GE EQU 0X50 SHI EQU 0X51 BAI EQU 0X52 SHANG EQU 0X53 YUSHU EQU 0X54 COUNTER EQU 0X55 NUM5 EQU 0X56 NUM6 EQU 0X57 NUM7 EQU 0X58 NUM8 EQU 0X59 NUM9 EQU 0X60 NUM10 EQU 0X61 NUM11 EQU 0X62 。 processor reset vector clrf PCLATH 。 go to beginning of program ORG 0x004 。 save off current W register contents movf STATUS,w 。 save off contents of STATUS register BCF INTCON,T0IF 。循環(huán)減1,是否為0 GOTO RT 。是,計數(shù)變量減1 MOVLW .20 。50毫秒時間常數(shù)初值 MOVWF TMR0 。 retrieve copy of STATUS register movwf STATUS 。 restore preisr W register contents retfie 。主程序。16F887初始化 BSF STATUS,RP0 CLRF ANSEL CLRF ANSELH BCF STATUS,RP1 BCF STATUS,RP0 CLRF BIAN 。KEYFLAG初始化,為1 MOVWF KEYFLAG BSF STATUS,RP0 。RD設(shè)為輸出 MOVLW 07H 。RB的位1,2,3,4,5設(shè)為輸出 MOVWF TRISB MOVLW 0F0H 。RE位1,2,3輸出 MOVWF TRISE BCF STATUS,RP0 。1010000039。打開總中斷和T0中斷使能位 MOVWF INTCON MOVLW .20 。RB,RD關(guān)閉 MOVWF PORTD MOVWF PORTB MOVLW 07H 。清空變量 CLRF NUM6 CLRF NUM7 GOTO LOOP 。動態(tài)計數(shù)顯示子程序,用于倒計時數(shù)的顯示LOOP6 CALL CALC 。調(diào)用顯示子程序 CALL JIANPAN 。計數(shù)變量是否為0 SUBWF NUMB,W BTFSC STATUS,Z CALL LIGHT 。否,返回循環(huán) 。關(guān)閉T0使能,計時器停止工作 CALL SHANSHU 。KEYFLAG初始化 MOVWF KEYFLAG
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1