版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單片機(jī)應(yīng)用技術(shù)
項(xiàng)目教程任務(wù)一點(diǎn)亮一個(gè)LED燈
任務(wù)提出任務(wù)分析相關(guān)知識(shí)編寫程序任務(wù)一點(diǎn)亮一個(gè)LED燈
任務(wù)提出用單片機(jī)控制一只發(fā)光二極管燈亮。任務(wù)一點(diǎn)亮一個(gè)LED燈任務(wù)分析根據(jù)任務(wù)要求使用單片機(jī)I/O端口控制LED燈亮。根據(jù)LED的工作原理,只要給LED兩端加上正向電壓就可以點(diǎn)亮一個(gè)燈。要想用單片機(jī)來(lái)控制LED,至少要完成以下幾個(gè)工作:一、硬件工作(1)提供系統(tǒng)所需的電源和CPU工作所需的時(shí)鐘振蕩信號(hào);(2)將單片機(jī)與LED連接起來(lái);二、軟件工作把我們的要求用單片機(jī)可以接收的語(yǔ)言“寫”給單片機(jī),也就是軟件編程。任務(wù)一點(diǎn)亮一個(gè)LED燈硬件知識(shí)1.MCS
51單片機(jī)的外部引腳P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDRXD/P3.0TXD/P3.1INT0/P3.2INT1/P3.3T0/P3.4T1/P3.5WR/P3.6RD/P3.7XTAL2XTAL1VSS12345678910111213141516171819208031805187514039383736353433323130292827262521222324VCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VppALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0熟悉Keil軟件的使用方法一、Keil軟件概述二、Keil軟件的使用(1)啟動(dòng)Keil雙擊桌面上的圖標(biāo),即可啟動(dòng)Keil軟件,啟動(dòng)主界面如圖1-2所示。
(2)建立源文件
(3)建立工程文件
(4)工程參數(shù)設(shè)置工程建立后,還需要對(duì)工程參數(shù)進(jìn)行設(shè)置,以滿足要求。
(5)編譯、連接、調(diào)試在設(shè)置好工程參數(shù)之后,即可進(jìn)行程序編譯、調(diào)試以及工程的連接。任務(wù)一點(diǎn)亮一個(gè)LED燈使用Proteus設(shè)計(jì)仿真電路圖
本任務(wù)主要熟悉Proteus軟件的使用方法。一、Proteus軟件概述二、Proteus軟件的初步使用任務(wù)一點(diǎn)亮一個(gè)LED燈二、Proteus軟件的初步使用1)菜單欄:菜單欄共由12個(gè)部分組成,其功能大部分可以通過(guò)工具欄中的圖標(biāo)實(shí)現(xiàn),編輯一般的原理圖時(shí),應(yīng)用工具欄中的圖標(biāo)更快捷、方便。
2)原理圖編輯區(qū):原理圖編輯區(qū)是用來(lái)編輯原理圖的區(qū)域,啟動(dòng)主界面后,在該區(qū)域會(huì)出現(xiàn)藍(lán)色方框,設(shè)計(jì)原理圖時(shí)元件必須放到藍(lán)色方框里面。
3)預(yù)覽窗口:預(yù)覽窗口主要用于單個(gè)元件和整個(gè)原理圖的預(yù)覽。
4)元件列表:此窗口用來(lái)顯示用戶所選擇的元件,在需要編輯原理圖時(shí),用鼠標(biāo)單擊該窗口對(duì)應(yīng)的元件,再單擊原理圖編輯區(qū),就可以把元件添加到原理圖中。5)模型工具欄:模型工具欄,顧名思義,用來(lái)選擇對(duì)應(yīng)的模型、配件、圖形等,下面列出工具欄中部分圖標(biāo)的功能。
6)工具欄:工具欄中給出了對(duì)編輯窗口中的圖形進(jìn)行操作的快捷方式。
7)仿真工具欄:原理圖完成后,可以單擊仿真工具欄進(jìn)行仿真運(yùn)行。原理圖元器件材料表序號(hào)名稱型號(hào)、規(guī)格單位數(shù)量備注1UAT89S51片12J16MHZ只13C1、C230pF只24C322μF/25V只15R1270Ω只16R2200Ω只17R32K只18LEDφ5紅色只19A1TC-0102只1編寫程序C語(yǔ)言程序如下:#include<reg52.h>//包含reg.52文件sbitP1_0=P1^0;//位定義voidmain()//main函數(shù){while(1)//while循環(huán){P1_0=0;//點(diǎn)亮LED}}任務(wù)一點(diǎn)亮一個(gè)LED燈任務(wù)二閃爍燈
任務(wù)提出任務(wù)分析相關(guān)知識(shí)編寫程序任務(wù)二閃爍燈
任務(wù)提出用單片機(jī)控制一只發(fā)光二極管燈閃爍
。任務(wù)分析使用單片機(jī)I/O端口控制LED燈閃爍,想讓LED燈暗,通過(guò)單片機(jī)的連接口置低電平實(shí)現(xiàn),反之,將對(duì)應(yīng)端口置高電平可以點(diǎn)亮LED,要使得LED閃爍,單片機(jī)輸出的高低電平需要有一段時(shí)間的延時(shí)。
任務(wù)二閃爍燈任務(wù)二閃爍燈C51的數(shù)據(jù)類型類型符號(hào)關(guān)鍵字所占位數(shù)字節(jié)數(shù)表示范圍整型有(signed)short162-32768~32767(signed)int162-32768~32767(signed)long324-2147483648~2147483647無(wú)Unsigedshoutint1620~65535Unsiged
int1620~65535Unsigedlong3240~4294967295實(shí)型有float324±1.175494E-38~±3.402823E+38有double6481.7e-308~1.7e308字符型有
char81-128~127無(wú)Unsigedchar810~255任務(wù)二閃爍燈C51擴(kuò)充數(shù)據(jù)類型
類
型長(zhǎng)
度值
域說(shuō)明bit位0或1位變量聲明sbit位0或1特殊功能位聲明sfr8位=1字節(jié)0~255特殊功能寄存器聲明Sfr1616位=2字節(jié)0~65535Srf的16位數(shù)據(jù)聲明*1~3字節(jié)對(duì)象的地址任務(wù)二閃爍燈C語(yǔ)言程序基本構(gòu)架
#include<reg52.h>//引用S52單片機(jī)頭文件Voidmain(void)//主程序main函數(shù){/*在主程序中設(shè)置死循環(huán)程序,保證主程序的運(yùn)行*/While(1){/*此處添加控制程序*/}}任務(wù)二閃爍燈單片機(jī)I/O口輸出控制
C語(yǔ)言中“=”運(yùn)算符是賦值運(yùn)算,作用是把“=”右邊的值賦給“=”左邊的變量。實(shí)現(xiàn)單片機(jī)P0.0置低電平,寫程序P0^0=0即可;實(shí)現(xiàn)單片機(jī)P0.0置高電平,寫程序P0^0=1即可。任務(wù)二閃爍燈C語(yǔ)言while的使用
While一般有兩種形式形式1:While(判斷條件){執(zhí)行語(yǔ)句},先進(jìn)行判斷,再運(yùn)行執(zhí)行語(yǔ)句。執(zhí)行語(yǔ)句執(zhí)行完,自動(dòng)返回繼續(xù)判斷While中的條件是否符合,若符合,則繼續(xù)運(yùn)行執(zhí)行語(yǔ)句;不符合,則退出循環(huán)。形式2:do{執(zhí)行語(yǔ)句}while(判斷條件),先執(zhí)行語(yǔ)句,再進(jìn)行while條件判斷,如果符合條件,則返回繼續(xù)執(zhí)行do后的執(zhí)行語(yǔ)句,由此形成循環(huán)。while(1){}表示判斷條件一直為1(C語(yǔ)言中1為真),所以一直在這個(gè)循環(huán)中重復(fù)運(yùn)行。任務(wù)二閃爍燈延時(shí)程序
unsignedinti;for(i=0;i<50000;i++);//延時(shí)一段時(shí)間任務(wù)二閃爍燈程序
LED閃爍C語(yǔ)言程序#include<reg52.h>sbitLED=P1^0;//延時(shí)函數(shù),含有輸入?yún)?shù)unsignedintx,無(wú)返回值unsignedint是宏定義無(wú)符號(hào)整型變量,其值的范圍是0~65535
voiddelay(unsigned
intx)
{
while(x--);
}
//主函數(shù)
voidmain(void)
{
while(1)//無(wú)限循環(huán)
{
LED=0;//P1.0輸出低電平,點(diǎn)亮LED燈
delay(2000);//調(diào)用延時(shí)函數(shù),更改X值,相當(dāng)于更改LED燈閃爍的頻率
LED=1;//P1.0輸出高電平,熄滅LED燈
delay(2000);//調(diào)用延時(shí)函數(shù),更改X值,相當(dāng)于更改LED燈閃爍的頻率
}
}任務(wù)三廣告燈的左移與右移
任務(wù)提出任務(wù)分析相關(guān)知識(shí)編寫程序任務(wù)三廣告燈的左移與右移
任務(wù)提出用單片機(jī)控制一組八只發(fā)光二極管燈的左右移動(dòng)
任務(wù)三廣告燈的左移與右移C語(yǔ)言的位操作位運(yùn)算是指按二進(jìn)制進(jìn)行的運(yùn)算。在系統(tǒng)軟件中,常常需要處理二進(jìn)制位的問(wèn)題。C語(yǔ)言提供了6個(gè)位操作運(yùn)算符。這些運(yùn)算符只能用于整型操作數(shù),即只能用于帶符號(hào)或無(wú)符號(hào)的char,short,int與long類型,見(jiàn)表1-3-1任務(wù)三廣告燈的左移與右移
任務(wù)提出用單片機(jī)控制一組八只發(fā)光二極管燈的左右移動(dòng)
表1-3-1位操作符表運(yùn)算符含
義運(yùn)算符含
義&按位與~取反|按位或《左移^按位異或
》右移1)&按位與如果兩個(gè)相應(yīng)的二進(jìn)制位都為1,則該位的結(jié)果值為1,否則為02)按位或兩個(gè)相應(yīng)的二進(jìn)制位中只要有一個(gè)為1,該位的結(jié)果值為13)^按位異或若參加運(yùn)算的兩個(gè)二進(jìn)制位值相同則為0,否則為14)~取反~是一元運(yùn)算符,用來(lái)對(duì)一個(gè)二進(jìn)制數(shù)按位取反,即將0變1,將1變05)<<左移用來(lái)將一個(gè)數(shù)的各二進(jìn)制位全部左移N位,右補(bǔ)06)>>右移將一個(gè)數(shù)的各二進(jìn)制位右移N位,移到右端的低位被舍棄,對(duì)于無(wú)符號(hào)數(shù),高位補(bǔ)0任務(wù)三廣告燈的左移與右移電路原理圖
任務(wù)三廣告燈的左移與右移系統(tǒng)板上硬件連線
把“單片機(jī)系統(tǒng)”區(qū)域中的P2.0-P2.7用8根線連接到“八路發(fā)光二極管指示模塊”區(qū)域中的L1-L8端口上,要求:P2.0對(duì)應(yīng)著L1,P2.1對(duì)應(yīng)著L2,……,P2.7對(duì)應(yīng)著L8。
任務(wù)三廣告燈的左移與右移程序設(shè)計(jì)
#include<reg52.h>unsignedchari;unsignedchartemp;unsignedchara,b;voiddelay(void){unsignedcharm,n,s;for(m=20;m>0;m--)for(n=20;n>0;n--)for(s=248;s>0;s--);}voidmain(void){while(1){temp=0xfe;P2=temp;delay();for(i=1;i<8;i++){a=temp<<i;b=temp>>(8-i);P2=a|b;delay();}for(i=1;i<8;i++){a=temp>>i;b=temp<<(8-i);P2=a|b;delay();}}}
任務(wù)提出任務(wù)分析相關(guān)知識(shí)編寫程序任務(wù)四數(shù)碼管顯示
任務(wù)提出用單片機(jī)按鍵控制數(shù)碼管靜態(tài)顯示數(shù)字0-9任務(wù)四數(shù)碼管顯示
任務(wù)分析要實(shí)現(xiàn)數(shù)碼管靜態(tài)顯示數(shù)字0-9,可以利用51單片機(jī)、1個(gè)獨(dú)立按鍵及1位7段數(shù)碼管等器件,設(shè)計(jì)一個(gè)單片機(jī)輸入顯示系統(tǒng),要求每按一下獨(dú)立按鍵數(shù)碼管顯示數(shù)據(jù)加1(數(shù)碼管初始值設(shè)為0,計(jì)到9后再加1,則數(shù)碼管顯示0)。本次設(shè)計(jì)采用12MHz的晶體振蕩器為單片機(jī)提供振蕩周期,外加獨(dú)立按鍵、復(fù)位電路和顯示電路組成。任務(wù)四數(shù)碼管顯示
數(shù)碼管基礎(chǔ)知識(shí)任務(wù)四數(shù)碼管顯示
數(shù)碼管基礎(chǔ)知識(shí)任務(wù)四數(shù)碼管顯示
數(shù)碼管可以分為共陽(yáng)極與共陰極兩種,共陽(yáng)極就是把所有LED的陽(yáng)極連接到共同接點(diǎn)com,而每個(gè)LED的陰極分別為a、b、c、d、e、f、g及dp(小數(shù)點(diǎn));共陰極則是把所有LED的陰極連接到共同接點(diǎn)com,而每個(gè)LED的陽(yáng)極分別為a、b、c、d、e、f、g及dp(小數(shù)點(diǎn)),如上圖所示。圖中的8個(gè)LED分別與A~DP各段相對(duì)應(yīng),通過(guò)控制各個(gè)LED的亮滅來(lái)顯示數(shù)字。
數(shù)碼管基礎(chǔ)知識(shí)任務(wù)四數(shù)碼管顯示
顯示字型共陽(yáng)極D7D6D5D4D3D2D1D0發(fā)光管DPGFEDCBA編碼011000000C0111000000F9211110001A4310110000B0410011001995100100109261000001082711111000F88100000008091001000090顯示字型共陰極D7D6D5D4D3D2D1D0發(fā)光管DPGFEDCBA編碼0001111113F100000110062010110115B3010011114F401100110665011011016D6011111017D700000111078011111117F9011011116F硬件電路原理圖
任務(wù)四數(shù)碼管顯示
電路元器件清單任務(wù)四數(shù)碼管顯示
元件標(biāo)號(hào)元件名稱所在庫(kù)AT89C5151單片機(jī)MCS805174HC245數(shù)據(jù)緩沖器74HC7SEG7段數(shù)碼管DISPLAYRES電阻DEVICEBUTTON按鍵ACTIVECAP電容DEVICECRYSTAL晶振DEVICE程序流程圖任務(wù)四數(shù)碼管顯示
結(jié)束返回重新檢測(cè)按鍵將單片機(jī)處理的數(shù)據(jù)進(jìn)行顯示單片機(jī)主控制電路向單片機(jī)申請(qǐng)顯示0計(jì)數(shù)加1,向單片機(jī)申請(qǐng)顯示該數(shù)值。Y是否按鍵?開(kāi)始N程序任務(wù)四數(shù)碼管顯示
#include<reg52.h>#defineucharunsignedcharsbitkey=P1^0;//獨(dú)立按鍵的位定義ucharcodeduan[]={0x3F,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};ucharnum;//記錄按鍵的次數(shù)voiddisplay(uchar);//顯示函數(shù)聲明voiddelay(uchar);//延時(shí)函數(shù)聲明voidmain(){
ucharnum=0; while(1)//while大循環(huán)
{
if(key==0) { delay(80);//按鍵消抖
if(key==0)//重新檢測(cè)
{
if(num==9) num=0; else num++;
while(!key);//等待松手,松手后才能送去顯示
} }
display(num); }}voiddisplay(ucharx){ P2=duan[x]; delay(1);//在1位數(shù)碼管上顯示 }voiddelay(uchara){
uchar
y,z;
for(y=a;y>0;y--)
for(z=150;z>0;z--);}
任務(wù)提出任務(wù)分析相關(guān)知識(shí)編寫程序任務(wù)五數(shù)碼管響應(yīng)中斷
任務(wù)提出
用單片機(jī)通過(guò)中斷控制數(shù)碼管依次顯示數(shù)字0-9,要求每秒鐘數(shù)字變化一次。
任務(wù)五數(shù)碼管響應(yīng)中斷
任務(wù)分析要實(shí)現(xiàn)每秒鐘數(shù)碼管依次顯示數(shù)字0-9,可以通過(guò)中斷定時(shí)器控制1秒定時(shí)變化顯示數(shù)字,也可以循環(huán)等待1秒變化顯示數(shù)字,循環(huán)等待的缺點(diǎn)是循環(huán)等待期間不能進(jìn)行其他任何掃描程序,實(shí)踐應(yīng)用不可取,因此本次任務(wù)選擇中斷定時(shí)控制。任務(wù)五數(shù)碼管響應(yīng)中斷中斷定時(shí)器MCS-51單片機(jī)內(nèi)設(shè)置了兩個(gè)可編程的16位定時(shí)器T0和T1,通過(guò)編程,可以設(shè)定為定時(shí)器和外部計(jì)數(shù)方式。T1還可以作為其串行口的波特率發(fā)生器。定時(shí)器T0由特殊功能寄存器TL0和TH0構(gòu)成,定時(shí)器T1由TH1和TL1構(gòu)成,特殊功能寄存器TMOD控制定時(shí)器的工作方式,TCON控制其運(yùn)行。定時(shí)器的中斷由中斷允許寄存器IE,中斷優(yōu)先權(quán)寄存器IP中的相應(yīng)位進(jìn)行控制。定時(shí)器T0的中斷入口地址為000BH,T1的中斷入口地址為001BH。任務(wù)五數(shù)碼管響應(yīng)中斷中斷定時(shí)器定時(shí)器的編程包括:置工作方式。置計(jì)數(shù)初值。中斷設(shè)置。啟動(dòng)定時(shí)器。定時(shí)器/計(jì)數(shù)器由四種工作方式,所用的計(jì)數(shù)位數(shù)不同,因此,定時(shí)計(jì)數(shù)常數(shù)也就不同。在編寫中斷服務(wù)程序時(shí),應(yīng)該清楚中斷響應(yīng)過(guò)程:CPU執(zhí)行中斷服務(wù)程序之前,自動(dòng)將程序計(jì)數(shù)器PC內(nèi)容(即斷點(diǎn)地址)壓入堆棧保護(hù)任務(wù)五數(shù)碼管響應(yīng)中斷中斷定時(shí)器(但不保護(hù)狀態(tài)寄存器PSW,更不保護(hù)累加器A和其它寄存器內(nèi)容),然后將對(duì)應(yīng)的中斷矢量裝入程序計(jì)數(shù)器PC使程序轉(zhuǎn)向該中斷矢量地址單元中以執(zhí)行中斷服務(wù)程序。定時(shí)器T0和T1對(duì)應(yīng)的中斷矢量地址分別為000BH和001BH。中斷服務(wù)程序從矢量地址開(kāi)始執(zhí)行,一直到返回指令“RETI”為止?!癛ETI”指令的操作一方面告訴中斷系統(tǒng)該中斷服務(wù)程序已經(jīng)執(zhí)行完畢,另一方面把原來(lái)壓入堆棧保護(hù)的斷點(diǎn)地址從棧頂彈出,裝入到程序計(jì)數(shù)器PC,使程序返回到被到中斷的程序斷點(diǎn)處,以便繼續(xù)執(zhí)行。任務(wù)五數(shù)碼管響應(yīng)中斷中斷定時(shí)器因此,在編寫中斷服務(wù)程序時(shí)注意。1.在中斷矢量地址單元放一條無(wú)條件轉(zhuǎn)移指令,使中斷服務(wù)程序可以靈活地安排在64K字節(jié)程序存儲(chǔ)器的任何空間。2.在中斷服務(wù)程序中應(yīng)特別注意用軟件保護(hù)現(xiàn)場(chǎng),以免中斷返回后,丟失原寄存器、累加器的信息。3.若要使執(zhí)行的當(dāng)前中斷程序禁止更高優(yōu)先級(jí)中斷,可以先用軟件關(guān)閉CPU中斷,或禁止某中斷源中斷,在返回前再開(kāi)放中斷。任務(wù)五數(shù)碼管響應(yīng)中斷程序流程圖
任務(wù)五數(shù)碼管
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 讓生活在勞動(dòng)中綻放光彩作文素材7篇
- 2024-2025學(xué)年新教材高中英語(yǔ) Welcome Unit Reading for Writing教學(xué)實(shí)錄 新人教版必修第一冊(cè)
- 物流公司轉(zhuǎn)讓(多篇)
- Q-BQD001-2019青島銀行網(wǎng)上銀行服務(wù)
- 九年級(jí)道德與法治下冊(cè) 第二單元 世界舞臺(tái)上的中國(guó) 第四課 與世界共發(fā)展 第2框 攜手促發(fā)展教學(xué)實(shí)錄+教學(xué)反思 新人教版
- 四年級(jí)品德與社會(huì)下冊(cè) 第四單元 我們生長(zhǎng)在中國(guó) 第12課《黃土地黑土地》教學(xué)實(shí)錄 粵教版
- 促銷活動(dòng)策劃方案模板集合六篇
- 烏塔讀后感(匯編15篇)
- 學(xué)校家長(zhǎng)會(huì)家長(zhǎng)心得10篇
- 北師大版數(shù)學(xué)八年級(jí)上冊(cè)期中試題含答案
- 《心理健康與職業(yè)生涯》開(kāi)學(xué)第一課(教案)-【中職專用】中職思想政治《心理健康與職業(yè)生涯》(高教版2023·基礎(chǔ)模塊)
- 第六屆石油工程設(shè)計(jì)大賽方案設(shè)計(jì)類鉆完井單項(xiàng)組
- 紅色藝術(shù)欣賞 音樂(lè)舞蹈史詩(shī)《長(zhǎng)征組歌》
- 演講與口才智慧樹(shù)知到期末考試答案2024年
- 空調(diào)安裝應(yīng)急預(yù)案方案
- 大數(shù)據(jù)建模練習(xí)練習(xí)題及答案1-2023背題版
- 園林綠化員工培訓(xùn)課件
- Ⅲ類射線裝置輻射工作人員考核試題 - 副本
- 《CT檢查技術(shù)》課件-CT圖像后處理
- 土壤檢測(cè)報(bào)告表
- 老年人合理用藥新進(jìn)展課件
評(píng)論
0/150
提交評(píng)論