下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
學(xué)會(huì)單片機(jī)只要十天目錄 錯(cuò)誤!未定義書(shū)簽。************************************************************じケj]勺f|i用翼I采***************TOC\o"1-5"\h\z\o"CurrentDocument"實(shí)例3:用單片機(jī)控制第一個(gè)燈亮 4\o"CurrentDocument"實(shí)例4:用單片機(jī)控制一個(gè)燈閃爍:認(rèn)識(shí)單片機(jī)的工作頻率 4\o"CurrentDocument"實(shí)例5:將P1口狀態(tài)分別送入PO、P2、P3ロ:認(rèn)識(shí)5??诘囊_功能 5\o"CurrentDocument"實(shí)例6:使用P3口流水點(diǎn)亮8位LED 5\o"CurrentDocument"實(shí)例7:通過(guò)對(duì)P3口地址的操作流水點(diǎn)亮8位LED 6\o"CurrentDocument"實(shí)例8:用不同數(shù)據(jù)類(lèi)型控制燈閃爍時(shí)間 7\o"CurrentDocument"實(shí)例9:用PO門(mén)、P!口分別顯示加法和減法運(yùn)算結(jié)果 8\o"CurrentDocument"實(shí)例10:用P0、P1口顯示乘法運(yùn)算結(jié)果 9\o"CurrentDocument"實(shí)例11:用Pl、P0口顯示除法運(yùn)算結(jié)果 9\o"CurrentDocument"實(shí)例12:用自增運(yùn)算控制P0ロ8位LED流水花樣 10\o"CurrentDocument"實(shí)例13:用P0口顯示邏輯"與"運(yùn)算結(jié)果 10\o"CurrentDocument"實(shí)例14:用P0口顯示條件運(yùn)算結(jié)果 11\o"CurrentDocument"實(shí)例15:用P0ロ顯示按位"異或"運(yùn)算結(jié)果 11\o"CurrentDocument"實(shí)例16:用P0顯示左移運(yùn)算結(jié)果 11\o"CurrentDocument"實(shí)例17:"萬(wàn)能邏輯電路,I實(shí)驗(yàn) 11\o"CurrentDocument"實(shí)例18:用右移運(yùn)算流水點(diǎn)亮P1ロ8位LED 12\o"CurrentDocument"實(shí)例19:用if語(yǔ)句控制P0ロ8位LED的流水方向 13\o"CurrentDocument"實(shí)例20:用swtich語(yǔ)句的控制P0ロ8位LED的點(diǎn)亮狀態(tài) 13\o"CurrentDocument"實(shí)例21:用for語(yǔ)句控制蜂鳴器鳴笛次數(shù) 14\o"CurrentDocument"實(shí)例22:用while語(yǔ)句控制LED 16\o"CurrentDocument"實(shí)例23:用do-while語(yǔ)句控制P0ロ8位LED流水點(diǎn)亮 16\o"CurrentDocument"實(shí)例24:用字符型數(shù)組控制P0ロ8位LED流水點(diǎn)亮 17\o"CurrentDocument"實(shí)例25:用P0口顯示字符串常量 18\o"CurrentDocument"實(shí)例26:用P0口顯示指針運(yùn)算結(jié)果 19\o"CurrentDocument"實(shí)例27:用指針數(shù)組控制P0ロ8位LED流水點(diǎn)亮 19\o"CurrentDocument"實(shí)例28:用數(shù)組的指針控制P0ロ8位LED流水點(diǎn)亮 20\o"CurrentDocument"實(shí)例29:用P0ヽP1口顯示整型函數(shù)返回值 21\o"CurrentDocument"實(shí)例30:用有參函數(shù)控制P0ロ8位LED流水速度 22\o"CurrentDocument"實(shí)例31:用數(shù)組作函數(shù)參數(shù)控制流水花樣 23\o"CurrentDocument"實(shí)例32:用指針作函數(shù)參數(shù)控制P0ロ8位LED流水點(diǎn)亮 23\o"CurrentDocument"實(shí)例33:用函數(shù)型指針控制P1口燈花樣 25\o"CurrentDocument"實(shí)例34:用指針數(shù)組作為函數(shù)的參數(shù)顯示多個(gè)字符串 26\o"CurrentDocument"實(shí)例35:字符函數(shù)ctype.h應(yīng)用舉例 27\o"CurrentDocument"實(shí)例36:內(nèi)部函數(shù)intrins.h應(yīng)用舉例 27\o"CurrentDocument"實(shí)例37:標(biāo)準(zhǔn)函數(shù)stdlib.h應(yīng)用舉例 28\o"CurrentDocument"實(shí)例38:字符串函數(shù)string.h應(yīng)用舉例 29\o"CurrentDocument"實(shí)例39:宏定義應(yīng)用舉例2 29
實(shí)例40:宏定義應(yīng)用挙例2 30實(shí)例41:宏定義應(yīng)用舉例3 30り'.********中Sf?定[)^?**********************中^^定中斷、定中斷、定時(shí)器************TOC\o"1-5"\h\z*******************************************************ツ 31\o"CurrentDocument"實(shí)例42:用定時(shí)器T0查詢(xún)方式P208位控制LED閃爍 31\o"CurrentDocument"實(shí)例43:用定時(shí)器T1査詢(xún)方式控制單片機(jī)發(fā)出1KHZ音頻 31\o"CurrentDocument"實(shí)例44:將計(jì)數(shù)器T0計(jì)數(shù)的結(jié)果送P1ロ8位LED顯示 32\o"CurrentDocument"實(shí)例45:用定時(shí)器T0的中斷控制1位LED閃爍 33\o"CurrentDocument"實(shí)例46:用定時(shí)器T0的中斷實(shí)現(xiàn)長(zhǎng)時(shí)間定時(shí) 34\o"CurrentDocument"實(shí)例47:用定時(shí)器T1中斷控制兩個(gè)LED以不同周期閃爍 34\o"CurrentDocument"實(shí)例48:用計(jì)數(shù)器T1的中斷控制蜂鳴器發(fā)出lKHz音頻 36\o"CurrentDocument"實(shí)例49:用定時(shí)器T0的中斷實(shí)現(xiàn)"渴望"主題曲的播放 36\o"CurrentDocument"實(shí)例50-1:輸出50個(gè)矩形脈沖 39\o"CurrentDocument"實(shí)例50-2:計(jì)數(shù)器T0統(tǒng)計(jì)外部脈沖數(shù) 40\o"CurrentDocument"實(shí)例51-2:定時(shí)器TO的模式2測(cè)量正脈沖寬度 40\o"CurrentDocument"實(shí)例52:用定時(shí)器T0控制輸出高低寬度不同的矩形波 41\o"CurrentDocument"實(shí)例53:用外中斷〇的中斷方式進(jìn)行數(shù)據(jù)采集 42\o"CurrentDocument"實(shí)例54-1:輸出負(fù)脈寬為200微秒的方波 43\o"CurrentDocument"實(shí)例54-2:測(cè)量負(fù)脈沖寬度 43\o"CurrentDocument"實(shí)例55:方式〇控制流水燈循環(huán)點(diǎn)亮 44\o"CurrentDocument"實(shí)例56-1:數(shù)據(jù)發(fā)送程序 45\o"CurrentDocument"實(shí)例56-2:數(shù)據(jù)接收程序 47\o"CurrentDocument"實(shí)例57-1:數(shù)據(jù)發(fā)送程序 47\o"CurrentDocument"實(shí)例57-2:數(shù)據(jù)接收程序 49\o"CurrentDocument"實(shí)例58:?jiǎn)纹瑱C(jī)向PC發(fā)送數(shù)據(jù) 50\o"CurrentDocument"實(shí)例59:?jiǎn)纹瑱C(jī)接收PC發(fā)出的數(shù)據(jù) 51管顯示數(shù)碼管顯示數(shù)碼管顯示管顯示數(shù)碼管顯示數(shù)碼管顯示數(shù)碼管顯示 52 52TOC\o"1-5"\h\z\o"CurrentDocument"60:用LED數(shù)碼顯示數(shù)字5 52\o"CurrentDocument"61:用LED數(shù)碼顯示器循環(huán)顯示數(shù)字。~9 52\o"CurrentDocument"62:用數(shù)碼管慢速動(dòng)態(tài)掃描顯示數(shù)字"1234” 53\o"CurrentDocument"63:用LED數(shù)碼顯示器偽靜態(tài)顯示數(shù)字1234 54\o"CurrentDocument"64S用數(shù)碼管顯示動(dòng)態(tài)檢測(cè)結(jié)果 54\o"CurrentDocument"65:數(shù)碼秒表設(shè)計(jì) 56\o"CurrentDocument"實(shí)例66:數(shù)碼時(shí)鐘設(shè)計(jì) 58\o"CurrentDocument"實(shí)例67:用LED數(shù)碼管顯示計(jì)數(shù)器T0的計(jì)數(shù)值 62鍵盤(pán)捽制\o"CurrentDocument"實(shí)例68:靜態(tài)顯示數(shù)字"59” 63鍵盤(pán)捽制*?鍵盤(pán)捽制*********鍵盤(pán)控制*********鍵盤(pán)七セ制**********TOC\o"1-5"\h\z\o"CurrentDocument"實(shí)例69:無(wú)軟件消抖的獨(dú)立式鍵盤(pán)輸入實(shí)驗(yàn) 64\o"CurrentDocument"實(shí)例70:軟件消抖的獨(dú)立式鍵盤(pán)輸入實(shí)驗(yàn) 64\o"CurrentDocument"實(shí)例71:CPU控制的獨(dú)立式鍵盤(pán)掃描實(shí)驗(yàn) 65\o"CurrentDocument"實(shí)例72:定時(shí)器中斷控制的獨(dú)立式鍵盤(pán)掃描實(shí)驗(yàn) 68\o"CurrentDocument"實(shí)例73:獨(dú)立式鍵盤(pán)控制的4級(jí)變速流水燈 71實(shí)例フ4:獨(dú)立式鍵盤(pán)的按鍵功能擴(kuò)展:"以ー當(dāng)四" 73\o"CurrentDocument"實(shí)例75:獨(dú)立式鍵盤(pán)調(diào)時(shí)的數(shù)碼時(shí)鐘實(shí)驗(yàn) 75\o"CurrentDocument"實(shí)例76:獨(dú)立式鍵盤(pán)控制步進(jìn)電機(jī)實(shí)驗(yàn) 79\o"CurrentDocument"實(shí)例77:矩陣式鍵盤(pán)按鍵值的數(shù)碼管顯示實(shí)驗(yàn) 82\o"CurrentDocument"〃實(shí)例78:矩陣式鍵盤(pán)按鍵音 85\o"CurrentDocument"實(shí)例79:簡(jiǎn)易電子琴 86\o"CurrentDocument"實(shí)例80:矩陣式鍵盤(pán)實(shí)現(xiàn)的電子密碼鎖 92*****液晶顯示LCD*********液晶顯示LCD*****液晶顯示LCD********************液晶顯示LCD*********液晶顯示LCD*****液晶顯示LCD**********\o"CurrentDocument"***********************************************************/ 95\o"CurrentDocument"實(shí)例81:用LCD顯示字符,A' 96\o"CurrentDocument"實(shí)例82:用LCD循環(huán)右移顯示"WeにometoChina" 99\o"CurrentDocument"實(shí)例83:用LCD顯示適時(shí)檢測(cè)結(jié)果 102\o"CurrentDocument"實(shí)例84:液晶時(shí)鐘設(shè)計(jì) 106些芯片的使用*****24co2........DS18B20X5045ADC0832DAC0832DS1302句2タトギf**********************************************/ 222\o"CurrentDocument"實(shí)例85:將數(shù)據(jù)"OxOf"寫(xiě)入AT24C02再讀出送P1口顯示 112\o"CurrentDocument"實(shí)例86:將按鍵次數(shù)寫(xiě)入AT24co2,再讀出并用1602LCD顯示 117\o"CurrentDocument"實(shí)例87:對(duì)12c總線上掛接多個(gè)AT24C02的讀寫(xiě)操作 124\o"CurrentDocument"實(shí)例88:基于AT24C02的多機(jī)通信讀取程序 129\o"CurrentDocument"實(shí)例88:基于AT24C02的多機(jī)通信寫(xiě)入程序 133\o"CurrentDocument"實(shí)例90:DS18B20溫度檢測(cè)及其液晶顯示 144\o"CurrentDocument"實(shí)例91:將數(shù)據(jù)"Oxaa"寫(xiě)入X5045再讀出送P1口顯示 153\o"CurrentDocument"實(shí)例92:將流水燈控制碼寫(xiě)入X5045并讀出送P1口顯示 157\o"CurrentDocument"實(shí)例93:對(duì)SPI總線上掛接多個(gè)X5045的讀寫(xiě)操作 161\o"CurrentDocument"實(shí)例94:基于ADC0832的數(shù)字電壓表 165\o"CurrentDocument"實(shí)例95:用DAC0832產(chǎn)生鋸齒波電壓 171\o"CurrentDocument"實(shí)例96:用P1口顯示紅外遙控器的按鍵值 171\o"CurrentDocument"實(shí)例97:用紅外遙控器控制繼電器 174\o"CurrentDocument"實(shí)例98:基于DS1302的日歷時(shí)鐘 177\o"CurrentDocument"實(shí)例99:單片機(jī)數(shù)據(jù)發(fā)送程序 185\o"CurrentDocument"實(shí)例100:電機(jī)轉(zhuǎn)速表設(shè)計(jì) 186\o"CurrentDocument"模擬霍爾脈沖 192
函數(shù)的使用和熟悉*/*/〃實(shí)例3:用單片機(jī)控制第一個(gè)燈亮#include<reg51.h>〃包含51單片機(jī)寄存器定義的頭文件voidmain(void)|Pl=Oxfe;//Pl=llll1110B,即P1.0輸出低電平}〃實(shí)例4:用單片機(jī)控制一個(gè)燈閃爍:認(rèn)識(shí)單片機(jī)的工作頻率#include<reg51.h> 〃包含單片機(jī)寄存器的頭文件函數(shù)功能:延時(shí)一段時(shí)間voiddelay(void) 〃兩個(gè)void意思分別為無(wú)需返回值,沒(méi)有參數(shù)傳遞{unsignedinti; 〃定義無(wú)符號(hào)整數(shù),最大取值范圍65535for(i=0;i<20000;i++)〃做20000次空循環(huán); 〃什么也不做,等待ー個(gè)機(jī)器周期)函數(shù)功能:主函數(shù)(C語(yǔ)言規(guī)定必須有也只能有1個(gè)主函數(shù))voidmain(void)(while(l)〃無(wú)限循環(huán){Pl=Oxfe; //Pl=llll11106,Pl.O輸出低電平delay(); 〃延時(shí)一段時(shí)間Pl=Oxff; //Pl=llll1111B,P1.0輸出高電平delay();〃延時(shí)一段時(shí)間}〃實(shí)例5:將Pl口狀態(tài)分別送入PO、P2、P3ロ:認(rèn)識(shí)I/Oロ
的引腳功能include<reg51.h>〃包含單片機(jī)寄存器的頭文件函數(shù)功能:主函數(shù)(C語(yǔ)言規(guī)定必須有也只能有1個(gè)主函數(shù))voidmain(void)(while(l)〃無(wú)限循環(huán)(Pl=Oxff;//Pl=llll1111B,熄滅LEDPO=P1;//將Pl口狀態(tài)送入P0ロP2=P1; //將Pl口狀態(tài)送入P2ロP3=P1; //將P1口狀態(tài)送入P3ロ}}〃實(shí)例6:使用P3口流水點(diǎn)亮8位LEDinclude<reg51.h> 〃包含單片機(jī)寄存器的頭文件函數(shù)功能:延時(shí)一段時(shí)間voiddelay(void)|unsignedcharij;for(i=0;i<250;i++)for(j=0;j<250;j++)}函數(shù)功能:主函數(shù)voidmain(void)while(l)P3=0xfe; 〃第一個(gè)燈亮delay(); 〃調(diào)用延時(shí)函數(shù)P3=Oxfd;〃第二個(gè)燈亮delay();〃調(diào)用延時(shí)函數(shù)P3=Oxfb;〃第三個(gè)燈亮delay();〃調(diào)用延時(shí)函數(shù)P3=0xf7; 〃第四個(gè)燈亮delay(); 〃調(diào)用延時(shí)函數(shù)P3=Oxef; 〃第五個(gè)燈亮delay(); 〃調(diào)用延時(shí)函數(shù)P3=Oxdf;〃第六個(gè)燈亮delay();〃調(diào)用延時(shí)函數(shù)P3=Oxbf; 〃第七個(gè)燈亮delay(); 〃調(diào)用延時(shí)函數(shù)P3=0x7f; 〃第八個(gè)燈亮delay(); 〃調(diào)用延時(shí)函數(shù)〃實(shí)例7:通過(guò)對(duì)P3口地址的操作流水點(diǎn)亮8位LEDinclude<reg51.h>〃包含單片機(jī)寄存器的頭文件sfrx=OxbO;〃P3□在存儲(chǔ)器中的地址是bOH,通過(guò)sfr可定義8051內(nèi)核單片機(jī)〃的所有內(nèi)部8位特殊功能寄存器,對(duì)地址x的操作也就是對(duì)P1口的操作函數(shù)功能:延時(shí)一段時(shí)間voiddelay(void)(unsignedcharij;for(i=0;i<250;i++)for(j=0;j<250;j++);〃利用循環(huán)等待若干機(jī)器周期,從而延時(shí)一段時(shí)間}*****************************************voidmain(void)(while(l)(x=0xfe; 〃第一個(gè)燈亮delay();〃調(diào)用延時(shí)函數(shù)x=Oxfd;〃第二個(gè)燈亮delay();〃調(diào)用延時(shí)函數(shù)x=Oxfb;〃第三個(gè)燈亮delay();〃調(diào)用延時(shí)函數(shù)x=Oxf7;〃第四個(gè)燈亮delay。;〃調(diào)用延時(shí)函數(shù)x-Oxef;〃第五個(gè)燈亮delay();〃調(diào)用延時(shí)函數(shù)x=Oxdf; 〃第六個(gè)燈亮delay();〃調(diào)用延時(shí)函數(shù)x=Oxbf; 〃第七個(gè)燈亮delay。;〃調(diào)用延時(shí)函數(shù)x=Ox7f; 〃第八個(gè)燈亮delay()J〃調(diào)用延時(shí)函數(shù)〃實(shí)例8:用不同數(shù)據(jù)類(lèi)型控制燈閃爍時(shí)間#include<reg51.h> 〃包含單片機(jī)寄存器的頭文件/******************************************************函數(shù)功能:用整形數(shù)據(jù)延時(shí)一段時(shí)間******************************************************/voidint_delay(void)//延時(shí)一段較長(zhǎng)的時(shí)間unsignedintm; 〃定義無(wú)符號(hào)整形變量,雙字節(jié)數(shù)據(jù),值域?yàn)镃T65535for(m=0;m<36000;m++); 〃空操作)函數(shù)功能:用字符型數(shù)據(jù)延時(shí)一段時(shí)間voidchar_degy(void)//延時(shí)一段較短的時(shí)間(unsignedcharijJ 〃定義無(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(l)(for(i=0;i<3;i++)(Pl=0xfe; 〃P1Q口的燈點(diǎn)亮int_delay();〃延時(shí)一段較長(zhǎng)的時(shí)間Pl=OxffJ 〃熄滅int_delay();//延時(shí)一段較長(zhǎng)的時(shí)間)for(i=0;i<3;i++)(Pl=0xef; 〃P1.4ロ的燈點(diǎn)亮char_delay();〃延時(shí)一段較長(zhǎng)的時(shí)間Pl=Oxff; 〃熄滅char_delay();〃延時(shí)一段較長(zhǎng)的時(shí)間)〃實(shí)例9:用PO門(mén)、P!口分別顯示加法和減法運(yùn)算結(jié)果#include<reg51.h>voidmain(void)(unsignedcharm,n;m=43; 〃即十進(jìn)制數(shù)2x16+11=43n=60; 〃即十進(jìn)制數(shù)3x16+12=60Pl=m+n;〃Pl=103=01100111B,結(jié)果Pl.3、Pl.4、Pl.7口的燈被點(diǎn)亮P0=n-mJ〃P0=17=00010001B,結(jié)果P0.0、P0.4的燈被熄滅〃實(shí)例10:用P0、P1口顯示乘法運(yùn)算結(jié)果#include<reg51.h>〃包含單片機(jī)寄存器的頭文件voidmain(void)(unsignedcharm,n;unsignedints;m=64;n=71;s=m*n;〃s=64*71=4544,需要16位二進(jìn)制數(shù)表示,高8位送Plロ,低8位送P0ロ〃由于4544=17*256+192=H3*16*16*16+H2*16*16+Hl*16+H0〃兩邊同除以256,可得17+192/256=H3*16+H2+(Hl*16+H0)/256〃因此,高8位16進(jìn)制數(shù)H3*16+H2必然等于17,即4544除以256的商〃低8位16進(jìn)制數(shù)Hl*16+H0必然等于192,即4544除以256的余數(shù)Pl=s/256; 〃高8位送P!ロ,Pl=17=llH=000100016,P1.0和P1.4口滅,其余亮P0=s%256;〃低8位送P0ロ,P3=192=c0H=11000000B,P3.1,P3.6,P3.7ロ滅,其余亮)〃實(shí)例11:用Pl、P0口顯示除法運(yùn)算結(jié)果#include<reg51.h> 〃包含單片機(jī)寄存器的頭文件voidmain(void)(Pl=36/5J 〃求整數(shù)P0=((36%5)*10)/5;〃求小數(shù)while(l)〃無(wú)限循環(huán)防止程序“跑飛”〃實(shí)例12:用自增運(yùn)算控制P0ロ8位LED流水花樣#include<reg51.h> 〃包含單片機(jī)寄存器的頭文件函數(shù)功能:延時(shí)一段時(shí)間voiddelay(void)(unsignedinti;for(i=0;i<20000;i++))函數(shù)功能:主函數(shù)voidmain(void)(unsignedchari;for(i=0;i<255;i++)〃注意i的值不能超過(guò)255(P0=i;〃將i的值送P0ロdelay。;〃調(diào)用延時(shí)函數(shù)})〃實(shí)例13:用P0口顯示邏輯"與“運(yùn)算結(jié)果#include<reg51.h>〃包含單片機(jī)寄存器的頭文件voidmain(void)(P0=(4>0)&&(9>0xab);〃將邏輯運(yùn)算結(jié)果送P0ロwhile(l)〃設(shè)置無(wú)限循環(huán),防止程序“跑飛”〃實(shí)例14:用P0口顯示條件運(yùn)算結(jié)果#include<reg51.h> 〃包含單片機(jī)寄存器的頭文件voidmain(void)(P0=(8>4)?8:4;〃將條件運(yùn)算結(jié)果送P0ロ,P0=8=00001000Bwhile(l); 〃設(shè)置無(wú)限循環(huán),防止程序“跑飛”〃實(shí)例15:用P0ロ顯示按位“異或"運(yùn)算結(jié)果#include<reg51.h> 〃包含單片機(jī)寄存器的頭文件voidmain(void)(P0=0xa2A0x3c;〃將條件運(yùn)算結(jié)果送P0ロ,P0=8=00001000Bwhile(l);〃設(shè)置無(wú)限循環(huán),防止程序“跑飛”〃實(shí)例16:用P0顯示左移運(yùn)算結(jié)果#include<reg51.h> 〃包含單片機(jī)寄存器的頭文件voidmain(void)(P0=0x3b<<2;〃將左移運(yùn)算結(jié)果送P0ロ,P0=11101100B=0xecwhile(l);〃無(wú)限循環(huán),防止程序“跑飛”〃實(shí)例17:”萬(wàn)能邏輯電路”實(shí)驗(yàn)#include<reg51.h>〃包含單片機(jī)寄存器的頭文件sbitF=P1A4;〃將F位定義為P1.4sbitX=PlA5; 〃將X位定義為P1.5sbitY=PlA6; 〃將Y位定義為P1.6sbitZ=P1A7;〃將Z位定義為P1.7voidmain(void)(while(l)(F=((~X)&Y)|Z;〃將邏輯運(yùn)算結(jié)果賦給F})〃實(shí)例18:用右移運(yùn)算流水點(diǎn)亮P1ロ8位LED#include<reg51.h>〃包含單片機(jī)寄存器的頭文件函數(shù)功能:延時(shí)一段時(shí)間voiddelay(void){unsignedintn;for(n=0;n<30000;n++))函數(shù)功能:主函數(shù)voidmain(void)(unsignedchari;while(l)(Pl=Oxff;delay();for(i=0;i<8;i++)〃設(shè)置循環(huán)次數(shù)為8(P1=P1?1;〃每次循環(huán)Pl的各二進(jìn)位右移1位,高位補(bǔ)。delay(); 〃調(diào)用延時(shí)函數(shù)〃實(shí)例19:用if語(yǔ)句控制P0ロ8位LED的流水方向#include<reg51.h>〃包含單片機(jī)寄存器的頭文件sbitS1=P1A4;〃將S!位定義為P1.4sbitS2=P1A5;〃將S2位定義為P1.5函數(shù)功能:主函數(shù)voidmain(void)(while(l)(if(Sl==O)〃如果按鍵SI按下PO=OxOf;//P0口高四位LED點(diǎn)亮if(S2==0)〃如果按鍵S2按下PO=OxfO;//P0口低四位LED點(diǎn)亮}}〃實(shí)例20:用swtich語(yǔ)句的控制P0ロ8位LED的點(diǎn)亮狀態(tài)#include<reg51.h>〃包含單片機(jī)寄存器的頭文件sbitS1=P1A4;〃將S!位定義為P1.4函數(shù)功能:延時(shí)一段時(shí)間voiddelay(void)(unsignedintn;for(n=0;n<10000;n++):數(shù)功能:丄函數(shù)voidmain(void)unsignedchari;
i=0;〃將i初始化為0while(l)if(Sl==O)〃如果S1鍵按下(delay();〃延時(shí)一段時(shí)間if(Sl==O)〃如果再次檢測(cè)到S1鍵按ドi++;〃i自增1tf(i==9)〃如果i=9,重新將其置為1i=l;)switch(i) 〃使用多分支選擇語(yǔ)句PO=Oxfe;break;PO=Oxfd;break;PO=Oxfe;break;PO=Oxfd;break;case3:P0=0xfb;break;case4:P0=0xf7;break;case5:P0=0xef;break;case6:P0=0xdf;break;case7:P0=0xbf;break;case8:P0=0x7f;break;〃第一個(gè)LED亮〃第二個(gè)LED亮〃第三個(gè)LED亮〃第四個(gè)LED亮〃第五個(gè)LED亮〃第六個(gè)LED亮〃第七個(gè)LED亮〃第八個(gè)LED亮default: 〃缺省值,關(guān)閉所有LEDdefault: 〃缺省值,關(guān)閉所有LEDPO=Oxff;〃實(shí)例21:用for語(yǔ)句控制蜂鳴器鳴笛次數(shù)#include<reg51.h>〃包含單片機(jī)寄存器的頭文件sbitsound=P3A7;〃將sound位定義為P3.7/****************************************函數(shù)功能:延時(shí)形成1600Hz音頻voiddelayl600(void)unsignedcharn;for(n=0;n<100;n++))函數(shù)功能:延時(shí)形成800Hz音頻voiddelay800(void)unsignedcharn;for(n=0;n<200;n++)函數(shù)功能:'主:函數(shù)voidmain(void)unsignedinti;while(l)for(i=0;i<830;i++)sound=0;〃P3.7輸出低電平delayl600();sound=l;〃P3.7輸出高電平delayl600();}for(i=0;i<200;i++)sound=0;〃P3.7輸出低電平delay800();sound=l;〃P3.7輸出髙電平delay800();)〃實(shí)例22:用while語(yǔ)句控制LED#include<reg51.h>〃包含單片機(jī)寄存器的頭文件函數(shù)功能:延時(shí)約60ms(3*100*200=60000us)voiddelay60ms(void)(unsignedcharm,n;for(m=0;m<100;m++)for(n=0;n<200;n++)}函數(shù)功能:主函數(shù)voidmain(void){unsignedchari;while(l) 〃無(wú)限循環(huán){i=0; 〃將i初始化為0while(i<Oxff)〃當(dāng)i小于Oxff(255)時(shí)執(zhí)行循環(huán)體(P0=i; 〃將i送P0口顯示delay60ms();〃延時(shí)i++; 〃i自增1}})〃實(shí)例23:用do-while語(yǔ)句控制P0ロ8位LED流水點(diǎn)亮#include<reg51.h>〃包含單片機(jī)寄存器的頭文件函數(shù)功能:延時(shí)約60ms(3*100*200=60000Us)voiddelay60ms(void)unsignedcharm,n;for(m=0;m<100;m++)for(n=0;n<200;n++))函數(shù)功能:主函數(shù)voidmain(void)(do(PO=Oxfe; 〃第一個(gè)LED亮delay60ms();PO=Oxfd; 〃第二個(gè)LED亮delay60ms();PO=Oxfb; 〃第三個(gè)LED亮delay60ms();P0=0xf7; 〃第四個(gè)LED亮delay60ms();P0=0xef; 〃第五個(gè)LED亮delay60ms();PO=Oxdf; 〃第六個(gè)LED亮delay60ms();delay60ms();PO=Oxbf; 〃第七個(gè)LED亮delay60ms();P0=0x7f; 〃第八個(gè)LED亮delay60ms();}while(l); 〃無(wú)限循環(huán),使8位LED循環(huán)流水點(diǎn)亮)〃實(shí)例24J用字符型數(shù)組控制P0ロ8位LED流水點(diǎn)亮#include<reg51.h>〃包含單片機(jī)寄存器的頭文件函數(shù)功能:延時(shí)約60ms(3*100*200=60000Hs)voiddelay60ms(void)(unsignedcharm,n;for(m=0;m<100;m++)for(n=0;n<200;n++)}函數(shù)功能:主函數(shù)voidmain(void)unsignedchari;unsignedcharcodeTab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};〃定義無(wú)符號(hào)字符型數(shù)組while(l)for(i=0;i<8;i++)PO=Tab[i];〃依次引用數(shù)組元素,并將其送P0口顯示delay60ms();〃調(diào)用延時(shí)函數(shù)}))〃實(shí)例25:用POロ顯示字符串常量#include<reg51.h>〃包含單片機(jī)寄存器的頭文件函數(shù)功能:延時(shí)約150ms(3*200*250=150000Ps=150msvoiddelayl50ms(void)unsignedcharm,n;for(m=0;m<200;m++)for(n=0;n<250;n++))函數(shù)功能:主函數(shù)voidmain(void)unsignedcharstr[]={"Now,Temperatureis 〃將字符串賦給字符型全部元素賦值unsignedchari;while(l)i=0;〃將i初始化為0,從第一個(gè)元素開(kāi)始顯示while(str[i]!="\Oリ〃只要沒(méi)有顯示到結(jié)束標(biāo)志?、0,{PO=str[i];〃將第i個(gè)字符送到P0口顯示delayl50ms();〃調(diào)用150ms延時(shí)函數(shù)i++; 〃指向下ー個(gè)待顯字符〃實(shí)例26:用P0口顯示指針運(yùn)算結(jié)果#include<reg51.h>voidmain(void)(unsignedchar*pl,*p2;〃定義無(wú)符號(hào)字符型指針變量pl,p2unsignedchari,j; 〃定義無(wú)符號(hào)字符型數(shù)據(jù)i=25; 〃給i賦初值25j=15;pl=&i; 〃使指針變量指向i,對(duì)指針初始化p2=&j; 〃使指針變量指向j,對(duì)指針初始化P0=*pl+*p2; //*pl+*p2相當(dāng)于i+j,所以P0=25+15=40=0x28〃則P0=001010006.結(jié)果P0.3、P0.5引腳LED熄滅,其余點(diǎn)亮while(l); 〃無(wú)限循環(huán),防止程序“跑飛”〃實(shí)例27:用指針數(shù)組控制P0ロ8位LED流水點(diǎn)亮#include<reg51.h>函數(shù)功能:延時(shí)約150ms(3*200*250=150000us=150msvoiddelayl50ms(void)unsignedcharm,n;for(m=0;m<200;m++)
for(n=0;n<250;n++)}函數(shù)功能:主函數(shù)voidmain(void)unsignedcharcodeTab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};〃定義無(wú)符號(hào)字符型數(shù)據(jù)unsignedchar*p[]={&Tab[0],&Tab[l],&Tab[2],&Tab[3],&Tab[4],&Tab[5],&Tab[6L&Tab[7]};〃定義無(wú)符號(hào)字符型數(shù)據(jù)unsignedchari;while(l)for(i=0;i<8;i++)PO=*p[i];delayl50ms();)})〃實(shí)例28:用數(shù)組的指針控制P0ロ8位LED流水點(diǎn)亮#include<reg51.h>函數(shù)功能:延時(shí)約150ms(3*200*250=150000Ps=150msvoiddelayl50ms(void)unsignedcharm,n;for(m=0;m<200;m++)for(n=0;n<250;n++)}函數(shù)功能:主函數(shù)voidmain(void)
unsignedchari;unsignedcharTab[]={0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFE,0xFC,0xFB,0xF0,0xE0,0xC0,0x80,0x00,0xE7,0xDB,0xBD,0x7E,0x3C,0x18,0x00,0x81,0xC3,0xE7,0x7E,0xBD,0xDB,0xE7,0xBD,0xDB};〃流水燈控制碼unsignedchar*p; 〃定義無(wú)符號(hào)字符型指針p=Tab; 〃將數(shù)組首地址存入指針pwhile(l)for(i=0;i<32;i++)〃共32個(gè)流水燈控制碼PO=*(p+i);〃?PO=*(p+i);〃?(p+i)的值等于a[i]delayl50ms();〃調(diào)用150ms延時(shí)函數(shù))}}〃實(shí)例29:用P0、Pl口顯示整型函數(shù)返回值#include<reg51.h>:數(shù)功能:計(jì)算兩個(gè)無(wú)符號(hào)整數(shù)的和unsignedintsum(intajntb)unsignedints;s=a+b;return(s);}函數(shù)功能:主函數(shù)voidmain(void)unsignedz;z=sum(2008,2009);Pl=z/256;〃取得z的高8位P0=z%256; 〃取得z的低8位while(l)〃實(shí)例30:用有參函數(shù)控制P0ロ8位LED流水速度#include<reg51.h>函數(shù)功能:延時(shí)一段時(shí)間voiddelay(unsignedcharx)(unsignedcharm,n;for(m=0;m<x;m++)for(n=0;n<200;n++))函數(shù)功能:主函數(shù)v
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 律師英文合同模板
- 加盟裝飾公司合同范例
- 內(nèi)部承包項(xiàng)目合同范例
- 家具款合同范例
- 印刷違約合同范例
- 天貓店鋪買(mǎi)賣(mài)合同范例
- 城陽(yáng)區(qū)小學(xué)食堂合同范例
- 廣告平臺(tái)加盟合同范例
- 家裝衣柜合同范例
- 外墻保溫包工合同范例
- 第5單元 圓 單元測(cè)試(含答案)2024-2025學(xué)年六年級(jí)上冊(cè)數(shù)學(xué)人教版
- 2024版《供電營(yíng)業(yè)規(guī)則》學(xué)習(xí)考試題庫(kù)500題(含答案)
- 24春國(guó)家開(kāi)放大學(xué)《教育學(xué)》期末大作業(yè)
- 2024年意識(shí)形態(tài)工作專(zhuān)題會(huì)議記錄【6篇】
- 三廢環(huán)保管理培訓(xùn)
- 23秋國(guó)家開(kāi)放大學(xué)《液壓氣動(dòng)技術(shù)》形考任務(wù)1-3參考答案
- 21ZJ111 變形縫建筑構(gòu)造
- 2023春國(guó)開(kāi)電大《實(shí)用管理基礎(chǔ)》形考任務(wù)1-4參考答案
- 大學(xué)生朋輩心理輔導(dǎo)智慧樹(shù)知到答案章節(jié)測(cè)試2023年浙江大學(xué)
- 部編版二年級(jí)上冊(cè)《期中復(fù)習(xí)》語(yǔ)文教案
- 干部廉潔自律情況征求意見(jiàn)表
評(píng)論
0/150
提交評(píng)論