單片機(jī)技術(shù)應(yīng)用 課件 第四單元 電子秒表的設(shè)計(jì)_第1頁(yè)
單片機(jī)技術(shù)應(yīng)用 課件 第四單元 電子秒表的設(shè)計(jì)_第2頁(yè)
單片機(jī)技術(shù)應(yīng)用 課件 第四單元 電子秒表的設(shè)計(jì)_第3頁(yè)
單片機(jī)技術(shù)應(yīng)用 課件 第四單元 電子秒表的設(shè)計(jì)_第4頁(yè)
單片機(jī)技術(shù)應(yīng)用 課件 第四單元 電子秒表的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

在單片機(jī)的諸多功能中,時(shí)間控制是至關(guān)重要的一環(huán)。設(shè)計(jì)程序時(shí),時(shí)間控制發(fā)揮著不可或缺的作用。本教學(xué)情境通過(guò)六個(gè)任務(wù)對(duì)使用定時(shí)器過(guò)程中的相關(guān)知識(shí)和技能要求進(jìn)行詳細(xì)說(shuō)明。這六個(gè)任務(wù)分別為定時(shí)器查詢控制LED閃爍、定時(shí)器中斷控制LED閃爍、數(shù)碼管的動(dòng)態(tài)掃描顯示、LED點(diǎn)陣的動(dòng)態(tài)掃描顯示、獨(dú)立按鍵的動(dòng)態(tài)掃描檢測(cè)及綜合實(shí)訓(xùn)。本教學(xué)情境是單片機(jī)課程中非常重要的一部分內(nèi)容,學(xué)生應(yīng)通過(guò)這些任務(wù)逐步理解和掌握定時(shí)器的設(shè)計(jì)原理,進(jìn)而靈活地掌握使用定時(shí)器編程的技巧和方法。問(wèn)題引入QuestionIntroduction目錄導(dǎo)航任務(wù)4-1定時(shí)器查詢控制LED閃爍任務(wù)4-2定時(shí)器中斷控制LED閃爍任務(wù)4-3數(shù)碼管的動(dòng)態(tài)掃描顯示任務(wù)4-4LED點(diǎn)陣的動(dòng)態(tài)掃描顯示任務(wù)4-5獨(dú)立按鍵的動(dòng)態(tài)掃描檢測(cè)任務(wù)4-6綜合實(shí)訓(xùn)任務(wù)4-1定時(shí)器查詢控制LED閃爍LED的閃爍在前文中已經(jīng)實(shí)現(xiàn),本任務(wù)我們繼續(xù)探索LED閃爍的其他實(shí)現(xiàn)方法,為解決之前任務(wù)中DelayMS()函數(shù)導(dǎo)致單片機(jī)運(yùn)行效率比較低的問(wèn)題,本任務(wù)采用單片機(jī)的定時(shí)器控制LED閃爍的時(shí)間。工作任務(wù)一、定時(shí)器的基本原理相關(guān)知識(shí)IAP15L2K61S2設(shè)置了5個(gè)16位定時(shí)器/計(jì)數(shù)器,即T0、T1、T2、T3及T4。這5個(gè)16位定時(shí)器/計(jì)數(shù)器可以配置為計(jì)數(shù)工作模式或定時(shí)工作模式。對(duì)于定時(shí)器和計(jì)數(shù)器來(lái)說(shuō),其核心部件是一個(gè)做加法運(yùn)算的計(jì)數(shù)器,本質(zhì)是對(duì)脈沖進(jìn)行計(jì)數(shù)。它們的區(qū)別在于計(jì)數(shù)脈沖的來(lái)源不同。(1)如果計(jì)數(shù)脈沖來(lái)自系統(tǒng)時(shí)鐘,則為定時(shí)工作模式,此時(shí)定時(shí)器/計(jì)數(shù)器每12個(gè)時(shí)鐘或者1個(gè)時(shí)鐘得到一個(gè)計(jì)數(shù)脈沖,計(jì)數(shù)值加1。(2)如果計(jì)數(shù)脈沖來(lái)自單片機(jī)外部引腳(例如,對(duì)于T0來(lái)說(shuō),計(jì)數(shù)脈沖來(lái)自P34引腳;對(duì)于T1來(lái)說(shuō),計(jì)數(shù)脈沖來(lái)自P35引腳,T2~T4的計(jì)數(shù)脈沖可以查閱STC15單片機(jī)的數(shù)據(jù)手冊(cè)),則為計(jì)數(shù)工作模式,每得到一個(gè)計(jì)數(shù)脈沖,計(jì)數(shù)值加1。1T模式和12T模式的區(qū)別:如果開發(fā)板的晶振頻率是12MHz,則12T模式是指單片機(jī)將晶振時(shí)鐘12分頻之后作為自己的系統(tǒng)時(shí)鐘,即單片機(jī)的運(yùn)行頻率為12÷12=1MHz,機(jī)器周期=1/1=lμs,計(jì)數(shù)一次所需要的時(shí)間為1μs;1T模式是指單片機(jī)直接將晶振時(shí)鐘作為自己的系統(tǒng)時(shí)鐘,即單片機(jī)的運(yùn)行頻率為12MHz,機(jī)器周期=1/12μs,計(jì)數(shù)一次所需要的時(shí)間約為0.0833μs。因此1T模式下的單片機(jī)運(yùn)行速度是12T模式下的單片機(jī)運(yùn)行速度的12倍。二、定時(shí)器相關(guān)寄存器相關(guān)知識(shí)(1)TCONTCON是特殊功能寄存器,字節(jié)地址為0x88,位地址由低到高分別為0x88~0x8F,該寄存器可進(jìn)行位尋址。TCON的主要功能是控制定時(shí)器是否工作、標(biāo)志哪個(gè)定時(shí)器產(chǎn)生中斷或者溢出等,復(fù)位值為0x00。其各位的定義如表4-1所示。二、定時(shí)器相關(guān)寄存器相關(guān)知識(shí)(2)TMOD該寄存器也屬于特殊功能寄存器,其字節(jié)地址為0x89,該寄存器不能位尋址,復(fù)位值為0x00。定時(shí)和計(jì)數(shù)功能由控制位C/T確定,TMOD各位的定義如表4-2所示。二、定時(shí)器相關(guān)寄存器相關(guān)知識(shí)(3)TMOD該寄存器也屬于特殊功能寄存器,其字節(jié)地址為0x89,該寄存器不能位尋址,復(fù)位值為0x00。定時(shí)和計(jì)數(shù)功能由控制位C/T確定,TMOD各位的定義如表4-2所示。二、定時(shí)器相關(guān)寄存器相關(guān)知識(shí)(3)TMODM1、M0:工作方式選擇位。每個(gè)定時(shí)器都有4種工作方式,通過(guò)設(shè)置M1、M0來(lái)設(shè)定,如表4-3所示。二、定時(shí)器相關(guān)寄存器相關(guān)知識(shí)(4)AUXRSTC15單片機(jī)是1T模式的51單片機(jī),為兼容傳統(tǒng)51單片機(jī),T0、T1和T2復(fù)位后是傳統(tǒng)51單片機(jī)的速度,即工作在12T模式,通過(guò)設(shè)置新增加的AUXR,將T0、T1、T2設(shè)置為1T模式。該寄存器也是特殊功能寄存器,字節(jié)地址是0x8e,能位尋址,復(fù)位值是0x01。AUXR各位的定義如表4-4所示。三、T0、T1的工作方式相關(guān)知識(shí)T0、T1有4種工作方式,通過(guò)TMOD的M0、M1進(jìn)行設(shè)置,分別是方式0~方式3,除方式3外,在其余的3種工作方式下,T0和T1的工作原理完全相同。其中,方式1、方式2和方式3完全可由方式0取代,因此下面主要介紹方式0。在方式0下,T0是一個(gè)可自動(dòng)重裝初始值的16位定時(shí)器/計(jì)數(shù)器,其結(jié)構(gòu)如圖4-1所示。T0有兩個(gè)隱含的寄存器RL_TH0和RL_TL0,用于保存16位定時(shí)器/計(jì)數(shù)器的重裝初始值。當(dāng)由TH0、TL0構(gòu)成的16位計(jì)數(shù)器溢出時(shí),RL_TH0和RL_TL0的值分別自動(dòng)裝入TH0、TL0,這樣就實(shí)現(xiàn)了自動(dòng)重裝的功能。圖4-1

方式0下T0的結(jié)構(gòu)四、定時(shí)器初始化總結(jié)相關(guān)知識(shí)所謂初始值,就是在計(jì)數(shù)寄存器TH0和TL0中預(yù)先裝入一定的數(shù)值,這些數(shù)值的設(shè)定決定了定時(shí)器從當(dāng)前計(jì)數(shù)到溢出所需的時(shí)間長(zhǎng)度,從而實(shí)現(xiàn)了精確的定時(shí)功能。下面以定時(shí)2ms為例,介紹定時(shí)器初始化的步驟。(1)設(shè)置系統(tǒng)時(shí)鐘計(jì)數(shù)頻率。這里以T0為例,設(shè)置系統(tǒng)時(shí)鐘頻率為12MHz,工作在12T模式下(方便計(jì)算),即1μs計(jì)數(shù)一次,由表4-4可知,需要將AUXR的最高位T0x12置為0。設(shè)置系統(tǒng)時(shí)鐘計(jì)數(shù)頻率的語(yǔ)句如下:AUXR&=0x7F;(2)設(shè)置定時(shí)器的工作方式。由于方式1、方式2和方式3完全可由方式0取代,因此將T0設(shè)置為方式0即可。由表4-2可知,需將TMOD的低四位全部置為0。設(shè)置定時(shí)器工作方式的語(yǔ)句如下:TMOD&=0xF0;(3)設(shè)置定時(shí)器初始值。將定時(shí)時(shí)間2ms轉(zhuǎn)化為計(jì)數(shù),即2000次,因此初始值=65536-2000=63536,轉(zhuǎn)換成十六進(jìn)制數(shù)則為0xF830。設(shè)置定時(shí)器初始值的語(yǔ)句如下:TL0=0x30;TH0=0xF8;(4)清除溢出標(biāo)志位。由表4-1可知,將TF0置為0即可。清除溢出標(biāo)志位的語(yǔ)句如下:TF0=0;(5)啟動(dòng)定時(shí)器。由表4-1可知,將TR0置為0即可。啟動(dòng)定時(shí)器的語(yǔ)句如下:TR0=0;四、定時(shí)器初始化總結(jié)相關(guān)知識(shí)定時(shí)器的初始化代碼也可通過(guò)STC-ISP軟件自動(dòng)生成,如圖4-2所示。圖4-2

通過(guò)STC-ISP軟件自動(dòng)生成定時(shí)器的初始化代碼任務(wù)4-1定時(shí)器查詢控制LED閃爍任務(wù)實(shí)施使用定時(shí)器控制LED閃爍,要求:由P00引腳控制,低電平點(diǎn)亮LED,1s閃爍一次(系統(tǒng)時(shí)鐘頻率為12MHz)。課后拓展使用STC15單片機(jī)定時(shí)器T1控制LED1~LED4四只LED閃爍,要求:LED1每200ms閃爍一次,LED2每400ms閃爍一次,LED3每800ms閃爍一次,LED4每1000ms閃爍一次,四只LED在不同的頻率下獨(dú)立閃爍。請(qǐng)繪制原理圖并編寫程序(系統(tǒng)時(shí)鐘頻率為12MHz,使用定時(shí)器查詢控制)。任務(wù)4-1定時(shí)器查詢控制LED閃爍任務(wù)4-2定時(shí)器中斷控制LED閃爍在單片機(jī)編程中,一個(gè)很重要的問(wèn)題是提高事件的響應(yīng)速度。中斷是一個(gè)非常關(guān)鍵的技術(shù),主要用于即時(shí)處理來(lái)自外設(shè)的隨機(jī)信號(hào)。它既和硬件相關(guān),也和軟件相關(guān),正是因?yàn)橛辛酥袛嗉夹g(shù),才能使單片機(jī)的工作更加靈活、效率更高。本任務(wù)在任務(wù)4-1的基礎(chǔ)上,設(shè)計(jì)單片機(jī)控制電路并使用定時(shí)器中斷功能進(jìn)行編程,實(shí)現(xiàn)控制一只LED1s閃爍一次,即1s亮,1s滅。工作任務(wù)一、中斷的原理相關(guān)知識(shí)小李在家里看書、學(xué)習(xí):主程序。有人給小李打電話,他的電話鈴聲響了:突發(fā)事件1(中斷事件)。有人來(lái)拜訪小李(沒(méi)有預(yù)約),在門外敲門:突發(fā)事件2(中斷事件)。將小李在家里看書、學(xué)習(xí)作為主程序,在沒(méi)有外界干擾的情況下,他會(huì)一直處于學(xué)習(xí)狀態(tài),如同CPU一直處于執(zhí)行主程序狀態(tài)。有人給小李打電話或門外有人敲門,使他停止學(xué)習(xí)轉(zhuǎn)而去接電話或去開門,相當(dāng)于停止主程序的執(zhí)行,去處理這一突發(fā)事件(中斷事件),上述過(guò)程可稱為中斷。中斷事件必須滿足以下兩個(gè)條件。①

事件的發(fā)生具有隨機(jī)性,不可預(yù)測(cè)。小李的電話鈴聲會(huì)不會(huì)響,什么時(shí)候響是不可預(yù)測(cè)的;在小李學(xué)習(xí)期間,有沒(méi)有人來(lái)拜訪小李,什么時(shí)候來(lái)拜訪也是不可預(yù)測(cè)的。②

可控性,事件發(fā)生后,并不一定會(huì)停止主程序的執(zhí)行,主程序根據(jù)需要和約束條件,能控制對(duì)中斷事件做出響應(yīng)或者不響應(yīng)。當(dāng)電話鈴聲響起時(shí),小李接不接電話可以由他控制,具有可控性;當(dāng)門外有人敲門時(shí),小李可以不去開門,繼續(xù)學(xué)習(xí),也可以停止學(xué)習(xí)去開門,也具有可控性。一、中斷的原理相關(guān)知識(shí)單片機(jī)中所說(shuō)的中斷并不像前面所述這么形象,它是抽象的。中斷的定義如下:當(dāng)單片機(jī)的CPU正在執(zhí)行主程序時(shí),單片機(jī)外部或內(nèi)部發(fā)生某一事件(如計(jì)數(shù)器計(jì)數(shù)滿)請(qǐng)求CPU處理;如果該請(qǐng)求被響應(yīng),則CPU暫停當(dāng)前的工作,轉(zhuǎn)而去執(zhí)行中斷服務(wù)程序,處理所發(fā)生的事件;中斷服務(wù)程序處理完該事件后,再回到主程序原來(lái)被中止的地方(稱為斷點(diǎn))繼續(xù)執(zhí)行原程序,這整個(gè)過(guò)程稱為中斷。如果沒(méi)有中斷技術(shù),CPU的大量時(shí)間可能會(huì)被浪費(fèi)在原地踏步的查詢操作上。中斷技術(shù)解決了CPU在查詢方式中的等待問(wèn)題,節(jié)省了大量時(shí)間,大大提高了CPU的工作效率。簡(jiǎn)單的中斷響應(yīng)流程如圖4-3所示。圖4-3

簡(jiǎn)單的中斷響應(yīng)流程二、單片機(jī)的中斷源相關(guān)知識(shí)IAP15單片機(jī)內(nèi)部有21個(gè)中斷源,下面重點(diǎn)介紹前5個(gè)中斷源。三、單片機(jī)中斷系統(tǒng)的寄存器相關(guān)知識(shí)中斷的應(yīng)用離不開寄存器的控制,IAP15單片機(jī)中與中斷有關(guān)的寄存器很多,下面介紹其核心的一個(gè)寄存器—中斷允許寄存器IE。它是控制各個(gè)中斷的開關(guān),要使用哪個(gè)中斷,就必須將其對(duì)應(yīng)位置1,禁止時(shí)將其對(duì)應(yīng)位清0。IE各位的定義如表4-6所示。任務(wù)4-2定時(shí)器中斷控制LED閃爍任務(wù)實(shí)施使用定時(shí)器中斷改寫任務(wù)4-1的程序,控制LED閃爍,要求:由P00引腳控制,低電平點(diǎn)亮LED,1s閃爍一次(系統(tǒng)時(shí)鐘頻率為12MHz)。任務(wù)4-2定時(shí)器中斷控制LED閃爍課后拓展使用STC15單片機(jī)的定時(shí)器T1控制LED1~LED4四只LED閃爍,要求:LED1每200ms閃爍一次,LED2每400ms閃爍一次,LED3每800ms閃爍一次,LED4每1000ms閃爍一次,四只LED在不同的頻率下獨(dú)立閃爍。請(qǐng)繪制原理圖并編寫程序(系統(tǒng)時(shí)鐘頻率為12MHz,使用定時(shí)器中斷控制)。任務(wù)4-3數(shù)碼管的動(dòng)態(tài)掃描顯示在單片機(jī)電路的設(shè)計(jì)過(guò)程中,數(shù)碼管作為一種常見(jiàn)的顯示設(shè)備,具有簡(jiǎn)潔明了的視覺(jué)效果及便捷的控制方式。然而,隨著數(shù)碼管顯示位數(shù)的增加和復(fù)雜化,對(duì)控制I/O口的需求也隨之增加。在這種背景下,I/O口的擴(kuò)展和數(shù)碼管的動(dòng)態(tài)掃描技術(shù)成了提高數(shù)碼管顯示效率和節(jié)省資源的重要技術(shù)手段。本任務(wù)以IAP15L2K61S2為主控芯片,使用3個(gè)I/O口,利用I/O口擴(kuò)展技術(shù)和動(dòng)態(tài)掃描技術(shù)實(shí)現(xiàn)用四位一體共陽(yáng)極數(shù)碼管顯示不同的數(shù)字。工作任務(wù)一、I/O口的擴(kuò)展應(yīng)用相關(guān)知識(shí)在任務(wù)2-4中,我們學(xué)習(xí)了數(shù)碼管的驅(qū)動(dòng),一個(gè)數(shù)碼管需用到8個(gè)單片機(jī)I/O口,如果數(shù)碼管的數(shù)量增加,那么I/O口的需求量也會(huì)增加。對(duì)于單片機(jī)來(lái)說(shuō),I/O口是十分寶貴的,I/O口的數(shù)量越多,對(duì)應(yīng)的單片機(jī)價(jià)格越貴。在單片機(jī)設(shè)計(jì)中,如何節(jié)省I/O口呢?這需要用到I/O口擴(kuò)展技術(shù),常用的I/O口擴(kuò)展芯片有74HC595、74HC573、74HC138等。本任務(wù)以74HC595為例介紹I/O口的擴(kuò)展應(yīng)用。74HC595是一個(gè)帶有三態(tài)輸出寄存器的8位移位寄存器,引腳說(shuō)明如表4-7所示。該芯片的功能如表4-8所示。一、I/O口的擴(kuò)展應(yīng)用相關(guān)知識(shí)一、I/O口的擴(kuò)展應(yīng)用相關(guān)知識(shí)一、I/O口的擴(kuò)展應(yīng)用相關(guān)知識(shí)一、I/O口的擴(kuò)展應(yīng)用相關(guān)知識(shí)下面說(shuō)明如何使Q7~Q0輸出10110110。首先,將MR引腳置為1,OE引腳置為0。然后,進(jìn)行移位操作:將DS引腳置為1,SH_CP引腳輸入上升沿信號(hào),此時(shí)1會(huì)出現(xiàn)在Q0上,移位寄存器中的數(shù)據(jù)Q7~Q0變?yōu)?0000001;將DS引腳置為0,SH_CP引腳輸入上升沿信號(hào),此時(shí)新的數(shù)據(jù)“0”會(huì)出現(xiàn)在Q0上,剛才Q0上的數(shù)據(jù)“1”被移位到Q1上,移位寄存器中的數(shù)據(jù)Q7~Q0變?yōu)?0000010;依次給DS引腳置剩余的6位數(shù)據(jù)“110110”,每次DS設(shè)置完數(shù)據(jù)后,SH_CP引腳輸入上升沿信號(hào),數(shù)據(jù)即可移到Q0引腳上,同時(shí)移位寄存器中的數(shù)據(jù)向后移一位,因此進(jìn)行8次移位操作即可將1字節(jié)數(shù)據(jù)移到移位寄存器中。最后,進(jìn)行鎖存輸出操作:通過(guò)設(shè)置ST_CP上升沿將移位寄存器中的數(shù)據(jù)保存在三態(tài)輸出寄存器中,并在8只引腳上同時(shí)進(jìn)行輸出。通過(guò)這種方式,我們只用了SH_CP、DS和ST_CP三個(gè)輸入引腳就擴(kuò)展出了8個(gè)輸出,配合Q7'引腳,兩片74HC595級(jí)聯(lián)就可以擴(kuò)展出16個(gè)輸出,如圖4-5所示。一、I/O口的擴(kuò)展應(yīng)用相關(guān)知識(shí)二、四位一體數(shù)碼管的顯示原理相關(guān)知識(shí)從內(nèi)部結(jié)構(gòu)上來(lái)看,四位一體共陽(yáng)極數(shù)碼管內(nèi)部4個(gè)數(shù)碼管的每個(gè)相同段都是連在一起的,4個(gè)數(shù)碼管分別由COM0~COM3控制。當(dāng)?shù)谝粋€(gè)數(shù)碼管被選中(COM0=1、COM1=0、COM2=0、COM3=0)時(shí),給a~h賦值相應(yīng)的編碼,此時(shí)第一個(gè)數(shù)碼管就顯示相應(yīng)的字符。a~h稱為段碼控制位,COM0~COM3稱為位碼控制位。三、四位一體數(shù)碼管的動(dòng)態(tài)掃描原理相關(guān)知識(shí)所謂動(dòng)態(tài)掃描,實(shí)際上是輪流點(diǎn)亮數(shù)碼管(靜態(tài)顯示是同時(shí)點(diǎn)亮數(shù)碼管),某一個(gè)時(shí)刻有且只有一個(gè)數(shù)碼管是亮的,由于人眼的視覺(jué)暫留現(xiàn)象(余暉效應(yīng)),當(dāng)這4個(gè)數(shù)碼管的掃描速度足夠快時(shí),給人的感覺(jué)是這4個(gè)數(shù)碼管同時(shí)亮了。例如,要?jiǎng)討B(tài)顯示0123,顯示過(guò)程就是先使第一個(gè)數(shù)碼管顯示0,過(guò)一會(huì)兒(小于某個(gè)時(shí)間),使第二個(gè)數(shù)碼管顯示l,依次類推,使4個(gè)數(shù)碼管分別顯示0~3,由于動(dòng)態(tài)掃描的速度太快,給人的感覺(jué)是4個(gè)數(shù)碼管都亮了,實(shí)質(zhì)上在看過(guò)去的那一刻,只有1個(gè)數(shù)碼管在顯示,其他3個(gè)數(shù)碼管都是滅的。任務(wù)4-3定時(shí)器中斷控制LED閃爍任務(wù)實(shí)施將兩片74HC595級(jí)聯(lián),控制四位一體共陽(yáng)極數(shù)碼管的靜態(tài)顯示,要求:4個(gè)數(shù)碼管同時(shí)顯示0~9,1s變化一次(系統(tǒng)時(shí)鐘頻率為12MHz)。任務(wù)4-3定時(shí)器中斷控制LED閃爍1.原理圖設(shè)計(jì)在本設(shè)計(jì)中,由單片機(jī)的P40引腳控制74HC595的DS引腳,由單片機(jī)的P41引腳控制74HC595的SH_CP引腳,由單片機(jī)的P42引腳控制74HC595的ST_CP引腳,兩片74HC595共用SH_CP引腳和ST_CP引腳,控制移位和鎖存輸出同步,并用第一片74HC595實(shí)現(xiàn)段碼控制,用第二片74HC595實(shí)現(xiàn)位碼控制,每次移入2字節(jié)數(shù)據(jù),然后將16位數(shù)據(jù)一起鎖存輸出,完成一次操作。需要注意的是,先移入的數(shù)據(jù)出現(xiàn)在最后的數(shù)碼管上。任務(wù)4-3定時(shí)器中斷控制LED閃爍2.程序設(shè)計(jì)任務(wù)4-3定時(shí)器中斷控制LED閃爍課后拓展1.使用1片74HC595和4只三極管控制四位一體共陰極數(shù)碼管的顯示,要求:4個(gè)數(shù)碼管全部顯示數(shù)字“2”。請(qǐng)繪制原理圖并編寫程序。2.編寫程序,要求:在上一題程序的基礎(chǔ)上實(shí)現(xiàn)-99~99動(dòng)態(tài)計(jì)數(shù),關(guān)閉沒(méi)有顯示的數(shù)碼管,1s更新一次。任務(wù)4-4LED點(diǎn)陣的動(dòng)態(tài)掃描顯示前面任務(wù)中介紹的數(shù)碼管可以顯示數(shù)字0~9和一些字母,常見(jiàn)于計(jì)算器、電子表和其他需要顯示數(shù)字信息的電子設(shè)備中。LED點(diǎn)陣作為另一種顯示設(shè)備,是由多只LED組成的矩陣陣列,每只LED對(duì)應(yīng)矩陣陣列中的一個(gè)點(diǎn),每只LED的亮滅都可以單獨(dú)控制。通過(guò)控制不同LED的亮滅,LED點(diǎn)陣可以顯示更加復(fù)雜的圖形和文字,其靈活性和顯示能力遠(yuǎn)超數(shù)碼管,它能夠顯示數(shù)字、字母、符號(hào),甚至是圖像。本任務(wù)在任務(wù)4-3的基礎(chǔ)上,使用3個(gè)I/O口,利用I/O口擴(kuò)展技術(shù)和動(dòng)態(tài)掃描技術(shù)實(shí)現(xiàn)LED點(diǎn)陣的動(dòng)態(tài)掃描顯示。工作任務(wù)一、LED點(diǎn)陣的基本原理相關(guān)知識(shí)LED點(diǎn)陣是將多只LED以矩陣形式排列而成的元器件。其中,各只LED的引腳有規(guī)律地進(jìn)行連接。下圖所示為共陰極8×8LED點(diǎn)陣的內(nèi)部電路結(jié)構(gòu)。一、LED點(diǎn)陣的基本原理相關(guān)知識(shí)下面以共陽(yáng)極8×8LED點(diǎn)陣為例,說(shuō)明數(shù)字“7”的掃描過(guò)程二、LED點(diǎn)陣的驅(qū)動(dòng)相關(guān)知識(shí)由LED點(diǎn)陣的原理我們可以知道,要驅(qū)動(dòng)一個(gè)8×8LED點(diǎn)陣需要16個(gè)I/O口,如果全部由單片機(jī)I/O口來(lái)驅(qū)動(dòng),將會(huì)使用16個(gè)I/O口,十分浪費(fèi),因此可以參照數(shù)碼管的驅(qū)動(dòng)方式,采用兩片74HC595級(jí)聯(lián)驅(qū)動(dòng)任務(wù)4-4LED點(diǎn)陣的動(dòng)態(tài)掃描顯示任務(wù)實(shí)施將兩片74HC595級(jí)聯(lián)控制LED點(diǎn)陣的動(dòng)態(tài)掃描顯示,要求在LED點(diǎn)陣上顯示數(shù)字“7”(系統(tǒng)時(shí)鐘頻率為12MHz)。任務(wù)4-4LED點(diǎn)陣的動(dòng)態(tài)掃描顯示課后拓展1.將四片74HC595級(jí)聯(lián)控制16×16LED點(diǎn)陣的動(dòng)態(tài)掃描顯示,要求:在LED點(diǎn)陣上顯示漢字“中”(系統(tǒng)時(shí)鐘頻率為12MHz)。請(qǐng)繪制原理圖并編寫程序。2.編寫程序,要求:在上一題程序的基礎(chǔ)上,顯示滾動(dòng)的漢字“中國(guó)加油”。任務(wù)4-5獨(dú)立按鍵的動(dòng)態(tài)掃描檢測(cè)在嵌入式系統(tǒng)設(shè)計(jì)中,按鍵掃描是一項(xiàng)基礎(chǔ)且重要的環(huán)節(jié)。在教學(xué)情境三中,我們實(shí)現(xiàn)了按鍵的檢測(cè),但是按鍵掃描過(guò)程中存在的延時(shí)和按鍵檢測(cè)執(zhí)行效率低問(wèn)題直接影響了用戶的操作體驗(yàn),下面我們使用定時(shí)器動(dòng)態(tài)掃描技術(shù)解決上述問(wèn)題。工作任務(wù)一、按鍵延時(shí)消抖的問(wèn)題相關(guān)知識(shí)在教學(xué)情境三中,我們學(xué)習(xí)了按鍵抖動(dòng)的一般處理方法,并給出了軟件消抖程序,其需要在while(1)循環(huán)中不斷執(zhí)行按鍵掃描程序,按鍵掃描程序如下:一、按鍵延時(shí)消抖的問(wèn)題相關(guān)知識(shí)上述程序存在以下兩個(gè)問(wèn)題。問(wèn)題一:延時(shí)3ms是長(zhǎng)是短呢?單片機(jī)在3ms內(nèi)能干很多事,延時(shí)3ms勢(shì)必會(huì)讓單片機(jī)的運(yùn)行效率變得非常低。問(wèn)題二:判斷按鍵釋放時(shí)使用while(KEY1==0)語(yǔ)句,若是工程師開發(fā)的程序自己用,或許清楚按一下按鍵后松手才會(huì)執(zhí)行后面的程序,可是工程師開發(fā)的程序大多數(shù)不是自己用,如果用戶按下后不松手,等著數(shù)值加或者減,那么程序會(huì)“卡死”在while(KEY1==0)這里。二、使用定時(shí)器掃描任務(wù)相關(guān)知識(shí)在編寫程序的過(guò)程中經(jīng)常會(huì)遇到周期性的任務(wù)掃描,如對(duì)環(huán)境溫度進(jìn)行采集的掃描任務(wù),因?yàn)闇囟鹊淖兓俾时容^慢,我們不用時(shí)時(shí)刻刻對(duì)任務(wù)進(jìn)行掃描,所以可以將掃描周期改為1s,甚至10s。如果采用DelayMS()函數(shù)來(lái)實(shí)現(xiàn)這種任務(wù),會(huì)大幅影響程序的運(yùn)行效率。下面以溫度采集任務(wù)(每10s采集一次溫度)為例,給出了使用定時(shí)器掃描任務(wù)的代碼。二、使用定時(shí)器掃描任務(wù)相關(guān)知識(shí)任務(wù)4-5獨(dú)立按鍵的動(dòng)態(tài)掃描檢測(cè)任務(wù)實(shí)施在任務(wù)3-1的基礎(chǔ)上,使用定時(shí)器實(shí)現(xiàn)4個(gè)按鍵消抖,4個(gè)按鍵分別接在STC15單片機(jī)的P10引腳、P20引腳、P30引腳、P40引腳上,4只LED分別接在STC15單片機(jī)的P11引腳、P21引腳、P31引腳、P41引腳上。任務(wù)4-5獨(dú)立按鍵的動(dòng)態(tài)掃描檢測(cè)1.原理圖設(shè)計(jì)用定時(shí)器實(shí)現(xiàn)4個(gè)按鍵消抖的原理圖如圖4-11所示。任務(wù)4-5獨(dú)立按鍵的動(dòng)態(tài)掃描檢測(cè)2.程序設(shè)計(jì)見(jiàn)教材任務(wù)4-5獨(dú)立按鍵的動(dòng)態(tài)掃描檢測(cè)課后拓展在任務(wù)3-2的基礎(chǔ)上,使用定時(shí)器編寫4×4矩陣按鍵的消抖程序。任務(wù)4-6綜合實(shí)訓(xùn)電子秒表是人們?nèi)粘I钪谐S玫挠?jì)時(shí)儀器,它能夠簡(jiǎn)單地實(shí)現(xiàn)計(jì)時(shí)、清0等功能,從一年一度的校級(jí)運(yùn)動(dòng)會(huì)到世界杯、奧運(yùn)會(huì),都能看到電子秒表的身影。下面將詳細(xì)分析電子秒表的計(jì)時(shí)策略和實(shí)現(xiàn)方法,并給出相應(yīng)的設(shè)計(jì)方案。通過(guò)前面五個(gè)任務(wù)的學(xué)習(xí),我們已經(jīng)學(xué)會(huì)了使用單片機(jī)定時(shí)器中斷的控制方法,數(shù)碼管、LED點(diǎn)陣的動(dòng)態(tài)掃描顯示,以及獨(dú)立按鍵的動(dòng)態(tài)掃描檢測(cè),本任務(wù)為綜合實(shí)訓(xùn),將上述任務(wù)結(jié)合在一起,設(shè)計(jì)一個(gè)電子秒表。工作任務(wù)任務(wù)4-6綜合實(shí)訓(xùn)任務(wù)實(shí)施應(yīng)用IAP15L2K61S2及簡(jiǎn)單的外圍電路,模擬設(shè)計(jì)制作一個(gè)電子秒表,初始時(shí)間值為“00.00”。按下“啟停”按鍵后,電子秒表開始計(jì)時(shí),再次按下“啟?!卑存I,電子秒表停止計(jì)時(shí);按下“清除”按鍵后,時(shí)間恢復(fù)為“00.00”,電子秒表處于就緒狀態(tài),時(shí)間精度為0.01s。任務(wù)4-6綜合

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論