單片機(jī)學(xué)習(xí)教程之手把手教你單片機(jī)程序框架PDF電子書免費(fèi)下載
資料介紹
第一節(jié):吳堅(jiān)鴻談初學(xué)單片機(jī)的誤區(qū)。
第二節(jié):delay()延時(shí)實(shí)現(xiàn)LED燈的閃爍。
第三節(jié):累計(jì)主循環(huán)次數(shù)使LED燈閃爍。
第四節(jié):累計(jì)定時(shí)中斷次數(shù)使LED燈閃爍。
第五節(jié):蜂鳴器的驅(qū)動(dòng)程序。
第六節(jié):在主函數(shù)中利用累計(jì)主循環(huán)次數(shù)來實(shí)現(xiàn)獨(dú)立按鍵的檢測(cè)。
第七節(jié):在主函數(shù)中利用累計(jì)定時(shí)中斷的次數(shù)來實(shí)現(xiàn)獨(dú)立按鍵的檢測(cè)。
第八節(jié):在定時(shí)中斷函數(shù)里執(zhí)行獨(dú)立按鍵的掃描程序。
第九節(jié):獨(dú)立按鍵的雙擊按鍵觸發(fā)。
第十節(jié):兩個(gè)獨(dú)立按鍵的組合按鍵觸發(fā)。
第十一節(jié):同一個(gè)按鍵短按與長(zhǎng)按的區(qū)別觸發(fā)。
第十二節(jié):按住一個(gè)獨(dú)立按鍵不松手的連續(xù)步進(jìn)觸發(fā)。
第十三節(jié):按住一個(gè)獨(dú)立按鍵不松手的加速勻速觸發(fā)。
第十四節(jié):矩陣鍵盤的單個(gè)觸發(fā)。
第十五節(jié):矩陣鍵盤單個(gè)觸發(fā)的壓縮代碼編程。
第十六節(jié):矩陣鍵盤的組合按鍵觸發(fā)。
第十七節(jié):兩片聯(lián)級(jí)74HC595驅(qū)動(dòng)16個(gè)LED燈的基本驅(qū)動(dòng)程序。
。第十八節(jié):把74HC595驅(qū)動(dòng)程序翻譯成類似單片機(jī)IO口直接驅(qū)動(dòng)的方式。
第十九節(jié):依次逐個(gè)點(diǎn)亮LED之后,再依次逐個(gè)熄滅LED的跑馬燈程序。
第二十節(jié):依次逐個(gè)亮燈并且每次只能亮一個(gè)燈的跑馬燈程序。
第二十一節(jié):多任務(wù)并行處理兩路跑馬燈。
第二十二節(jié):獨(dú)立按鍵控制跑馬燈的方向。
第二十三節(jié):獨(dú)立按鍵控制跑馬燈的速度。
第二十四節(jié):獨(dú)立按鍵控制跑馬燈的啟動(dòng)和暫停。
第二十五節(jié):用LED燈和按鍵來模擬工業(yè)自動(dòng)化設(shè)備的運(yùn)動(dòng)控制。
第二十六節(jié):在主函數(shù)while循環(huán)中驅(qū)動(dòng)數(shù)碼管的動(dòng)態(tài)掃描程序。
第二十七節(jié):在定時(shí)中斷里動(dòng)態(tài)掃描數(shù)碼管的程序。
第二十八節(jié):數(shù)碼管通過切換窗口來設(shè)置參數(shù)。
第二十九節(jié):數(shù)碼管通過切換窗口來設(shè)置參數(shù),并且不顯示為0的高位。
第三十節(jié):數(shù)碼管通過閃爍來設(shè)置數(shù)據(jù)。
第三十一節(jié):數(shù)碼管通過一二級(jí)菜單來設(shè)置數(shù)據(jù)的綜合程序。
第三十二節(jié):數(shù)碼管中的倒計(jì)時(shí)程序。
第三十三節(jié):能設(shè)置速度檔位的數(shù)碼管倒計(jì)時(shí)程序。
第三十四節(jié):在數(shù)碼管中實(shí)現(xiàn)iphone4S開機(jī)密碼鎖的程序。
第三十五節(jié):帶數(shù)碼管顯示的象棋比賽專用計(jì)時(shí)器。
第三十六節(jié):帶數(shù)碼管顯示的加法簡(jiǎn)易計(jì)算器。
第三十七節(jié):數(shù)碼管作為儀表盤顯示跑馬燈的方向,速度和運(yùn)行狀態(tài)。
第三十八節(jié):判斷數(shù)據(jù)尾來接收一串?dāng)?shù)據(jù)的串口通用程序框架。
第三十九節(jié):判斷數(shù)據(jù)頭來接收一串?dāng)?shù)據(jù)的串口通用程序框架。
第四十節(jié):常用的自定義串口通訊協(xié)議。
第四十一節(jié):在串口接收中斷里即時(shí)解析數(shù)據(jù)頭的特殊程序框架。
第四十二節(jié):通過串口用delay延時(shí)方式發(fā)送一串?dāng)?shù)據(jù)。
第四十三節(jié):通過串口用計(jì)數(shù)延時(shí)方式發(fā)送一串?dāng)?shù)據(jù)。
第四十四節(jié):從機(jī)的串口收發(fā)綜合程序框架
第四十五節(jié):主機(jī)的串口收發(fā)綜合程序框架
第四十六節(jié):利用AT24C02進(jìn)行掉電后的數(shù)據(jù)保存。
第四十七節(jié):操作AT24C02時(shí),利用“一氣呵成的定時(shí)器延時(shí)”改善數(shù)碼管的閃爍現(xiàn)象。
第四十八節(jié):利用DS1302做一個(gè)實(shí)時(shí)時(shí)鐘 。
第四十九節(jié):利用DS18B20做一個(gè)溫控器 。
第五十節(jié):利用ADC0832采集電壓信號(hào),用平均法和區(qū)間法進(jìn)行軟件濾波處理。
第五十一節(jié):利用ADC0832采集電壓信號(hào),用連續(xù)N次一致性的方法進(jìn)行濾波處理。
第五十二節(jié):程序后續(xù)升級(jí)修改的利器,return語句鮮為人知的用法。
第五十三節(jié):指針的第一大好處,讓一個(gè)函數(shù)可以封裝多個(gè)相當(dāng)于return語句返回的參數(shù)。
第五十四節(jié):指針的第二大好處,指針作為數(shù)組在函數(shù)中的輸入接口。
第五十五節(jié):指針的第三大好處,指針作為數(shù)組在函數(shù)中的輸出接口。
第五十六節(jié):指針的第四大好處,指針作為數(shù)組在函數(shù)中的輸入輸出接口。
第五十七節(jié):為指針加上緊箍咒const,避免意外修改了只做輸入接口的數(shù)據(jù)。
第五十八節(jié):指針的第五大好處,指針在眾多數(shù)組中的中轉(zhuǎn)站作用。
第五十九節(jié):串口程序第40,44,45節(jié)中存在一個(gè)bug,特此緊急公告。
第六十節(jié):用關(guān)中斷和互斥量來保護(hù)多線程共享的全局變量。
第六十一節(jié):組合BCD碼,非組合BCD碼,以及數(shù)值三者之間的相互轉(zhuǎn)換和關(guān)系。
第六十二節(jié):大數(shù)據(jù)的加法運(yùn)算。
第六十三節(jié):大數(shù)據(jù)的減法運(yùn)算。
第六十四節(jié):大數(shù)據(jù)的乘法運(yùn)算。
第六十五節(jié):大數(shù)據(jù)的除法運(yùn)算。
第六十六節(jié):?jiǎn)纹瑱C(jī)外部中斷的基礎(chǔ)。
第六十七節(jié):利用外部中斷實(shí)現(xiàn)模擬串口數(shù)據(jù)的收發(fā)。
第六十八節(jié):?jiǎn)纹瑱C(jī)C語言的多文件編程技巧。
第六十九節(jié):使用static關(guān)鍵字可以減少全局變量的使用。
第七十節(jié):深入講解液晶屏的構(gòu)字過程。
第七十一節(jié):液晶屏的字符,16點(diǎn)陣,24點(diǎn)陣和32點(diǎn)陣的顯示程序。
第七十二節(jié):在液晶屏中把字體順時(shí)針旋轉(zhuǎn)90度顯示的算法程序。
第七十三節(jié):在液晶屏中把字體鏡像顯示的算法程序。
第七十四節(jié):在液晶屏中讓字體可以跨區(qū)域無縫對(duì)接顯示的算法程序。
第七十五節(jié):在12864液晶屏中讓字體以1個(gè)點(diǎn)陣為單位進(jìn)行移動(dòng)顯示的算法程序。
第七十六節(jié):如何把一個(gè)任意數(shù)值的變量顯示在液晶屏上。
第七十七節(jié):在1個(gè)窗口里通過移動(dòng)光標(biāo)來設(shè)置不同參數(shù)的液晶屏菜單程序。
第七十八節(jié):在多個(gè)窗口里通過移動(dòng)光標(biāo)來設(shè)置不同參數(shù)的液晶屏菜單程序。
第七十九節(jié):通過主菜單移動(dòng)光標(biāo)來進(jìn)入子菜單窗口的液晶屏程序。
第八十節(jié):調(diào)用液晶屏內(nèi)部字庫來顯示漢字或字符的坐標(biāo)體系和本質(zhì)。
第八十一節(jié):液晶屏顯示串口發(fā)送過來的任意漢字和字符。
第八十二節(jié):如何通過調(diào)用液晶屏內(nèi)部字庫把一個(gè)任意數(shù)值的變量顯示出來。
第八十三節(jié):矩陣鍵盤輸入任意數(shù)字或小數(shù)點(diǎn)的液晶屏顯示程序。
第八十四節(jié):實(shí)時(shí)同步把鍵盤輸入的BCD碼數(shù)組轉(zhuǎn)換成數(shù)值的液晶屏顯示程序。
第八十五節(jié):實(shí)時(shí)同步把加減按鍵輸入的數(shù)值轉(zhuǎn)換成BCD碼數(shù)組的液晶屏顯示程序。
第八十六節(jié):數(shù)字鍵盤與液晶菜單的綜合程序。
第八十七節(jié):鄭文顯捐贈(zèng)的工控項(xiàng)目源代碼。
第八十八節(jié):電子稱連續(xù)不斷從串口對(duì)外發(fā)送數(shù)據(jù),單片機(jī)靠關(guān)鍵字快速截取有效數(shù)據(jù)串。
第八十九節(jié):用單片機(jī)內(nèi)部定時(shí)器做一個(gè)時(shí)鐘。
第九十節(jié):針對(duì)行程開關(guān)感應(yīng)器,分享一種既能及時(shí)響應(yīng),又能抗干擾處理的識(shí)別思路。

第一節(jié):吳堅(jiān)鴻談初學(xué)單片機(jī)的誤區(qū)。
?。?)很難記住繁雜的寄存器?寄存器不用死記硬背,鴻哥我行走江湖多年,連一個(gè)寄存器都記不住。需要配置寄存器的時(shí)候,直接在網(wǎng)上或者書本上參考別人現(xiàn)成的配置程序是上策,查找芯片數(shù)據(jù)手冊(cè)是中策,死記硬背寄存器是最最下策。
?。?)很難記住繁雜的匯編語言指令?除非是在校學(xué)生要應(yīng)付考試或者少數(shù)工作中繞不開匯編,否則學(xué)匯編就是浪費(fèi)時(shí)間。鴻哥我行走江湖多年,從來就沒有用匯編幫客戶做過一個(gè)項(xiàng)目。
?。?)C 語言很難學(xué)?你不用學(xué)指針,你不用學(xué)帶形參的函數(shù),你不用學(xué)結(jié)構(gòu)體,你不用學(xué)宏定義,你不用學(xué)文件操作,你也不用死記繁瑣的數(shù)據(jù)類型。你只要會(huì):
5 條指令語句 switch 語句,if else 語句,while 語句,for 語句,=賦值語句。
7 個(gè)運(yùn)算符+,-,*,/,|,&,!。
4 個(gè)邏輯關(guān)系符||,&&,!=,==。
3 個(gè)數(shù)據(jù)類型 unsigned char, unsigned int, unsigned long。
3 個(gè)進(jìn)制相互轉(zhuǎn)化,二進(jìn)制,十六進(jìn)制,十進(jìn)制。
1 個(gè) void 函數(shù)。
1 個(gè)一維數(shù)組 code(或 const) unsigned char array[]。
那么世界上任何一種邏輯功能的單片機(jī)軟件你都能做出來。
鴻哥我當(dāng)年剛畢業(yè)出來工作的時(shí)候才知道可以用 C語言開發(fā)單片機(jī),一開始只用 if 語句就把項(xiàng)目做出來了,沒有用指針,沒有用帶形參的函數(shù)等復(fù)雜的功能。再到后來才慢慢開始用 C 語言其他的高級(jí)功能,但是我發(fā)現(xiàn) C 語言其他的高級(jí)功能,本質(zhì)上都是用我前面列舉出來的最基本功能集合而成,只是書寫更加簡(jiǎn)單方便了一點(diǎn),編譯后的機(jī)器碼都大同小異。所以不會(huì)指針等高級(jí)功能你不用自卑,恰恰相反,當(dāng)你會(huì)最簡(jiǎn)單的幾個(gè)語句,就把這些高級(jí)功能的程序都做出來了,你才發(fā)現(xiàn)你對(duì)底層了解得更加透切,再學(xué)那些高級(jí)功能輕而易舉。當(dāng)你裸機(jī)跑的程序都能夠協(xié)調(diào)得很好的時(shí)候,你才發(fā)現(xiàn)所謂高深的操作系統(tǒng)也不過如此,只要給你時(shí)間和金錢你也可以寫個(gè)操作系統(tǒng)來玩玩。
?。?)很難記住精確時(shí)間的計(jì)算公式?經(jīng)??吹綍r(shí)間公式等于晶振,時(shí)鐘周期,執(zhí)行指令次數(shù)他們之間的乘除關(guān)系式。鴻哥我認(rèn)為這些都是浮云,不用糾結(jié)也不用去記,大概了解一下就可以了。不管你對(duì)公式掌握得有多精確,你都不可能做出非常精確的時(shí)間。想用單片機(jī)做一個(gè)非常精確的時(shí)間這種想法一開始就是錯(cuò)的,不可能的。真想做一個(gè)比較精確的時(shí)間,應(yīng)該用外圍時(shí)鐘芯片或者 FPGA 和 CPLD,而不是單片機(jī)。
(5)很難記住繁雜的各種通信協(xié)議?什么 IIC,SPI,232 串口通訊,CAN,USB 等等。這些都是浮云,你不用記那么多,你只要理解兩種通訊方式就夠了,那就是串行通訊方式和并行通訊方式。不管世界上有多少種通訊協(xié)議,物理世界上只有這兩種通訊方式,其他各種名稱的通訊協(xié)議都基于此兩種方式演變而來。
?。?)很難寫短小精悍的程序?初學(xué)者不要糾結(jié)于此。做項(xiàng)目開發(fā),程序容量不是刻意追求的目標(biāo),程序多一點(diǎn)少一點(diǎn)沒關(guān)系,現(xiàn)在大容量的單片機(jī)品種非常多,容量不會(huì)是寸土寸金的事情,我們更加要關(guān)注程序的運(yùn)行效率,可讀性和可修改性。
- 手把手教你開發(fā)基于單片機(jī)的wifi通信的物聯(lián)網(wǎng)項(xiàng)目(遠(yuǎn)程燈控制)
- 手把手教你學(xué)會(huì)AVR單片機(jī)pdf.05 0次下載
- 手把手教你學(xué)會(huì)AVR單片機(jī)pdf.04 0次下載
- 手把手教你學(xué)會(huì)AVR單片機(jī)pdf.03 0次下載
- 手把手教你學(xué)會(huì)AVR單片機(jī)pdf.02 0次下載
- 手把手教你學(xué)會(huì)AVR單片機(jī)pdf.01 0次下載
- 手把手教你學(xué)CAN總線PDF電子書免費(fèi)下載 140次下載
- 手把手教你單片機(jī)程序框架的PDF電子書免費(fèi)下載 298次下載
- 8051系列單片機(jī)C程序設(shè)計(jì)完全手冊(cè)PDF電子書免費(fèi)下載 300次下載
- 51單片機(jī)100實(shí)例源碼的注釋詳細(xì)PDF電子書免費(fèi)下載 230次下載
- 51單片機(jī)C語言程序100例電子書免費(fèi)下載 1k次下載
- 手把手教你學(xué)電子書制作 0次下載
- 手把手教你學(xué)習(xí)FPGA—LED篇 0次下載
- 從業(yè)將近十年!手把手教你單片機(jī)程序框架 110次下載
- 從業(yè)將近十年!手把手教你單片機(jī)程序框架_【吳堅(jiān)鴻】 354次下載
- 51單片機(jī)燒寫程序的方法 7.8k次閱讀
- 單片機(jī)里的程序是如何運(yùn)行? 5.8k次閱讀
- 單片機(jī)的主程序是如何執(zhí)行的 1.1w次閱讀
- HD44780讀寫單片機(jī)C51程序免費(fèi)下載 5.1k次閱讀
- 學(xué)習(xí)單片機(jī)一定要先學(xué)好C語言再去學(xué)單片機(jī)嗎 1.6w次閱讀
- 51單片機(jī)的學(xué)習(xí)步驟 8.9k次閱讀
- 如何學(xué)習(xí)STC單片機(jī)詳細(xì)STC單片機(jī)資料說明 1.3w次閱讀
- 單片機(jī)最小系統(tǒng)板制作方法 2.4w次閱讀
- 新手學(xué)習(xí)單片機(jī)的首選:51單片機(jī) 9.6k次閱讀
- 怎么讀取單片機(jī)程序_單片機(jī)程序是如何執(zhí)行的_如何讀懂單片機(jī)程序 7.9w次閱讀
- 分享學(xué)習(xí)單片機(jī)的四個(gè)階段 6.1k次閱讀
- 單片機(jī)初學(xué)者必看:這些單片機(jī)學(xué)習(xí)心得要牢記 1.5w次閱讀
- 單片機(jī)與程序設(shè)計(jì)(上) 8.2k次閱讀
- 單片機(jī)外圍功能電路控制的基礎(chǔ)知識(shí) 1.5w次閱讀
- 單片機(jī)編程之匯編語言基礎(chǔ)-常用指令和程序模式 1.6w次閱讀
下載排行
本周
- 1美的電磁爐電路原理圖資料
- 4.39 MB | 16次下載 | 10 積分
- 2反激式開關(guān)電源設(shè)計(jì)解析
- 0.89 MB | 2次下載 | 5 積分
- 3簡(jiǎn)易光伏控制器原理圖資料
- 0.07 MB | 1次下載 | 5 積分
- 4TPS23755數(shù)據(jù)手冊(cè)
- 0.07 MB | 次下載 | 免費(fèi)
- 536伏,10兆赫茲低噪聲雙運(yùn)算放大器COS5532 技術(shù)手冊(cè)
- 0.41 MB | 次下載 | 免費(fèi)
- 6LM5176 55V 寬輸入電壓同步4開關(guān)降壓/升壓控制器技術(shù)手冊(cè)
- 2.40 MB | 次下載 | 免費(fèi)
- 7MCU模塊原理圖資料
- 0.37 MB | 次下載 | 1 積分
- 8LoRa1121 FCC&CE認(rèn)證 多頻段LoRa無線通訊模塊規(guī)格書
- 997.05 KB | 次下載 | 免費(fèi)
本月
- 1美的電磁爐電路原理圖資料
- 4.39 MB | 16次下載 | 10 積分
- 2冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 7次下載 | 10 積分
- 3SDFM 激光測(cè)距模塊模組手冊(cè)
- 0.54 MB | 7次下載 | 免費(fèi)
- 4直流電路的組成和基本定律
- 1.67 MB | 4次下載 | 免費(fèi)
- 5SW6238V ACCC 三 PD 四口多協(xié)議移動(dòng)電源 SOC規(guī)格書
- 0.59 MB | 4次下載 | 1 積分
- 6安川A1000變頻器中文版說明書
- 20.16 MB | 3次下載 | 3 積分
- 7IP6742_datasheet_100V8A 同步 BUCK 控制器
- 2.16 MB | 3次下載 | 免費(fèi)
- 8PAW3395DM-T6QU:光學(xué)游戲?qū)Ш叫酒謨?cè)
- 1.26 MB | 2次下載 | 10 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233094次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191448次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183360次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81605次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73829次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論