![C51單片機(jī)C語言程序100例-Keil_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/24/4f94343b-f7a1-4670-b428-464a7b3d21c2/4f94343b-f7a1-4670-b428-464a7b3d21c21.gif)
![C51單片機(jī)C語言程序100例-Keil_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/24/4f94343b-f7a1-4670-b428-464a7b3d21c2/4f94343b-f7a1-4670-b428-464a7b3d21c22.gif)
![C51單片機(jī)C語言程序100例-Keil_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/24/4f94343b-f7a1-4670-b428-464a7b3d21c2/4f94343b-f7a1-4670-b428-464a7b3d21c23.gif)
![C51單片機(jī)C語言程序100例-Keil_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/24/4f94343b-f7a1-4670-b428-464a7b3d21c2/4f94343b-f7a1-4670-b428-464a7b3d21c24.gif)
![C51單片機(jī)C語言程序100例-Keil_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/24/4f94343b-f7a1-4670-b428-464a7b3d21c2/4f94343b-f7a1-4670-b428-464a7b3d21c25.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精品文檔目錄目錄 1函數(shù)的使用和熟悉* I4實(shí)例 3: 用單片機(jī)控制第一個燈 亮 4實(shí)例 4: 用單片機(jī)控制一個燈閃爍: 認(rèn)識單片機(jī)的工作頻率4實(shí)例5:將P1 狀態(tài)分別送入P0 P2、P3口:認(rèn)識I/O 口的引腳功能5實(shí) 例 6: 使 用 P3 口 流 水 點(diǎn) 亮 8LED. 5實(shí)例 7: 通過對LEDP3 口 地 址 的操作流水點(diǎn)亮 6例 8: 用不同數(shù)據(jù)類型控制7例 9 : 用 P0 口 、 P1 口 分 別 顯 示 加 法 和8例 10 : 用 P0 、 P1 口 顯 示 乘例 11: 用 P1 、 P0 口 顯 示 除例12 :用自增 運(yùn) 算 控 制P0 口 8 位 10例 13:用
2、P0 口 顯 示 邏 輯 " 與燈閃爍減法運(yùn)算法運(yùn)算9法運(yùn)算9LED 流 水"運(yùn)算10例 14P0 口顯示條件運(yùn)算11例 15 : 用 P0 口 顯 示 按 位 " 異 或 " 運(yùn) 算 11例 16: 用 P0 顯 示 左 移 運(yùn) 算11實(shí) 例17:" 萬 能 邏 輯 電 路 "驗(yàn) 11實(shí) 例 18 : 用 右 移 運(yùn) 算 流 水 點(diǎn) 亮 P1 口 8LED 12實(shí) 例 19 : 用 if 語 句 控 制 P0 口 8 位 LED 的 流 水向 13實(shí) 例 20 : 用 swtich 語 句 的 控 制 P0 口態(tài)138 位 LED
3、的 點(diǎn) 亮實(shí) 例 21: 用 for 語 句 控 制 蜂 鳴 器 鳴 笛數(shù)14位位 時 結(jié) 結(jié) 結(jié) 花 結(jié) 結(jié)結(jié) 結(jié)實(shí)位 方 狀 次實(shí) 例22: 用LED16while 語 句 控實(shí) 例 23 : 用 do-while 語 句 控 制 P0 口亮 168 位 LED 流 水實(shí) 例 24 : 用 字 符 型 數(shù) 組 控 制 P0 口亮 17實(shí) 例 25:用 P0 口 顯量 .18實(shí) 例 26: 用 P0 口 顯 示果 198 位 LED 流 水示字符串指針運(yùn)算實(shí) 例 27 : 用 指 針 數(shù) 組 控 制 P0 口 8 位 LED 流 水亮 19實(shí) 例 28 : 用 數(shù) 組 的 指 針 控 制 P
4、0 口 8 位 LED 流 水亮 20實(shí) 例 29 : 用 P0 、 P1 口 顯 示 整 型 函 數(shù) 返值 21實(shí) 例30 : 用 有 參 函 數(shù) 控 制度實(shí) 例 31 : 用 數(shù) 組 作 函樣23P0 口 8 位22數(shù)參數(shù)控LED 流 水制流水制點(diǎn) 點(diǎn) 常結(jié)點(diǎn) 點(diǎn) 回 速 花intrins.h應(yīng)用舉stdlib.h應(yīng)用舉string.h 應(yīng) 用 舉 29應(yīng)用舉例實(shí) 例39: 宏 定 義實(shí) 例 32 : 用 指 針 作 函 數(shù) 參 數(shù) 控 制 P0 口 8 位 LED 流 水 點(diǎn)亮 23實(shí) 例 33 : 用 函 數(shù) 型 指 針 控 制 P1 口燈 花樣25實(shí) 例34 : 用指 針 數(shù)組 作
5、為 函 數(shù) 的 參 數(shù)顯 示 多 個字 符串 26實(shí) 例 35: 字 符 函 數(shù) ctype.h 應(yīng) 用 舉例 .27實(shí) 例 36: 內(nèi) 部 函 數(shù)例 27實(shí) 例 37: 標(biāo) 準(zhǔn) 函 數(shù)例 .28實(shí) 例 38: 字 符 串 函 數(shù)例2291/ 192舉例舉例實(shí) 例40: 宏 定 義 應(yīng) 用230實(shí) 例41: 宏 定 義 應(yīng) 用3定 3130*實(shí) 例 42 : 用 定 時 器 T0 查 詢 方 式 P2 口 8 位 控 制 LED 閃爍 31實(shí) 例 43 : 用 定 時 器 T1 查 詢 方 式 控 制 單 片 機(jī) 發(fā) 出 1KHz 音頻31實(shí) 例 44 : 將 計(jì) 數(shù) 器 T0 計(jì) 數(shù) 的 結(jié)
6、 果 送 P1 口 8 位 LED 顯示 32實(shí) 例 45 : 用 定 時 器 T0 的 中 斷 控 制 1 位 LED 閃爍33實(shí) 例 46 : 用 定 時 器 T0 的 中 斷 實(shí) 現(xiàn) 長 時 間 定時34實(shí) 例 47 : 用 定 時 器 T1 中 斷 控 制 兩 個 LED 以 不 同 周 期 閃爍34實(shí) 例 48 : 用 計(jì) 數(shù) 器 T1 的 中 斷 控 制 蜂 鳴 器 發(fā) 出1KHz 音頻36實(shí) 例 49 : 用 定 時 器 T0 的 中 斷 實(shí) 現(xiàn) " 渴 望 " 主 題曲 的 播放 36實(shí) 例50-1: 輸 出50 個 矩 形 脈沖 39實(shí) 例 50-2: 計(jì)
7、 數(shù) 器 T0 統(tǒng) 計(jì) 外 部 脈 沖數(shù) 40實(shí) 例 51-2 : 定 時 器 T0 的 模 式 2 測 量 正 脈 沖 寬度 40實(shí) 例 52 : 用 定 時 器 T0 控 制 輸 出 高 低 寬 度 不 同 的 矩 形波41方式進(jìn)行數(shù)據(jù)采200微秒的方43負(fù)脈沖寬流水燈循環(huán)點(diǎn)據(jù)發(fā)送程據(jù)接收程據(jù)發(fā)送程實(shí) 例 53 : 用 外 中 斷 0 的 中 斷集42實(shí) 例 54-1: 輸 出 負(fù) 脈 寬 為波實(shí) 例54-2: 測 量度 43實(shí) 例 55: 方 式 0 控 制亮 44實(shí) 例56-1: 數(shù)序 45實(shí) 例56-2: 數(shù)序 47實(shí) 例57-1: 數(shù)序 精品文檔碼碼顯示數(shù)顯 字字 字 字 結(jié)設(shè)設(shè)實(shí)
8、例 “ 59” 68靜態(tài)顯示數(shù)字47實(shí) 例57-2: 數(shù) 據(jù) 接 收 程序 49實(shí) 例 58: 單 片 機(jī) 向 PC 發(fā) 送 數(shù)據(jù) 50實(shí) 例 59: 單 片 機(jī) 接 收 PC 發(fā) 出 的 數(shù)據(jù) 51*數(shù)示 52實(shí) 例 60: 用 LED 數(shù)552實(shí)例61:用 LED數(shù)碼顯示器循環(huán)顯示數(shù)0952實(shí)例62:用數(shù) 碼管慢速動態(tài)掃描顯示數(shù)"1234" 53實(shí) 例 63 : 用 LED 數(shù) 碼 顯 示 器 偽 靜 態(tài) 顯 示 數(shù)1234 54實(shí) 例 64: 用 數(shù) 碼 管 顯 示 動 態(tài) 檢 測果 54實(shí) 例65: 數(shù) 碼 秒 表計(jì) 56實(shí) 例66: 數(shù) 碼 時 鐘計(jì) 58T0 的
9、 計(jì) 數(shù)實(shí) 例 67 : 用 LED 數(shù) 碼 管 顯 示 計(jì) 數(shù) 器值622/ 192鍵盤控制63*精品文檔*/實(shí) 例 69 : 無 軟 件 消 抖 的 獨(dú) 立 式 鍵 盤 輸 入驗(yàn)64實(shí)例70: 軟 件 消 抖 的 獨(dú) 立 式鍵 盤輸入驗(yàn)64實(shí)例71: CPU 控 制 的 獨(dú) 立式鍵 盤掃描驗(yàn)65實(shí) 例 72 : 定 時 器 中 斷 控 制 的 獨(dú) 立 式 鍵 盤 掃 描驗(yàn)68實(shí) 例 73 : 獨(dú) 立 式 鍵 盤 控 制 的 4 級 變 速 流燈71實(shí) 例74 :獨(dú) 立 式 鍵 盤 的按 鍵功 能 擴(kuò) 展 :" 以 一 當(dāng)" 73實(shí) 例 75: 獨(dú) 立 式 鍵 盤調(diào) 時
10、的 數(shù)碼 時 鐘驗(yàn)75實(shí) 例 76: 獨(dú) 立 式 鍵 盤 控 制 步 進(jìn) 電 機(jī)驗(yàn)79實(shí) 例 77 : 矩 陣 式 鍵 盤 按 鍵 值 的 數(shù) 碼 管 顯 示驗(yàn)82/ 實(shí) 例78: 矩 陣 式 鍵 盤 按音 85實(shí) 例79:簡 易 電琴 86實(shí) 例 80鎖矩陣式鍵盤 .92實(shí)現(xiàn)的子密實(shí) 實(shí) 實(shí) 實(shí) 水 四 實(shí) 實(shí) 實(shí) 鍵子碼*63符to 結(jié)設(shè)*24c02DS18B20 X5045 ADC0832些芯片DAC0832 DS1302*/使用控112* * 液晶顯示 LCD* 液晶顯示 LCD* 液晶顯示 LCD*/.95實(shí) 例81: 用LCD 顯 示 字'A'96實(shí) 例 82: 用
11、 LCD 循 環(huán) 右 移 顯 示 "WelcomeChina" 99實(shí) 例 83: 用 LCD 顯 示 適 時 檢 測果 102實(shí) 例84: 液 晶 時 鐘計(jì) 106實(shí) 例 85 : 將 數(shù) 據(jù) "0x0f" 寫 入 AT24C02 再 讀 出 送 P1 口 顯示112實(shí)例 86 :將按鍵次數(shù)寫入 AT24C02,再讀出并用 1602LCD顯精品文檔3/ 192117例 87 : 對 I2C 總 線 上 掛 接 多 個124AT24C02 的 讀 寫例 88 : 基 于 AT24C02 的 多 機(jī) 通 信讀 取 129例 88 : 基 于 AT24C02
12、 的 多 機(jī) 通 信 寫 入 133例 90:DS18B20 溫 度 檢 測 及 其 液 晶 144例 91 : 將 數(shù) 據(jù) "0xaa" 寫 入 X5045 再 讀 出 送 P1 口 153例 92 : 將 流 水 燈 控 制 碼 寫 入 X5045 并 讀 出 送 P1 口 157例 93 : 對 SPI 總 線 上 掛 接 多 個 X5045 的 讀 寫 161例 94: 基 于 ADC0832 的 數(shù) 字 電165例 95: 用 DAC0832 產(chǎn) 生 鋸 齒 波171例 96 : 用 P1 口 顯 示 紅 外 遙171例 97: 用 紅 外 遙 控 器控器的按控制
13、繼.174實(shí) 例98: 基 于鐘 . 177實(shí) 例99: 單 片序 185實(shí) 例100: 電計(jì) 186模擬霍 沖 192DS1302 的 日機(jī)數(shù)據(jù)發(fā)機(jī)轉(zhuǎn)速爾操 程 程 顯 顯 顯 操 壓 電 鍵 電時程設(shè)脈精品文檔/*函數(shù)的使用和熟悉*/void delay(void)unsigned int i;for(i=0;i<20000;i+)*/ 實(shí)例 3:用單片機(jī)控制第一個燈亮#include<reg51.h> / 包含 51 單片機(jī)寄存器定義的頭文件void main(void)P1=0xfe; P1=1111 1110B,即 P1.0 輸出低電平/4/實(shí)例 4:用單片機(jī)控制一
14、個燈閃爍:認(rèn)識單片機(jī)的工作頻率#include<reg51.h> / 包含單片機(jī)寄存器的頭文件/* 函數(shù)功能:延時一段時間*/ 兩個 void 意思分別為無需返回值,沒有參數(shù)傳遞/ 定義無符號整數(shù),最大取值范圍 65535/ 做 20000次空循環(huán)/ 什么也不做,等待一個機(jī)器周期/*函數(shù)功能:主函數(shù) (C語言規(guī)定必須有也只能有1個主函數(shù))*/ void main(void)while(1) / 無限循環(huán)P1=0xfe;/P1=11111110B,P1.0 輸出低電平delay();/ 延時一段時間P1=0xff;/P1=11111111B,P1.0 輸出高電平delay(); /
15、延時一段時間4/ 192/5 P1P0 P2 P3I/O/ 實(shí)例5:將P1 口狀態(tài)分別送入P0、 P2、 P3 口:認(rèn)識 I/O 口的引腳功能#include<reg51. / 包含單片機(jī)寄存器的頭文件 h>/*函數(shù)功能:主函數(shù)(C語言規(guī)定必須有也只能有1個主函數(shù))* I void main(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口/ 實(shí)例 6:使用P3 口流水點(diǎn)亮8位 LED#include<reg
16、51.h> / 包含單片機(jī)寄存器的頭文件/* 函數(shù)功能:延時一段時間*/ void delay(void)unsigned char i,j;for(i=0;i<250;i+)for(j=0;j<250;j+)/* 函數(shù)功能:主函數(shù)*/ void main(void) 5/ 192精品文檔/ 第一個燈亮/ 調(diào)用延時函數(shù)/ 第二個燈亮/ 調(diào)用延時函數(shù)/ 第三個燈亮/ 調(diào)用延時函數(shù)/ 第四個燈亮/ 調(diào)用延時函數(shù)/ 第五個燈亮調(diào)用延時函數(shù)/ 第六個燈亮/ 調(diào)用延時函數(shù)/ 第七個燈亮調(diào)用延時函數(shù)/ 第八個燈亮 調(diào)用延時函數(shù)while(1) P3=0xfe;delay();P3=0xf
17、d; delay();P3=0xfb; delay();P3=0xf7; delay();P3=0xef;delay(); /P3=0xdf;delay();P3=0xbf;delay(); /P3=0x7f; delay(); / / 實(shí)例7:通過對P3 口地址的操作流水點(diǎn)亮 8 位 LED#include<reg51.h> / 包含單片機(jī)寄存器的頭文件sfr x=0xb0;/P3 口在存儲器中的地址是b0H,通過 sfr 可定義 8051 內(nèi)核單片機(jī)/ 的所有內(nèi)部 8 位特殊功能寄存器, 對地址 x 的操作也就是對P1 口的操作/*函數(shù)功能:延時一段時間*/void delay
18、(void)unsigned char i,j;for(i=0;i<250;i+)for(j=0;j<250;j+);/ 利用循環(huán)等待若干機(jī)器周期,從而延時一段時間/*函數(shù)功能:主函數(shù)*/ void main(void) while(1)x=0xfe;delay();x=0xfd;delay();x=0xfb;delay();x=0xf7;delay();x=0xef;/ 第一個燈亮/ / / / / / / /調(diào)用延時函數(shù) 第二個燈亮 調(diào)用延時函數(shù) 第三個燈亮 調(diào)用延時函數(shù) 第四個燈亮 調(diào)用延時函數(shù) 第五個燈亮delay();x=0xdf;delay();x=0xbf;delay
19、();x=0x7f;delay();/調(diào)用延時函數(shù)/ 第六個燈亮/ 調(diào)用延時函數(shù)/ 第七個燈亮 調(diào)用延時函數(shù)/ 第八個燈亮 調(diào)用延時函數(shù)/ 實(shí)例8:用不同數(shù)據(jù)類型控制燈閃爍時間#include<reg51.h> / 包含單片機(jī)寄存器的頭文件/* 函數(shù)功能:用整形數(shù)據(jù)延時一段時間*/void int_delay(void) unsigned int m;/ 延時一段較長的時間/ 定義無符號整形變量,雙字節(jié)數(shù)據(jù),值域?yàn)?65535for(m=0;m<36000;m+)/ 空操作/* 函數(shù)功能:用字符型數(shù)據(jù)延時一段時間*/ void char_delay(void) / 延時一段較
20、短的時間unsigned char i,j; / 定義無符號字符型變量,單字節(jié)數(shù)據(jù),值域0255for(i=0;i<200;i+)for(j=0;j<180;j+);/ 空操作/*函數(shù)功能:主函數(shù)*/ void main(void)unsigned char i;while(1)for(i=0;i<3;i+) P1=0xfe; /P1.0 口的燈點(diǎn)亮 int_delay(); / 延時一段較長的時間P1=0xff; / 熄滅 int_delay(); / 延時一段較長的時間 for(i=0;i<3;i+) P1=0xef; /P1.4 口的燈點(diǎn)亮 char_delay(
21、);/延時一段較長的時間P1=0xff;/熄滅char_delay();/延時一段較長的時間/ 實(shí)例 9:用 P0 口、 P1 口分別顯示加法和減法運(yùn)算結(jié)果#include<reg51.h>void main(void)unsigned char m,n;m=43;/ 即十進(jìn)制數(shù)2x16+11=43P=6L; M10黑露常2 =60p1.3、P1.4、P1.7 口的燈被點(diǎn)亮P0=n-m; P0=17=0001 0001B,結(jié)果 P0.0、P0.4 的燈被熄滅/ 實(shí)例10:用P0、 P1 口顯示乘法運(yùn)算結(jié)果#include<reg51.h> / 包含單片機(jī)寄存器的頭文件
22、void main(void)unsigned char m,n;unsigned int s;m=64;n=71;s=m*n; /s=64*71=4544, 需要 16位二進(jìn)制數(shù)表示,高8位送 P1 口,低8 位送 P0 口/ 由于 4544=17*256+192=H3*16*16*16+H2*16*16+H1*16+H0/ 兩邊同除以256,可得17+192/256=H3*16+H2+ H1*16+H0)/256/因此,高8位16進(jìn)制數(shù)H3*16+H茲然等于17,即4544除以 256 的商低8位16進(jìn)制數(shù)H1*16+H(M然等于192,即4544除以256 的余數(shù)P1=s/256; 高
23、8位送 P1 口,P1=17=11H=0000001B, P1.0 和 P1.4 口滅, 其余亮P0=s%256; 低 8 位送 P0 口,P3=192=c0H=1100000B,P3.1,P3.6,P3.7 口 滅,其余亮 / 實(shí)例 11:用 P1、 P0 口顯示除法運(yùn)算結(jié)果#include<reg51.h> / 包含單片機(jī)寄存器的頭文件 void main(void)P1=36/5;/ 求整數(shù)P0=(36%5)*10)/5; / 求小數(shù)while(1)9/ 192精品文檔/ 無限循環(huán)防止程序“跑飛”/實(shí)例12:用自增運(yùn)算控制P0 口 8位LED流水花樣#include<r
24、eg51.h> / 包含單片機(jī)寄存器的頭文件/*函數(shù)功能:延時一段時間*/void delay(void)unsigned int i;for(i=0;i<20000;i+);/*函數(shù)功能 :主函數(shù)*/void main(void)unsigned char i;for(i=0;i<255;i+)/ 注意 i 的值不能超過255P0=i; 將i的值送P0 口delay(); / 調(diào)用延時函數(shù)/ 實(shí)例13:用P0 口顯示邏輯"與"運(yùn)算結(jié)果#include<reg51.h>/ 包含單片機(jī)寄存器的頭文件void main(void)P0=(4>
25、0)&&(9>0xab);/ 將邏輯運(yùn)算結(jié)果送P0 口while(1);/ 設(shè)置無限循環(huán),防止程序“跑飛”110/ 192/14 P0/ 實(shí)例14:用P0 口顯示條件運(yùn)算結(jié)果#include<reg51.h> / 包含單片機(jī)寄存器的頭文件void main(void)P0=(8>4)?8:4; 將條件運(yùn)算結(jié)果送 P0 口,P0=8=0000I000Bwhile(1);/ 設(shè)置無限循環(huán),防止程序“跑飛”/ 實(shí)例15:用P0 口顯示按位"異或 "運(yùn)算結(jié)果#include<reg51.h> / 包含單片機(jī)寄存器的頭文件void
26、main(void)P0=0xa2A0x3c;/ 將條件運(yùn)算結(jié)果送 P0 口,P0=8=00001000Bwhile(1);/ 設(shè)置無限循環(huán),防止程序“跑飛”/16 P0/ 實(shí)例 16:用 P0 顯示左移運(yùn)算結(jié)果#include<reg51.h> / 包含單片機(jī)寄存器的頭文件void main(void)P0=0x3bv<2; 將左移運(yùn)算結(jié)果送 P0口,P0=11101100B=0xecwhile(1);/ 無限循環(huán),防止程序“跑飛”/ 實(shí)例 17: " 萬能邏輯電路" 實(shí)驗(yàn)#include<reg51.h/ 包含單片機(jī)寄存器的頭文件>/ 將
27、F 位定義為P1.4sbit F=P1A4;111/192精品文檔113/ 192sbit X=P1A5; sbit Y=P1A6; sbit Z=P1A7; void main(void) while(1) /將X位定義為P1.5/將Y位定義為P1.6/將Z位定義為P1.7F=(X)&Y)|Z; / 將邏輯運(yùn)算結(jié)果賦給F/ 實(shí)例 18:用右移運(yùn)算流水點(diǎn)亮P1 口 8 位 LED#include<reg51.h> / 包含單片機(jī)寄存器的頭文件 /* 函數(shù)功能:延時一段時間*/void delay(void)unsigned int n;for(n=0;n<30000;
28、n+)/* 函數(shù)功能:主函數(shù)*/void main(void)unsigned char i;while(1)P1=0xff;delay();for(i=0;i<8;i+)/P1=P1>>1;delay();設(shè)置循環(huán)次數(shù)為 8/每次循環(huán)P1的各二進(jìn)位右移1位,高位補(bǔ)0/ 調(diào)用延時函數(shù)/19 iffP0 8 LED實(shí)例19:用iff 語句控制P0 口 8位LED的流水方向#include<reg51.h> / 包含單片機(jī)寄存器的頭文件sbit S1=P1A4;將 S1 位定義為 P1.4sbit S2=P1A5;將 S2位定義為 P1.5/*函數(shù)功能:主函數(shù)*/vo
29、id main(void)while(1)if(S1=0)/如果按鍵S1按下P0=0x0f;/P0 口 高四位 LED點(diǎn)亮if(S2=0)/如果按鍵S2按下P0=0xf0;/P0 口低四位 LED點(diǎn)亮/實(shí)例20:用swtich語句的控制 P0 口 8位LED的點(diǎn)亮狀態(tài)#include<reg51.h> / 包含單片機(jī)寄存器的頭文件sbit S1=P1A4; 將 S1 位定義為 P1.4/*函數(shù)功能:延時一段時間*/void delay(void)unsigned int n;for(n=0;n<10000;n+) /* 函數(shù)功能:主函數(shù)*/ void main(void) u
30、nsigned char i;精品文檔i=0;/ 將 i 初始化為 0while(1)if(S1=0)/如果S1鍵按下 delay() / 延時一段時間 ;if(S1=0) 如果再次檢測到S1鍵按下i+;/i 自增 1if(i=9)/ 如果 i=9 ,重新將其置為1i=1;switch / 使用多分支選擇語句(1) case 1: P0=0xfe; / 第一個 LEDS?break;case 2: P0=0xfd; / 第二個 LED亮break;case 3:P0=0xfb;/ 第三個 LEDSbreak;case 4:P0=0xf7;/ 第四個 LEDSbreak;case 5:P0=0x
31、ef;/ 第五個 LEDSbreak;case 6:P0=0xdf;/ 第六個 LEDSbreak;case 7:P0=0xbf;/ 第七個 LEDSbreak;case 8:P0=0x7f;/ 第八個 LEDSbreak;default:/ 缺省值,關(guān)閉所有 LEDP0=0xff;/21 for/ 實(shí)例 21:用 for 語句控制蜂鳴器鳴笛次數(shù)#include<reg51.h>/ 包含單片機(jī)寄存器的頭文件sbit sound=P3A7;將 sound 位定義為 P3.7/*函數(shù)功能:延時形成1600Hz音頻114/ 192*/ void delay1600(void)unsign
32、ed char n;for(n=0;n<100;n+) /* 函數(shù)功能:延時形成800Hz音頻 */ void delay800(void)unsigned char n;for(n=0;n<200;n+)/* 函數(shù)功能:主函數(shù)*/ void main(void)unsigned int i;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
33、();sound=1; /P3.7 delay800();11/ 1925精品文檔/ 實(shí)例22:用whille 語句控制 LED#include<reg51.h / 包含單片機(jī)寄存器的頭文件 >/*函數(shù)功能:延時約 60ms(3*100*200=60000Ns)*/ void delay60ms(void)unsigned char m,n;for(m=0;m<100;m+)for(n=0;n<200;n+) /* 函數(shù)功能:主函數(shù)*/ void main(void)unsigned char i;while(1) / 無限循環(huán) i=0;/ 將 iwhile(i<
34、0xff) 初始化為 0/ 當(dāng) i 小于 0xff ( 255) 時執(zhí)行循環(huán)體P0=i;/ 將 i 送 P0 口顯示117/ 192delay60ms(); / 延時i+;/i 自增 1/實(shí)例23:用do-whiile語句控制P0 口 8位LE瑜水點(diǎn)亮#include<reg51.h> / 包含單片機(jī)寄存器的頭文件/*函數(shù)功能:延時約 60ms(3*100*200=60000Ns)*/void delay60ms(void)unsigned char m,n;for(m=0;m<100;m+)for(n=0;n<200;n+);/*函數(shù)功能:主函數(shù)*/void main
35、(void)doP0=0xfe;/ 第一個 LED亮delay60ms();P0=0xfd;/ 第二個 LED亮delay60ms();P0=0xfb;/ 第三個 LED35delay60ms();P0=0x億/第四個LED®delay60ms();P0=0xef;/ 第五個 LED?delay60ms();P0=0xdf;/ 第六個 LED35delay60ms();delay60ms();P0=0xbf;/ 第七個 LED35delay60ms();P0=0x7f;/ 第八個 LED?delay60ms();while(1); /無限循環(huán),使8位LED循環(huán)流水點(diǎn)亮/實(shí)例24:用字
36、符型數(shù)組控制P0 口 8位LED流水點(diǎn)亮#include<reg51.h> / 包含單片機(jī)寄存器的頭文件/*函數(shù)功能:延時約 60ms(3*100*200=60000Ns)*/void delay60ms(void)unsigned char m,n;for(m=0;m<100;m+)精品文檔for(n=0;n<200;n+) /*函數(shù)功能:主函數(shù)*/ void main(void)/ 定unsigned char i;unsigned char code Tab =0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; 義無符號字符型數(shù)組wh
37、ile(1)for(i=0;i<8;i+)P0=Tabi;/依次引用數(shù)組元素,并將其送 P0口顯示delay60ms();/調(diào)用延時函數(shù)/實(shí)例2525:P0用 P0 口顯示字符串常量#include<reg51.h/ 包含單片機(jī)寄存器的頭文件>/*函數(shù)功能:延時約 150ms(3*200*250=150 000 仙 s=150ms*/ void delay150ms(void)unsigned char m,n;for(m=0;m<200;m+)for(n=0;n<250;n+) /*函數(shù)功能:主函數(shù)*/ void main(void)unsigned char
38、str="Now,Temperature is :"/ 將字符串賦給字符型全部元素賦值unsigned char i;118/ 192while(1)/ 將 i 初始化為0,從第一個元素開始顯示while(stri!='0')/ 只要沒有顯示到結(jié)束標(biāo)志'0'P0=stri;/ 將第 i 個字符送到 P0 口顯示delay150ms();/ 調(diào)用 150ms延時函數(shù)i+;/ 指向下一個待顯字符/ 實(shí)例26:用P0 口顯示指針運(yùn)算結(jié)果#include<reg51.h>void main(void)unsigned char *p1,*
39、p2; / 定義無符號字符型指針變量p1,p2unsigned char / 定義無符號字符型數(shù)據(jù) i,j;i=25;/ 給 i 賦初值 25j=15;p1=&i/ 使指針變量指向i ,對指針初始化;/ 使指針變量指向j ,對指針初始化p2=&j;P0=*p1+*p2;/*p1+*p2 相當(dāng)于 i+j, 所以 P0=25+15=40=0x28/則P0=00101000B,結(jié)果P0.3、P0.5弓I腳LED息滅,其余點(diǎn)亮 while(1);/ 無限循環(huán),防止程序“跑飛”/27P0 8 LED/實(shí)例27:用指針數(shù)組控制P0 口 8位LED流水點(diǎn)亮#include<reg51.h>/*函數(shù)功能:延時約 150ms(3*200*250=150 000 仙 s=150ms*/void delay150ms(void)unsigned char m,n; for(m=0;m<200;m+)119/ 192精品文檔221/ 192for(n=0;n<250;n+) /* 函數(shù)功能:主函數(shù)*/ void main(void)unsigned char code Tab=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;unsigned char *p =&Tab0,&Tab1,&Tab2,&T
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生物質(zhì)能源技術(shù)應(yīng)用案例分享與探討
- 物業(yè)服務(wù)和社區(qū)文化的雙重效應(yīng)
- 現(xiàn)代科技在餐飲業(yè)中的應(yīng)用與前景
- 現(xiàn)代住宅門的設(shè)計(jì)與環(huán)保理念結(jié)合
- 現(xiàn)代教育模式下的綠色科技與環(huán)境保護(hù)結(jié)合之路探討-以電池為例
- 現(xiàn)代物流業(yè)發(fā)展趨勢與企業(yè)戰(zhàn)略規(guī)劃
- 現(xiàn)代保安公司經(jīng)營模式與風(fēng)險管理研究
- 未來商業(yè)視角下的磚塊技術(shù)研發(fā)方向探索
- 2024秋五年級英語上冊 Module 6 Unit 1 You can play football well說課稿6 外研版(三起)001
- 深度探索基于認(rèn)知規(guī)律的老齡化課程開發(fā)
- 四川省自貢市2024-2025學(xué)年上學(xué)期八年級英語期末試題(含答案無聽力音頻及原文)
- 2025-2030年中國汽車防滑鏈行業(yè)競爭格局展望及投資策略分析報(bào)告新版
- 2025年上海用人單位勞動合同(4篇)
- 二年級上冊口算題3000道-打印版讓孩子口算無憂
- 2025年生物安全年度工作計(jì)劃
- 通用電子嘉賓禮薄
- GB/T 28419-2012風(fēng)沙源區(qū)草原沙化遙感監(jiān)測技術(shù)導(dǎo)則
- GB/T 22077-2008架空導(dǎo)線蠕變試驗(yàn)方法
- DDI領(lǐng)導(dǎo)力-高績效輔導(dǎo)課件
- 水泥罐安裝與拆除專項(xiàng)施工方案
- 大學(xué)語文課件(完整版)
評論
0/150
提交評論