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

正文內(nèi)容

三位倒計時器pic單片機課程設(shè)計含全部匯編程序清單(已修改)

2025-04-24 05:00 本頁面
 

【正文】 課程設(shè)計報告課程名稱:單片機原理與接口技術(shù)課程設(shè)計 設(shè)計題目: 三位倒計時器 院 系: 機電工程學院 班 級: 2012級電氣工程及其自動化專業(yè) 姓 名: XXX 學 號: 2012XXXX 指導教師: XXXX 設(shè)計時間: 2014年X月X日 出勤實物報告總分I目錄前言 1第一章 設(shè)計方案 1 設(shè)計內(nèi)容及要求 1 設(shè)計內(nèi)容 1 1 2 2 矩陣鍵盤電路設(shè)計 2 3 LED及蜂鳴器電路設(shè)計 4 4 5 5 6第二章 軟件設(shè)計 7 倒計時部分 7 鍵盤掃描子程序 8 0到9按鍵功能子程序和鍵盤顯示子程序 9 一位轉(zhuǎn)多位十進制子程序 12 TMR0中斷服務(wù)子程序 13 倒計時顯示子程序 15 附加功能部分 15 暫停和繼續(xù) 16 計數(shù)功能 17 復位和歸零 17 結(jié)束提示部分 18 程序部分總結(jié) 18第三章 實物照片 19 實驗板照片 19 脫機運行照片 19第四章 問題與體會 21結(jié)論 22參考文獻 23附錄:程序清單 24三位倒計時器前言此次課程設(shè)計的內(nèi)容為三位數(shù)的倒計時器的設(shè)計。目前倒計時器的發(fā)展已經(jīng)相當先進,我做這次設(shè)計的主要目的是想更進一步了解基本電路的設(shè)計流程,以提高自己的設(shè)計理念,使自己的動手動腦能力有更進一步提高。通過解決現(xiàn)實生活中的問題,鞏固和加深單片機課程中所學的理論知識和實驗能力,加深對單片機軟硬件知識的理解,以獲得初步的應用經(jīng)驗,為以后從事生產(chǎn)和科研工作打下一定的基礎(chǔ)。本次設(shè)計注重對單片機工作原理以及鍵盤控制及顯示原理的理解,能夠提高自己的動手能力和設(shè)計能力,以培養(yǎng)自己的創(chuàng)新能力,做到理論和實踐相結(jié)合。本次設(shè)計的重要意義還在于對單片機的內(nèi)部結(jié)構(gòu)和工作狀態(tài)做更進一步的了解,同時還對單片機的接口技術(shù),中斷技術(shù),存儲方式和控制方式有了更深層次的了解。另外,倒計時器在生活中應用廣泛,因此它的功能靈活性和精度的要求就更加顯得重要。通過此次練習,我為自己設(shè)下了很多要求,力求此倒計時器的功能完美性和精度精細性,以加深自己對電子產(chǎn)品設(shè)計的認知。第一章 設(shè)計方案 設(shè)計內(nèi)容及要求 設(shè)計內(nèi)容本次設(shè)計的倒計時器需要由4*4矩陣鍵盤、3位數(shù)碼管、LED小燈和蜂鳴器等有關(guān)輸入輸出器件組成,要求倒計時的初始值和控制按鍵均由鍵盤輸入,數(shù)碼管顯示倒計時的時間,小燈和蜂鳴器負責終止提示。因此,本次的設(shè)計內(nèi)容包括硬件設(shè)計,流程框圖及軟件的編寫與調(diào)試。根據(jù)以上設(shè)計內(nèi)容的介紹及我們的設(shè)計目的,總結(jié)出以下的設(shè)計要求:;,報警提示;;;“開始”、“暫?!薄ⅰ袄^續(xù)”、“加一”、“減一”、“復位”等功能鍵;。為實現(xiàn)使用的靈活性和計數(shù)的精準性,我們采用TMR0定時器計時,功能鍵包括計時開始、暫停、繼續(xù)、加一、減一和復位。實現(xiàn)過程如下:當從鍵盤輸入任意三位以內(nèi)包括三位數(shù),數(shù)碼管顯示輸入數(shù)值,按下鍵A倒計時開始,按下鍵B倒計時暫停,按下鍵C倒計時繼續(xù);當發(fā)現(xiàn)計時過程中需要調(diào)整計時時,可以在暫?;蚍菚和G闆r下按下鍵D或鍵E實現(xiàn)計數(shù)加一和減一的功能。鍵F的主要功能為當計時需要停止和重新再來時,按下它,計時器重新工作。當?shù)褂嫊r到0時,小燈立即閃爍,同時蜂鳴器鳴叫,小燈閃爍3次以后,倒計時器恢復初始狀態(tài),無需復位可以重新使用。按鍵過程中為確保使用人員知道鍵是否按下,按下時蜂鳴器應該響起以示提醒。我們設(shè)計的倒計時器需要由鍵盤任意輸入255以內(nèi)三位數(shù),并顯示于數(shù)碼管上,計時按鈕及相關(guān)功能均由鍵盤鍵入,同時為保證鍵盤按下的準確性,加入按下蜂鳴器提示功能,計時結(jié)束需有小燈和蜂鳴器提醒。因此,設(shè)計電路圖時必須涉及到鍵盤,4位數(shù)碼管,蜂鳴器,LED小燈,同時上電電路和單片機控制電路為必須加入的。 矩陣鍵盤電路設(shè)計一般鍵盤控制有4*5*5等類型方式,考慮到功能所需和單片機引腳的限制,我們采用4*4矩陣鍵盤。該鍵盤有4個輸入端,4個輸出端,我們習慣于把它連接在單片機的RC端口。因此,我們將RC的低四位與鍵盤的輸入相連,高四位與輸出相連,以實現(xiàn)鍵盤的正確掃描。圖11 鍵盤設(shè)計電路圖數(shù)碼管顯示需送入位選和段選,我們所需為3位顯示,采用4個數(shù)碼管,因此需要將4個位選聯(lián)入單片機中,同時還將有8條段選聯(lián)入其中。習慣上,我們將段選接入RD的8個端口,4個位選接入RB的1到4位。圖12 數(shù)碼管設(shè)計電路圖 LED及蜂鳴器電路設(shè)計蜂鳴器的設(shè)計就簡單許多,只需將其一端接入高電平,另一端接入單片機,為保證其正常工作,接入100歐姆的電阻。接入單片機的一端我們可以設(shè)為RE5。小燈同蜂鳴器相似,只需考慮接入的引腳,實驗中我們接入3種顏色的小燈,其引腳分別連至單片機的RE端口的0、2位。圖13 LED及蜂鳴器電路連接圖本次設(shè)計采用的單片機為PIC16F887,其功能強大,應用靈活。在使用它進行工作的前提是對其基本的引腳進行分配,這里我們只考慮VCC和GND以及晶振的接入,晶振選擇4MHz的晶振。其具體電路圖如下:圖14 單片機接線圖上電電路采用已有的設(shè)計好的電路,由USB接口供電,其電路圖如下:圖15 上電電路總電路圖如下圖16:圖16 總電路圖由以上設(shè)計可知,系統(tǒng)的硬件原理圖如下所示:圖17 硬件原理圖設(shè)計時可采用模塊化程序設(shè)計方法。模塊劃分時應遵循下述原則:1.每個模塊應具有獨立的功能,能產(chǎn)生一個明確的結(jié)果;2.模塊之間的控制參數(shù)應盡量簡單,數(shù)據(jù)參數(shù)應盡量少;3.根據(jù)模塊的劃分原則,將該程序劃分成6個模塊,如圖18所示。主程序鍵盤掃描模塊鍵盤顯示模塊TMR0定時模塊動態(tài)顯示模塊倒計時結(jié)束提示模塊附加功能模塊圖18 程序模塊第二章 軟件設(shè)計基于硬件工作的軟件部分的編寫是通過匯編語言實現(xiàn)的。由以上分析可知,該部分大致包括鍵盤掃描,鍵盤顯示,TMR0定時器,動態(tài)顯示,結(jié)束提示和其他功能模塊等六大部分,其中每大部分又包括不等的若干小部分,下面通過總體到局部的過程介紹它的工作原理。 倒計時部分該軟件由鍵入到倒計時的工作過程可由下面框圖表示,此處省略了附加功能部分,只體現(xiàn)出其一般工作狀態(tài)。圖21 倒計時器工作流程圖該流程圖表示了軟件工作的大體過程,具體的過程如下子章節(jié)。 鍵盤掃描子程序鍵盤連接有4個輸入端和4個輸出端,輸入端連在RC低四位,輸出端連在RC高四位,先讓低四位賦值低電平,若有鍵按下,高四位必有低電平出現(xiàn),之后繼續(xù)判斷具體哪個鍵被按下。以RC0為0為例,若令RC0=0,即判斷第一行是否有鍵按下,依次判斷高四位是否為低電平,若為低電平,則該鍵被按下,轉(zhuǎn)入相應功能子程序。以RC0=0為例,框圖如下:圖22 鍵盤掃描流程圖程序及注釋如下:JIANPAN MOVLW 00H 。RC口低四位輸出低電平 MOVWF PORTC MOVLW 0F0H ANDWF PORTC,W 。屏蔽低四位 SUBLW 0F0H BTFSC STATUS,Z 。判斷高四位是否為全1 RETURN 。是,無鍵輸入,返回繼續(xù)判斷 CALL DELAY10MS 。否,有可能有鍵輸入,延時20毫秒 CALL DELAY10MS MOVLW 0F0H 。再判斷一次是否鍵入 ANDWF PORTC,W SUBLW 0F0H BTFSC STATUS,Z RETURN 。虛假輸入,返回 BCF PORTB,5 。確實有鍵輸入,蜂鳴器鳴叫 MOVLW 0FEH 。逐行判斷哪個鍵輸入,首先RC0=0 MOVWF PORTC BTFSS PORTC,4 。判斷鍵0 GOTO JIAN0 。是,跳至鍵0功能子程序 BTFSS PORTC,5 。判斷鍵1 GOTO JIAN1 。是,跳至鍵1功能子程序 BTFSS PORTC,6 。判斷鍵2 GOTO JIAN2 。是,跳至鍵2功能子程序 BTFSS PORTC,7 。判斷鍵3 GOTO JIAN3 。是,跳至鍵3功能子程序 0到9按鍵功能子程序和鍵盤顯示子程序0到9按鍵的主要作用是輸入我們倒計時的初值,當這些按鍵按下時,會調(diào)用鍵盤顯示子程序,將鍵入的數(shù)字通過數(shù)碼管顯示出來。為了判斷按下的次數(shù),設(shè)置變量KEFLAG,每調(diào)用一次鍵子程序變量左移一位,當需要顯示時,只需判斷KEFLAG的第幾位為1,就可判斷該鍵入的數(shù)字在數(shù)碼管的哪一個位上顯示。同時,鍵入的位數(shù)不同會調(diào)用不同的鍵盤顯示子程序,我們設(shè)計的三位倒計時器有三個鍵盤顯示子程序,當按下一個數(shù)時,調(diào)用XIANSHI1,為靜態(tài)顯示;當按下第二個數(shù)時,數(shù)碼管動態(tài)掃描,顯示兩位數(shù),就需要調(diào)用XIANSHI2,同理按下3位數(shù)調(diào)用3位顯示子程序XIANSHI3。0到9按鍵功能子程序的另一個作用就是將該按鍵的標號放入指定的變量帶回,為之后的動態(tài)倒計時顯示提供十進制轉(zhuǎn)換所需的數(shù)字。該子程序如下,以0到1為例:。0到9按鍵,用于鍵入數(shù)字JIAN0 CALL SFANG 。釋放 MOVLW 00H 。將0放入W寄存器 MOVWF NUM8 。NUM8帶0返回 CALL CHABIAO 。調(diào)用查表子程序 MOVWF BIAN 。BIAN帶0顯示碼返回 RLF KEYFLAG,1 。鍵按下一次,KEYFLAG左移一位 RETURNJIAN1 CALL SFANG 。釋放 MOVLW 01H 。將1放入W寄存器 MOVWF NUM8 。NUM8帶1返回 CALL CHABIAO 。調(diào)用查表子程序 MOVWF BIAN 。BIAN帶1顯示碼返回 RLF KEYFLAG,1 。鍵按下一次,KEYFLAG左移一位 RETURN 該倒計時器將鍵盤鍵入數(shù)字的顯示和倒計時時數(shù)字的顯示分開,即兩者的顯示不是在同一個顯示子程序里。因此這里需要簡要的介紹一下鍵盤顯示子程。左圖展示了鍵的輸入在數(shù)碼管
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1