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

正文內(nèi)容

基于單片機的數(shù)字鐘課程設(shè)計(編輯修改稿)

2025-02-14 16:25 本頁面
 

【文章內(nèi)容簡介】 控制各發(fā)光段亮、滅,就可以顯示各種字形或符號。LED數(shù)碼管有共陽、共陰之分。圖7是共陽式、共陰式LED數(shù)碼管的原理圖和符號。圖7 共陽式、共陰式LED數(shù)碼管的原理圖和數(shù)碼管的符號圖數(shù)字電子鐘的原理圖如圖8所示(9)。圖8 數(shù)字鐘的原理圖數(shù)字電子鐘是一個將“時”、“分”、“秒”顯示于人的視覺器官的計時裝置。它的計時周期為24小時,顯示滿刻度為23時59分59秒,另外還有校時功能。因此,一個基本的數(shù)字鐘電路主要由顯示器“時”、“分”、“秒”和單片機,還有校時電路組成。8個數(shù)碼管的段選接到單片機的P0口,位選接到單片機的P2口。數(shù)碼管按照數(shù)碼管動態(tài)顯示的工作原理工作,將標準秒信號送入“秒單元”,“秒單元”采用60進制計數(shù)器,每累計60秒發(fā)出一個“分脈沖”信號,該信號將作為“分單元”的時鐘脈沖?!胺謫卧币膊捎?0進制計數(shù)器,每累計60分鐘,發(fā)出一個“時脈沖”信號,該信號將被送到“時單元”?!皶r單元”采用24進制計時器,可實現(xiàn)對一天24小時的累計。顯示電路將“時”、“分”、“秒”通過七段顯示器顯示出來。校時電路時用來對“時”、“分”、“秒”顯示數(shù)字進行校對調(diào)整,按一下ksec,秒單元就加1 ,按一下kmin,分就加1,按一下khour,時就加1。4 數(shù)字鐘的軟件設(shè)計系統(tǒng)的軟件設(shè)計也是工具系統(tǒng)功能的設(shè)計。單片機軟件的設(shè)計主要包括執(zhí)行軟件(完成各種實質(zhì)性功能)的設(shè)計和監(jiān)控軟件的設(shè)計。單片機的軟件設(shè)計通常要考慮以下幾個方面的問題:(1)根據(jù)軟件功能要求,將系統(tǒng)軟件劃分為若干個相對獨立的部分,設(shè)計出合理的總體結(jié)構(gòu),使軟件開發(fā)清晰、簡潔和流程合理;(2)培養(yǎng)良好的編程風格,如考慮結(jié)構(gòu)化程序設(shè)計、實行模塊化、子程序化。既便于調(diào)試、鏈接,又便于移植和修改;(3)建立正確的數(shù)學模型,通過仿真提高系統(tǒng)的性能,并選取合適的參數(shù);(4)繪制程序流程圖;(5)合理分配系統(tǒng)資源;(6)為程序加入注釋,提高可讀性,實施軟件工程;(7)注意軟件的抗干擾設(shè)計,提高系統(tǒng)的可靠性[9]。(1)主程序 主程序流程圖如圖9,是先開始,然后啟動定時器,定時器啟動后再進行按鍵檢測,檢測完后,就可以顯示時間。主程序用C語言編寫,如附錄所示。開始啟動定時器按鍵檢測時間顯示圖9 主程序流程圖(2)按鍵處理子程序按鍵處理是先檢測秒按鍵是否按下,秒按鍵如果按下,秒就加1;如果沒有按下,就檢測分按鍵是否按下,分按鍵如果按下,分就加1;如果沒有按下,就檢測時按鍵是否按下,時按鍵如果按下,時就加1;如果沒有按下,就把時間顯示出來(10)。 YYY時加1顯示時間結(jié)束開始秒按鍵按下?秒加1分按鍵按下?分加1時按鍵按下?NNN 圖10 按鍵處理流程圖(3)中斷處理子程序N24小時到?分單元清零,時單元加1NNNYY時單元清零時間顯示中斷返回開始一秒時間到?60秒時間到?60分鐘到?秒單元加1秒單元清零,分單元加1YY圖11 中斷流程圖(4)時間顯示子程序時間顯示是先秒個位計算顯示,然后是秒十位計算顯示,再是分個位計算顯示,再然后是分十位顯示,再就是時個位計算顯示,最后是時十位顯示。 時十位計算顯示結(jié)束開始秒個位計顯示秒十位計算顯示分個位計算顯示分十位計算顯示時個位計算顯示 圖12 時間顯示流程圖5單模塊流程設(shè)計及程序設(shè)計在完成了系統(tǒng)總流程設(shè)計后,便進入到了系統(tǒng)設(shè)計中工作量最大的模塊流程設(shè)計。由于系統(tǒng)模塊劃分雖然是系統(tǒng)設(shè)計的基礎(chǔ),但比較簡單而且模塊劃分有多種方法,因此單模塊的設(shè)計可以認為是本程序中最關(guān)鍵的部分。單模塊設(shè)計的好壞與否決定了系統(tǒng)功能能否被穩(wěn)定地實現(xiàn)以及下一階段調(diào)試程序的難度。鑒于單模塊設(shè)計的重要性,我在設(shè)計中并不急于對模塊進行編碼,而是反復論證模塊的可行性和流程圖,為下一階段的工作做好準備,同時也能夠盡早發(fā)現(xiàn)系統(tǒng)模塊劃分的錯誤,加以解決。初始化模塊包含了各中斷的跳轉(zhuǎn)語句、存儲資源的分配、各存儲器和寄存器的賦值以及中斷及計時器的狀態(tài)設(shè)置。源程序中共使用了17字節(jié)的內(nèi)部數(shù)據(jù)存儲地址,其中包含3字節(jié)位尋址地址以便于進行位判斷。三字節(jié)的位尋址地址分配如下:22H—秒的存儲地址,方便對整點報時條件進行判斷23H—月的存儲地址,方便對大小月平閏年進行判斷另外一個位尋址字節(jié)00H地址拆開用做程序狀態(tài)標志位00H(bit,BS)—生日標志位,到生日那天為 1 使程序轉(zhuǎn)入生日顯示段01H(bit,SS)—預置標志,以INT0控制其值,控制預置閃爍的實現(xiàn)02H(bit,GS)—閃爍標志,在預置標志有效時控制閃爍項目的亮和滅兩狀態(tài)03H(bit,F(xiàn)C)—頻率控制,在整點報時時控制產(chǎn)生低音還是高音04H(bit,NB)—忽略生日標志,控制預置及報時的優(yōu)先級高于生日顯示05H(bit)—控制生日信號的有效與否,其使用目的參見調(diào)試過程源程序中使用了兩個寄存器RR0,R1用于控制閃爍的間隔時間, R0用于顯示延時。在初始化模塊中設(shè)定了中斷的優(yōu)先級、定時計數(shù)器的工作模式、并打開了定時計數(shù)器TO開始計時其他資源分配項目參見源程序集合及注釋。初始化模塊指令很大一部分都是偽指令,方便了后面程序的編寫。開關(guān)檢測模塊主要執(zhí)行兩個任務(wù):⒈讀取鬧鈴使能控制撥碼開關(guān)K5的值并賦予鬧鈴使能相應值;⒉讀取顯示選擇開關(guān)(K0,K1)的值并將要顯示的項目值送入顯示緩存LED1LED3LED56當k5為1時將A1H送入RE反之送入A1H,其中A為“—”的字型碼查表偏移量。當顯示生日日期時,將生日Birthday的縮寫“bd”的字型碼送入顯示緩存LED56(11)。圖 開關(guān)檢測流程圖顯示主程序是程序中最復雜的模塊,實現(xiàn)的功能也最多,占用了程序運行過程當中90%以上的執(zhí)行時間。流程圖中由判斷SS(預置信號)開始分成兩個分支,當SS=1,即預置狀態(tài)下程序進入預置閃爍部分(12)。 圖 顯示主程序流程圖預置閃爍的優(yōu)先級是:LED34LED12LED56即同預置優(yōu)先級相同(參見調(diào)試部分的詳細說明)閃爍首先判斷是否對LED34進行判斷閃爍,如果是則另外兩個顯示值直接顯示,否則判斷是否對LED12進行閃爍,如果是則直接顯示LED56的值,只有當前兩個顯示值都不閃爍的時候,才判斷是否對LED56進行閃爍,這樣就確保了每次只有一個顯示值閃爍。預置通過GS標志位判斷預置的亮/滅,由R1控制每50輪顯示
點擊復制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1