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

正文內(nèi)容

三位倒計(jì)時(shí)器pic單片機(jī)課程設(shè)計(jì)含全部匯編程序清單(專業(yè)版)

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

下一頁面
  

【正文】 蜂鳴器關(guān) MOVWF PORTE CALL DELAY1S BCF PORTE,2 。無低電平,延時(shí)10毫秒 MOVLW 0F0H 。釋放 INCF NUMB 。將9放入W寄存器 CALL CHABIAO 。BIAN帶6顯示碼返回 RLF KEYFLAG,1 。釋放 MOVLW 04H 。NUM8帶1返回 CALL CHABIAO 。是,跳至鍵C功能子程序 BTFSS PORTC,5 。是,跳至鍵5功能子程序 BTFSS PORTC,6 。再判斷一次是否鍵入 ANDWF PORTC,W SUBLW 0F0H BTFSC STATUS,Z RETURN 。NUM11減1 BTFSS STATUS,Z 。延時(shí) BSF PORTB,2 。否,調(diào)用加十1子程序 MOVF NUM9,W 。將加入數(shù)送入NUM5 MOVWF NUM5 MOVWF NUMB 。是,調(diào)用顯示1子程序 BTFSC KEYFLAG,2 。送入段選 BCF PORTB,3 。調(diào)用除十子程序 MOVWF SHI 。調(diào)用顯示子程序 CALL JIANPAN 。RD設(shè)為輸出 MOVLW 07H 。循環(huán)減1,是否為0 GOTO RT 。_WDT_OFFamp。通過這次課程設(shè)計(jì)我了解了電子設(shè)計(jì)的基本流程,熟練的掌握了編程軟件和匯編語言的使用,同時(shí)鍛煉了我的編程思維,讓我在以后的編程過程中少走一些彎路。跳轉(zhuǎn)至LOOP大循環(huán),重新開始工作 結(jié)束提示部分當(dāng)計(jì)時(shí)到0時(shí),三色小燈各亮滅一次,且小燈亮起蜂鳴器響起,亮燈關(guān)閉蜂鳴器停止鳴叫。釋放 DECF NUMB 。其子程序在總程序中可查,不再多說。清TMR0溢出標(biāo)志位 DECFSZ COUNTER 。不為0,返回加百 RETURN 。該程序的原理是:首先判斷鍵入幾位數(shù),最初鍵入的數(shù)在十位,十位還是百位,然后對(duì)其相應(yīng)的加一百或時(shí)循環(huán),最后把所有的轉(zhuǎn)化之后的數(shù)加起來,實(shí)現(xiàn)多位數(shù)的轉(zhuǎn)化。十位位選打開 MOVF NUM,W 。調(diào)用查表子程序 MOVWF BIAN 。判斷鍵3 GOTO JIAN3 。以RC0=0為例,框圖如下:圖22 鍵盤掃描流程圖程序及注釋如下:JIANPAN MOVLW 00H 。因此,我們將RC的低四位與鍵盤的輸入相連,高四位與輸出相連,以實(shí)現(xiàn)鍵盤的正確掃描。本次設(shè)計(jì)注重對(duì)單片機(jī)工作原理以及鍵盤控制及顯示原理的理解,能夠提高自己的動(dòng)手能力和設(shè)計(jì)能力,以培養(yǎng)自己的創(chuàng)新能力,做到理論和實(shí)踐相結(jié)合。鍵F的主要功能為當(dāng)計(jì)時(shí)需要停止和重新再來時(shí),按下它,計(jì)時(shí)器重新工作。模塊劃分時(shí)應(yīng)遵循下述原則:1.每個(gè)模塊應(yīng)具有獨(dú)立的功能,能產(chǎn)生一個(gè)明確的結(jié)果;2.模塊之間的控制參數(shù)應(yīng)盡量簡(jiǎn)單,數(shù)據(jù)參數(shù)應(yīng)盡量少;3.根據(jù)模塊的劃分原則,將該程序劃分成6個(gè)模塊,如圖18所示。逐行判斷哪個(gè)鍵輸入,首先RC0=0 MOVWF PORTC BTFSS PORTC,4 。NUM8帶0返回 CALL CHABIAO 。放入顯示變量里 RETURN 。不為0,調(diào)用加十2子程序 MOVF NUM10,W 。由定時(shí)時(shí)間=分屏比*指令周期*(256初值),我們能夠算出當(dāng)分頻比為1:256時(shí)使其定時(shí)50毫秒時(shí)的初值為3DH,當(dāng)TMR0送入初值時(shí)該計(jì)時(shí)器開始計(jì)時(shí),當(dāng)計(jì)時(shí)循環(huán)20次時(shí)計(jì)數(shù)變量減1,這就是它工作的基本原理。 return from interrupt主程序中有關(guān)部分為:BSF STATUS,RP0 。釋放 BSF INTCON,5 。跳轉(zhuǎn)至LOOP大循環(huán)當(dāng)?shù)褂?jì)時(shí)為0后,指示燈和蜂鳴器發(fā)出警示,之后計(jì)時(shí)器恢復(fù)初始狀態(tài),可以重新工作?;厥渍麄€(gè)過程,我會(huì)發(fā)現(xiàn)自己的許多不足。對(duì)于后者,只要電路板的編排合理,就可以省去導(dǎo)線連接的步驟,而且能夠?qū)崿F(xiàn)各種形狀的制作,有助于廣大使用者的喜愛。 ensure page bits are cleared goto MAIN 。 return from interruptMAIN 。送入中斷循環(huán)次數(shù)初值為20 MOVWF COUNTER MOVLW 0FFH 。中間變量的初始化 CLRF NUM10 GOTO LOOP 。位選關(guān)閉 MOVF SHI,W CALL CHABIAO 。是否借位 GOTO DIVLOOP 。KEYFLAG恢復(fù)初始值 MOVWF KEYFLAG RETURN 。十位位選打開 MOVF NUM,W 。鍵盤顯示3子程序,用于鍵入3位數(shù)的顯示XIANSHI3 BCF PORTB,1 。不為0,調(diào)用加百子程序 MOVLW 00H 。是,返回 。是,跳至鍵2功能子程序 BTFSS PORTC,7 。是,跳至鍵9功能子程序 BTFSS PORTC,6 。將0放入W寄存器 MOVWF NUM8 。鍵按下一次,KEYFLAG左移一位 RETURNJIAN3 CALL SFANG 。調(diào)用查表子程序 MOVWF BIAN 。將8放入W寄存器 MOVWF NUM8 。B鍵,用于計(jì)數(shù)暫停JIANB CALL SFANG 。中間變量的初始化 CLRF NUM10 GOTO LOOP 。燈0亮 BCF PORTB,5 。end of program39。短時(shí)間延時(shí)子程序 DELAY DECFSZ 0X30,F GOTO DELAY RETURN 。T0使能關(guān)閉,停止計(jì)時(shí) MOVLW 01H 。為定時(shí)器送初值,定時(shí)開始 MOVWF TMR0 GOTO LOOP6 。鍵按下一次,KEYFLAG左移一位 RETURNJIAN8 CALL SFANG 。將5放入W寄存器 MOVWF NUM8 。調(diào)用查表子程序 MOVWF BIAN 。0到9按鍵,用于鍵入數(shù)字JIAN0 CALL SFANG 。是,跳至鍵8功能子程序 BTFSS PORTC,5 。是,跳至鍵1功能子程序 BTFSS PORTC,6 。是否為0 GOTO JIASHI2 。將NUM8復(fù)制到MUM7 MOVWF NUM7 MOVLW 00H 。否,繼續(xù)加十 RETURN 。延時(shí) BSF PORTB,1 。返回大循環(huán) 。YUSHU減10 INCF SHANG,F 。個(gè)位位選打開 CALL DELAY 。調(diào)用小燈閃爍子程序 MOVLW 01H 。 。 restore preisr STATUS register contents swapf w_temp,f swapf w_temp,w 。********************************************************************** ORG 0x000 。但是該計(jì)時(shí)器局限于255秒以內(nèi)的的計(jì)時(shí),計(jì)時(shí)長(zhǎng)度有限制;而且體積較大,線路較為復(fù)雜,不適合攜帶。因?yàn)槊刻齑蟛糠謺r(shí)間都用在設(shè)計(jì)上,而我們對(duì)單片機(jī)的設(shè)計(jì)還不夠熟練,總是花上大量的時(shí)間弄明白一個(gè)小小的問題,有時(shí)一個(gè)錯(cuò)誤會(huì)耽誤上半天而無法發(fā)現(xiàn),所以,當(dāng)我們?nèi)〉靡稽c(diǎn)點(diǎn)進(jìn)步之后才會(huì)發(fā)現(xiàn)已經(jīng)過去了很長(zhǎng)的時(shí)間。鍵盤次數(shù)判斷恢復(fù)初始值 MOVWF KEYFLAG CLRF NUM9 。T0使能關(guān)閉,計(jì)數(shù)停止 RETURN 。 restore preisr STATUS register contents swapf w_temp,f swapf w_temp,w 。是,返回 TMR0中斷服務(wù)子程序?yàn)閷?shí)現(xiàn)精準(zhǔn)定時(shí),我們采用TMR0定時(shí)器,它能夠?qū)崿F(xiàn)精確到微秒的計(jì)時(shí)。不為0,調(diào)用加百子程序 MOVLW 00H 。否,調(diào)用加十1子程序 MOVF NUM9,W 。圖23 選擇第幾個(gè)顯示子程序顯示2子程序和顯示3子程序與顯示1子程序相似,只是送入兩個(gè)數(shù)進(jìn)行動(dòng)態(tài)掃描。釋放 MOVLW 00H 。虛假輸入,返回 BCF PORTB,5 。在使用它進(jìn)行工作的前提是對(duì)其基本的引腳進(jìn)行分配,這里我們只考慮VCC和GND以及晶振的接入,晶振選擇4MHz的晶振。為實(shí)現(xiàn)使用的靈活性和計(jì)數(shù)的精準(zhǔn)性,我們采用TMR0定時(shí)器計(jì)時(shí),功能鍵包括計(jì)時(shí)開始、暫停、繼續(xù)、加一、減一和復(fù)位。另外,倒計(jì)時(shí)器在生活中應(yīng)用廣泛,因此它的功能靈活性和精度的要求就更加顯得重要。習(xí)慣上,我們將段選接入RD的8個(gè)端口,4個(gè)位選接入RB的1到4位。屏蔽低四位 SUBLW 0F0H BTFSC STATUS,Z 。為了判斷按下的次數(shù),設(shè)置變量KEFLAG,每調(diào)用一次鍵子程序變量左移一位,當(dāng)需要顯示時(shí),只需判斷KEFLAG的第幾位為1,就可判斷該鍵入的數(shù)字在數(shù)碼管的哪一個(gè)位上顯示。鍵按下一次,KEYFLAG左移一位 RETURN 該倒計(jì)時(shí)器將鍵盤鍵入數(shù)字的顯示和倒計(jì)時(shí)時(shí)數(shù)字的顯示分開,即兩者的顯示不是在同一個(gè)顯示子程序里。延時(shí) BSF PORTB,2 ?,F(xiàn)在已知NUM11為第一次鍵入的數(shù),NUM6為第二次鍵入的數(shù),NUM8為第三次鍵入的數(shù),NUM10初值為0,其流程如下。加十2子程序JIASHI2 MOVLW .10 。否,中斷返回 DECF NUMB 。 暫停和繼續(xù)倒計(jì)時(shí)的功能是通過TMR0定時(shí)器實(shí)現(xiàn)的,定時(shí)器時(shí)間到后顯示變量減1,因此,可通過控制定時(shí)器來實(shí)現(xiàn)暫停和繼續(xù)功能。其主要操作是使定時(shí)器關(guān)閉,有關(guān)變量初始化,并跳轉(zhuǎn)到按鍵大循環(huán)。 程序部分總結(jié)介紹完所有子程序的工作原理之后,還要將其有機(jī)的組合起來。它也讓我意識(shí)到團(tuán)隊(duì)協(xié)作的重要性,在這次兩周的設(shè)計(jì)過程中,我和我的隊(duì)友密切協(xié)作才能夠完成最終的結(jié)果。***** VARIABLE DEFINITIONSw_temp EQU
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1