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