版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、范文范例學(xué)習(xí)指導(dǎo)目錄實例3:用單片機控制第一個燈亮3實例4:用單片機控制一個燈閃爍:認識單片機的工作頻率3實例5:將P1 口狀態(tài)分別送入PO、P2、P3 口:認識I/O 口的引腳功能4實例6:使用P3 口流水點亮8位LED4實例7:通過對P3 口地址的操作流水點亮8位LED5實例8:用不同數(shù)據(jù)類型控制燈閃爍時間6實例9:用POD、P1 口分別顯示加法和減法運算結(jié)果8實例10:用PO、P1 口顯示乘法運算結(jié)果8實例11:用P1、P0 口顯示除法運算結(jié)果9實例12:用自增運算控制P0 口 8位LED流水花樣9實例13:用P0 口顯示邏輯“與”運算結(jié)果10實例14:用P0 口顯示條件運算結(jié)果10實例
2、15:用P0 口顯示按位“異或“運算結(jié)果10實例16:用P0顯示左移運算結(jié)果10實例17:”萬能邏輯電路”實驗11實例18:用右移運算流水點亮P1 口 8位LED11實例19:用if語句控制P0 口 8位LED的流水方向12實例20:用swt ich語句的控制P0 口 8位LED的點亮狀態(tài)12實例21:用for語句控制蜂鳴器鳴笛次數(shù)14實例22:用whi Ie語句控制LED15實例23:用do-whi Ie語句控制P0 口 8位LED流水點亮16實例24:用字符型數(shù)組控制P0 口 8位LED流水點亮16實例25:用P0 口顯示字符串常量17實例26:用P0 口顯示指針運算結(jié)果18實例27:用指
3、針數(shù)組控制P0 口 8位LED流水點亮18實例28:用數(shù)組的指針控制P0 口 8位LED流水點亮19實例29:用P0、P1 口顯示整型函數(shù)返回值20實例30:用有參函數(shù)控制P0 口 8位LED流水速度21實例31:用數(shù)組作函數(shù)參數(shù)控制流水花樣22實例32:用指針作函數(shù)參數(shù)控制P0 口 8位LED流水點亮23實例33:用函數(shù)型指針控制P1 口燈花樣24實例34:用指針數(shù)組作為函數(shù)的參數(shù)顯示多個字符串25實例35:字符函數(shù)ctype. h應(yīng)用舉例26實例36:內(nèi)部函數(shù)intrins.h應(yīng)用舉例27實例37:標(biāo)準(zhǔn)函數(shù)stdlib. h應(yīng)用舉例27實例38:字符串函數(shù)string, h應(yīng)用舉例28實例
4、39:宏定義應(yīng)用舉例228實例40:宏定義應(yīng)用舉例229實例41:宏定義應(yīng)用舉例329實例42:用定時器T0查詢方式P2 口 8位控制LED閃爍30實例43:用定時器T1查詢方式控制單片機發(fā)出1KHz音頻31實例44:將計數(shù)器T0計數(shù)的結(jié)果送P1 口 8位LED顯示31實例45:用定時器TO的中斷控制1位LED閃爍32實例46:用定時器TO的中斷實現(xiàn)長時間定時33實例47:用定時器T1中斷控制兩個LED以不同周期閃爍34實例48:用計數(shù)器T1的中斷控制蜂鳴器發(fā)出1KHz音頻35實例49:用定時器TO的中斷實現(xiàn)“渴望”主題曲的播放35實例50-1 :輸出50個矩形脈沖38實例50-2:計數(shù)器T0
5、統(tǒng)計外部脈沖數(shù)39實例51-2:定時器T0的模式2測量正脈沖寬度40實例52:用定時器T0控制揄出高低寬度不同的矩形波40實例53:用外中斷0的中斷方式進行數(shù)據(jù)采集41實例54-1:輸出負脈寬為200微秒的方波42實例54-2:測量負脈沖寬度43實例55:方式0控制流水燈循環(huán)點亮44實例567:數(shù)據(jù)發(fā)送程序45實例56-2:數(shù)據(jù)接收程序46實例57-1:數(shù)據(jù)發(fā)送程序47實例57-2:數(shù)據(jù)接收程序48實例58:單片機向PC發(fā)送數(shù)據(jù)49實例59:單片機接收PC發(fā)出的數(shù)據(jù)50實例60:用LED數(shù)碼顯示數(shù)字551實例61:用LED數(shù)碼顯示器循環(huán)顯示數(shù)字0951實例62:用數(shù)碼管慢速動態(tài)掃描顯示數(shù)字“1
6、234”52實例63:用LED數(shù)碼顯示器偽靜態(tài)顯示數(shù)字1234 53實例64:用數(shù)碼管顯示動態(tài)檢測結(jié)果54實例65:數(shù)碼秒表設(shè)計56實例66:數(shù)碼時鐘設(shè)計57實例67:用LED數(shù)碼管顯示計數(shù)器T0的計數(shù)值61實例68:方爭態(tài)顯示數(shù)字“59” 62實例69:無軟件消抖的獨立式鍵盤輸入實險63實例70:軟件消抖的獨立式鍵盤揄入實驗63實例71: CPU控制的獨立式鍵盤掃描實臉64實例72:定時器中斷控制的獨立式鍵盤掃描實臉67實例73:獨立式鍵盤控制的4級變速流水燈70實例74:獨立式鍵盤的按鍵功能擴展:“以一當(dāng)四”72實例75:獨立式鍵盤調(diào)時的數(shù)碼時鐘實臉74實例76:獨立式鍵盤控制步進電機實險
7、78實例77:矩陣式鍵盤按鍵值的數(shù)碼管顯示實驗81實例78:矩陣式鍵盤按鍵音84實例79:簡易電子室85實例80:矩陣式鍵盤實現(xiàn)的也子密碼鎖91實例81:用LCD顯示字符'A'95實例82:用LCD循環(huán)右移顯示“Welcome to China"98實例83:用LCD顯示適時檢測結(jié)果102實例84:液晶時鐘設(shè)計106實例85:將數(shù)據(jù)“OxOf”寫入AT24co2再讀出送P1 口顯示112實例86:將按鍵次數(shù)寫入AT24co2,再讀出并用1602LCD顯示116實例87:對12c總線上掛接多個AT24co2的讀寫操作124實例88:基于AT24co2的多機通信 讀取程序
8、129實例88:基于AT24co2的多機通信 寫入程序133實例90:DS18B20溫度檢測及其液晶顯示144實例91:將數(shù)據(jù)“Oxaa”寫入X5045再讀出送P1 口顯示153實例92:將流水燈控制碼寫入X5045并讀出送P1 口顯示157實例93:對SPI總線上掛接多個X5045的讀寫操作161實例94:基于ADC0832的數(shù)字電壓表165實例95:用DAC0832產(chǎn)生鋸齒波電壓171實例96:用P1 口顯示紅外遙控器的按鍵值172實例97:用紅外遙控器控制繼電器174實例98:基于DS1302的日歷時鐘177實例99:單片機數(shù)據(jù)發(fā)送程序186實例100:電機轉(zhuǎn)速表設(shè)計187模擬霍爾脈沖1
9、92/*函數(shù)的使用和熟悉*/實例3:用單片機控制第一個燈亮#include<reg51.h> /包含51單片機寄存器定義的頭文件 void main(void)while無限循環(huán)P1=0xfe; /P1=1111 1110B,即 P1.0 揄出低電平)實例4:用單片機控制一個燈閃爍:認識單片機的工作頻率#include<reg51. h> 包含單片機寄存器的頭文件/*函教功能:延時一段時間 */void delay (void)/兩個void意思分別為無需返回值,沒有參數(shù)傳遞(unsigned int i;/定義無符號整數(shù),最大取值范圍65535for (i=0; i
10、<20000; i+) 做 20000 次空循環(huán);什么也不做,等待一個機器周期/*函數(shù)功能:主函數(shù)(C語言規(guī)定必須有也只能有1個主函數(shù))*/void ma in (void)(while 無限循環(huán)(P1=0xfe;/P1=1111 1110B, P1.0 輸出低電平de I ay ();延時一段時間P1=0xff;/P1=1111 1111B, P1.0 輸出高電平delay () ; /延時一段時間I)實例5:將P1 狀態(tài)分別送入PO、P2、P3 :認識I/O 的引腳功能#include<reg51. h> /包含單片機寄存器的頭文件/* 的數(shù)功能:主函數(shù)(C語言規(guī)定必須有
11、也只能有1個主函數(shù)) */ void ma in (void)(whi le(1)無限循環(huán)P1=0xff; / P1=1111 1111,熄滅 LEDP0=P1;/將P1 口狀態(tài)送入PO 口P2=P1;/將P1 口狀態(tài)送入P2 口P3=P1 ;/將P1 口狀態(tài)送入P3 口)實例6:使用P3 口流水點亮8位LED#include<reg51. h>/包含單片機寄存器的頭文件/*函數(shù)功能:延時一段時間*/void delay (void)unsigned char i, j;for (i=0;i<250;i+)for (j=0;j<250;j+)一 一 一 ,4 一 一 一
12、 一 ,一,一 一 一 一 一 -一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 L一 1一 一 一 一 一 一 一 一 一 一 ./* 的數(shù)功能:主函數(shù)*/ void ma in (void)wh i Ie (1)P3=0xfe;delay 0;P3=0xfd; delay ();P3=0xfb; delay 0;P3=0xf7; delay ();P3=0xef; delay();P3=0xdf; delay 0;P3=0xbf; delay();P3=0x7f; delay 0;/第一個燈亮 /調(diào)用延時函數(shù) /第二個燈亮 /調(diào)用延時函數(shù) /第三個燈亮 /調(diào)
13、用延時函數(shù) 第四個燈亮 /調(diào)用延時函數(shù) /第五個燈亮 調(diào)用延時函數(shù) /第六個燈亮 /調(diào)用延時函數(shù) 第七個燈亮 調(diào)用延時函數(shù) /第八個燈亮 /調(diào)用延時函數(shù)/實例7:通過對P3 口地址的操作流水點亮8位LED#include<reg51. h>包含單片機寄存器的頭文件sfr x=0xb0;/P3 口在存儲器中的地址是bOH,通過sfr可定義8051內(nèi)核單片機/的所有內(nèi)部8位特殊功能寄存器,對地址x的操作也就是對P1口的操作/*函數(shù)功能:延時一段時間*/ void delay (void)unsigned char i,j;for(i=0;i<250;i+)for (j=0;j&l
14、t;250;j+);/利用循環(huán)等待若干機器周期,從而延時一段時間)/* 函數(shù)功能:主函數(shù)*/ void ma in (void)whi le(1)x=Oxfe;de I ay ();x=Oxfd; delay();x=Oxfb; de I ay ();x=0xf7; delay(); x=Oxef;de I ay 0; x=Oxdf; delay();x=Oxbf;de I ay 0;x=0x7f;delay ();/第一個燈亮 /調(diào)用延時函數(shù) 第二個燈亮 /調(diào)用延時函數(shù) 第三個燈亮 /調(diào)用延時函數(shù) 第四個燈亮 調(diào)用延時函數(shù) 第五個燈亮 調(diào)用延時函數(shù) 第六個燈亮 /調(diào)用延時函數(shù) 第七個燈亮 調(diào)
15、用延時函數(shù) 第八個燈亮 /調(diào)用延時函數(shù)實例8:用不同數(shù)據(jù)類型控制燈閃爍時間#include<reg51. h> 包含單片機寄存器的頭文件/* word完美整理版范文范例學(xué)習(xí)指導(dǎo)函教功能:用整形數(shù)據(jù)延時一段時間*/ void int_delay (void) /延時一段較長的時間unsigned int m; 定義無符號整形變量,雙字節(jié)數(shù)據(jù),值域為。65535 for(m=0;m<36000;m+);空操作/* 函數(shù)功能:用字符型數(shù)據(jù)延時一段時間void char de lay (void) /延時一段較短的時間unsigned char i, j ; 定義無符號字符型變量,單
16、字節(jié)數(shù)據(jù),值域。255 for (i=0;i<200;i+)for(j=0;j<180;j+);空操作函數(shù)功能:主函數(shù)*/ void main (void)(uns igned char i ;whiIe (for(i=0;i<3;i+)P1=0xfe;/P1.0 口的燈點亮i nt_de I ay (); 延時一段較長的時間P1=0xff;熄滅int_delay(); 延時一段較長的時間 )一for (i=0;i<3;i+)(P1=0xef;/P1.4 口的燈點亮char_delay 0 ; /延時一段較長的時間P1=0xff;/熄滅char delay() ; /延
17、時一段較長的時間)實例9:用POD、P1 口分別顯示加法和減法運算結(jié)果#include<reg51. h>void main (void)(unsigned char m, n;np43;/即十進制數(shù) 2x16+11=43n=60;/ 即十進制數(shù) 3x 16+12=60P1=m+n; /P1 =103=0110 0111,結(jié)果 P1.3、P1. 4、P1.7 口的燈被點亮P0=n-m; /P0=17=0001 0001,結(jié)果 P0.0、P0.4 的燈被熄滅 /實例10:用P0、P1 口顯示乘法運算結(jié)果#include<reg51. h> /包含單片機寄存器的頭文件 vo
18、id main(void)(unsigned char m,n;unsigned int s;rrp64;n=71;s=m*n;/s=64*71=4544,需要16位二進制數(shù)表示,高8位送P1 口,低8位送P0 口由于 4544=17*256+192=H3*16*16*16+H2*16*16+H1 *16+HO兩邊同除以 256,可得 17+192/256=H3*16+H2+(H1 *16+H0)/256因此,高8位16進制數(shù)H3*16+H2必然等于17,即4544除以 256的商低8位16進制數(shù)H1*16+H0必然等于192,即4544除以256 的余數(shù)P1=s/256; 高 8 位送 P1
19、 口 , P1=17=11H=0001 0001B,1.0和1.4口 滅,其余亮P0=s%256;低 8 位送 P0 口 , P3=192=cOH=1100 0000B, P3.1, P3. 6, P3. 7口滅,其余亮 實例11:用P1、P0 口顯示除法運算結(jié)果# i ncI ude<reg51. h>/包含單片機寄存器的頭文件void main (void)(PI =36/5;求整數(shù)P0= (36%5) *10)/5; /求小數(shù)whi le(1);/無限循環(huán)防止程序“跑飛”)/實例12:用自增運算控制P0 口 8位LED流水花樣# include<reg51.h>/
20、包含單片機寄存器的頭文件/* 函數(shù)功能:延時一段時間*/ void de I ay (void)(unsigned int i;for (i=0;i<20000;i+)/*函數(shù)功能:主函數(shù)*/ void main (void)(uns igned char i;for (i=0;i<255;i+) /注意i的值不能超過255(P0=i; 將i的值送PODdelayO ; /調(diào)用延時函數(shù))/實例13:用P0 口顯示邏輯”與“運算結(jié)果# include<reg51. h>/包含單片機寄存器的頭文件void main (void)(P0=(4>0)&&(
21、9>0xab) ;/將邏輯運算結(jié)果送P0 口whiIe ;設(shè)直無限循環(huán),防止程序“跑飛”/實例14:用P0 口顯示條件運算結(jié)果# include<reg51. h>包含單片機寄存器的頭文件void main(void)(PO=(8>4)?8:4;將條件運算結(jié)果送 PO 口,P0=8=0000 1000B whi le(1);/設(shè)置無限循環(huán),防止程序“跑飛”)/實例15:用P0 口顯示按住“異或“運算結(jié)果# include<reg51. h> /包含單片機寄存器的頭文件 void main(void)(P0=0xa27)x3c;將條件運算結(jié)果送 PO 口,P0
22、=8=0000 1000B whiIe ;設(shè)置無限循環(huán),防止程序“跑飛”/實例16:用P0顯示左移運算結(jié)果# include<reg51. h> 包含單片機寄存器的頭文件 void ma in (void)(P0=0x3b«2; /將左移運算結(jié)果送 PO 口,P0=1110 1100B=0xec whi le(1)word完工整.版范文范例學(xué)習(xí)指導(dǎo)無限循環(huán),防止程序“跑飛”實例17: “萬能迂輯電路”實驗#i ncIude<reg51. h>sbit F二P4;sbit X二Pr5;sbit Y二P6;sbit Z=Pr7;void main(void)/包含
23、單片機寄存器的頭文件/將F位定義為P1.4將X位定義為P1.5將Y位定義為P1.6將Z位定義為P1.7wh i le(1)F=(CX)&Y) |Z; /將邏輯運算結(jié)果賦給F/實例18:用右移運算流水點亮P1 口 8位LED#include<reg51. h> /包含單片機寄存器的頭文件 /* 函數(shù)功能:延時一段時間 */void delay (void)unsigned int n;for (n=0;n<30000;n+)/*函數(shù)功能:主函數(shù)*/ void ma in (void)uns igned char i ; whiIe (P1=0xff;delay();fo
24、r (i=0; i<8; i+)設(shè)置循環(huán)次數(shù)為8P1=P1»1;delay ();/實例19:if語句控制P0 口 8位LED的流水方向每次循環(huán)P1的各二進位右移1位,高位補0 調(diào)用延時函數(shù)word完美整理版#include<reg51.h> sbit S1 二P4; sbit S2二P5;if (S1=0)P0=0x0f; if (S2=0)P0=0xf0;sbit S1=P1'4;/將S1位定義為P1.4包含單片機寄存器的頭文件將S1位定義為P1.4/將S2位定義為P1.5 /* 函教功能:主函數(shù)*/ void ma in (void)wh i Ie (
25、1)如果按鍵S1按下/P0 口高四位LED點亮如果按鍵S2按下/P0 口低四位LED點亮實例20:用swtich語句的控制P0 口 8位LED的點亮狀態(tài)#include<reg51. h> /包含單片機寄存器的頭文件/* 函數(shù)功能:延時一段時間*/ void delay (void)unsigned int n;for(n=0;n<10000;n+)/*函教功能:主函數(shù)*/void ma in (void)unsigned char i;i=0; 將i初始化為0whi le(1)(if (S1=0) 如果S1鍵按下(de I ay 0 ; 延時一7殳時間if (S1=0) /
26、如果再次檢測到S1鍵按下 i+;/i 自增 1if(i=9) /如果i=9,重新將其置為1 i=1;)swi tch (i)/使用多分支選擇語句case 1: PO=Oxfe; /第一個 LED 亮break;case 2: P0=0xfd;第二個LED亮break;case 3:P0=0xfb;/第三個 LED 亮break;case 4:P0=0xf7; 第四個 LED 亮 break;case 5:P0=0xef;/第五個 LED 亮break;case 6:P0=0xdf; 第六個 LED 亮 break;case 7:P0=0xbf;/第七個 LED 亮break;case 8:P0
27、=0x7f; 第八個 LED 亮 break;default: 缺省值,關(guān)閉所有LEDP0=0xff;范文范例學(xué)習(xí)指導(dǎo)/實例21:用for語句控制蜂鳴器鳴笛次數(shù)#include<reg51. h> 包含單片機寄存器的頭文件 sb it sound=P3'7; /將 sound 位定義為 P3. 7 /* 函數(shù)功能:延時形成1600Hz音頻 */ void delay1600 (void)unsigned char n;for(n=0;n<100;n+)/* 函數(shù)功能:延時形成800Hz音頻*/ void de Iay800 (void)(unsigned char n
28、;for (n=0;n<200;n+)/* 的教功能:主函數(shù)*/void main(void)uns i gned i nt i;whi le(1)(for(i=0;i<830;i+)(sound=0; /P3. 7輸出低電平delay1600 ();sound=1; P3. 7輸出高電平de I ay1600 ();)for(i=0;i<200;i+)(sound=0; /P3. 7輸出低也平delay800();sound=1; /P3. 7輸出高電平 de I ay800 ();)實例22:用while語句控制LED#include<reg51.h> 包含單
29、片機寄存器的頭文件 /* 函數(shù)功能:延時約 60ms (3*100*200=60000 us) */ void delay60ms (void)unsigned char m, n;for(m=0;m<100;m+)for (n=0;n<200;n+)/* 函教功能:主函數(shù)*/ void ma in (void)unsigned char i ;i=0; 將 iwhi Ie(i<0xff)whi le(1) 無限循環(huán)初始化為0當(dāng)i小于Oxff (255)時執(zhí)行循環(huán)體PO=i;/將i送P0 口顯示word完美整理版delay60ms() ; /延時i+;/i自增1實例23:用d
30、orrhile語句控制P0 口 8住LED流水點亮#include<reg51. h> /包含單片機寄存器的頭文件 /* 的數(shù)功能:延時約 60ms (3*100*200=60000 u s) */ void delay60ms (void)unsigned char m, n;for(m=0;m<100;m+)for (n=0;n<200;n+)函數(shù)功能:主函數(shù)*/ void ma in (void)doP0=0xfe;de lay60ms ();P0=0xfd; delay60ms ();PO=Oxfb; delay60ms ();P0=0xf7;delay60ms
31、 ();P0=0xef;delay60ms ();P0=0xdf; delay60ms();de lay60ms ();P0=0xbf; de lay60ms ();P0=0x7f;de I ay60ms ();whi le(1);第一個LED亮第二個LED亮第三個LED亮第四個LED亮第五個LED亮第六個LED亮第七個LED亮第八個LED亮無限循環(huán),使8位LED循環(huán)流水點亮/實例24:用字符型數(shù)組控制P0 口 8位LED流水點亮#include<reg51. h> /包含單片機寄存器的頭文件 /* 函數(shù)功能:延時約 60ms (3*100*200=60000 u s) */ vo
32、id delay60ms (void)unsigned char m, n;for (rrF0;m<100; m+)for (n=0;n<200;n+) )/* 函數(shù)功能:主函數(shù)*/ void ma in (void)uns igned char i ;uns i gned char code Tab = 0xfe, Oxfd, Oxfb, 0xf7, Oxef, Oxdf, Oxbf, 0x7f);定義無符號字符型數(shù)組whi le(1)for(i=0;i<8;i+)PO=Tabi;依次引用數(shù)組元素,并將其送P0 口顯示 de I ay60ms () ;/調(diào)用延時函數(shù)/實例2
33、5:用P0 口顯示字符串常量#include<reg51. h> /包含單片機寄存器的頭文件 /* 函數(shù)功能:延時約 150ms (3*200*250=150 000 rs=1 50ms */ void de I ay150ms (void) (unsigned char m,n;for(m=0;m<200;m+)for (n=0;n<250;n+)/*函數(shù)功能:主函數(shù)*/ void main (void)unsigned char str口 = "Now,Temperature is :" 將字符串賦給字符型 全部元素賦值unsigned char
34、 i;whiIe (i=0; 將i初始化為0,從第一個元素開始顯示whi le(stri!=*0') 只要沒有顯示到結(jié)束標(biāo)志0'(P0=stri;/將第i個字符送到P0 口顯示de I ay150ms 0 ; 調(diào)用150ms延時函數(shù)i+;指向下一個待顯字符)實例26:用P0 口顯示指針運算結(jié)果#include<reg51. h> void main (void)(unsigned char *p1, *p2; 定義無符號字符型指針變量p1, p2unsigned char i, j; 定義無符號字符型數(shù)據(jù)i=25;給i賦初值25j=15;pl二&i;使指針變
35、量指向i,對指針初始化p2=&j;使指針變量指向j,對指針初始化P0=*p1+*p2;/*p1+*p2 相當(dāng)于 i+j,所以 P0=25+15=40二0x28/«' P0=0010 1000B,結(jié)果 P0.3、P0, 5 引腳 LED 熄滅,其余點亮 whi le(1);/無限循環(huán),防止程序“跑飛”)實例27:用指針數(shù)組控制P0 口 8住LED流水點亮#include<reg51.h> /*函數(shù)功能:延時約 150ms (3*200*250=150 000 us=150ms*/void de I ay150ms (void)(uns igned char
36、m,n;for(m=0;m<200;m+)for (n=0;n<250;n+)/*函數(shù)功能:主函數(shù)*/void ma in (void)(unsigned char code Tab = 0xfe, Oxfd, Oxfb, 0xf7, Oxef, Oxdf, Oxbf, 0x7f); uns igned char*p = &Tab0, &Tab1 , &Tab2, &Tab3, &Tab4, &Tab5,&Tab6, &Tab7;unsigned char i; 定義無符號字符型數(shù)據(jù) whiIe (for(i=0;i&
37、lt;8;i+)(P0=*pi;de I ay150ms ();實例28:用數(shù)組的指針控制P0 口 8位LED流水點亮#include<reg51.h> /*函數(shù)功能:延時約 150ms (3*200*250=150 000 ps=150ms */ void de I ay150ms (void)uns igned char m,n;for(m=0;m<200;m+)for (n=0;n<250;n+)函數(shù)功能:主函數(shù)-一 一 ,一一一一一,一一一,一一一,一一一一一一一一 一一一一一一一一L4L4一一 一一一 一 一 (一一一一心一一,一匚 /*/void main
38、(void)(unsigned char i;unsigned char Tab = (OxFF, OxFE, OxFD, OxFB, 0xF7, OxEF, OxDF, OxBF, 0x7F, OxBF, OxDF, OxEF, 0xF7, OxFB, OxFD, OxFE,OxFE, OxFC, OxFB, OxFO, OxEO, OxCO, 0x80, 0x00, 0xE7, OxDB, OxBD, 0x7E, 0x3C, 0x18, 0x00, 0x81, 0xC3, 0xE7, 0x7E, OxBD, OxDB, 0xE7, OxBD, OxDB; /流水燈控制碼unsigned c
39、har *p;定義無符號字符型指針p=Tab;/將數(shù)組首地址存入指針pwhi le(1)(for(i=0;i<32;i+) 共32個流水燈控制碼(P0=*(p+ i);/* (p+i)的值等于 aide I ay150ms () ; /調(diào)用 150ms 延時函數(shù)實例29:用P0、P1 口顯示整型函數(shù)返回值#include<reg51.h>/* 函數(shù)功能:計算兩個無符號整數(shù)的和*/ unsigned int sum(int a, int b)unsigned int s;s=a+b;return (s);)/* 函數(shù)功能:主函教*/void ma in (void)unsign
40、ed z;z=sum(2008, 2009);P1=z/256;/取得z的高8位P0=z%256 ;/取得z的低8位whiIe實例30:用有參函數(shù)控制P0 口 8位LED流水速度#include<reg51.h> /*函數(shù)功能:延時一段時間*/ void delay(unsigned char x) (unsigned char m,n;for(m=0;m<x;m+)for (n=0;n<200;n+)/* 的教功能:主函數(shù)*/void ma in (void)uns igned char i;unsigned char codeTab = 0xFE, OxFD, Ox
41、FB, 0xF7, OxEF, OxDF, OxBF, 0x7F;/流水燈控制碼whi le(1)(/快速流水點亮LEDfor(i=0;i<8;i+) 共8個流水燈控制碼(P0=Tabi;de I ay (100); /延時約 60ms, (3*100*200=60 000 us) )/慢速流水點亮LEDfor(i=0;i<8; i+) 共8個流水燈控制碼(PO=Tabi;de I ay (250); 延時約 150ms, (3*250*200=150 000 us)/實例31:用數(shù)組作函數(shù)參數(shù)控制流水花樣#include<reg51.h> /*函數(shù)功能:延時約150m
42、s*/ void delay (void)unsigned char m,n;for(m=0;m<200;m+)for(n=0;n<250;n+)/*函數(shù)功能:流水點亮P0 口 8位LED */ void Ied_flow (unsigned char a8) (unsigned char i;for (i=0;i<8;i+)P0=ai;de I ay 0;)/* 函數(shù)功能:主函數(shù)*/void ma in (void)( unsigned char codeTab = OxFE, OxFD, OxFB, 0xF7, OxEF, OxDF, OxBF, 0x7F;/流水燈控制碼
43、 led_f low(Tab);實例32:用指針作函數(shù)參數(shù)控制P0 口 8位LED流水點亮#include<reg51.h> /*函數(shù)功能:延時約150ms*/ void delay(void)unsigned char m,n;for(m=0;m<200;m+)for (n=0;n<250;n+)/*函數(shù)功能:流水點亮P0 口 8位LEDvoid I ed_f low (unsigned char *p) /形參為無符號字符型指針unsigned char i;whi le(1)Ii=0; 將i置為0,指向數(shù)組第一個元素while(*(p+i)!='0') 只要沒有指向數(shù)組的結(jié)束標(biāo)志(P0=*(p+i);/取的指針?biāo)缸兞?數(shù)組元素)的值,送P0D delay (); 調(diào)用延時函數(shù)i+; 指向下一個數(shù)組元素/* 函教功能:主函數(shù)void main(void)unsigned char code Tab = OxFE, OxFD, OxFBt 0xF7, OxEF, OxDF, OxBF, 0x7F,0x7F, OxBF, OxDF, OxEF, 0xF7, OxFB, OxFD, OxFE,OxFF, OxFE, OxFC
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微縮攝影行業(yè)市場調(diào)研分析報告
- 辦公室的布局設(shè)計行業(yè)相關(guān)項目經(jīng)營管理報告
- 人工日光浴曬黑服務(wù)行業(yè)營銷策略方案
- 腳踏車輛用馱籃項目營銷計劃書
- 螺旋輸送機產(chǎn)品供應(yīng)鏈分析
- 出牙咬環(huán)產(chǎn)品供應(yīng)鏈分析
- 乘機旅行手提包產(chǎn)業(yè)鏈招商引資的調(diào)研報告
- 臨床診斷服務(wù)行業(yè)經(jīng)營分析報告
- 古玩估價行業(yè)市場調(diào)研分析報告
- 化學(xué)品檢測行業(yè)營銷策略方案
- GB 21258-2024燃煤發(fā)電機組單位產(chǎn)品能源消耗限額
- 1.1公有制為主體多種所有制經(jīng)濟共同發(fā)展課件-高中政治統(tǒng)編版必修二經(jīng)濟與社會
- 研發(fā)投入核算管理制度
- 新疆哈密地區(qū)(2024年-2025年小學(xué)四年級語文)人教版期中考試(上學(xué)期)試卷及答案
- 2024-2030年中國SUV行業(yè)市場深度調(diào)研及發(fā)展前景與投資前景研究報告
- 2023年廣州市教育系統(tǒng)招聘優(yōu)才計劃筆試真題
- 24.1.2 垂直于弦的直徑(1) 人教版數(shù)學(xué)九年級上冊課件
- 新教材適用高中物理第一章動量守恒定律測評新人教版選擇性必修第一冊
- 中國銀行河北省分行2022年度高端客戶活動方案
- 統(tǒng)編版(2024新版)道德與法治七年級上冊5.1《走近老師》教案
- 智能化技術(shù)安全交底記錄模板
評論
0/150
提交評論