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

正文內(nèi)容

三位倒計(jì)時(shí)器pic單片機(jī)課程設(shè)計(jì)(含全部匯編程序清單)(編輯修改稿)

2025-10-02 17:23 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 DECFSZ COUNTER 。循環(huán)減 1,是否為 0 GOTO RT 。否,中斷返回 DECF NUMB 。是,計(jì)數(shù)變量減 1 MOVLW .20 。循環(huán)數(shù)賦初值 20 MOVWF COUNTER RT MOVLW 3DH 。50 毫秒時(shí)間常數(shù)初值 MOVWF TMR0 movf status_temp,w 。 retrieve copy of STATUS register movwf STATUS 。 restore preisr STATUS register contents swapf w_temp,f swapf w_temp,w 。 restore preisr W register contents retfie 。 return from interrupt 主程序中有關(guān)部分為: BSF STATUS,RP0 。進(jìn)入體 1 MOVLW 07H 。分頻比為 1: 256 MOVWF OPTION_REG 三位倒計(jì)時(shí)器 15 倒計(jì)時(shí)顯示子程序 基本的輸入及輔助程序準(zhǔn)備完畢,接下來(lái)是主體的顯示程序。前面提到過(guò),顯示程序分為兩部分,前面一部分負(fù)責(zé)鍵盤(pán)的顯示,這一部分負(fù)責(zé)計(jì)數(shù)變量變化時(shí)其顯示的變化。由前面的多個(gè)數(shù)轉(zhuǎn)化為多位數(shù)的準(zhǔn)備, 我們易知該子程序應(yīng)該具有將多位數(shù)分解為多個(gè)數(shù)并分別送入各個(gè)位選顯示的功能。其分解子程序工作過(guò)程如下,除初值外,其他參數(shù)初值均為 0。 圖 25 分解流程圖 當(dāng)送入的數(shù)值被分解之后,調(diào)用 3 位數(shù)碼管顯示子程序,實(shí)現(xiàn) 3 位數(shù)的動(dòng)態(tài)掃描,當(dāng)計(jì)時(shí)器計(jì)時(shí)時(shí)間到 1 秒之后,變量值減 1,分解子程序分解,送入顯示,數(shù)碼管顯示三位數(shù)減 1,實(shí)現(xiàn)了 1 秒倒計(jì)時(shí)功能。 其子程序在總程序中可查,不再多說(shuō)。 附加功能部分 為增加該倒計(jì)時(shí)器工作的靈活性,我們?cè)黾恿艘恍┍热鐣和?,繼續(xù),加一,減一,復(fù)位和歸零后重新開(kāi)始等附加功能。 三位倒計(jì)時(shí)器 16 暫停 和繼續(xù) 倒計(jì)時(shí)的功能是通過(guò) TMR0 定時(shí)器實(shí)現(xiàn)的,定時(shí)器時(shí)間到后顯示變量減 1,因此,可通過(guò)控制定時(shí)器來(lái)實(shí)現(xiàn)暫停和繼續(xù)功能??刂贫〞r(shí)器的中斷開(kāi)關(guān)是本節(jié)的關(guān)鍵。 圖 26 中斷控制流程圖 程序代碼: 。B 鍵,用于計(jì)數(shù)暫停 JIANB CALL SFANG 。釋放 BCF INTCON,5 。T0 使能關(guān)閉,計(jì)數(shù)停止 RETURN 。C 鍵,用于計(jì)數(shù)繼續(xù) JIANC CALL SFANG 。釋放 BSF INTCON,5 。T0 使能打開(kāi),計(jì)數(shù)繼續(xù) RETURN 三位倒計(jì)時(shí)器 17 計(jì)數(shù)功能 計(jì)數(shù)功能的實(shí)現(xiàn)是對(duì)計(jì)數(shù)變量的控制,運(yùn)行過(guò)程中,變量加一實(shí)現(xiàn)顯示加一,變量減一實(shí)現(xiàn)顯示減一。其程序如下: 。D 鍵,用于計(jì)數(shù)加一 JIAND CALL SFANG 。釋放 INCF NUMB 。顯示變量加一 RETURN 。E 鍵,用于計(jì)數(shù)減一 JIANE CALL SFANG 。釋放 DECF NUMB 。顯示變量減一 RETURN 復(fù)位和歸零 所謂復(fù)位,是指該鍵按下后一切恢復(fù)初始狀態(tài),計(jì)時(shí)器可以重新工作。其主要操作是 使定時(shí)器關(guān)閉,有關(guān)變量初始化,并跳轉(zhuǎn)到按鍵大循環(huán)。 。F 鍵,用于清零和重新開(kāi)始 JIANF CALL SFANG 。調(diào)用釋放子程序 BCF INTCON,5 。T0 使能關(guān)閉,停止計(jì)時(shí) MOVLW 01H 。鍵盤(pán)次數(shù)判斷恢復(fù)初始值 MOVWF KEYFLAG CLRF NUM9 。中間變量的初始化 CLRF NUM10 GOTO LOOP 。跳轉(zhuǎn)至 LOOP 大循環(huán) 當(dāng)?shù)褂?jì)時(shí)為 0 后,指示燈和蜂鳴器發(fā)出警示,之后計(jì)時(shí)器恢復(fù)初始狀態(tài),可以重新工作。它的原 理同復(fù)位相同,都是參數(shù)的初始化。 LIGHT BCF INTCON,5 。關(guān)閉 T0 使能,計(jì)時(shí)器停止工作 CALL SHANSHU 。調(diào)用小燈閃爍子程序 MOVLW 01H 。KEYFLAG 初始化 三位倒計(jì)時(shí)器 18 MOVWF KEYFLAG CLRF NUM9 。中間變量的初始化 CLRF NUM10 GOTO LOOP 。跳轉(zhuǎn)至 LOOP 大循環(huán),重新開(kāi)始工作 結(jié)束提示 部分 當(dāng)計(jì)時(shí)到 0 時(shí),三色小燈各亮滅一次,且小燈亮起蜂鳴器響起,亮燈關(guān)閉蜂鳴器停止鳴叫。 圖 27 提 醒子程序流程圖 程序在主程序中可查,不再贅述。 程序部分總結(jié) 介紹完所有子程序的工作原理之后,還要將其有機(jī)的組合起來(lái)。這里采用大循環(huán)的方式,不停地對(duì)程序進(jìn)行掃描,當(dāng)掃描到某一部分發(fā)現(xiàn)需要調(diào)用或跳轉(zhuǎn)時(shí)會(huì)相應(yīng)的調(diào)用或跳轉(zhuǎn)至其他子程序。這樣就把以上所設(shè)計(jì)的子程序連接起來(lái),組成一個(gè)整體。 三位倒計(jì)時(shí)器 19 第三章 實(shí)物照片 實(shí)驗(yàn)板照片 將元件按照電路設(shè)計(jì)圖焊接完成后如下圖: 圖 31 焊接實(shí)物圖 脫機(jī)運(yùn)行照片 將程序燒寫(xiě)進(jìn)實(shí)驗(yàn)板中,從鍵盤(pán)輸入初值 123,按下開(kāi)始鍵,開(kāi)始倒計(jì)時(shí),圖為開(kāi)始時(shí)、計(jì)時(shí)到 11計(jì)時(shí)到 116 時(shí)暫停 的照片。 三位倒計(jì)時(shí)器 20 圖 32 鍵入初值顯示 圖 33 計(jì)時(shí)過(guò)程記錄 圖 34 計(jì)時(shí)過(guò)程中暫停 三位倒計(jì)時(shí)器 21 第四章 問(wèn)題與體會(huì) 兩周的單片機(jī)課程設(shè)計(jì)轉(zhuǎn)瞬即逝,這兩周是我感覺(jué)過(guò)的最快的兩周。因?yàn)槊刻齑蟛糠謺r(shí)間都用在設(shè)計(jì)上,而我們對(duì)單片機(jī)的設(shè)計(jì)還不夠熟練,總是花上大量的時(shí)間弄明白一個(gè)小小的問(wèn)題,有時(shí)一個(gè)錯(cuò)誤會(huì)耽誤上半天而無(wú)法發(fā)現(xiàn),所以,當(dāng)我們?nèi)〉靡稽c(diǎn)點(diǎn)進(jìn)步之后才會(huì)發(fā)現(xiàn)已經(jīng)過(guò)去了很長(zhǎng)的時(shí)間。這兩周里我們體驗(yàn)了從焊板到編寫(xiě)程序,再到燒寫(xiě)、調(diào)試程序,最終完成我們的設(shè)計(jì)的艱辛歷程。 回首整個(gè)過(guò)程,我會(huì)發(fā) 現(xiàn)自己的許多不足。首先是對(duì)編程軟件的使用不夠熟練,剛開(kāi)始編寫(xiě)程序常常不能夠靈活的新建工程,添加文件,遇到意外問(wèn)題也會(huì)不知所措,經(jīng)過(guò)兩天的熟悉之后,終于能夠解決這些基本問(wèn)題。第二個(gè)問(wèn)題是編程過(guò)程中經(jīng)常出現(xiàn)理想思維,以為自己的思路能夠走通但是調(diào)試之后才發(fā)現(xiàn)無(wú)法實(shí)現(xiàn),經(jīng)過(guò)無(wú)數(shù)遍的理順之后才發(fā)現(xiàn)有些地方是明顯的錯(cuò)誤,有時(shí)是語(yǔ)言的使用錯(cuò)誤,有時(shí)是思路的局限,然而經(jīng)過(guò)不斷的發(fā)現(xiàn)問(wèn)題、解決問(wèn)題我們的程序逐漸完善。還有一個(gè)很?chē)?yán)重的問(wèn)題就是焊接問(wèn)題,由于焊接的不夠熟練,焊出的焊點(diǎn)不夠圓潤(rùn)飽滿(mǎn),偶爾還會(huì)出現(xiàn)虛焊的情況。另外,焊 接用的導(dǎo)線(xiàn)不夠簡(jiǎn)潔,看起來(lái)比較混亂。 縱使有許多的不足與遺憾,這次課程設(shè)計(jì)我還是學(xué)到了很多的東西。不僅復(fù)習(xí)了課本上所學(xué)的內(nèi)容,還把理論付諸于實(shí)踐,并使我們切身的體會(huì)到理論用于實(shí)踐時(shí)會(huì)出現(xiàn)的各種問(wèn)題,通過(guò)解決這些問(wèn)題,我們處理實(shí)際問(wèn)題的能力有了很大的提高。通過(guò)這次課程設(shè)計(jì)我了解了電子設(shè)計(jì)的基本流程,熟練的掌握了編程軟件和匯編語(yǔ)言的使用,同時(shí)鍛煉了我的編程思維,讓我在以后的編程過(guò)程中少走一些彎路。學(xué)習(xí)到這些的同時(shí),它也對(duì)我的心態(tài)起到了鍛煉的作用,遇到問(wèn)題時(shí)不能一味的抱怨,而是應(yīng)該靜下心來(lái)仔細(xì)的分析問(wèn)題產(chǎn)生的原因 ,并且找到解決的辦法。它也讓我意識(shí)到團(tuán)隊(duì)協(xié)作的重要性,在這次兩周的設(shè)計(jì)過(guò)程中,我和我的隊(duì)友密切協(xié)作才能夠完成最終的結(jié)果。 這次課程設(shè)計(jì)提高了我們解決實(shí)際問(wèn)題的能力,為我們積累了寶貴的實(shí)踐經(jīng)驗(yàn)。相信這次 PIC 的單片機(jī)課程設(shè)計(jì)也促進(jìn)了我能夠觸類(lèi)旁通的能力,為其他類(lèi)型的單片機(jī)設(shè)計(jì)甚至所有電子類(lèi)設(shè)計(jì)打下了堅(jiān)實(shí)的基礎(chǔ)。 三位倒計(jì)時(shí)器 22 結(jié)論 本次設(shè)計(jì)實(shí)現(xiàn)了最初的設(shè)計(jì)要求,實(shí)際運(yùn)行結(jié)果與理想一致,計(jì)時(shí)精準(zhǔn),使用簡(jiǎn)單。能夠靈敏的顯示所要輸入的數(shù)字,并能夠精確的計(jì)時(shí),有很廣泛的應(yīng)用前景,可以應(yīng)用于跑步計(jì)時(shí)、辯論賽的計(jì)時(shí)等各種需要計(jì)時(shí)的比賽場(chǎng)合,有很強(qiáng)的現(xiàn)實(shí)意義。 但是該計(jì)時(shí)器局限于 255 秒以?xún)?nèi)的的計(jì)時(shí),計(jì)時(shí)長(zhǎng)度有限制;而且體積較大,線(xiàn)路較為復(fù)雜,不適合攜帶。出于這些問(wèn)題,只要時(shí)間足夠,可以設(shè)置兩個(gè)內(nèi)存空間用于存放計(jì)時(shí)變量,且把數(shù)碼管擴(kuò)展為 4 位甚至更多,就能夠?qū)崿F(xiàn)多達(dá) 65535 秒的計(jì)時(shí),當(dāng)然實(shí)際生活中很少用到這么長(zhǎng)時(shí)間的秒用計(jì)時(shí)。對(duì)于后者,只要電路板的編排合理,就可以省去導(dǎo)線(xiàn)連接的步驟,而且能夠?qū)崿F(xiàn)各種形狀的制作,有助于廣大 使用者的喜愛(ài)。 三位倒計(jì)時(shí)器 23 參考 文獻(xiàn) 1. 李榮正 . PIC 單片機(jī)原理及應(yīng)用 [M]. 北京航空航天大學(xué)出版社 ,2020 2. 劉和平 .PIC16F887 單片機(jī)程序設(shè)計(jì)及應(yīng)用 [M].北京航天航空大學(xué)出版社 ,2020 3. 王有緒 .單片機(jī)接口技術(shù)及應(yīng)用系統(tǒng)設(shè)計(jì) [M].高等教育出版社 ,2020 4. 李學(xué)海 .PIC 單片機(jī)實(shí)用教程 — 基礎(chǔ)篇 [M]. 北京航天航空大學(xué)出版社 ,2020 5. 竇振中 .PIC 系列單片機(jī)原理和程序設(shè)計(jì) [M].北京航空航天大學(xué)出版社 ,2020 三位倒計(jì)時(shí)器 24 附錄:程序清單 list p=16f887 。 list directive to define processor include 。 processor specific variable definitions __CONFIG _CONFIG1,_LVP_OFFamp。_IESO_OFFamp。_BOR_OFFamp。_PWRTE_ONamp。_WDT_OFFamp。_XT_OSC 。***** VARIABLE DEFINITIONS w_temp EQU 0x71 。 variable used for context saving status_temp EQU 0x72 。 variable used for context saving BIAN EQU 0X40 。鍵盤(pán)顯示中間變量 KEYFLAG EQU 0X43 NUM EQU 0X44 NUM4 EQU 0X48 NUMB EQU 0X49 。計(jì)數(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 三位倒計(jì)時(shí)器 25 NUM10 EQU 0X61 NUM11 EQU 0X62 。********************************************************************** ORG 0x000 。 processor reset vector clrf PCLATH 。 ensure page bits are cleared goto MAIN 。 go to beginning of program ORG 0x004 。 interrupt vector location movwf w_temp 。 save off current W register contents movf STATUS,w 。 move status register into W register movwf status_temp 。 save off contents of STATUS register BCF INTCON,T0IF 。清 TMR0 溢出標(biāo)志位 DECFSZ COUNTER 。循環(huán)減 1,是否為 0 GOTO RT 。否,中斷返回 DECF NUMB 。是,計(jì)數(shù)變量減 1 MOVLW .20 。循環(huán)數(shù)賦初值 20 MOVWF COUNTER RT MOVLW 3DH 。50 毫秒時(shí)間常數(shù)初值 MOVWF TMR0 。 isr code can go here or be located as a call subroutine elsewhere movf status_temp,w 。 retrieve copy of STATUS register movwf STATUS 。 restore preisr STATUS register contents
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1