|
宋老師的源碼 覺(jué)得寫的非常好
本目錄下提供的是《手把手教你學(xué)51單片機(jī)(C語(yǔ)言版)》教材中所有例程與作業(yè)習(xí)題的源代碼。
請(qǐng)將整個(gè)目錄復(fù)制到電腦硬盤上使用,如直接在光盤路徑下打開(kāi)工程可能會(huì)導(dǎo)致軟件報(bào)錯(cuò)。
運(yùn)行目錄下的Clean.bat可以清理程序編譯過(guò)程中產(chǎn)生的中間文件和臨時(shí)文件。
lesson2 (第2章):
點(diǎn)亮一個(gè)LED示例,所在章節(jié)2.4
lesson3 (第3章):
LED閃爍示例,所在章節(jié)3.5
lesson4 (第4章):
4_1:用P0口控制LED的示例,所在章節(jié)4.8
4_2:用P0口控制實(shí)現(xiàn)流水燈效果,所在章節(jié)4.8
4_t4:作業(yè)題4,逐次右移的流水燈效果,所在章節(jié)4.9
4_t5:作業(yè)題5,左右往復(fù)移動(dòng)的流水燈效果,所在章節(jié)4.9
lesson5 (第5章):
5_1:基于定時(shí)器查詢模式的LED閃爍,所在章節(jié)5.2.3
5_2:靜態(tài)點(diǎn)亮數(shù)碼管的某幾段,所在章節(jié)5.3.2
5_3:數(shù)碼管靜態(tài)顯示一位字符,所在章節(jié)5.3.3
5_t3:作業(yè)題3,定時(shí)器查詢模式實(shí)現(xiàn)左右移動(dòng)的流水燈,所在章節(jié)5.4
5_t5:作業(yè)題5,變更lesson5_3的正計(jì)數(shù)為倒計(jì)數(shù),所在章節(jié)5.4
lesson6 (第6章):
6_1:數(shù)碼管動(dòng)態(tài)顯示原理示例(if...else if...語(yǔ)句示例),所在章節(jié)6.4
6_2:數(shù)碼管動(dòng)態(tài)顯示原理示例(switch...case...語(yǔ)句示例),所在章節(jié)6.4
6_3:基于中斷帶消隱的數(shù)碼管動(dòng)態(tài)顯示示例,所在章節(jié)6.5
6_t4:作業(yè)題4,在lesson6_3多位數(shù)字顯示的基礎(chǔ)上不顯示高位的0,所在章節(jié)6.6
6_t5:作業(yè)題5,變更lesson6_3的正計(jì)數(shù)為倒計(jì)數(shù),所在章節(jié)6.6
lesson7 (第7章):
7_1:基于數(shù)碼管計(jì)時(shí)程序的靜態(tài)變量演示,所在章節(jié)7.2
7_2:點(diǎn)亮LED點(diǎn)陣上的一個(gè)點(diǎn),所在章節(jié)7.3
7_3:點(diǎn)亮LED點(diǎn)陣上的一行,所在章節(jié)7.3
7_4:點(diǎn)亮LED點(diǎn)陣上的全部點(diǎn),所在章節(jié)7.3
7_5:LED點(diǎn)陣顯示靜態(tài)圖形,所在章節(jié)7.4
7_6:LED點(diǎn)陣顯示縱向移動(dòng)的動(dòng)畫(huà),所在章節(jié)7.5.1
7_6_h:LED點(diǎn)陣顯示橫向移動(dòng)的動(dòng)畫(huà)(掉轉(zhuǎn)板子方向的取巧方式),所在章節(jié)7.5.2
7_7:LED點(diǎn)陣顯示橫向移動(dòng)的動(dòng)畫(huà),所在章節(jié)7.5.2
7_t3:作業(yè)題3,lesson7_6的向上移動(dòng)改為向下移動(dòng),所在章節(jié)7.6
7_t4:作業(yè)題4,lesson7_7的向左移動(dòng)改為向右移動(dòng),所在章節(jié)7.6
7_t5:作業(yè)題5,基于LED點(diǎn)陣的9~0倒計(jì)數(shù),所在章節(jié)7.6
7_t6:作業(yè)題6,獨(dú)立LED、數(shù)碼管、點(diǎn)陣LED同時(shí)全亮,所在章節(jié)7.6
lesson8 (第8章):
8_1:基于數(shù)碼管計(jì)時(shí)程序的函數(shù)調(diào)用演示,所在章節(jié)8.2
8_2:按鍵基本原理演示例程,所在章節(jié)8.4.3
8_3:獨(dú)立按鍵掃描原理演示例程,所在章節(jié)8.4.3
8_4:獨(dú)立按鍵消抖原理演示例程,所在章節(jié)8.4.4
8_5:獨(dú)立按鍵掃描并消抖的演示例程,所在章節(jié)8.4.4
8_6:矩陣按鍵掃描并消抖的演示例程,所在章節(jié)8.4.5
8_7:基于矩陣按鍵和數(shù)碼管實(shí)現(xiàn)的簡(jiǎn)易加法計(jì)算器,所在章節(jié)8.5
8_t4:作業(yè)題4,變更lesson8_5的遞增計(jì)數(shù)為遞減計(jì)數(shù),所在章節(jié)8.6
8_t5:作業(yè)題5,在lesson8_7基礎(chǔ)上實(shí)現(xiàn)簡(jiǎn)易加減計(jì)算器,所在章節(jié)8.6
lesson9 (第9章):
9_1:步進(jìn)電機(jī)驅(qū)動(dòng)的基礎(chǔ)示例,所在章節(jié)9.3.3
9_2:步進(jìn)電機(jī)轉(zhuǎn)動(dòng)任意角度的示例,所在章節(jié)9.3.4
9_3:實(shí)用的步進(jìn)電機(jī)驅(qū)動(dòng)示例,所在章節(jié)9.3.5
9_4:按鍵控制步進(jìn)電機(jī)轉(zhuǎn)動(dòng)的示例,所在章節(jié)9.3.6
9_5:蜂鳴器驅(qū)動(dòng)的基礎(chǔ)示例,所在章節(jié)9.4
9_6:蜂鳴器演奏簡(jiǎn)單樂(lè)譜——“兩只老虎”,所在章節(jié)9.4
lesson10 (第10章):
10_1:基于數(shù)碼管顯示的數(shù)字秒表,所在章節(jié)10.1
10_2:基于PWM方式控制LED的亮度,所在章節(jié)10.2
10_3:基于PWM方式控制LED實(shí)現(xiàn)呼吸燈效果,所在章節(jié)10.2
10_4:交通信號(hào)燈示例,所在章節(jié)10.3
10_5:長(zhǎng)短按鍵/連續(xù)按鍵功能實(shí)現(xiàn)示例,所在章節(jié)10.5
10_t3:作業(yè)題3,數(shù)碼管計(jì)時(shí)與流水燈同時(shí)運(yùn)行的示例,所在章節(jié)10.6
lesson11 (第11章):
11_1:普通IO口模擬實(shí)現(xiàn)串口通信的示例,所在章節(jié)11.4
11_2:?jiǎn)纹瑱C(jī)硬件UART查詢方式實(shí)現(xiàn)串口通信的示例,所在章節(jié)11.5.3
11_3:?jiǎn)纹瑱C(jī)硬件UART中斷方式實(shí)現(xiàn)串口通信的示例,所在章節(jié)11.5.3
11_4:UART串口通信及控制數(shù)碼管顯示的示例,所在章節(jié)11.6
11_t5:作業(yè)題5,UART串口控制流水燈流動(dòng)和停止,所在章節(jié)11.7
11_t6:作業(yè)題6,UART串口控制蜂鳴器的開(kāi)關(guān),所在章節(jié)11.7
lesson12 (第12章):
12_1:指針作為函數(shù)參數(shù)的示例,所在章節(jié)12.1
12_2:指向變量的指針與變量關(guān)系的示例,所在章節(jié)12.2
12_3:指針、字符串、字符數(shù)組、ASCII碼演示示例,所在章節(jié)12.3
12_4:1602液晶基本操作演示示例,所在章節(jié)12.4
lesson13 (第13章):
13_1:1602液晶顯示兩行字符串,并實(shí)現(xiàn)整屏的重復(fù)左移,所在章節(jié)13.2
13_2:多c文件示例,1602液晶顯示兩行字符串,并實(shí)現(xiàn)整屏的重復(fù)左移,所在章節(jié)13.3
13_3:整型數(shù)為操作數(shù)的簡(jiǎn)易+-*/計(jì)算器,所在章節(jié)13.4
13_4:基于幀模式的實(shí)用串口程序示例,所在章節(jié)13.5
13_t2:作業(yè)題2,1602液晶顯示兩行字符串,并實(shí)現(xiàn)整屏的重復(fù)右移,所在章節(jié)13.6
lesson14 (第14章):
14_1:尋址I2C總線上存在的和不存在的地址,將應(yīng)答狀態(tài)顯示到液晶上,所在章節(jié)14.2
14_2:用單字節(jié)讀寫模式訪問(wèn)EEPROM,每次+1后寫回,所在章節(jié)14.3.1
14_3:用多字節(jié)讀寫模式訪問(wèn)EEPROM,依次+1,+2,+3...后寫回,所在章節(jié)14.3.2
14_4:用連續(xù)讀與分頁(yè)寫模式訪問(wèn)EEPROM,依次+1,+2,+3...后寫回,所在章節(jié)14.3.3
14_5:讀取EEPROM中的數(shù)據(jù)顯示到液晶,并可通過(guò)UART修改EEPROM中的數(shù)據(jù),所在章節(jié)14.4
14_t3:作業(yè)題3,以lesson10_4為基礎(chǔ)實(shí)現(xiàn)可通過(guò)UART設(shè)定時(shí)間的交通燈示例,所在章節(jié)14.5
14_t4:作業(yè)題4,基于液晶、按鍵、EEPROM的密碼鎖示例,所在章節(jié)14.5
lesson15 (第15章):
15_1:用單次讀寫模式訪問(wèn)DS1302,并將日期時(shí)間顯示在液晶上,所在章節(jié)15.3.4
15_2:用突發(fā)讀寫模式訪問(wèn)DS1302,并將日期時(shí)間顯示在液晶上,所在章節(jié)15.3.5
15_3:DS1302實(shí)現(xiàn)簡(jiǎn)易電子鐘,通過(guò)按鍵校時(shí),所在章節(jié)15.5
lesson16 (第16章):
16_1:接收NEC協(xié)議的紅外編碼并將用戶碼和鍵碼顯示到數(shù)碼管上,所在章節(jié)16.3
16_2:控制DS18B20測(cè)量溫度并將溫度值顯示到液晶上,所在章節(jié)16.4
16_t2:作業(yè)題2,用遙控器控制步進(jìn)電機(jī)正反轉(zhuǎn),所在章節(jié)16.5
16_t4:作業(yè)題4,帶溫度顯示的電子鐘,所在章節(jié)16.5
lesson17 (第17章):
17_1:將模擬輸入通道0、1、3的電壓值顯示到液晶上,所在章節(jié)17.4
17_2:由按鍵控制DA輸出可調(diào)電壓值,所在章節(jié)17.6
17_3:由按鍵控制DA輸出可變化的波形,所在章節(jié)17.7
17_t3:作業(yè)題3,可調(diào)頻率的信號(hào)發(fā)生器,所在章節(jié)17.8
lesson18 (第18章):
18_1:RS485基本示例,接收任意數(shù)據(jù)幀并添加回車換行后送回,所在章節(jié)18.1
18_2:基于RS485的Modbus通信示例,支持寄存器讀寫操作,所在章節(jié)18.3
18_t3:作業(yè)題3,基于Modbus協(xié)議實(shí)現(xiàn)電子鐘校時(shí),所在章節(jié)18.4
lesson19 (第19章):
19_1:多功能電子鐘例程,所在章節(jié)19.4
|
|