版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
任務(wù)一彩燈的點亮與熄滅任務(wù)二彩燈的閃爍任務(wù)三跑馬燈任務(wù)四任意變化的彩燈控制利用單片機引腳輸出信號驅(qū)動各類設(shè)備,控制設(shè)備的運行狀態(tài),是單片機最為典型的應(yīng)用。本任務(wù)的內(nèi)容是以單片機的一個引腳通過驅(qū)動電路控制一只指示燈的點亮或熄滅。任務(wù)提出任務(wù)一
彩燈的點亮與熄滅用單片機實現(xiàn)對單一指示燈的亮滅控制,就是利用單片機的某一引腳輸出的高電平及低電平,通過驅(qū)動電路實現(xiàn)指示燈的通電或斷電兩種狀態(tài)控制。MCS-51單片機的引腳輸出為TTL兼容電平,從硬件連接上,就是選擇單片機的某一輸出引腳,外接發(fā)光二極管電路。發(fā)光二極管電路的接法與單片機引腳驅(qū)動負(fù)載的能力有關(guān)。任務(wù)分析單片機控制一只LED的系統(tǒng)框圖當(dāng)然,要讓單片機芯片工作,單片機最小系統(tǒng)電路是必需的,控制發(fā)光二極管的硬件系統(tǒng)框圖如圖所示。本任務(wù)是應(yīng)用C51編程的一個最簡單例子。在學(xué)習(xí)中,要注意學(xué)習(xí)單片機C51程序的基本編程方法,基本語句、程序結(jié)構(gòu),以及如何定義變量,特別是如何用變量來定義單片機的引腳。為了驗證程序設(shè)計效果,用Keil軟件對程序進行編譯,并將編譯程序與Proteus聯(lián)調(diào),以對設(shè)計效果進行功能驗證。一、C51基本知識C51在語法規(guī)則、程序結(jié)構(gòu)及程序設(shè)計方法等方面與標(biāo)準(zhǔn)的C語言程序設(shè)計相同,而在數(shù)據(jù)類型、變量存儲模式、輸入輸出處理、函數(shù)等方面與標(biāo)準(zhǔn)的C語言有一定的區(qū)別。相關(guān)知識1.C51程序結(jié)構(gòu)C51程序的開始部分一般是預(yù)處理命令、函數(shù)說明和全局變量定義等,然后是定義程序所需函數(shù)。(1)C51程序的一般結(jié)構(gòu)(2)C51程序的示例2.常用C51語法(1)標(biāo)識符與關(guān)鍵字。C語言的標(biāo)識符是用來標(biāo)記源程序中某個對象的名字。(2)賦值運算。在C51中,賦值運算符“=”的功能是將一個數(shù)據(jù)的值賦給一個變量或特殊功能寄存器。二、C51程序設(shè)計基礎(chǔ)1.模塊化程序設(shè)計C語言是一種結(jié)構(gòu)化語言,采用自頂向下、逐步求精的模塊化程序設(shè)計方法。使用三種基本控制結(jié)構(gòu)構(gòu)造程序,即任何程序都可由“順序結(jié)構(gòu)”“選擇結(jié)構(gòu)”和“循環(huán)結(jié)構(gòu)”三種基本控制結(jié)構(gòu)構(gòu)造。模塊化程序設(shè)計中每個模塊要求只有一個入口和一個出口。2.程序流程圖符號程序流程圖用一些圖框來表示各種操作。用圖形表示算法,直觀形象,易于理解。常用的流程圖符號有:開始和結(jié)束符號、工作任務(wù)符號、判斷分支符號、程序連接符號、程序流向符號等,如圖所示。常見的流程圖符號3.程序的三種基本結(jié)構(gòu)C語言只有三種基本結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),如圖所示。在這些基本結(jié)構(gòu)中,凡是工作任務(wù)符號所代表的功能模塊都可以用這三種基本結(jié)構(gòu)再次分解替換,形成復(fù)雜的組合模塊。三種基本結(jié)構(gòu)a)順序結(jié)構(gòu)
b)選擇結(jié)構(gòu)
c)循環(huán)結(jié)構(gòu)三種基本結(jié)構(gòu)的共同特點是:只有一個入口,只有一個出口,結(jié)構(gòu)內(nèi)的每一部分都有機會被執(zhí)行到,結(jié)構(gòu)內(nèi)不存在“死循環(huán)”。(1)順序結(jié)構(gòu)。順序結(jié)構(gòu)是最基本、最簡單的結(jié)構(gòu),在這種結(jié)構(gòu)中,程序由低地址到高地址依次執(zhí)行。(2)選擇結(jié)構(gòu)。選擇結(jié)構(gòu)可使程序根據(jù)不同的情況,選擇執(zhí)行不同的分支。(3)循環(huán)結(jié)構(gòu)。在程序處理過程中,有時需要某一段程序重復(fù)執(zhí)行多次,這時就需要循環(huán)結(jié)構(gòu)來實現(xiàn),循環(huán)結(jié)構(gòu)就是能夠使程序段重復(fù)執(zhí)行的結(jié)構(gòu)。三、單片機引腳的使用要正確地使用單片機的各端口和各引腳,一是要了解單片機端口引腳的內(nèi)部基本結(jié)構(gòu),二是要知道如何定義端口和引腳。也就是要使用C51編寫程序控制單片機I/O端口和引腳,首先要會選用端口和引腳,會定義端口、引腳的名稱。1.端口各引腳的內(nèi)部結(jié)構(gòu)這里主要是從每個端口內(nèi)部邏輯結(jié)構(gòu)出發(fā),了解單片機端口引腳的特點。(1)P0口的結(jié)構(gòu)特點。P0口每一位(也稱口線)的內(nèi)部邏輯電路如圖所示。P0口引腳內(nèi)部邏輯電路圖(2)P1口的結(jié)構(gòu)特點。P1口每一位的內(nèi)部邏輯電路如圖所示。P1口引腳內(nèi)部邏輯電路圖(3)P2口的結(jié)構(gòu)特點。P2口每一位的內(nèi)部邏輯電路如圖所示。P2口引腳內(nèi)部邏輯電路圖(4)P3口的結(jié)構(gòu)特點。P3口的每一位內(nèi)部邏輯電路如圖所示。P3口引腳內(nèi)部邏輯電路圖2.引腳的定義及應(yīng)用如果要針對特殊功能寄存器的某一位進行操作,則需要使用sbit命令定義特殊功能寄存器中的可尋址位。3.引腳驅(qū)動示例單片機能很方便地改變其引腳輸出的邏輯電平,但其驅(qū)動能力有限,對于大功率和高電壓的各類負(fù)載(執(zhí)行機構(gòu)),需要外接功率放大,驅(qū)動如電磁繼電器、固體繼電器或電動機等大功率器件。一、硬件設(shè)計本任務(wù)是要實現(xiàn)用單片機控制一位彩燈(或指示燈)的點亮和熄滅。采用在單片機的端口引腳上接一只發(fā)光二極管代替指示燈,點亮或熄滅發(fā)光二極管即實現(xiàn)指示燈控制。任務(wù)實施為了讓單片機能夠工作并控制一只LED,需在單片機最小系統(tǒng)的基礎(chǔ)上增加控制LED的硬件電路。單片機的端口驅(qū)動能力是下拉能力強,所以采用低電平驅(qū)動LED點亮,控制引腳選擇P2.0,電路如圖所示。單一指示燈(發(fā)光二極管)控制電路圖二、軟件設(shè)計從圖可見,當(dāng)單片機的引腳P2.0上輸出高電平時,發(fā)光二極管兩端都是高電平,因此發(fā)光二極管不亮。當(dāng)引腳P2.0輸出低電平時,發(fā)光二極管陽極接電源正極,電流經(jīng)發(fā)光二極管和限流電阻R2流進P2.0,發(fā)光二極管被點亮??梢?,由AT89S51的P2.0端輸出高/低電平可決定外接LED的熄滅或點亮。點亮指示燈程序設(shè)計框圖1.點亮指示燈從前面的分析可知,要使P2.0端所接發(fā)光二極管被點亮,則P2.0端應(yīng)輸出低電平,或者說從P2.0輸出數(shù)據(jù)0即可實現(xiàn)。2.熄滅指示燈從點亮指示燈分析可知,指示燈在被點亮的情況下,只需向如圖所示電路中的P2.0端輸出高電平(數(shù)據(jù)1),指示燈就會熄滅。用繼電器控制大功率彩燈電路三、Proteus仿真單片機的程序驗證過程應(yīng)該按照中的單片機實踐操作步驟進行,因為各讀者的實踐條件不可能一致,故本書中的各個任務(wù)僅就仿真及仿真結(jié)果加以說明,硬件的實際驗證過程只做少量的示例。下面是采用Proteus仿真軟件驗證本項目的過程和仿真效果,后面的任務(wù)不再說明。1.打開ProteusISIS軟件,按照硬件原理圖繪制Proteus仿真電路,仔細(xì)檢查,保證電路連接無誤。2.在Keil軟件開發(fā)環(huán)境下,創(chuàng)建項目,編輯源程序,編譯生成HEX文件,并裝載到Proteus虛擬仿真硬件電路的AT89C51芯片中。3.運行仿真,仔細(xì)觀察運行結(jié)果,如果有不符合設(shè)計要求的情況,調(diào)整源程序并重復(fù)步驟1、2,直至完全符合本項目提出的各項設(shè)計要求。在各種控制設(shè)備的指示中,經(jīng)常需要對指示燈進行閃爍控制,或讓動作機構(gòu)按設(shè)定時間重復(fù)動作。本任務(wù)的內(nèi)容以一只LED為控制對象,用單片機實現(xiàn)LED彩燈按1Hz的頻率閃爍,即讓LED重復(fù)點亮0.5s、熄滅0.5s、點亮0.5s、熄滅0.5s……任務(wù)提出任務(wù)二
彩燈的閃爍根據(jù)控制要求可知,本任務(wù)的單片機硬件電路只要能保證控制LED點亮和熄滅即可,其硬件系統(tǒng)框圖如圖所示。任務(wù)分析閃爍LED的軟件流程圖由于單片機所有端口的各個引腳均具有鎖存功能,要使單片機控制LED按1Hz的頻率閃爍,則需要讓單片機引腳重復(fù)執(zhí)行:輸出高電平后等待0.5s,再輸出低電平后等待0.5s……對應(yīng)的軟件流程圖如圖所示。為了驗證程序設(shè)計效果,用Keil軟件對程序進行編譯,并將編譯程序與Proteus聯(lián)調(diào),以對設(shè)計效果進行功能驗證。一、C51的數(shù)據(jù)類型、常量、變量及表達式1.基本數(shù)據(jù)類型C51的基本數(shù)據(jù)類型有字符型、整型、長整型、浮點型和位類型。其中,位類型僅能存儲一位二進制數(shù),字符型、整型和長整型分為有符號和無符號兩類,浮點型是C51中表示實數(shù)的唯一類型。相關(guān)知識(1)字符型。字符型數(shù)據(jù)的長度是一個字節(jié),通常用于定義處理字符數(shù)據(jù)的變量或常量。(2)整型。整型數(shù)據(jù)的長度為兩個字節(jié),用于存放一個雙字節(jié)數(shù)據(jù)。(3)長整型。長整型數(shù)據(jù)的長度為4個字節(jié),用于存放一個4字節(jié)數(shù)據(jù)。(4)浮點型。浮點型數(shù)據(jù)在C51中用float表示,數(shù)據(jù)的長度為4個字節(jié)。(5)位類型。這是C51中擴充的數(shù)據(jù)類型,用于訪問MCS-51單片機中的可尋址的位單元。2.常量常量是指在程序執(zhí)行過程中其值不能改變的量。在C51中支持整型常量、浮點型常量、字符型常量和字符串型常量。3.變量變量是在程序運行過程中其值可以改變的量。4.運算符和表達式(1)運算符。(2)表達式。(3)表達式語句。(4)復(fù)合語句。二、C51的循環(huán)語句1.while語句(1)格式說明(2)循環(huán)示例2.do-while語句(1)格式說明(2)循環(huán)示例3.for語句for語句將循環(huán)變量的初值、循環(huán)條件和循環(huán)變量的修改放在一行,便于使用和閱讀。(1)格式說明(2)循環(huán)示例4.break語句break語句就是在break后面加上分號的語句。5.循環(huán)的嵌套在一個循環(huán)的循環(huán)體中又包含一個完整的循環(huán)結(jié)構(gòu),這種結(jié)構(gòu)稱為循環(huán)的嵌套。三、C51函數(shù)的定義和調(diào)用函數(shù)是C51源程序的基本模塊,通過對函數(shù)模塊的調(diào)用可以實現(xiàn)特定的功能。用戶可把自己的算法編成一個個相對獨立的函數(shù)模塊,然后用調(diào)用的方法來使用函數(shù)??梢哉fC51程序的全部工作都是由各式各樣的函數(shù)完成的。由于采用了函數(shù)模塊式的結(jié)構(gòu),C51語言易于實現(xiàn)結(jié)構(gòu)化程序設(shè)計。使程序的層次結(jié)構(gòu)清晰,便于程序的編寫、閱讀、調(diào)試。1.函數(shù)定義格式說明:(1)函數(shù)類型說明了函數(shù)返回值的類型。(2)函數(shù)名是用戶為自定義函數(shù)取的名字,以便調(diào)用函數(shù)時使用,函數(shù)命名必須符合標(biāo)識符定義的規(guī)定。(3)形式參數(shù)表用于列出在主調(diào)函數(shù)與被調(diào)函數(shù)之間進行數(shù)據(jù)傳遞的形式參數(shù),每個參數(shù)都必須有類型說明,如果沒有形式參數(shù),則該處為void,也可省掉,但小括號不能省略。(4)函數(shù)內(nèi)部定義的變量默認(rèn)僅在函數(shù)內(nèi)部有效,且每次進入函數(shù)時自動分配。要保留變量的值需要用static聲明。(5)函數(shù)體由一系列C51語句構(gòu)成。在C51中,所有可執(zhí)行語句必須放在函數(shù)體內(nèi)。2.函數(shù)調(diào)用說明:(1)對于有參數(shù)的函數(shù)調(diào)用,若實參列表包含多個實參,則各個實參之間用逗號隔開。(2)按照函數(shù)調(diào)用在主調(diào)函數(shù)中出現(xiàn)的位置,函數(shù)調(diào)用方式有以下三種:1)函數(shù)語句。2)函數(shù)表達式。3)函數(shù)參數(shù)。四、延時函數(shù)1.機器周期與指令周期MCS-51單片機規(guī)定一個機器周期為單片機振蕩器的12個振蕩周期。如果晶振頻率為12MHz,則一個機器周期為1μs;而如果使用的晶振頻率為6MHz,則一個機器周期為2μs。單片機執(zhí)行一條指令的時間稱為指令周期。指令周期是以機器周期為單位的,MCS-51單片機的指令周期為1~4個機器周期。多數(shù)指令都是單周期指令,也就是執(zhí)行一條指令的時間為一個機器周期。2.延時函數(shù)的編寫單片機的指令運行是很快的,在12MHz的頻率下,一條指令所消耗的時間僅為1~4μs。要實現(xiàn)一個較長的時間等待,需要執(zhí)行很多條指令才能完成。為了讓延時所占用的程序代碼較少,必須使用循環(huán)指令來實現(xiàn)指令的重復(fù)運行。在MCS-51單片機的指令中,循環(huán)指令是雙周期指令,若以12MHz的工作頻率,則每次循環(huán)本身要占用2μs。MCS-51為8位單片機,循環(huán)指令所對應(yīng)的操作數(shù)為8位二進制數(shù),僅在使用無符號字符型變量作為循環(huán)變量時才能實現(xiàn)每次循環(huán)占用2個機器周期。為了使延時函數(shù)應(yīng)用范圍較為廣泛,通常使延時函數(shù)以ms為單位,通過參數(shù)確定函數(shù)延時的毫秒數(shù)。在12MHz的頻率時,需要循環(huán)次數(shù)為1ms/2μs=500。而無符號數(shù)最大值為255,也就是說,使用無符號類型變量的單個循環(huán)最多為255次,用一個循環(huán)不能完成所需要的1ms的延時。為了達到1ms延時,可采用兩重循環(huán)的方式完成,內(nèi)部循環(huán)250次,外部循環(huán)2次。一、硬件設(shè)計本任務(wù)要實現(xiàn)單片機控制一只指示燈按規(guī)定時間閃爍的功能,電路如圖所示,這里不再附圖。任務(wù)實施用繼電器控制大功率彩燈電路二、軟件設(shè)計由任務(wù)分析可知,指示燈的閃爍就是不斷地讓指示燈重復(fù)“點亮、延時、熄滅、延時”這一過程。指示燈的點亮或熄滅通過讓單片機引腳輸出0或1實現(xiàn)。延時在單片機中是通過不斷執(zhí)行指令來實現(xiàn)時間消耗的。在本任務(wù)中,這些消耗時間的指令不需要修改其他任何變量的值,也不需要修改任何端口的輸出狀態(tài),所以采用不斷地執(zhí)行空循環(huán)、空操作的方式來實現(xiàn)。在編寫了有參數(shù)的延時函數(shù)后,可以在調(diào)用延時函數(shù)時給出不同的參數(shù)值,讓延時函數(shù)實現(xiàn)不同的延時。本任務(wù)中僅需要延時0.5s。本任務(wù)的程序框圖和對應(yīng)的命令如圖所示。閃爍LED的程序流程和對應(yīng)的程序代碼三、Proteus仿真參照前面任務(wù)介紹的方法步驟進行Proteus仿真。如圖所示是單片機控制指示燈閃爍的仿真效果圖,其中,如圖a所示是指示燈熄滅時的仿真效果圖,如圖b所示是指示燈點亮?xí)r的仿真效果圖。閃爍的指示燈仿真效果圖a)指示燈熄滅
b)指示燈點亮在實際應(yīng)用中,不僅需要實現(xiàn)對端口某一位的控制,還需要實現(xiàn)對一個端口(8位)輸出信號的同時控制,例如在機電控制中,常需要對多個指示燈或多臺設(shè)備同時進行開關(guān)控制。本任務(wù)的內(nèi)容是控制8只LED,具體控制要求如下:1.按順序?qū)?只LED輪流點亮,然后重復(fù)進行。2.每只LED點亮的時間為1s,1s后切換到下一只LED點亮。任務(wù)提出任務(wù)三
跑馬燈本任務(wù)要實現(xiàn)8只LED的點亮或熄滅控制,因此整個系統(tǒng)的硬件結(jié)構(gòu)應(yīng)該是在單片機最小系統(tǒng)之上增加8只LED的控制電路。這8只LED接在單片機的任一端口,都能實現(xiàn)控制效果,需要注意的是不同端口由于內(nèi)部結(jié)構(gòu)有所不同,外接的驅(qū)動電路也會有所區(qū)別。任務(wù)分析任務(wù)中要求LED輪流點亮,因此單片機硬件電路只要能保證控制LED點亮或熄滅即可,由程序控制LED的點亮?xí)r間和順序??刂?只LED的單片機應(yīng)用電路的硬件系統(tǒng)框圖如圖所示。單片機控制8只LED的系統(tǒng)框圖8只LED依次點亮,就是對單片機的每一個引腳依次輸出低電平。對整個端口而言,每次一只引腳輸出低電平,其余的7個引腳都輸出高電平。每只LED點亮1s,就是要求輸出低電平后,調(diào)用延時函數(shù)實現(xiàn)1s時間的延時,再以同樣方式點亮下一只LED。為了驗證程序設(shè)計效果,用Keil軟件對程序進行編譯,并將編譯程序與Proteus聯(lián)調(diào),以對設(shè)計效果進行功能驗證。一、C51的位運算規(guī)則C51語言能對運算對象按位進行操作,位運算是指按位對變量進行運算,但并不改變參與運算的變量的值。如果要求按位改變變量的值,則要利用相應(yīng)的賦值運算。C51中位運算符只能對整數(shù)進行操作,不能對浮點數(shù)進行操作。相關(guān)知識1.按位與運算按位與運算符“&”是雙目運算符。其功能是參與運算的兩數(shù)各對應(yīng)的二進制位相與。2.按位或運算按位或運算符“|”是雙目運算符。3.按位異或運算按位異或運算符“^”是雙目運算符。4.求反運算求反運算符~為單目運算符,其功能是對參與運算的數(shù)的各二進制位按位求反。5.左移運算左移運算符“<<”是雙目運算符。6.右移運算右移運算符“>>”是雙目運算符。二、C51的條件語句1.基本條件語句ifif語句說明如下:(1)條件表達式的值不等于零,即為真。(2)如果條件為真,將執(zhí)行{}中的語句組,否則不會執(zhí)行語句組。2.if-else語句if-else語句說明如下:(1)條件表達式的值只要不等于零,即為真。(2)如果條件為真,執(zhí)行語句組1,否則執(zhí)行語句組2。(3)“語句組1”和“語句組2”只能執(zhí)行其中一個。3.if-else-if語句if-else-if語句說明如下:(1)else不能單獨使用,總是和它前面最近的if配對。(2)如果情況太多,且條件均為某表達式的值的判別,可以用switch語句選擇。(3)所有條件“表達式”的值只要不等于零,即為真。三、端口的定義及應(yīng)用MCS-51單片機的4個8位并行口,也是單片機內(nèi)部特殊寄存器(SFR)中的P0、P1、P2、P3,它們有自己對應(yīng)的地址,如P0的地址為0x80。使用sfr命令可以定義MCS-51的各個特殊功能寄存器,其格式為:sfr名稱=特殊功能寄存器地址一、硬件設(shè)計本任務(wù)是用單片機實現(xiàn)8只LED不斷地點亮和熄滅,每只LED的亮滅狀態(tài)不同,只能通過不同的單片機引腳驅(qū)動。和前面的任務(wù)類似,可選擇單片機的32個可編程驅(qū)動的IO引腳中的任意8個來驅(qū)動。在本任務(wù)中,選擇P2口的8個引腳分別對應(yīng)驅(qū)動8只LED,因端口的下拉能力較強,故采用下拉的方式驅(qū)動LED,具體電路如圖所示。任務(wù)實施流水燈的控制電路原理圖在圖中,VD1~VD8是8只LED,每只LED的陽極接5V電源,陰極通過限流電阻接到單片機端口。當(dāng)單片機引腳輸出低電平時,LED將流過電流并點亮;當(dāng)單片機引腳輸出高電平時,LED兩端均為高電平,沒有電流流過,LED不會被點亮。單片機的P2端口的8個引腳可以通過程序獨立驅(qū)動,所以8只LED可以任意為點亮或熄滅的組合。二、軟件設(shè)計由任務(wù)分析可知,本任務(wù)的目標(biāo)就是要完成重復(fù)執(zhí)行8只LED單獨點亮1s的過程。如圖所示。移位點亮LED流程圖由于單片機可以整個端口同時驅(qū)動,也可按引腳單獨驅(qū)動,因此能夠?qū)崿F(xiàn)任務(wù)目標(biāo)的程序較多,這里以三種程序控制實現(xiàn)任務(wù)目標(biāo)。可以看到,不同的程序可以實現(xiàn)同樣的目標(biāo),在閱讀時應(yīng)注意三個程序中主函數(shù)的異同。1.引腳順序控制按照任務(wù)要求,需要對單片機一個端口的8個引腳輪流輸出低電平。按前面任務(wù)的方式,應(yīng)首先對8個引腳定義名稱,這里以led0~led7分別對控制8只LED的引腳進行命名,程序中對每只引腳進行位控制,可以實現(xiàn)這8個引腳的電平控制。端口順序點亮LED流程圖2.端口順序控制單片機的P0、P1、P2、P3是4個并行輸入輸出端口,每個端口的8個引腳可以同時輸入或輸出。3.端口循環(huán)控制1示例源程序2采用順序結(jié)構(gòu)實現(xiàn)端口的8個數(shù)據(jù)的輸出,程序比較冗長且不易修改。因程序中每次端口輸出的語句格式是相同的,僅端口輸出的數(shù)據(jù)不同,如果這個數(shù)據(jù)可以用一個變量自動生成,則每次的執(zhí)行語句完全相同,即可以將這些語句置于一個循環(huán)體內(nèi),重復(fù)執(zhí)行8次就能實現(xiàn)端口順序輸出的效果。移位點亮LED流程圖4.端口循環(huán)控制2在前面的分析中可以看出,端口輸出數(shù)據(jù)的規(guī)律是8次輸出數(shù)據(jù)的二進制數(shù)0的位置依次往左移動了一位。在使用左移命令“<<”時,會將數(shù)據(jù)中所有二進制位左移一位,其中原最高位被丟棄,新加入的最低位補充為0。為了保證添加的最低位與被丟棄的最高位相同,則需要在左移之前判斷該位是0還是1,并對左移之后的最低位做對應(yīng)的處理。移位點亮LED流程圖三、Proteus仿真參照前面任務(wù)介紹的方法及步驟進行Proteus仿真。如圖所示是單片機控制8只發(fā)光二極管實現(xiàn)跑馬燈的仿真效果圖。跑馬燈仿真效果圖本任務(wù)的內(nèi)容是實現(xiàn)按時間依次讓彩燈顯示出表所列的花樣。本任務(wù)的特點是所顯示的數(shù)據(jù)之間沒有規(guī)律,不能通過計算的方式得到。在實際應(yīng)用中,這種需求相對較多。任務(wù)提出任務(wù)四
任意變化的彩燈控制彩燈控制要求本任務(wù)依然要實現(xiàn)8只LED的點亮或熄滅控制,整個系統(tǒng)的硬件與任務(wù)三的要求是一致的,因此本任務(wù)采用任務(wù)三所使用的硬件電路。由于本任務(wù)中是按時間變化依次控制彩燈亮、滅,可以采用與跑馬燈類似的思路來完成程序流程圖,但顯示花樣所對應(yīng)的數(shù)據(jù)變化不一定有規(guī)律,雖然可以使用順序逐次輸出數(shù)實現(xiàn),但不能采用變量直接計算的方式實現(xiàn)前后數(shù)據(jù)的變化,這里介紹一種很重要的程序設(shè)計方法——查表法。任務(wù)分析在程序設(shè)計中,為了處理方便,把具有相同類型的若干變量有序地組織起來,用一個統(tǒng)一的名字來表示,則這些有序變量的全體稱為數(shù)組?;蛘哒f,數(shù)組是用一個名字代表順序排列的一組數(shù)。在同一數(shù)組中,構(gòu)成該數(shù)組的成員稱為數(shù)組單元(或數(shù)組元素、下標(biāo)變量)。在C51中,數(shù)組屬于構(gòu)造數(shù)據(jù)類型,使用數(shù)組必須先對數(shù)組進行定義。按數(shù)組元素的類型不
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025河北科技工程職業(yè)技術(shù)大學(xué)第二批選聘22人參考筆試題庫附答案解析
- 2026廣東東莞市道滘鎮(zhèn)中心小學(xué)春季學(xué)期編外教師招聘2人參考考試題庫及答案解析
- 2025河北唐山一中教育集團金楓葉學(xué)校招聘教師1人模擬筆試試題及答案解析
- 2026甘肅張掖市教育系統(tǒng)招聘公費師范生72人備考考試試題及答案解析
- 2026西藏日喀則市薩迦縣選(聘)任社區(qū)工作者20人備考筆試題庫及答案解析
- 2025河北秦皇島市九龍山醫(yī)院第二批選聘工作人員3人模擬筆試試題及答案解析
- 2025年甘肅省張掖市山丹縣招聘城鎮(zhèn)公益性崗位人員33人備考考試試題及答案解析
- 2025四川雅安石棉縣佳業(yè)勞務(wù)派遣有限公司招聘石棉縣應(yīng)急救援指揮中心輔助人員1人備考筆試試題及答案解析
- 2025聊城陽昇嘉誠新悅(陽谷)物業(yè)管理服務(wù)有限公司公開選聘工作人員(5人)參考考試試題及答案解析
- 2025德州夏津縣事業(yè)單位工作人員“歸雁興鄉(xiāng)”參考考試試題及答案解析
- 制造業(yè)數(shù)字化轉(zhuǎn)型公共服務(wù)平臺可行性研究報告
- 社工月度工作總結(jié)
- 氫能與燃料電池技術(shù) 課件 5-燃料電池
- 法醫(yī)學(xué)試題庫(含答案)
- 【課件】臺灣的社區(qū)總體營造
- 我的家鄉(xiāng)商洛
- 重慶市兩江新區(qū)2023-2024學(xué)年五年級上學(xué)期英語期末試卷
- BGO晶體、LYSO晶體、碲鋅鎘晶體項目可行性研究報告寫作模板-備案審批
- 科學(xué)實驗知識講座模板
- 婚介服務(wù)機構(gòu)合作協(xié)議書
- 昆明理工大學(xué)《機器學(xué)習(xí)》2023-2024學(xué)年第一學(xué)期期末試卷
評論
0/150
提交評論