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

正文內(nèi)容

三位倒計時器pic單片機(jī)課程設(shè)計含全部匯編程序清單(完整版)

2025-05-18 05:00上一頁面

下一頁面
  

【正文】 續(xù) RETURN 計數(shù)功能計數(shù)功能的實現(xiàn)是對計數(shù)變量的控制,運(yùn)行過程中,變量加一實現(xiàn)顯示加一,變量減一實現(xiàn)顯示減一。 暫停和繼續(xù)倒計時的功能是通過TMR0定時器實現(xiàn)的,定時器時間到后顯示變量減1,因此,可通過控制定時器來實現(xiàn)暫停和繼續(xù)功能。進(jìn)入體1 MOVLW 07H 。否,中斷返回 DECF NUMB 。有關(guān)TMR0的中斷控制寄存器主要有OPTION_REG和INTCON,前者可以控制其分頻比,后者用來控制中斷的使能位,為使其正常工作,總中斷和它的使能位必須同時打開。加十2子程序JIASHI2 MOVLW .10 。將個位數(shù)與NUM10相加 ADDWF NUM7,W MOVWF NUMB 。現(xiàn)在已知NUM11為第一次鍵入的數(shù),NUM6為第二次鍵入的數(shù),NUM8為第三次鍵入的數(shù),NUM10初值為0,其流程如下。加十1子程序JIASHI1 MOVLW .10 。延時 BSF PORTB,2 。鍵盤顯示2子程序,用于2位數(shù)的鍵入顯示XIANSHI2 BCF PORTB,1 。鍵按下一次,KEYFLAG左移一位 RETURN 該倒計時器將鍵盤鍵入數(shù)字的顯示和倒計時時數(shù)字的顯示分開,即兩者的顯示不是在同一個顯示子程序里。調(diào)用查表子程序 MOVWF BIAN 。為了判斷按下的次數(shù),設(shè)置變量KEFLAG,每調(diào)用一次鍵子程序變量左移一位,當(dāng)需要顯示時,只需判斷KEFLAG的第幾位為1,就可判斷該鍵入的數(shù)字在數(shù)碼管的哪一個位上顯示。判斷鍵0 GOTO JIAN0 。屏蔽低四位 SUBLW 0F0H BTFSC STATUS,Z 。主程序鍵盤掃描模塊鍵盤顯示模塊TMR0定時模塊動態(tài)顯示模塊倒計時結(jié)束提示模塊附加功能模塊圖18 程序模塊第二章 軟件設(shè)計基于硬件工作的軟件部分的編寫是通過匯編語言實現(xiàn)的。習(xí)慣上,我們將段選接入RD的8個端口,4個位選接入RB的1到4位。當(dāng)?shù)褂嫊r到0時,小燈立即閃爍,同時蜂鳴器鳴叫,小燈閃爍3次以后,倒計時器恢復(fù)初始狀態(tài),無需復(fù)位可以重新使用。另外,倒計時器在生活中應(yīng)用廣泛,因此它的功能靈活性和精度的要求就更加顯得重要。通過解決現(xiàn)實生活中的問題,鞏固和加深單片機(jī)課程中所學(xué)的理論知識和實驗?zāi)芰Γ由顚纹瑱C(jī)軟硬件知識的理解,以獲得初步的應(yīng)用經(jīng)驗,為以后從事生產(chǎn)和科研工作打下一定的基礎(chǔ)。為實現(xiàn)使用的靈活性和計數(shù)的精準(zhǔn)性,我們采用TMR0定時器計時,功能鍵包括計時開始、暫停、繼續(xù)、加一、減一和復(fù)位。該鍵盤有4個輸入端,4個輸出端,我們習(xí)慣于把它連接在單片機(jī)的RC端口。在使用它進(jìn)行工作的前提是對其基本的引腳進(jìn)行分配,這里我們只考慮VCC和GND以及晶振的接入,晶振選擇4MHz的晶振。以RC0為0為例,若令RC0=0,即判斷第一行是否有鍵按下,依次判斷高四位是否為低電平,若為低電平,則該鍵被按下,轉(zhuǎn)入相應(yīng)功能子程序。虛假輸入,返回 BCF PORTB,5 。是,跳至鍵2功能子程序 BTFSS PORTC,7 。釋放 MOVLW 00H 。NUM8帶1返回 CALL CHABIAO 。圖23 選擇第幾個顯示子程序顯示2子程序和顯示3子程序與顯示1子程序相似,只是送入兩個數(shù)進(jìn)行動態(tài)掃描。個位位選關(guān)閉 BCF PORTB,2 。否,調(diào)用加十1子程序 MOVF NUM9,W 。是,返回 一位轉(zhuǎn)多位十進(jìn)制子程序由鍵盤顯示子程序我們發(fā)現(xiàn)其后多出一個多個一位數(shù)轉(zhuǎn)化為一個多位數(shù)的轉(zhuǎn)化子程序,它的作用是,在鍵入之后將該多位數(shù)送入倒計時顯示子程序開始倒計時,這是由倒計時顯示子程序決定的,只要送入任意一個三位數(shù),它都能夠?qū)崿F(xiàn)準(zhǔn)確的顯示。不為0,調(diào)用加百子程序 MOVLW 00H 。判斷是否為0 GOTO JIABAI 。是,返回 TMR0中斷服務(wù)子程序為實現(xiàn)精準(zhǔn)定時,我們采用TMR0定時器,它能夠?qū)崿F(xiàn)精確到微秒的計時。 save off contents of STATUS register BCF INTCON,T0IF 。 restore preisr STATUS register contents swapf w_temp,f swapf w_temp,w 。圖25 分解流程圖當(dāng)送入的數(shù)值被分解之后,調(diào)用3位數(shù)碼管顯示子程序,實現(xiàn)3位數(shù)的動態(tài)掃描,當(dāng)計時器計時時間到1秒之后,變量值減1,分解子程序分解,送入顯示,數(shù)碼管顯示三位數(shù)減1,實現(xiàn)了1秒倒計時功能。T0使能關(guān)閉,計數(shù)停止 RETURN 。E鍵,用于計數(shù)減一JIANE CALL SFANG 。鍵盤次數(shù)判斷恢復(fù)初始值 MOVWF KEYFLAG CLRF NUM9 。中間變量的初始化 CLRF NUM10 GOTO LOOP 。因為每天大部分時間都用在設(shè)計上,而我們對單片機(jī)的設(shè)計還不夠熟練,總是花上大量的時間弄明白一個小小的問題,有時一個錯誤會耽誤上半天而無法發(fā)現(xiàn),所以,當(dāng)我們?nèi)〉靡稽c點進(jìn)步之后才會發(fā)現(xiàn)已經(jīng)過去了很長的時間。不僅復(fù)習(xí)了課本上所學(xué)的內(nèi)容,還把理論付諸于實踐,并使我們切身的體會到理論用于實踐時會出現(xiàn)的各種問題,通過解決這些問題,我們處理實際問題的能力有了很大的提高。但是該計時器局限于255秒以內(nèi)的的計時,計時長度有限制;而且體積較大,線路較為復(fù)雜,不適合攜帶。_PWRTE_ONamp。********************************************************************** ORG 0x000 。清TMR0溢出標(biāo)志位 DECFSZ COUNTER 。 restore preisr STATUS register contents swapf w_temp,f swapf w_temp,w 。進(jìn)入體1 CLRF TRISD 。 。調(diào)用分解子程序 CALL DISPLAY 。調(diào)用小燈閃爍子程序 MOVLW 01H 。變量SHANG送如W寄存器 CALL DIV10 。個位位選打開 CALL DELAY 。百位數(shù)查表 MOVWF PORTD 。YUSHU減10 INCF SHANG,F 。是否第一次鍵入 CALL XIANSHI1 。返回大循環(huán) 。關(guān)閉位選 MOVF NUM8,W 。延時 BSF PORTB,1 。十位是否為0 SUBWF NUM5,F BTFSS STATUS,Z CALL JIASHI1 。否,繼續(xù)加十 RETURN 。送入十位段選 MOVWF PORTD CALL DELAY 。將NUM8復(fù)制到MUM7 MOVWF NUM7 MOVLW 00H 。NUM10加100 ADDWF NUM10,F DECF NUM11,F 。是否為0 GOTO JIASHI2 。否,有可能有鍵輸入,延時20毫秒 CALL DELAY10MS MOVLW 0F0H 。是,跳至鍵1功能子程序 BTFSS PORTC,6 。判斷鍵5 GOTO JIAN5 。是,跳至鍵8功能子程序 BTFSS PORTC,5 。判斷鍵C GOTO JIANC 。0到9按鍵,用于鍵入數(shù)字JIAN0 CALL SFANG 。將1放入W寄存器 MOVWF NUM8 。調(diào)用查表子程序 MOVWF BIAN 。鍵按下一次,KEYFLAG左移一位 RETURNJIAN4 CALL SFANG 。將5放入W寄存器 MOVWF NUM8 。調(diào)用查表子程序 MOVWF BIAN 。鍵按下一次,KEYFLAG左移一位 RETURNJIAN8 CALL SFANG 。NUM8帶9返回 MOVWF NUM8 。為定時器送初值,定時開始 MOVWF TMR0 GOTO LOOP6 。D鍵,用于計數(shù)加一JIAND CALL SFANG 。T0使能關(guān)閉,停止計時 MOVLW 01H 。有低電平,未釋放,返回繼續(xù)判斷 CALL DELAY10MS 。短時間延時子程序 DELAY DECFSZ 0X30,F GOTO DELAY RETURN 。燈1滅 BSF PORTB,5 。end of program39。燈2亮 BCF PORTB,5 。燈0亮 BCF PORTB,5 。再次確認(rèn) ANDWF PORTC,W SUBLW 0F0H BTFSS STATUS,Z 。中間變量的初始化 CLRF NUM10 GOTO LOOP 。顯示變量加一 RETURN 。B鍵,用于計數(shù)暫停JIANB CALL SFANG 。調(diào)用查表子程序 MOVWF BIAN 。將8放入W寄存器 MOVWF NUM8 。鍵按下一次,KEYFLAG左移一位 RETURNJIAN7 CALL SFANG 。調(diào)用查表子程序 MOVWF BIAN 。將4放入W寄存器 MOVWF NUM8 。鍵按下一次,KEYFLAG左移一位 RETURNJIAN3 CALL SFANG 。調(diào)用查表子程序 MOVWF BIAN 。將0放入W寄存器 MOVWF NUM8 。判斷鍵D GOTO JIAND 。是,跳至鍵9功能子程序 BTFSS PORTC,6 。判斷鍵6 GOTO JIAN6 。是,跳至鍵2功能子程序 BTFSS PORTC,7 。虛假輸入,返回 BCF PORTB,5 。是,返回 。判斷是否為0 GOTO JIABAI 。不為0,調(diào)用加百子程序 MOVLW 00H 。關(guān)閉位選 BCF PORTB,3 。鍵盤顯示3子程序,用于鍵入3位數(shù)的顯示XIAN
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1