![單片機(jī)課程設(shè)計(jì)廣告流水燈設(shè)計(jì)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/28/04b94525-4548-455b-9308-f4ada8f6d191/04b94525-4548-455b-9308-f4ada8f6d1911.gif)
![單片機(jī)課程設(shè)計(jì)廣告流水燈設(shè)計(jì)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/28/04b94525-4548-455b-9308-f4ada8f6d191/04b94525-4548-455b-9308-f4ada8f6d1912.gif)
![單片機(jī)課程設(shè)計(jì)廣告流水燈設(shè)計(jì)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/28/04b94525-4548-455b-9308-f4ada8f6d191/04b94525-4548-455b-9308-f4ada8f6d1913.gif)
![單片機(jī)課程設(shè)計(jì)廣告流水燈設(shè)計(jì)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/28/04b94525-4548-455b-9308-f4ada8f6d191/04b94525-4548-455b-9308-f4ada8f6d1914.gif)
![單片機(jī)課程設(shè)計(jì)廣告流水燈設(shè)計(jì)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/28/04b94525-4548-455b-9308-f4ada8f6d191/04b94525-4548-455b-9308-f4ada8f6d1915.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 廣告流水燈設(shè)計(jì)1、 單片機(jī)簡介1.1單片機(jī)概述單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。概括的講:一塊芯片就成了一臺計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī)原理與結(jié)構(gòu)的最佳選擇。單片機(jī)內(nèi)部也用和電腦功能類似的模塊,比如cpu,內(nèi)存,并行總線,還有和硬盤作用相同的存儲器件,不同的是它的這些部件性能都相對我們的家用電腦弱很多,不過價(jià)錢也是低的,一般不超過10元即可.用它來做一些控制電器一類不是很復(fù)雜的工作足矣了。我們現(xiàn)在用的全自動(dòng)滾筒洗衣機(jī)、排煙罩、vcd等等的家電里面都可以看到它
2、的身影!.它主要是作為控制部分的核心部件。它是一種在線式實(shí)時(shí)控制計(jì)算機(jī),在線式就是現(xiàn)場控制,需要的是有較強(qiáng)的抗干擾能力,較低的成本,這也是和離線式計(jì)算機(jī)的(比如家用pc)的主要區(qū)別。1.2、單片機(jī)的發(fā)展歷史單片機(jī)誕生于20世紀(jì)70年代末,經(jīng)歷了scm、mcu、soc三大階段。 scm即單片微型計(jì)算機(jī)(single chip microcomputer)階段,主要是尋求最佳的單片形態(tài)嵌入式系統(tǒng)的最佳體系結(jié)構(gòu)。“創(chuàng)新模式”獲得成功,奠定了scm與通用計(jì)算機(jī)完全不同的發(fā)展道路。在開創(chuàng)嵌入式系統(tǒng)獨(dú)立發(fā)展道路上,intel公司功不可沒。 mcu即微控制器(micro controller unit)階段
3、,主要的技術(shù)發(fā)展方向是:不斷擴(kuò)展?jié)M足嵌入式應(yīng)用時(shí),對象系統(tǒng)要求的各種外圍電路與接口電路,突顯其對象的智能化控制能力。它所涉及的領(lǐng)域都與對象系統(tǒng)相關(guān),因此,發(fā)展mcu的重任不可避免地落在電氣、電子技術(shù)廠家。從這一角度來看,intel逐漸淡出mcu的發(fā)展也有其客觀因素。在發(fā)展mcu方面,最著名的廠家當(dāng)數(shù)philips公司。 philips公司以其在嵌入式應(yīng)用方面的巨大優(yōu)勢,將mcs-51從單片微型計(jì)算機(jī)迅速發(fā)展到微控制器。因此,當(dāng)我們回顧嵌入式系統(tǒng)發(fā)展道路時(shí),不要忘記intel和philips的歷史功績。 單片機(jī)是嵌入式系統(tǒng)的獨(dú)立發(fā)展之路,向mcu階段發(fā)展的重要因素,就是尋求應(yīng)用系統(tǒng)在芯片上的最大
4、化解決;因此,專用單片機(jī)的發(fā)展自然形成了soc化趨勢。隨著微電子技術(shù)、ic設(shè)計(jì)、eda工具的發(fā)展,基于soc的單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)會有較大的發(fā)展。因此,對單片機(jī)的理解可以從單片微型計(jì)算機(jī)、單片微控制器延伸到單片應(yīng)用系統(tǒng)。1.3單片機(jī)的應(yīng)用領(lǐng)域單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能ic卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了
5、。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計(jì)算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。 單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域 2、單片機(jī)軟件開發(fā)的特點(diǎn)與方法由于單片機(jī)通常是為應(yīng)用系統(tǒng)而設(shè)計(jì)的,本身一般不具有自我開發(fā)和編程的能力,因此必須借助于開發(fā)工具來開發(fā)。單片機(jī)最突出的特點(diǎn)是其本身就是一個(gè)完整的應(yīng)用系統(tǒng),可以通過對單片機(jī)的選型和多個(gè)聯(lián)用滿足不同要求。若無特殊需要,不必進(jìn)行擴(kuò)展(如rom、ram、i/o、a/d 等擴(kuò)展)。而是合理選用以達(dá)到最佳利用單片機(jī)的資源,在設(shè)計(jì)時(shí),通??闪粲羞m量余地。單片機(jī)既然是一個(gè)完整的應(yīng)用系統(tǒng)
6、,必然與外界有較多的聯(lián)系,這些聯(lián)系通常通過i/o 接口進(jìn)行,以滿足用戶的不同要求。因此,單片機(jī)的產(chǎn)品開發(fā)特點(diǎn)是:選用合適機(jī)型,開發(fā)實(shí)用軟件。說明兩點(diǎn):項(xiàng)目的可行性論證:在著手系統(tǒng)設(shè)計(jì)之前,必須提出任務(wù)及要求,確定系統(tǒng)設(shè)計(jì)的技術(shù)指標(biāo)。系統(tǒng)總體方案:是開發(fā)產(chǎn)品的關(guān)鍵環(huán)節(jié)。在充分調(diào)研的基礎(chǔ)上選擇好單片機(jī)機(jī)型和關(guān)鍵元器件;要充分考慮貨源、開發(fā)工具及外圍電路等;還要分配協(xié)調(diào)好軟、硬件功能,通常硬件和軟件具有一定的互換性。開發(fā)單片機(jī)應(yīng)用系統(tǒng)產(chǎn)品,開發(fā)工具處于重要地位。在硬件調(diào)試、程序調(diào)試及聯(lián)調(diào)時(shí),都需使用開發(fā)系統(tǒng),甚至在進(jìn)行總體設(shè)計(jì)時(shí),某些技術(shù)問題也需要驗(yàn)證。開發(fā)系統(tǒng)還是鑒定性能的得力工具,因此,在選用開
7、發(fā)系統(tǒng)時(shí),要選擇性能優(yōu)良的開發(fā)系統(tǒng)。3、 單片機(jī)系統(tǒng)設(shè)計(jì)過程簡介單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)是電子技術(shù)領(lǐng)域中應(yīng)用最為廣泛的一項(xiàng)技術(shù)。掌握單片機(jī)系統(tǒng)的軟/硬件開發(fā)技術(shù),對于從事電子工程的專業(yè)技術(shù)人員來說,具有舉足輕重的意義單片機(jī)系統(tǒng)的研制步驟和方法一般都分為總體設(shè)計(jì)、硬件電路的構(gòu)思設(shè)計(jì)、軟件的編制和仿真調(diào)試幾個(gè)階段。3.1總體設(shè)計(jì)確立功能特性指標(biāo),確定單片機(jī)的機(jī)型確定軟件的編寫和支持工具3.2 硬件電路設(shè)計(jì)外圍擴(kuò)展的存儲器1、程序存儲器2、數(shù)據(jù)存儲器單片機(jī)的系統(tǒng)總線i/o口a/d和d/a轉(zhuǎn)換器3.3軟件設(shè)計(jì)確定系統(tǒng)資源確定程序結(jié)構(gòu)確定數(shù)學(xué)模型確定程序流程編制程序4、 廣告流水燈概述作為現(xiàn)代裝飾的一種元
8、素,廣告流水燈被應(yīng)用到許多地方,在諸多的娛樂場所、理發(fā)店、賓館、飯店、公司等的門外,我們都可以看得各式各樣的廣告流水燈。所謂的廣告流水燈,就是將一系列的廣告燈串聯(lián)在一起,然后令這些燈按一定的次序逐個(gè)或幾個(gè)的依次點(diǎn)亮或熄滅。由于廣告燈點(diǎn)亮產(chǎn)生的效果就像流水一樣,因此就稱這類廣告燈為廣告流水燈我們的生活中有各種各樣的廣告流水燈,其形式和點(diǎn)亮的順序是多種多樣的,有單一顏色的幾個(gè)燈按固定次序來點(diǎn)亮,有多個(gè)不同顏色的構(gòu)成某一圖案依次點(diǎn)亮的,也有多排廣告燈按多種組合好的順序循環(huán)點(diǎn)亮的,可以說各種各樣的形式多不勝數(shù),而如此多的燈,如此多的點(diǎn)亮順序是如何控制的呢,這就是我們要解決的問題。5、 設(shè)計(jì)任務(wù)分析生活
9、中有各種各樣的流水廣告燈,我們不可能一一進(jìn)行分析,現(xiàn)在我們設(shè)計(jì)其中一種最簡單的廣告流水燈,使用單片機(jī)控制8個(gè)彩燈的點(diǎn)亮,要求廣告燈從左到右循環(huán)點(diǎn)亮兩次,每燈點(diǎn)亮?xí)r間為0.2秒,再從右到左循環(huán)點(diǎn)亮兩次,每燈點(diǎn)亮?xí)r間也為0.2秒,然后再所以的燈一起閃爍兩次,每次燈亮的時(shí)間也為0.2秒,通過對其的設(shè)計(jì),我們可以了解廣告流水燈的控制原理,從而推廣到各種復(fù)雜的廣告流水燈。廣告流水燈的控制即控制各個(gè)燈的點(diǎn)亮順序,點(diǎn)亮方法,點(diǎn)亮?xí)r間,點(diǎn)亮次數(shù)等。我們使用單片機(jī)控制廣告流水燈的工作,要實(shí)現(xiàn)上述功能,必修要求一塊8051單片機(jī),470的電阻8個(gè),小彩燈8個(gè),30uf的電容3個(gè)以及一個(gè)12mhz的晶體振蕩器一個(gè)。
10、6、 電路設(shè)計(jì)分析我們可以采用單片機(jī)的p2端口的八個(gè)引腳來控制8個(gè)廣告燈的點(diǎn)亮,電源部分采用5v的直流電源,晶體振蕩器采用12mhz的石英晶體振蕩器。下圖為采用單片機(jī)的i/o口控制廣告流水燈的電路圖:在下面的程序中,我們將實(shí)現(xiàn)廣告燈從左到右單個(gè)點(diǎn)亮兩次,每次的順序?yàn)閜2.0燈亮-p2.1燈亮-p2.2燈亮-p2.3燈亮-p2.4燈亮-p2.5燈亮-p2.6燈亮-p2.7燈亮,然后再從右到左單個(gè)移動(dòng)點(diǎn)亮兩輪,即每輪點(diǎn)亮的次序?yàn)椋簆2.7燈亮- p2.6燈亮- p2.5燈亮- p2.4燈亮- p2.3燈亮- p2.2燈亮- p2.1燈亮-p2.0燈亮,之后,再使所有廣告燈閃爍兩次,即先所有燈點(diǎn)亮,
11、然后在所有燈熄滅,如此反復(fù)兩次。流水廣告燈設(shè)計(jì)電路圖7、 程序設(shè)計(jì)分析在使用i/o口控制廣告流水燈的程序中,我們可以使用多種不同的方法來實(shí)現(xiàn)。方法一:我們可以使用一般簡易端口控制方法來控制廣告流水燈;方法二:使用定時(shí)器的不同工作方式來實(shí)現(xiàn)廣告燈控制程序設(shè)計(jì);方法三:利用中斷控制法來實(shí)現(xiàn)廣告燈控制程序設(shè)計(jì)。對于方法一,我們又可以使用兩種不同的方法來實(shí)現(xiàn),第一種是將移動(dòng)前的顯示初值通過程序來給定,然后逐次運(yùn)用左移或右移指令,從而實(shí)現(xiàn)顯示值的移動(dòng)點(diǎn)亮;另一種方法是將所有的顯示值編成一個(gè)表,然后在程序中通過差別的方式來逐個(gè)輸出各顯示值的數(shù)據(jù)。設(shè)計(jì)中要求燈每次亮兩次后再熄滅,必將使用到延時(shí)程序,所有可以
12、事先編寫出延時(shí)程序來。對于方法二,我們可以使用定時(shí)器四種不同的工作方式來實(shí)現(xiàn),可以通過定時(shí)器方式寄存器tmod來選擇定時(shí)器的不同工作方式,即13位、16位、8位重裝和兩個(gè)8位獨(dú)立計(jì)算數(shù)器,選擇那種工作方式由tmod的m1m0兩位的狀態(tài)設(shè)定。51單片機(jī)主要是通過tcon和tmod兩個(gè)特殊功能寄存器來來實(shí)現(xiàn)的定時(shí)和計(jì)算功能的。7.1定時(shí)器控制寄存器tcon定時(shí)器控制寄存器tcon是一個(gè)8位寄存器, tcon的作用是控制定時(shí)器的啟、停,標(biāo)志定時(shí)器溢出和中斷情況。 tcon的格式如下圖所示。其中,tfl,trl,tf0和tr0位用于定時(shí)器計(jì)數(shù)器;iel,itl,ie0和it0位用于中斷系統(tǒng)
13、。各位定義如下:tf1:定時(shí)器1溢出標(biāo)志位。當(dāng)定時(shí)器1計(jì)滿溢出時(shí),由硬件使tf1置“1”,并且申請中斷。進(jìn)入中斷服務(wù)程序后,由硬件自動(dòng)清“0”,在查詢方式下用軟件清“0”。tr1:定時(shí)器1運(yùn)行控制位。由軟件清“0”關(guān)閉定時(shí)器1。當(dāng)gate=1,且int1為高電平時(shí),tr1置“1”啟動(dòng)定時(shí)器1;當(dāng)gate=0,tr1置“1”啟動(dòng)定時(shí)器1。tf0:定時(shí)器0溢出標(biāo)志。其功能及操作情況同tf1。tr0:定時(shí)器0運(yùn)行控制位。其功能及操作情況同tr1。ie1:外部中斷1請求標(biāo)志。it1:外部中斷1觸發(fā)方式選擇位。ie0:外部中斷0請求標(biāo)志。it0:外部中斷0觸發(fā)方式選擇位。
14、60; 由于定時(shí)器/計(jì)數(shù)器的功能是由軟件編程確定的,所以一般在使用定時(shí)/計(jì)數(shù)器前都要對其進(jìn)行初始化,使其按設(shè)定的功能工作。初始貨的步驟一般如下:1)、確定工作方式(即對tmod賦值);2)、預(yù)置定時(shí)或計(jì)數(shù)的初值(可直接將初值寫入th0、tl0或th1、tl1);3)、根據(jù)需要開放定時(shí)器/計(jì)數(shù)器的中斷(直接對ie位賦值);4)、啟動(dòng)定時(shí)器/計(jì)數(shù)器定時(shí)器的定時(shí)時(shí)間與系統(tǒng)的振蕩頻率有關(guān)。因一個(gè)機(jī)器周期等于12個(gè)振蕩周期,所以計(jì)數(shù)頻率fcount=1/12osc。如果晶振為12mhz,則計(jì)數(shù)周期為: t=1/(12×1
15、06)hz×1/12=1s下面介紹一下確定時(shí)時(shí)/計(jì)數(shù)器初值的具體方法。因?yàn)樵诓煌ぷ鞣绞较掠?jì)數(shù)器位數(shù)不同,因而最大計(jì)數(shù)值也不同?,F(xiàn)假設(shè)最大計(jì)數(shù)值為m,那么各方式下的最大值m值如下:方式0:m=213=8 192方式1:m=216=65 536方式2:m=28=256方式3:定時(shí)器0分成兩個(gè)8位計(jì)數(shù)器,所以兩個(gè)m均為256。因?yàn)槎〞r(shí)器/計(jì)數(shù)器是作“加1”計(jì)數(shù),并在計(jì)數(shù)滿溢出時(shí)產(chǎn)生中斷,因此初值x可以這樣計(jì)算:x=m-計(jì)數(shù)值7.2定時(shí)器控方式存器tmod tmod的格式如下圖所示。 由圖可見,tmod的高4位用于t1,低4使用于t0,4種符號的含義如下:gate:
16、門控制位。gate和軟件控制位tr、外部引腳信號int的狀態(tài),共同控制定時(shí)器計(jì)數(shù)器的打開或關(guān)閉。ct:定時(shí)器計(jì)數(shù)器選擇位。c/t1,為計(jì)數(shù)器方式;ct0,為定時(shí)器方式。m1m0:工作方式選擇位,定時(shí)器計(jì)數(shù)器的4種工作方式由m1m0設(shè)定。m0m1 工作方式 功能描述0 0
17、60; 工作方式0 13位計(jì)數(shù)器0 1 工作方式1 16位計(jì)
18、數(shù)器1 0 工作方式2 自動(dòng)再裝入8位計(jì)數(shù)器1 1 工作方式3
19、; 定時(shí)器0:分成兩個(gè)8位計(jì)數(shù)器,定時(shí)器1:停止計(jì)數(shù) 8、 流程圖下圖為簡易端口控制廣告燈的兩種程序編寫方法下的程序流程圖 開始設(shè)定顯示初值延時(shí)0.2秒設(shè)置右移次數(shù)設(shè)右移兩輪延時(shí)0.2秒顯示輸出設(shè)置左移次數(shù)設(shè)左移兩輪左移右移顯示輸出延時(shí)0.2秒設(shè)閃爍兩次燈全滅延時(shí)0.2秒燈全亮閃爍次數(shù)到了嗎左移輪數(shù)到?jīng)]右移輪數(shù)到了沒右移次數(shù)到了嘛左移次數(shù)到?jīng)]表10.1 左移和右移指令法程序流程圖開始將表頭dptr到表內(nèi)取數(shù)dptr+1取數(shù)放入p2延時(shí)2秒取數(shù)為結(jié)束嗎表10.2 查表法程序流程圖
20、10、編寫程序方法一:利用左移或者右移指令方法實(shí)現(xiàn)廣告流水燈的控制因?yàn)槲覀冊O(shè)計(jì)的燈每亮一次的時(shí)間為0.2秒,所以可以先編寫一個(gè)延時(shí)0.2s的延時(shí)程序,當(dāng)遇到燈亮或滅需0.2s時(shí),可以調(diào)用該子程序。編寫程序時(shí),先編寫左移指令,再編寫右移指令,再最后編寫閃爍指令。具體程序見附錄。方法二、利用取表法實(shí)現(xiàn)廣告流水燈的控制在用表格進(jìn)行程序設(shè)計(jì)的時(shí)候,要用以下的指令來完成(1)利用movdptr,data16的指令來使數(shù)據(jù)指針寄存器指到表的開頭。(2)利用movca,adptr的指令,根據(jù)累加器的值再加上dptr的值,就可以使程序計(jì)數(shù)器pc指到表格內(nèi)所要取出的數(shù)據(jù)。因此,只要把控制碼建成一個(gè)表,而利用mo
21、vca,adptr做取碼的操作,就可方便地處理一些復(fù)雜的控制動(dòng)作。 具體程序見附錄。方法三:使用定時(shí)器的方法控制流水燈。 定時(shí)器t0或t1無論用作定時(shí)器或計(jì)數(shù)器都有4種工作方式:方式0、方式1、方式2和方式3。除方式3外,t0和t1有完全相同的工作狀態(tài)。下面我們使用t0來控制廣告流水燈。工作方式0: 13位方式由tl1的低5位和th1的8位構(gòu)成13位計(jì)數(shù)器(tl1的高3位無效)。工作方式0的結(jié)構(gòu)見下圖: 為定時(shí)計(jì)數(shù)選擇:ct0,t0為定時(shí)器,定時(shí)信號為振蕩周期12分頻后的脈沖;定時(shí)器t0能否啟動(dòng)工作,
22、還受到了tr0、gate和引腳信號int1的控制。由圖中的邏輯電路可知,當(dāng)gate0時(shí),只要tr01就可打開控制門,使定時(shí)器工作;當(dāng)gate1時(shí),只有tr01且int01,才可打開控制門。gate,tr0,ct的狀態(tài)選擇由定時(shí)器的控制寄存器tmod,tcon中相應(yīng)位狀態(tài)確定,int0則是外部引腳上的信號。 在方式0下,當(dāng)為計(jì)數(shù)工作方式時(shí),計(jì)數(shù)值的范圍是: 18192(213)當(dāng)為定時(shí)工作方式時(shí),定時(shí)時(shí)間的計(jì)算公式為: (213計(jì)數(shù)初值)×晶振周期×
23、;12 其時(shí)間單位與晶振周期或機(jī)器周期相同(ms)。廣告流水燈每0.2s閃爍一次,因此可使定時(shí)器在各種工作方式下的定時(shí)時(shí)間均為0.2s。定時(shí)0.2s的初值為: 2x103= (213計(jì)數(shù)初值)×晶振周期×12 計(jì)數(shù)初值為6192,即1830h,因此,在工作方式0下,可設(shè)th0為18h,tl0為30h, tmod寄存器初始化為把定時(shí)器/計(jì)數(shù)器1設(shè)定為方式0,則m1m000;為實(shí)現(xiàn)定時(shí)功能,應(yīng)使c/t0;為實(shí)現(xiàn)定時(shí)器/計(jì)數(shù)器0的運(yùn)行
24、控制,則gate0。定時(shí)器/計(jì)數(shù)器1不用,有關(guān)位設(shè)定為0。因此tmod寄存器應(yīng)初始化為00h。 由定時(shí)器控制寄存器tcon中的tr0位控制定時(shí)的啟動(dòng)和停止 tr01啟動(dòng),tr00停止。具體程序見附錄。工作方式1:方式1是16位計(jì)數(shù)結(jié)構(gòu)的工作方式,計(jì)數(shù)器由th0全部8位和tl0全部8位構(gòu)成。與工作方式0基本相同,區(qū)別僅在于工作方式1的計(jì)數(shù)器tl1和th1組成16位計(jì)數(shù)器,從而比工作方式0有更寬的定時(shí)/計(jì)數(shù)范圍。當(dāng)為計(jì)數(shù)工作方式時(shí),計(jì)數(shù)值的范圍是:165536(216)當(dāng)為定時(shí)工作方式時(shí),定時(shí)時(shí)間計(jì)算公式為:(216計(jì)數(shù)初值)×晶振周期×12
25、 或(216計(jì)數(shù)初值)×機(jī)器周期 計(jì)算計(jì)數(shù)初值(216計(jì)數(shù)初值)×晶振周期×12=2000 計(jì)數(shù)初值為63536,即0f830h,因此,在工作方式0下,可設(shè)th0為f8h,tl0為30h, tmod寄存器初始化tmod01h具體程序見附錄。工作方式2:16位定時(shí)器/計(jì)數(shù)器被拆成兩個(gè)8位寄存器th0和tl0,cpu在對它們初始化時(shí)必須裝入相同的定時(shí)器/計(jì)數(shù)器初值。以tl0作計(jì)數(shù)器,而th0作為預(yù)置寄存器。當(dāng)計(jì)數(shù)滿溢出時(shí),tf0置“1”,同時(shí)th0將計(jì)數(shù)初值以硬件方法自動(dòng)裝入tl0。當(dāng)為定時(shí)工作方式時(shí),定時(shí)時(shí)間計(jì)算公式為:
26、(28計(jì)數(shù)初值)×晶振周期×12 或 (216計(jì)數(shù)初值)×機(jī)器周期 計(jì)算計(jì)數(shù)初值(28計(jì)數(shù)初值)×晶振周期×12=2000 計(jì)數(shù)初值為6,即0006h,因此,在工作方式2下,可設(shè)th0為00h,tl0為06h, tmod寄存器初始化tmod10h工作方式3:tl0:8位定時(shí)器/計(jì)數(shù)器,使用t0原有控制資源tr0和tf0,其功能和操作與方式0或方式1完全相同。th0:只能作為8位定時(shí)器,借用t1的控制位tr1和tf1,只能對片內(nèi)機(jī)器周期脈沖計(jì)數(shù)。在方式
27、3模式下,定時(shí)器/計(jì)數(shù)器0可以構(gòu)成兩個(gè)定時(shí)器或者一個(gè)定時(shí)器和一個(gè)計(jì)數(shù)器。當(dāng)為定時(shí)工作方式時(shí),定時(shí)時(shí)間計(jì)算公式為: (28計(jì)數(shù)初值)×晶振周期×12 或 (216計(jì)數(shù)初值)×機(jī)器周期 計(jì)算計(jì)數(shù)初值(28計(jì)數(shù)初值)×晶振周期×12=2000 計(jì)數(shù)初值為6,即0006h,因此,在工作方式2下,可設(shè)th0為00h,tl0為06h, tmod寄存器初始化tmod10h9
28、、 廣告流水燈的改進(jìn)與推廣廣告流水燈的控制除了使用查表、定時(shí)器的方法進(jìn)行控制外,還可以使用中斷的方法進(jìn)行編程??梢允褂猛獠恐袛鄆nt0控制廣告流水燈,也可以使用記時(shí)中斷和外部中斷int0同時(shí)存在的方法控制流水燈,還可以使用外部中斷int0和int1同時(shí)存在的方法控制廣告流水燈。10、 參考文獻(xiàn)1 余錫存,單片機(jī)原理與接口技術(shù),西安電子科技大學(xué),2007年2 肖倩,單片機(jī)入門與趣味實(shí)驗(yàn)設(shè)計(jì),北京航空航天大學(xué)出版社,2007年3 林志琦,基于proteus的單片機(jī)可視化軟硬件仿真,北京航空航天大學(xué)出版社,2007年11、 附錄附錄一:利用左移或者右移指令方法實(shí)現(xiàn)的控制廣告流水燈源程序附錄二:利用查
29、表的方法實(shí)現(xiàn)的控制廣告流水燈源程序附錄三:定時(shí)器t0工作在工作方式0時(shí)的源程序附錄四:定時(shí)器t0工作在工作方式1時(shí)的源程序附錄五:定時(shí)器t0工作在工作方式2時(shí)的源程序附錄六:定時(shí)器t0工作在工作方式3時(shí)的源程序附錄一:利用左移或者右移指令方法實(shí)現(xiàn)的控制廣告流水燈源程序:org 00hstart: mov a,#0ffh ;移動(dòng)前,使所有的燈都不亮 clr c mov r1,#02h ;設(shè)從左到右移動(dòng)兩輪m1: mov r2,#08h ;設(shè)從左到右移動(dòng)8次loop: rlc a ;左移一位mov p2,a ;輸出到p2call delay ;調(diào)用延時(shí)程序djnz r2,loop ;左移不到七次就
30、返回djnz r1,m1 ;循環(huán)不到兩輪就繼續(xù)mov r1,#02h ;從右到左移動(dòng)兩輪m2: mov r2,#07h ;每輪移動(dòng)7次loop1: rrc a ;右移一位mov p2, a ;輸出到p2call delay ;調(diào)用延時(shí)程序djnz r2,loop1 ;右移不到七次就返回djnz r1,m2 ;循環(huán)不到兩輪就繼續(xù)mov r1,#02h ;閃爍兩次m3: mov p2,#0ffh ;全滅call delay ;調(diào)用延時(shí)程序mov p2,#00h ;全亮call delay ;延時(shí)djnz r1,m3 ;閃爍不到兩次就繼續(xù)jim startdelay: mov r3,#20h ;延時(shí)
31、程序d1: mov r4,#20hd2: mov #248hdjnz r5,$djnz r4,d2djnz r3,d1retend附錄二:利用查表的方法實(shí)現(xiàn)的控制廣告流水燈源程序: org 00hstart:
32、60; mov dptr,#tableloop: clr a
33、; movc a,a+dptr cjne a,#01h,loop1
34、160; jmp startloop1: mov p1,a
35、0; mov r3,#20 lcall delay
36、60; inc dptr jmp loopdelay:
37、mov r4,#20d1: mov r5,#248 djnz r5
38、,$ djnz r4,d1
39、160; djnz r3,delay rettable: db 0feh,0fdh,0fbh,0f7h
40、160; db 0efh,0dfh,0bfh,07fh
41、 db 0feh,0fdh,0fbh,0f7h db 0efh,0dfh,0bfh,07fh &
42、#160; db 07fh,0bfh,0dfh,0efh
43、0; db 0f7h,0fbh,0fdh,0feh db 07fh,0bfh,0dfh,0efh
44、0; db 0f7h,0fbh,0fdh,0feh db 00h, 0ffh,00
45、h, 0ffh db 01h
46、160; end附錄三:定時(shí)器t0工作在工作方式0時(shí)的源程序:org 00hmov tmod, #00hstart: mov a,#0ffh ;移動(dòng)前,使所有的燈都不亮 clr c mov r1,#02h ;設(shè)從左到右移動(dòng)兩輪d1: mov r2,#08h ;設(shè)從左到右移動(dòng)8次loop: rlc a ;左移一位mov p2,a ;輸出到p2mov r3,#100call delay ;調(diào)用延時(shí)程序djnz r2,loop ;左移不到七次就返回djnz r1,d1 ;循環(huán)不到兩輪就繼續(xù)mov r1,#02h ;從右到左移動(dòng)兩輪d2: mov r2,
47、#07h ;每輪移動(dòng)7次loop1: rrc a ;右移一位mov p2, a ;輸出到p2mov r3,#100call delay ;調(diào)用延時(shí)程序djnz r2,loop1 ;右移不到七次就返回djnz r1,d2 ;循環(huán)不到兩輪就繼續(xù)mov r1,#02h ;閃爍兩次d3: mov p2,#0ffh ;全滅 mov r3,#100call delay ;調(diào)用延時(shí)程序mov p2,#00h ;全亮mov r3,#100call delay ;延時(shí)djnz r1,m3 ;閃爍不到兩次就繼續(xù)jim start;延時(shí)程序delay: setb tr0 ;啟動(dòng)t0開始時(shí)間again mov tl0
48、,#30h ;設(shè)定初值為2ms mov th0,#18hloop2: jbc tf0,loop3 ;檢查是否溢出 jmp loop2loop3: djnz r3,again ;設(shè)定時(shí)間不到就繼續(xù) clr tr0 ;設(shè)定時(shí)間到就停止t0記時(shí) retend附錄四:定時(shí)器t0工作在工作方式1時(shí)的源程序:org 00hmov tmod, #01hstart: mov a,#0ffh ;移動(dòng)前,使所有的燈都不亮 clr c mov r1,#02h ;設(shè)從左到右移動(dòng)兩輪d1: mov r2,#08h ;設(shè)從左到右移動(dòng)8次loop: rlc a ;左移一位mov p2,a ;輸出到p2mov r3,#20c
49、all delay ;調(diào)用延時(shí)程序djnz r2,loop ;左移不到七次就返回djnz r1,d1 ;循環(huán)不到兩輪就繼續(xù)mov r1,#02h ;從右到左移動(dòng)兩輪d2: mov r2,#07h ;每輪移動(dòng)7次loop1: rrc a ;右移一位mov p2, a ;輸出到p2mov r3,#20call delay ;調(diào)用延時(shí)程序djnz r2,loop1 ;右移不到七次就返回djnz r1,d2 ;循環(huán)不到兩輪就繼續(xù)mov r1,#02h ;閃爍兩次d3: mov p2,#0ffh ;全滅待添加的隱藏文字內(nèi)容3 mov r3,#20call delay ;調(diào)用延時(shí)程序mov p2,#00h ;全亮mov r3,#20call delay ;延時(shí)djnz r1,m3 ;閃爍不到兩次就繼續(xù)jim
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年水電工程招投標(biāo)代理服務(wù)合同
- 2025年帶燈座項(xiàng)目投資可行性研究分析報(bào)告
- 制作度服務(wù)合同范例
- 2025年度綠色建筑項(xiàng)目施工資料審核承包合同范本
- 車輛出質(zhì)抵押合同范本
- 個(gè)人股東合作合同范本
- 2025年三相中頻電源行業(yè)深度研究分析報(bào)告
- 臨建混凝土勞務(wù)合同范本
- 2025年度工程合同風(fēng)險(xiǎn)預(yù)警與防控策略
- 加工彈簧合同范本
- 《工作場所安全使用化學(xué)品規(guī)定》
- 2022年菏澤醫(yī)學(xué)專科學(xué)校單招綜合素質(zhì)考試筆試試題及答案解析
- 市政工程設(shè)施養(yǎng)護(hù)維修估算指標(biāo)
- 課堂嵌入式評價(jià)及其應(yīng)用
- 《管理學(xué)基礎(chǔ)》完整版課件全套ppt教程(最新)
- 短視頻:策劃+拍攝+制作+運(yùn)營課件(完整版)
- 基金會財(cái)務(wù)報(bào)表審計(jì)指引
- 藍(lán)色卡通風(fēng)好書推薦教育PPT模板
- 2022年江蘇省泰州市中考數(shù)學(xué)試題及答案解析
- 石家莊鐵道大學(xué)四方學(xué)院畢業(yè)設(shè)計(jì)46
- 智能化系統(tǒng)培訓(xùn)
評論
0/150
提交評論