//包含51單片機寄存器定義的頭文件voidmain(void){P1=0xfe;//P1=11111110B,即P1.0輸出低電平}//實例2:用單片機控制一個">
歡迎來到天天文庫
瀏覽記錄
ID:48703773
大?。?10.00 KB
頁數(shù):187頁
時間:2020-02-27
《單片機編程實例大全.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ù),最大取值范圍65535for(i=0;i<20000;i++)//做20000次
2、空循環(huán);//什么也不做,等待一個機器周期}/函數(shù)功能:主函數(shù)(C語言規(guī)定必須有也只能有1個主函數(shù))/voidmain(void){while(1)//無限循環(huán){P1=0xfe;//P1=11111110B,P1.0輸出低電平delay();//延時一段時間P1=0xff;//P1=11111111B,P1.0輸出高電平delay();//延時一段時間}}//實例3:將P1口狀態(tài)分別送入P0、P2、P3口:認識I/O口的引腳功能#include//包含單片機寄存器的頭文件/函數(shù)功能:主函數(shù)(C語言規(guī)定必須有也只能有1個主函數(shù))/voidmai
3、n(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ù)功能:延時一段時間/voiddelay(void){unsignedchari,j;for(i=0;i<250;i++)for(j=0;j<250;j++);}/函數(shù)功能:主函數(shù)/voidmain(void){while(1){P3=0
4、xfe;//第一個燈亮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;//第六個燈亮delay();//調(diào)用延時函數(shù)P3=0xbf;//第七個燈亮delay();//調(diào)用延時函數(shù)P3=0x7f;//第八個燈亮delay();//調(diào)用延時函數(shù)}}//實例7:通過對P3口地址的操作流水點亮8位LED#include5、eg51.h>//包含單片機寄存器的頭文件sfrx=0xb0;//P3口在存儲器中的地址是b0H,通過sfr可定義8051內(nèi)核單片機//的所有內(nèi)部8位特殊功能寄存器,對地址x的操作也就是對P1口的操作/函數(shù)功能:延時一段時間/voiddelay(void){unsignedchari,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;//第二個6、燈亮delay();//調(diào)用延時函數(shù)x=0xfb;//第三個燈亮delay();//調(diào)用延時函數(shù)x=0xf7;//第四個燈亮delay();//調(diào)用延時函數(shù)x=0xef;//第五個燈亮delay();//調(diào)用延時函數(shù)x=0xdf;//第六個燈亮delay();//調(diào)用延時函數(shù)x=0xbf;//第七個燈亮delay();//調(diào)用延時函數(shù)x=0x7f;//第八個燈亮delay();//調(diào)用延時函數(shù)}}//實例8:用不同數(shù)據(jù)類型控制燈閃爍時間#include//包含單片機寄存器的頭文件/函數(shù)功能:用整形數(shù)據(jù)延時一段時間/voidint_delay7、(void)//延時一段較長的時間{unsignedintm;//定義無符號整形變量,雙字節(jié)數(shù)據(jù),值域為0~65535for(m=0;m<36000;m++);//空操作}/函數(shù)功能:用字符型數(shù)據(jù)延時一段時間/voidchar_delay(void)//延時一段較短的時間{unsignedchari,j;//定義無符號字符型變量,單字節(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=0;i<3;8、i++){P1=0xfe;//P1.0口的燈點亮in
5、eg51.h>//包含單片機寄存器的頭文件sfrx=0xb0;//P3口在存儲器中的地址是b0H,通過sfr可定義8051內(nèi)核單片機//的所有內(nèi)部8位特殊功能寄存器,對地址x的操作也就是對P1口的操作/函數(shù)功能:延時一段時間/voiddelay(void){unsignedchari,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;//第二個
6、燈亮delay();//調(diào)用延時函數(shù)x=0xfb;//第三個燈亮delay();//調(diào)用延時函數(shù)x=0xf7;//第四個燈亮delay();//調(diào)用延時函數(shù)x=0xef;//第五個燈亮delay();//調(diào)用延時函數(shù)x=0xdf;//第六個燈亮delay();//調(diào)用延時函數(shù)x=0xbf;//第七個燈亮delay();//調(diào)用延時函數(shù)x=0x7f;//第八個燈亮delay();//調(diào)用延時函數(shù)}}//實例8:用不同數(shù)據(jù)類型控制燈閃爍時間#include//包含單片機寄存器的頭文件/函數(shù)功能:用整形數(shù)據(jù)延時一段時間/voidint_delay
7、(void)//延時一段較長的時間{unsignedintm;//定義無符號整形變量,雙字節(jié)數(shù)據(jù),值域為0~65535for(m=0;m<36000;m++);//空操作}/函數(shù)功能:用字符型數(shù)據(jù)延時一段時間/voidchar_delay(void)//延時一段較短的時間{unsignedchari,j;//定義無符號字符型變量,單字節(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=0;i<3;
8、i++){P1=0xfe;//P1.0口的燈點亮in
此文檔下載收益歸作者所有