資源描述:
《單片機(jī)編程實(shí)例大全》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、..學(xué)習(xí)單片機(jī)//實(shí)例1:用單片機(jī)控制第一個(gè)燈亮#include//包含51單片機(jī)寄存器定義的頭文件voidmain(void){P1=0xfe;//P1=11111110B,即P1.0輸出低電平}//實(shí)例2:用單片機(jī)控制一個(gè)燈閃爍:認(rèn)識(shí)單片機(jī)的工作頻率#include//包含單片機(jī)寄存器的頭文件/函數(shù)功能:延時(shí)一段時(shí)間/voiddelay(void)//兩個(gè)void意思分別為無(wú)需返回值,沒有參數(shù)傳遞{unsignedinti;//定義無(wú)符號(hào)整數(shù),最大取值范圍65535for(i=0;i<20
2、000;i++)//做20000次空循環(huán);//什么也不做,等待一個(gè)機(jī)器周期}/函數(shù)功能:主函數(shù)(C語(yǔ)言規(guī)定必須有也只能有1個(gè)主函數(shù))/voidmain(void){while(1)//無(wú)限循環(huán){P1=0xfe;//P1=11111110B,P1.0輸出低電平delay();//延時(shí)一段時(shí)間P1=0xff;//P1=11111111B,P1.0輸出高電平delay();//延時(shí)一段時(shí)間}}//實(shí)例3:將P1口狀態(tài)分別送入P0、P2、P3口:認(rèn)識(shí)I/O口的引腳功能#include//包含單片機(jī)寄存器的頭文件word
3、教育資料../函數(shù)功能:主函數(shù)(C語(yǔ)言規(guī)定必須有也只能有1個(gè)主函數(shù))/voidmain(void){while(1)//無(wú)限循環(huán){P1=0xff;//P1=11111111B,熄滅LEDP0=P1;//將P1口狀態(tài)送入P0口P2=P1;//將P1口狀態(tài)送入P2口P3=P1;//將P1口狀態(tài)送入P3口}}//實(shí)例4:使用P3口流水點(diǎn)亮8位LED#include//包含單片機(jī)寄存器的頭文件/函數(shù)功能:延時(shí)一段時(shí)間/voiddelay(void){unsignedchari,j;for(i=0;i<250;i++)f
4、or(j=0;j<250;j++);}/函數(shù)功能:主函數(shù)/voidmain(void){while(1){P3=0xfe;//第一個(gè)燈亮delay();//調(diào)用延時(shí)函數(shù)P3=0xfd;//第二個(gè)燈亮delay();//調(diào)用延時(shí)函數(shù)P3=0xfb;//第三個(gè)燈亮delay();//調(diào)用延時(shí)函數(shù)word教育資料..P3=0xf7;//第四個(gè)燈亮delay();//調(diào)用延時(shí)函數(shù)P3=0xef;//第五個(gè)燈亮delay();//調(diào)用延時(shí)函數(shù)P3=0xdf;//第六個(gè)燈亮delay();//調(diào)用延時(shí)函數(shù)P3=0xbf;//第七個(gè)燈亮del
5、ay();//調(diào)用延時(shí)函數(shù)P3=0x7f;//第八個(gè)燈亮delay();//調(diào)用延時(shí)函數(shù)}}//實(shí)例7:通過對(duì)P3口地址的操作流水點(diǎn)亮8位LED#include//包含單片機(jī)寄存器的頭文件sfrx=0xb0;//P3口在存儲(chǔ)器中的地址是b0H,通過sfr可定義8051內(nèi)核單片機(jī)//的所有內(nèi)部8位特殊功能寄存器,對(duì)地址x的操作也就是對(duì)P1口的操作/函數(shù)功能:延時(shí)一段時(shí)間/voiddelay(void){unsignedchari,j;for(i=0;i<250;i++)for(j=0;j<250;j++);//利
6、用循環(huán)等待若干機(jī)器周期,從而延時(shí)一段時(shí)間}/函數(shù)功能:主函數(shù)/voidmain(void){while(1){x=0xfe;//第一個(gè)燈亮delay();//調(diào)用延時(shí)函數(shù)x=0xfd;//第二個(gè)燈亮delay();//調(diào)用延時(shí)函數(shù)x=0xfb;//第三個(gè)燈亮delay();//調(diào)用延時(shí)函數(shù)x=0xf7;//第四個(gè)燈亮word教育資料..delay();//調(diào)用延時(shí)函數(shù)x=0xef;//第五個(gè)燈亮delay();//調(diào)用延時(shí)函數(shù)x=0xdf;//第六個(gè)燈亮delay();//調(diào)用延時(shí)函數(shù)x=0xbf;//第七個(gè)燈亮delay();
7、//調(diào)用延時(shí)函數(shù)x=0x7f;//第八個(gè)燈亮delay();//調(diào)用延時(shí)函數(shù)}}//實(shí)例8:用不同數(shù)據(jù)類型控制燈閃爍時(shí)間#include//包含單片機(jī)寄存器的頭文件/函數(shù)功能:用整形數(shù)據(jù)延時(shí)一段時(shí)間/voidint_delay(void)//延時(shí)一段較長(zhǎng)的時(shí)間{unsignedintm;//定義無(wú)符號(hào)整形變量,雙字節(jié)數(shù)據(jù),值域?yàn)?~65535for(m=0;m<36000;m++);//空操作}/函數(shù)功能:用字符型數(shù)據(jù)延時(shí)一段時(shí)間/voidchar_delay(void)//延時(shí)一段較短的時(shí)間{unsigned
8、chari,j;//定義無(wú)符號(hào)字符型變量,單字節(jié)數(shù)據(jù),值域0~255for(i=0;i<200;i++)for(j=0;j<180;j++);//空操作}/函數(shù)功能:主函數(shù)/voidmain(void){unsignedchari;while(1){for(i=