項目4單片機(jī)控制LED燈的設(shè)計[共40頁]

上傳人:gfy****yf 文檔編號:51146897 上傳時間:2022-01-24 格式:PPT 頁數(shù):40 大小:2.26MB
收藏 版權(quán)申訴 舉報 下載
項目4單片機(jī)控制LED燈的設(shè)計[共40頁]_第1頁
第1頁 / 共40頁
項目4單片機(jī)控制LED燈的設(shè)計[共40頁]_第2頁
第2頁 / 共40頁
項目4單片機(jī)控制LED燈的設(shè)計[共40頁]_第3頁
第3頁 / 共40頁

下載文檔到電腦,查找使用更方便

12 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《項目4單片機(jī)控制LED燈的設(shè)計[共40頁]》由會員分享,可在線閱讀,更多相關(guān)《項目4單片機(jī)控制LED燈的設(shè)計[共40頁](40頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、電子工業(yè)出版社單片機(jī)控制技術(shù)單片機(jī)控制技術(shù) 項目式教程項目式教程 (C C語言版)語言版)電子工業(yè)出版社項目項目4 4 單片機(jī)控制單片機(jī)控制LEDLED燈的設(shè)計燈的設(shè)計 l 能了解能了解5151單片機(jī)單片機(jī)I/OI/O口的結(jié)構(gòu);口的結(jié)構(gòu);l 能掌握能掌握5151單片機(jī)單片機(jī)I/OI/O口的特點及應(yīng)用;口的特點及應(yīng)用;l 能掌握能掌握5151單片機(jī)控制單片機(jī)控制LEDLED燈的硬件設(shè)計方法;燈的硬件設(shè)計方法;l 能熟練編寫單片機(jī)控制能熟練編寫單片機(jī)控制LEDLED燈閃爍的程序。燈閃爍的程序。 學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo) 工作任務(wù)工作任務(wù) l 敘述敘述5151單片機(jī)單片機(jī)I/OI/O口的結(jié)構(gòu)和特點;口的結(jié)構(gòu)

2、和特點;l 設(shè)計單片機(jī)控制單個設(shè)計單片機(jī)控制單個LEDLED燈閃爍的電路和工作軟件;燈閃爍的電路和工作軟件;l 設(shè)計單片機(jī)控制多個循環(huán)設(shè)計單片機(jī)控制多個循環(huán)LEDLED燈的電路和工作軟件。燈的電路和工作軟件。任務(wù)任務(wù)4.1 單片機(jī)控制單個單片機(jī)控制單個LEDLED燈燈 任務(wù)任務(wù)4.2 單片機(jī)控制多個循環(huán)單片機(jī)控制多個循環(huán)LEDLED燈燈 項目拓展項目拓展 實驗板彩燈的花式控制實驗板彩燈的花式控制項目小結(jié)項目小結(jié)思考與訓(xùn)練思考與訓(xùn)練項目項目4 單片機(jī)控制單片機(jī)控制LED燈的設(shè)計燈的設(shè)計 任務(wù)任務(wù)4.1 單片機(jī)控制單個單片機(jī)控制單個LED燈燈 4.1.1 MCS-514.1.1 MCS-51單片機(jī)

3、的單片機(jī)的I/OI/O口介紹口介紹 MCS-51系列單片機(jī)有4個8位的并行I/O接口:P0、P1、P2和P3口。它們是特殊功能寄存器中的4個。這4個口,既可以作輸入,也可以作輸出,既可按8位處理,也可按位方式使用。輸出時具有鎖存能力,輸入時具有緩沖功能。 1P0口口 P0口是一個三態(tài)雙向口,包括一個輸出鎖存器、兩個三態(tài)緩沖器、輸出驅(qū)動電路和輸出控制電路組成 ,它的一位結(jié)構(gòu)如圖 :輸出驅(qū)動器控制電路控制電路P0口功能口功能1、通用IO接口:不需要外部擴(kuò)展時,內(nèi)部控制信號將使MUX開關(guān)接通到鎖存器。此時,由于P0口沒有內(nèi)部上拉電阻,通常要在外部加一個上拉電阻來提高驅(qū)動能力。2、地址/數(shù)據(jù)分時復(fù)用:

4、需要進(jìn)行外部擴(kuò)展時,內(nèi)部控制信號將使MUX開關(guān)接通到內(nèi)部地址數(shù)據(jù)線。此時,P0口在ALE信號的控制下,分時輸出低8位地址和8位數(shù)據(jù)信號。P0口的工作原理口的工作原理(1)通用)通用I/O口口用作輸入口(端口外數(shù)據(jù) 內(nèi)部寄存器)方式1(讀鎖存器): Q 緩沖器2 D 內(nèi)部總線, 適于“讀修改寫”方式2(讀引腳):P0.x 緩沖器1 D 內(nèi)部總線。 作為通用I/O使用,是一個準(zhǔn)雙向口:“在輸入數(shù)據(jù)時應(yīng)先把口置在輸入數(shù)據(jù)時應(yīng)先把口置1,使使V1、V2都截止,引腳處于懸浮狀態(tài),都截止,引腳處于懸浮狀態(tài), 可作高阻抗輸入可作高阻抗輸入” 用作輸出口(片內(nèi)數(shù)據(jù) 端口) 數(shù)據(jù) 鎖存 MUX P0.x (2)

5、地址/數(shù)據(jù)總線口 輸出:地址/數(shù)據(jù)為1,P0 x 高 地址/數(shù)據(jù)為0,P0 x 低 輸入:經(jīng)緩沖器1讀入 (1)P0口既可作地址/數(shù)據(jù)總線使用,也可作通用I/O口使用。當(dāng)P0口作地址/數(shù)據(jù)總線使用時,就不能再作通用I/O口使用了。(2)P0口作輸出口使用時,輸出級屬漏極開路,必須外接上拉電阻,才有高電平輸出。(3)P0口作輸入口讀引腳時,應(yīng)先向鎖存器寫1,使V1、V2截止,不影響輸入電平。P0口特點口特點2. P1口口P1口是準(zhǔn)雙向口,它只能作通用I/O接口使用。結(jié)構(gòu)與P0口不同,它的輸出只由一個場效應(yīng)管V1與內(nèi)部上拉電阻組成。 (1)P1口是唯一的單功能口,僅能作為通用I/O口使用。因在其輸

6、出端接有上拉電阻,可以直接輸出而無需外接上拉電阻。(2)同P0口一樣,當(dāng)作輸入口時,必須先向鎖存器寫“1”,使場效應(yīng)管V1截止。P1口特點口特點3. P2口口P2口也是準(zhǔn)雙向口,它有兩種用途:通用I/O接口和高8位地址線。 l P2口作I/O端口使用時:內(nèi)部控制信號使MUX開關(guān)接通到鎖存器,此時P2口的用法與P1口相同。l P2口作外部地址總線使用時:內(nèi)部控制信號使MUX開關(guān)接通到內(nèi)部地址線,此時P2口的引腳狀態(tài)由所輸出的地址決定。需要特別指出的是,由于對片外地址的操作是連續(xù)不斷的,只要進(jìn)行了外部系統(tǒng)擴(kuò)展,此時P0口和P2口就不能再用作I/ O端口了。4. P3口口 P3口用作通用I/O口時,

7、其工作原理同P1口類似。此外,它的每一根線還具有第二種功能。 在真正的應(yīng)用電路中,在真正的應(yīng)用電路中,P3P3口的第二功能顯得更為重要口的第二功能顯得更為重要 。4.1.2 單片機(jī)控制單個單片機(jī)控制單個LED燈閃爍的設(shè)計燈閃爍的設(shè)計 1 1任務(wù)要求任務(wù)要求 設(shè)計一個電路,AT89C52單片機(jī)的P1.7引腳連接一個LED燈,控制LED閃爍。2任務(wù)分析任務(wù)分析 以單片機(jī)以單片機(jī)為核心的為核心的電子設(shè)計電子設(shè)計 硬件設(shè)計硬件設(shè)計軟件設(shè)計軟件設(shè)計單片機(jī)最小系統(tǒng)加單片機(jī)最小系統(tǒng)加上最簡單的輸出電上最簡單的輸出電路來驅(qū)動路來驅(qū)動LEDLED編程控制編程控制P1.7P1.7引腳引腳的電平狀態(tài),使其的電平狀態(tài)

8、,使其持續(xù)一段時間的高持續(xù)一段時間的高電平,再持續(xù)一段電平,再持續(xù)一段時間的低電平時間的低電平 3任務(wù)設(shè)計任務(wù)設(shè)計(1)器件的選擇發(fā)光二極管l 發(fā)光二極管:單向?qū)щ娦?,通過5mA左右電流即可發(fā)光,電流越大,亮度越強(qiáng),但若電流過大會燒毀二極管,一般控制在320mA。l 工作電壓: 紅色發(fā)光二極管1.7-2.5V 綠色發(fā)光二極管2.0-2.4V 黃色發(fā)光二極管1.9-2.4V 藍(lán)/白色發(fā)光二極管3.0-3.8V 限流電阻l 二極管串聯(lián)電阻的目的是為了防止發(fā)光二極管和P1.7引腳流過的電流過大,燒毀二極管或單片機(jī),所以該電阻也稱為“限流電阻”。l 限流電阻的選擇: 假設(shè)電源電壓為VCC,發(fā)光二極管的

9、導(dǎo)通壓降為VDD,導(dǎo)通時流過二極管的電流為I,則限流電阻R為: R = (VCC-VDD)/Il 例如,若二極管的導(dǎo)通壓降為2.2V,導(dǎo)通時流過的電流為5mA,則限流電阻為560。器件清單器件名稱數(shù)量(只)AT89C52112MHz晶體122pF瓷片電容222uF電解電容110k電阻1560電阻1發(fā)光二極管LED1(2)硬件原理圖設(shè)計再次強(qiáng)調(diào):再次強(qiáng)調(diào):圖中的單片機(jī)元件沒有“VCC”和“GND”引腳,這是因為Proteus軟件中,元件模型中的“電源”和“地”已經(jīng)進(jìn)行了連接,“VCC”接到了“+5V”電源,“GND”接到了“地”,所以隱藏了這兩個引腳。(3)軟件程序設(shè)計#include /宏定義

10、sbit led=P17; / 用sbit 關(guān)鍵字定義P1.7引腳 / 延時子函數(shù)void Delay(unsigned int t) while(-t); /主函數(shù),控制P1.7引腳的LED燈閃爍void main (void)while (1) /主循環(huán) led=0; /將P1.7引腳置0,對外輸出低電平 Delay(20000); /調(diào)用延時程序 led=1; /將P1.7引腳置 1,對外輸出高電平 Delay(20000); /調(diào)用延時程序 在軟件編程中,通常使用空循環(huán)來達(dá)到延時的效果。延時時間的長短可以在Keil C51的調(diào)試狀態(tài)下分析。(4)軟硬件聯(lián)合調(diào)試1任務(wù)要求任務(wù)要求 設(shè)計一

11、個電路,AT89C52單片機(jī)的P1口連接8只LED燈,按以下順序點亮,形成流水燈的效果: 從P1.0到P1.7連接的8只LED燈逐個點亮; 從P1.0到P1.7連接的8只LED依次全部點亮; 從P1.7到P1.0連接的8只LED燈逐個點亮; 從P1.7到P1.0連接的8只LED依次全部點亮。任務(wù)任務(wù)4.2 單片機(jī)控制多個單片機(jī)控制多個LED燈燈 2任務(wù)分析任務(wù)分析 任務(wù)要求單片機(jī)控制8個LED燈,當(dāng)需要對某個I/O口的八位一起操作時,一般采用整體操作的方式,即總線的方式。在軟件設(shè)計時可以定義一個變量來給P1口賦值,賦的值不同點亮的LED燈不同。由于8只LED燈要按一定規(guī)律點亮,這就要求對給P1

12、口賦的變量進(jìn)行移位,移位操作既可以用標(biāo)準(zhǔn)C中的左移、右移運算符來實現(xiàn),也可以用C51庫自帶的函數(shù)來實現(xiàn)。 移位運算符 循環(huán)移位函數(shù) 注意:循環(huán)移位函數(shù)_crol_( )和_cror_( )包含在intrins.h頭文件中,因此如果在程序中要用到這類函數(shù),就必須在程序的開頭處包含intrins.h這個頭文件。l 由于用到的發(fā)光二極管較多,每個發(fā)光二極管都需要限流電阻,硬件電路會顯得比較復(fù)雜,所以這里使用了排阻。l 排阻排阻,就是若干個參數(shù)完全相同的電阻,它們的一個引腳都連到一起,作為公共引腳,其余引腳正常引出。如果一個排阻是由n個電阻構(gòu)成的,那么它就有n+1個引腳,一般來說最左邊的那個是公共引腳

13、。它在排阻上一般用一個色點標(biāo)出來。 直插式排阻 貼片式排阻排阻一般用在數(shù)字電路上,比如作為某個并行口的上拉或者下拉電排阻一般用在數(shù)字電路上,比如作為某個并行口的上拉或者下拉電阻用。使用排阻比用若干只固定電阻更方便。阻用。使用排阻比用若干只固定電阻更方便。3 3任務(wù)設(shè)計任務(wù)設(shè)計(1)器件的選擇l器件清單器件名稱數(shù)量(只)AT89C52112MHz晶體122pF瓷片電容222uF電解電容110k電阻15608排阻1發(fā)光二極管LED8(2)硬件原理圖設(shè)計(3)軟件程序設(shè)計#include /宏定義,52單片機(jī)頭文件#include /包含_crol_、_cror_函數(shù)所在的頭文件#define ui

14、nt unsigned int #define uchar unsigned char /延時子函數(shù)void Delay(unsigned int t) while(-t);/主函數(shù),循環(huán)點亮LED燈void main() uchar k,recy; while(1) /大循環(huán) recy=0 xfe; for(k=1;k=8;k+) /8只LED燈從P1.0到P1.7逐個點亮 P1=recy; /先點亮P1.0的LED燈 Delay(50000); /延時一段時間 recy=_crol_(recy,1); /將recy循環(huán)左移1位后再賦給recy recy=0 xfe; for(k=1;k=8

15、;k+) /8只LED燈從P1.0到P1.7依次全部點亮 P1=recy; Delay(50000); recy=recy1; /將recy左移1位后再賦給recy P1=0 xff; /全部熄滅 Delay(50000); recy=0 x7f; for(k=1;k=8;k+) /8只LED燈從P1.7到P1.0逐個點亮 P1=recy; /先點亮P1.7的LED燈 Delay(50000); recy=_cror_(recy,1); /將recy循環(huán)右移1位后再賦給recy recy=0 x7f; for(k=1;k1; /將recy右移1位后再賦給recy P1=0 xff; /全部熄滅

16、 Delay(50000); (4)軟硬件聯(lián)合調(diào)試 將編寫的程序在Keil C51中編譯成*.hex后調(diào)入Proteus硬件電路圖的AT89C52中運行,八只LED燈從P1.0到P1.7逐個點亮,接下來再從P1.0到P1.7依次全部點亮,然后全部熄滅后又從P1.7到P1.0逐個點亮,最后再從P1.7到P1.0依次全部點亮,如此反復(fù)形成流水燈。項目拓展項目拓展 實驗板彩燈的花式控制實驗板彩燈的花式控制 在任務(wù)4.2中設(shè)計的流水燈為八個LED按一個方向循環(huán)點亮,此外我們還可以通過編程控制LED燈,使它以我們想要的各種方式點亮,而且LED燈點亮頻率可以通過改變延時時間來實現(xiàn)。下面編寫程序控制實驗板上

17、的八個LED燈按照不同花式循環(huán)點亮。 (1)實驗板8個LED燈電路如圖所示。RP1為390歐姆排阻;J9為插針,用于連接需要使用的I/O口,此處用杜邦線連接單片機(jī)的P1口。(2)編寫程序,控制八個LED燈使其以1s左右的時間間隔按不同形式循環(huán)點亮。 /宏定義 #include #define uint unsigned int #define uchar unsigned char void delay(uint); /聲明延時函數(shù) uint a; /定義循環(huán)用變量 /定義循環(huán)用數(shù)據(jù)表格 uchar code table= 0 xff, /全滅 0 xfe,0 xfd,0 xfb,0 xf7,

18、0 xef,0 xdf,0 xbf,0 x7f, /從第0位到第7位依次逐個點亮 0 xfe,0 xfc,0 xf8,0 xf0,0 xe0,0 xc0,0 x80,0 x00, /從第0位到第7位/依次全部點亮 0 x80,0 xc0,0 xe0,0 xf0,0 xf8,0 xfc,0 xfe,0 xff, /從第7位到第0位依次全部熄滅 0 x7e,0 xbd,0 xdb,0 xe7,0 xe7,0 xdb,0 xbd,0 x7e, /分別從第7位和第0位向中間靠攏逐個點亮 /然后從中間向兩邊分散逐個點亮 0 x7e,0 x3c,0 x18,0 x00,0 x00,0 x18,0 x3c,

19、0 x7e, /分別從第7位和第0位向中間靠攏全部點亮,/然后從中間向兩邊分散熄滅 0 x00 /全亮 ; /定義循環(huán)用數(shù)據(jù)表格 /延時子函數(shù),通過time值改變延時時間 void delay(uint time) uint i,j; for(i=time;i0;i-) for(j=110;j0;j-); /* /主函數(shù),循環(huán)點亮LED燈 void main() while(1) for(a=0;a42;a+) P1=tablea; /以a做索引號,從數(shù)組中取值送給P1口 delay(1000); /調(diào)用延時子程序,晶振頻率12MHz時,延時約1s /* 分析:分析:這個程序中,根據(jù)LED燈點

20、亮的方式,將需要送向P1口的數(shù)據(jù)預(yù)先存放到數(shù)組中,程序運行中,只要按照順序?qū)⑦@些數(shù)組元素送向P1口,就可以實現(xiàn)不同花式的彩燈。數(shù)組定義時,寫“code”的含義是告訴單片機(jī),定義的數(shù)組要放在ROM(程序存儲區(qū))里面,寫后就不能再更改。程序可以簡單的分為code(程序)區(qū)和data(數(shù)據(jù))區(qū),code區(qū)在運行的時候是不可以更改的,data區(qū)放全局變量和臨時變量,是要不斷改變的,CPU從code區(qū)讀取指令,對data區(qū)的數(shù)據(jù)進(jìn)行運算處理。由于單片機(jī)上的RAM區(qū)很小,而ROM區(qū)相對來說比較大,當(dāng)需要定義的數(shù)據(jù)太多時,會存在RAM區(qū)放不下的情況。所以編寫程序時,對于那些在程序運行中一直不變的數(shù)據(jù),可在數(shù)

21、據(jù)類型名和變量名之間加上“code”,這樣數(shù)據(jù)就會被存放到ROM區(qū),節(jié)省了RAM區(qū)的空間。注意:注意:在單片機(jī)編程中,要根據(jù)變量的取值范圍,合理的定義變量的數(shù) 據(jù)類型,節(jié)省RAM區(qū)。(3)將調(diào)試通過的程序下載到實驗板觀察效果,實驗板上的單片機(jī)為STC89C52,可直接使用STC-ISP下載軟件將程序燒寫到單片機(jī)上。STC-ISP的打開界面如圖所示。按照界面中操作步驟,依次選取單片機(jī)型號、打開HEX文件、選擇串口、點擊下載就可以將程序下載到單片機(jī)中。注意:注意: STCSTC單片機(jī)下載時單片機(jī)下載時必須進(jìn)行冷啟動,必須進(jìn)行冷啟動,即在點擊即在點擊“下載下載”之前實驗板電源之前實驗板電源是關(guān)閉的,

22、點擊是關(guān)閉的,點擊下載按鈕后,大下載按鈕后,大概概2 2秒鐘,打開實秒鐘,打開實驗板電源,出現(xiàn)驗板電源,出現(xiàn)藍(lán)色進(jìn)展條并有藍(lán)色進(jìn)展條并有提示音表示下載提示音表示下載成功。成功。項目小結(jié)項目小結(jié) l 本項目主要介紹了51單片機(jī)I/O口結(jié)構(gòu)和應(yīng)用,通過兩個任務(wù)實現(xiàn)了單片機(jī)對單個LED燈閃爍和多個循環(huán)LED燈的控制。 l 51單片機(jī)有4個8位的并行I/O接口:P0、P1、P2和P3口。對于P0口要注意其內(nèi)部沒有上拉電阻,所以在硬件設(shè)計中要給P0口外接上拉電阻,以保證P0口可以輸出高電平。P1口是唯一一個只有輸入/輸出功能的I/O口。P0口和P2口當(dāng)有外部擴(kuò)展存儲器時,作為數(shù)據(jù)/地址的復(fù)用口。P3口每

23、一位都具有第二功能。l 對于單片機(jī)的編程,離不開對特殊功能寄存器的操作,所以在程序中一定要有包含對特殊功能寄存器聲明的頭文件。 思考與訓(xùn)練思考與訓(xùn)練 (一)知識思考:1P1口與P0口在結(jié)構(gòu)上有何區(qū)別?2P0口P3口的負(fù)載能力分別如何?351單片機(jī)的P0P3口在結(jié)構(gòu)上有何不同?在使用上有什么特點?用作通用I/O口輸入數(shù)據(jù)時,應(yīng)注意什么?4P3口的第二功能是什么?5單片機(jī)外部擴(kuò)展存儲器時,P0口和P2口有什么作用?6在編寫單片機(jī)程序時,添加“reg52.h”頭文件的目的是什么? (二)項目訓(xùn)練:1如圖4.7電路,請修改程序,使P1.7的LED燈大致按1s的時間間隔交替亮與滅。2如圖4.10電路,請將設(shè)計稍作修改:控制從P1.0到P1.7連接的8只LED燈依次全部點亮,然后依次熄滅,接下來控制從P1.7到P1.0連接的8只LED燈依次全部點亮再依次熄滅,最后8只LED燈全亮之后再全滅。請編寫程序并調(diào)試。

展開閱讀全文
溫馨提示:
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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!