經(jīng)典單片機(jī)編程100例_第1頁(yè)
經(jīng)典單片機(jī)編程100例_第2頁(yè)
經(jīng)典單片機(jī)編程100例_第3頁(yè)
經(jīng)典單片機(jī)編程100例_第4頁(yè)
經(jīng)典單片機(jī)編程100例_第5頁(yè)
已閱讀5頁(yè),還剩90頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1 6 6......6 8 8 .專業(yè)資料.整理分享....... 實(shí)例36:內(nèi)部函數(shù)intrins.h應(yīng)用舉例 實(shí)例37:標(biāo)準(zhǔn)函數(shù)stdlib.h應(yīng)用舉例 實(shí)例38:字符串函數(shù)string.h應(yīng)用舉例 .專業(yè)資料.整理分享. .專業(yè)資料.整理分享. .專業(yè)資料.整理分享. ...... .專業(yè)資料.整理分享. //模擬霍爾脈沖 {}/*********************************************************************************/.專業(yè)資料.整理分享.voiddelay(void){for(i=0;i<20000;i++);}//兩個(gè)void意思分別為無(wú)需返回值,沒(méi)//什么也不做,等待一個(gè)機(jī)器周期/***************************************************************************************************************/{while(1)//無(wú)限循環(huán){delay();//延時(shí)一段時(shí)間delay();//延時(shí)一段時(shí)間}}.專業(yè)資料.整理分享.能/***************************************************************************************************************/{while(1){}}//無(wú)限循環(huán)/****************************************.專業(yè)資料.整理分享.*****************************************/voiddelay(void){i,j;for(i=0;i<250;i++)for(j=0;j<250;j++);}/***************************************************************************************************************/{while(1){//第一個(gè)燈亮delay();//調(diào)用延時(shí)函數(shù)//第二個(gè)燈亮delay();//調(diào)用延時(shí)函數(shù)//第三個(gè)燈亮delay();//調(diào)用延時(shí)函數(shù).專業(yè)資料.整理分享.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è)燈亮delay();//調(diào)用延時(shí)函數(shù)P3=0x7f;//第八個(gè)燈亮delay();//調(diào)用延時(shí)函數(shù)}}#include<reg51.h>//包含單片機(jī)寄存器的頭文件sfrx=0xb0;//P3口在存儲(chǔ)器中的地址是b0H,通過(guò)sfr可定義//的所有內(nèi)部8位特殊功能寄存器,對(duì)地址x的操作也就/*********************************************************************************/voiddelay(void){unsignedchari,j;for(i=0;i<250;i++)for(j=0;j<250;j++);//利用循環(huán)等待若干機(jī)器周期,從而延時(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è)燈亮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();//調(diào)用延時(shí)函數(shù)x=0x7f;//第八個(gè)燈亮delay();//調(diào)用延時(shí)函數(shù)}}#include<reg51.h>//包含單片機(jī)寄存器的頭文件/************************************************************************************************************/voidint_delay(void)//延時(shí)一段較長(zhǎng)的時(shí)間{unsignedintm;//定義無(wú)符號(hào)整形變量,雙字節(jié)數(shù)據(jù),值域;//空操作}/************************************************************************************************************/voidchar_delay(void)//延時(shí)一段較短的時(shí)間{unsignedchari,j;//for(i=0;i<200;i++)for(j=0;j<180;j++);//空操作}/************************************************************************************************************/voidmain(void){unsignedchari;while(1){for(i=0;i<3;i++){P1=0xfe;//P1.0口的燈點(diǎn)亮int_delay();//延時(shí)一段較長(zhǎng)的時(shí)間P1=0xff;//熄滅int_delay();//延時(shí)一段較長(zhǎng)的時(shí)間}for(i=0;i<3;i++){P1=0xef;//P1.4口的燈點(diǎn)亮char_delay();//延時(shí)一段較長(zhǎng)的時(shí)間P1=0xff;//熄滅char_delay();//延時(shí)一段較長(zhǎng)的時(shí)間}}}#include<reg51.h>voidmain(void){unsignedcharm,n;//即十進(jìn)制數(shù)2x16+11=43n=60;//即十進(jìn)制數(shù)3x16+12=60//P1=103=01100111B,結(jié)果P1.3、P1.4、P1.7口的燈//P0=17=00010001B,結(jié)果P0.0、P0.4的燈被熄滅}#include<reg51.h>//包含單片機(jī)寄存器的頭文件voidmain(void){unsignedcharm,n;unsignedints;n=71;s=m*n;//s=64*71=4544,需要16位二進(jìn)制數(shù)表示,高8位//由于0000B,P3.1,P3.6,P3.7口滅,其余亮}{while(1).專業(yè)資料.整理分享.;//無(wú)限循環(huán)防止程序“跑飛”}/************************************************************************************************************/voiddelay(void){for(i=0;i<20000;i++);}/************************************************************************************************************/{for(i=0;i<255;i++)//注意i的值不能超過(guò)255.專業(yè)資料.整理分享.{delay();//調(diào)用延時(shí)函數(shù)}}{while(1);//設(shè)置無(wú)限循環(huán),防止程序“跑飛”}{while(1).專業(yè)資料.整理分享.;//設(shè)置無(wú)限循環(huán),防止程序“跑飛”}{while(1);//設(shè)置無(wú)限循環(huán),防止程序“跑飛”}{while(1);//無(wú)限循環(huán),防止程序“跑飛”}.專業(yè)資料.整理分享.sbitsbitsbitsbit{//包含單片機(jī)寄存器的頭文件//將F位定義為P1.4while(1){F=((~X)&Y)|Z;//將邏輯運(yùn)算結(jié)果賦給;}}/**********************************************************/.專業(yè)資料.整理分享.voiddelay(void){;}/**********************************************************/{while(1){delay();for(i=0;i<8;i++)//設(shè)置循環(huán)次數(shù)為8{0delay();//調(diào)用延時(shí)函數(shù)}.專業(yè)資料.整理分享.}}/**********************************************************/{while(1){}}.專業(yè)資料.整理分享./**********************************************************/voiddelay(void){;}/**********************************************************/{i=0;//將i初始化為0while(1){.專業(yè)資料.整理分享.{delay();//延時(shí)一段時(shí)間if(i==9)//如果i=9,重新將其置為1}switch(i)//使用多分支選擇語(yǔ)句{break;break;break;break;break;break;.專業(yè)資料.整理分享.break;break;default://缺省值,關(guān)閉所有LED}}}/********************************************************************************/{;}.專業(yè)資料.整理分享./********************************************************************************/voiddelay800(void){unsignedcharn;for(n=0;n<200;n++);}/********************************************************************************/voidmain(void){unsignedinti;while(1){for(i=0;i<830;i++){sound=0;//P3.7輸出低電平delay1600();sound=1;//P3.7輸出高電平delay1600();}for(i=0;i<200;i++){sound=0;//P3.7輸出低電平delay800();sound=1;//P3.7輸出高電平delay800();}}}#include<reg51.h>//包含單片機(jī)寄存器的頭文件/********************************************************************************/voiddelay60ms(void){unsignedcharm,n;for(n=0;n<200;n++);}/********************************************************************************/voidmain(void){unsignedchari;while(1)//無(wú)限循環(huán){i=0;//將i初始化為0while(i<0xff)//當(dāng)i小于0xff(255)時(shí)執(zhí)行循環(huán)體{P0=i;//將i送P0口顯示delay60ms();//延時(shí)i++;//i自增1}}}#include<reg51.h>//包含單片機(jī)寄存器的頭文件/********************************************************************************/voiddelay60ms(void){unsignedcharm,n;for(n=0;n<200;n++);}/********************************************************************************/voidmain(void){{P0=0xfe;//第一個(gè)LED亮delay60ms();P0=0xfd;//第二個(gè)LED亮delay60ms();P0=0xfb;//第三個(gè)LED亮delay60ms();P0=0xf7;//第四個(gè)LED亮delay60ms();P0=0xef;//第五個(gè)LED亮delay60ms();P0=0xdf;//第六個(gè)LED亮delay60ms();delay60ms();P0=0xbf;//第七個(gè)LED亮delay60ms();P0=0x7f;//第八個(gè)LED亮delay60ms();}while(1);//無(wú)限循環(huán),使8位LED循環(huán)流水點(diǎn)亮}#include<reg51.h>//包含單片機(jī)寄存器的頭文件/********************************************************************************/voiddelay60ms(void){unsignedcharm,n;for(n=0;n<200;n++);}/********************************************************************************/voidmain(void){unsignedchari;unsignedcharcodeTab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//定義無(wú)符while(1){for(i=0;i<8;i++){P0=Tab[i];//依次引用數(shù)組元素,并將其送P0口顯示delay60ms();//調(diào)用延時(shí)函數(shù)}}}/**************************************************************************************************/{;}/**************************************************************************************************/{.專業(yè)資料.整理分享.while(1){i=0;//將i初始化為0,從第一個(gè)元素開(kāi)始顯示while(str[i]!='\0')//只要沒(méi)有顯示到結(jié)束標(biāo)志'\0'{P0=str[i];//將第i個(gè)字符送到P0口顯示}}}{i,j;//定義無(wú)符號(hào)字符型數(shù)據(jù).專業(yè)資料.整理分享.while(1);//無(wú)限循環(huán),防止程序“跑飛”}/**************************************************************************************************/{;.專業(yè)資料.整理分享.}/**************************************************************************************************/{Tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};while(1){for(i=0;i<8;i++){P0=*p[i];}}}.專業(yè)資料.整理分享./**************************************************************************************************/{;}/**************************************************************************************************/{Tab[]={0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xB.專業(yè)資料.整理分享.0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFE,0xFC,0xFB,0xF0,0xE0,0xC0,0x80,0x00,//流水燈控制碼while(1)//定義無(wú)符號(hào)字符型指針//將數(shù)組首地址存入指針p{for(i=0;i<32;i++)//共32個(gè)流水燈控制碼{P0=*(p+i);//*(p+i)的值等于a[i]}}}.專業(yè)資料.整理分享./**************************************************************************************************/{return(s);}/**************************************************************************************************/{while(1);}.專業(yè)資料.整理分享./**************************************************************************************************/{;}/**************************************************************************************************/{Tab[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};//流水燈控制碼.專業(yè)資料.整理分享.while(1){for(i=0;i<8;i++)//共8個(gè)流水燈控制碼{P0=Tab[i];}for(i=0;i<8;i++)//共8個(gè)流水燈控制碼{P0=Tab[i];}}}/**************************************************************************************************/voiddelay(void).專業(yè)資料.整理分享.{;}/**************************************************************************************************/{for(i=0;i<8;i++){P0=a[i];delay();}}/**************************************************************************************************/.專業(yè)資料.整理分享.voidmain(void){unsignedcharcodeTab[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};//流水燈控制碼led_flow(Tab);}#include<reg51.h>/**************************************************************************************************/voiddelay(void){unsignedcharm,n;for(n=0;n<250;n++);}/**************************************************************************************************/voidled_flow(unsignedchar*p)//形參為無(wú)符號(hào)字符型指針{unsignedchari;while(1){i=0;//將i置為0,指向數(shù)組第一個(gè)元素while(*(p+i)!='\0')//只要沒(méi)有指向數(shù)組的結(jié)束標(biāo)志{P0=*(p+i);//口delay();//調(diào)用延時(shí)函數(shù)i++;//指向下一個(gè)數(shù)組元素}}}/**************************************************************************************************/voidmain(void){unsignedcharcodeTab[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF,0xFE,0xFC,0xFB,0xF0,0xE0,0xC0,0x80,0x00,0xE7,0xDB,0xBD,0x7E,0xFF,0xFF,0x3C,0x18,0x0,0x81,0xC3,0xE7,0xFF,0xFF,0x7E};//流水燈控制碼unsignedchar*pointer;pointer=Tab;led_flow(pointer);}#include<reg51.h>//包含51單片機(jī)寄存器定義的頭文件unsignedcharcodeTab[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};//流水燈控制碼,該數(shù)組被定義為全局變量/***************************************************************************************************************/voiddelay(void){unsignedcharm,n;for(n=0;n<250;n++);}/***************************************************************************************************************/voidled_flow(void){unsignedchari;for(i=0;i<8;i++)//8位控制碼{P0=Tab[i];delay();}}/***************************************************************************************************************/voidmain(void){void(*p)(void);//定義函數(shù)型指針,所指函數(shù)無(wú)參數(shù),無(wú)返回值p=led_flow;//將函數(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論