電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>單片機>單片機學(xué)習(xí)教程之手把手教你單片機程序框架PDF電子書免費下載

單片機學(xué)習(xí)教程之手把手教你單片機程序框架PDF電子書免費下載

2019-04-28 | pdf | 3.96 MB | 次下載 | 1積分

資料介紹

  第一節(jié):吳堅鴻談初學(xué)單片機的誤區(qū)。

  第二節(jié):delay()延時實現(xiàn)LED燈的閃爍。

  第三節(jié):累計主循環(huán)次數(shù)使LED燈閃爍。

  第四節(jié):累計定時中斷次數(shù)使LED燈閃爍。

  第五節(jié):蜂鳴器的驅(qū)動程序。

  第六節(jié):在主函數(shù)中利用累計主循環(huán)次數(shù)來實現(xiàn)獨立按鍵的檢測。

  第七節(jié):在主函數(shù)中利用累計定時中斷的次數(shù)來實現(xiàn)獨立按鍵的檢測。

  第八節(jié):在定時中斷函數(shù)里執(zhí)行獨立按鍵的掃描程序。

  第九節(jié):獨立按鍵的雙擊按鍵觸發(fā)。

  第十節(jié):兩個獨立按鍵的組合按鍵觸發(fā)。

  第十一節(jié):同一個按鍵短按與長按的區(qū)別觸發(fā)。

  第十二節(jié):按住一個獨立按鍵不松手的連續(xù)步進觸發(fā)。

  第十三節(jié):按住一個獨立按鍵不松手的加速勻速觸發(fā)。

  第十四節(jié):矩陣鍵盤的單個觸發(fā)。

  第十五節(jié):矩陣鍵盤單個觸發(fā)的壓縮代碼編程

  第十六節(jié):矩陣鍵盤的組合按鍵觸發(fā)。

  第十七節(jié):兩片聯(lián)級74HC595驅(qū)動16個LED燈的基本驅(qū)動程序。

  。第十八節(jié):把74HC595驅(qū)動程序翻譯成類似單片機IO口直接驅(qū)動的方式。

  第十九節(jié):依次逐個點亮LED之后,再依次逐個熄滅LED的跑馬燈程序。

  第二十節(jié):依次逐個亮燈并且每次只能亮一個燈的跑馬燈程序。

  第二十一節(jié):多任務(wù)并行處理兩路跑馬燈。

  第二十二節(jié):獨立按鍵控制跑馬燈的方向。

  第二十三節(jié):獨立按鍵控制跑馬燈的速度。

  第二十四節(jié):獨立按鍵控制跑馬燈的啟動和暫停。

  第二十五節(jié):用LED燈和按鍵來模擬工業(yè)自動化設(shè)備的運動控制。

  第二十六節(jié):在主函數(shù)while循環(huán)中驅(qū)動數(shù)碼管的動態(tài)掃描程序。

  第二十七節(jié):在定時中斷里動態(tài)掃描數(shù)碼管的程序。

  第二十八節(jié):數(shù)碼管通過切換窗口來設(shè)置參數(shù)。

  第二十九節(jié):數(shù)碼管通過切換窗口來設(shè)置參數(shù),并且不顯示為0的高位。

  第三十節(jié):數(shù)碼管通過閃爍來設(shè)置數(shù)據(jù)。

  第三十一節(jié):數(shù)碼管通過一二級菜單來設(shè)置數(shù)據(jù)的綜合程序。

  第三十二節(jié):數(shù)碼管中的倒計時程序。

  第三十三節(jié):能設(shè)置速度檔位的數(shù)碼管倒計時程序。

  第三十四節(jié):在數(shù)碼管中實現(xiàn)iphone4S開機密碼鎖的程序。

  第三十五節(jié):帶數(shù)碼管顯示的象棋比賽專用計時器。

  第三十六節(jié):帶數(shù)碼管顯示的加法簡易計算器。

  第三十七節(jié):數(shù)碼管作為儀表盤顯示跑馬燈的方向,速度和運行狀態(tài)。

  第三十八節(jié):判斷數(shù)據(jù)尾來接收一串?dāng)?shù)據(jù)的串口通用程序框架。

  第三十九節(jié):判斷數(shù)據(jù)頭來接收一串?dāng)?shù)據(jù)的串口通用程序框架。

  第四十節(jié):常用的自定義串口通訊協(xié)議。

  第四十一節(jié):在串口接收中斷里即時解析數(shù)據(jù)頭的特殊程序框架。

  第四十二節(jié):通過串口用delay延時方式發(fā)送一串?dāng)?shù)據(jù)。

  第四十三節(jié):通過串口用計數(shù)延時方式發(fā)送一串?dāng)?shù)據(jù)。

  第四十四節(jié):從機的串口收發(fā)綜合程序框架

  第四十五節(jié):主機的串口收發(fā)綜合程序框架

  第四十六節(jié):利用AT24C02進行掉電后的數(shù)據(jù)保存。

  第四十七節(jié):操作AT24C02時,利用“一氣呵成的定時器延時”改善數(shù)碼管的閃爍現(xiàn)象。

  第四十八節(jié):利用DS1302做一個實時時鐘 。

  第四十九節(jié):利用DS18B20做一個溫控器 。

  第五十節(jié):利用ADC0832采集電壓信號,用平均法和區(qū)間法進行軟件濾波處理。

  第五十一節(jié):利用ADC0832采集電壓信號,用連續(xù)N次一致性的方法進行濾波處理。

  第五十二節(jié):程序后續(xù)升級修改的利器,return語句鮮為人知的用法。

  第五十三節(jié):指針的第一大好處,讓一個函數(shù)可以封裝多個相當(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é)中存在一個bug,特此緊急公告。

  第六十節(jié):用關(guān)中斷和互斥量來保護多線程共享的全局變量。

  第六十一節(jié):組合BCD碼,非組合BCD碼,以及數(shù)值三者之間的相互轉(zhuǎn)換和關(guān)系。

  第六十二節(jié):大數(shù)據(jù)的加法運算。

  第六十三節(jié):大數(shù)據(jù)的減法運算。

  第六十四節(jié):大數(shù)據(jù)的乘法運算。

  第六十五節(jié):大數(shù)據(jù)的除法運算。

  第六十六節(jié):單片機外部中斷的基礎(chǔ)。

  第六十七節(jié):利用外部中斷實現(xiàn)模擬串口數(shù)據(jù)的收發(fā)。

  第六十八節(jié):單片機C語言的多文件編程技巧。

  第六十九節(jié):使用static關(guān)鍵字可以減少全局變量的使用。

  第七十節(jié):深入講解液晶屏的構(gòu)字過程。

  第七十一節(jié):液晶屏的字符,16點陣,24點陣和32點陣的顯示程序。

  第七十二節(jié):在液晶屏中把字體順時針旋轉(zhuǎn)90度顯示的算法程序。

  第七十三節(jié):在液晶屏中把字體鏡像顯示的算法程序。

  第七十四節(jié):在液晶屏中讓字體可以跨區(qū)域無縫對接顯示的算法程序。

  第七十五節(jié):在12864液晶屏中讓字體以1個點陣為單位進行移動顯示的算法程序。

  第七十六節(jié):如何把一個任意數(shù)值的變量顯示在液晶屏上。

  第七十七節(jié):在1個窗口里通過移動光標(biāo)來設(shè)置不同參數(shù)的液晶屏菜單程序。

  第七十八節(jié):在多個窗口里通過移動光標(biāo)來設(shè)置不同參數(shù)的液晶屏菜單程序。

  第七十九節(jié):通過主菜單移動光標(biāo)來進入子菜單窗口的液晶屏程序。

  第八十節(jié):調(diào)用液晶屏內(nèi)部字庫來顯示漢字或字符的坐標(biāo)體系和本質(zhì)。

  第八十一節(jié):液晶屏顯示串口發(fā)送過來的任意漢字和字符。

  第八十二節(jié):如何通過調(diào)用液晶屏內(nèi)部字庫把一個任意數(shù)值的變量顯示出來。

  第八十三節(jié):矩陣鍵盤輸入任意數(shù)字或小數(shù)點的液晶屏顯示程序。

  第八十四節(jié):實時同步把鍵盤輸入的BCD碼數(shù)組轉(zhuǎn)換成數(shù)值的液晶屏顯示程序。

  第八十五節(jié):實時同步把加減按鍵輸入的數(shù)值轉(zhuǎn)換成BCD碼數(shù)組的液晶屏顯示程序。

  第八十六節(jié):數(shù)字鍵盤與液晶菜單的綜合程序。

  第八十七節(jié):鄭文顯捐贈的工控項目源代碼。

  第八十八節(jié):電子稱連續(xù)不斷從串口對外發(fā)送數(shù)據(jù),單片機靠關(guān)鍵字快速截取有效數(shù)據(jù)串。

  第八十九節(jié):用單片機內(nèi)部定時器做一個時鐘。

  第九十節(jié):針對行程開關(guān)感應(yīng)器,分享一種既能及時響應(yīng),又能抗干擾處理的識別思路。

  第一節(jié):吳堅鴻談初學(xué)單片機的誤區(qū)。

  (1)很難記住繁雜的寄存器?寄存器不用死記硬背,鴻哥我行走江湖多年,連一個寄存器都記不住。需要配置寄存器的時候,直接在網(wǎng)上或者書本上參考別人現(xiàn)成的配置程序是上策,查找芯片數(shù)據(jù)手冊是中策,死記硬背寄存器是最最下策。

 ?。?)很難記住繁雜的匯編語言指令?除非是在校學(xué)生要應(yīng)付考試或者少數(shù)工作中繞不開匯編,否則學(xué)匯編就是浪費時間。鴻哥我行走江湖多年,從來就沒有用匯編幫客戶做過一個項目。

 ?。?)C 語言很難學(xué)?你不用學(xué)指針,你不用學(xué)帶形參的函數(shù),你不用學(xué)結(jié)構(gòu)體,你不用學(xué)宏定義,你不用學(xué)文件操作,你也不用死記繁瑣的數(shù)據(jù)類型。你只要會:

  5 條指令語句 switch 語句,if else 語句,while 語句,for 語句,=賦值語句。

  7 個運算符+,-,*,/,|,&,!。

  4 個邏輯關(guān)系符||,&&,!=,==。

  3 個數(shù)據(jù)類型 unsigned char, unsigned int, unsigned long。

  3 個進制相互轉(zhuǎn)化,二進制,十六進制,十進制。

  1 個 void 函數(shù)。

  1 個一維數(shù)組 code(或 const) unsigned char array[]。

  那么世界上任何一種邏輯功能的單片機軟件你都能做出來。

  鴻哥我當(dāng)年剛畢業(yè)出來工作的時候才知道可以用 C語言開發(fā)單片機,一開始只用 if 語句就把項目做出來了,沒有用指針,沒有用帶形參的函數(shù)等復(fù)雜的功能。再到后來才慢慢開始用 C 語言其他的高級功能,但是我發(fā)現(xiàn) C 語言其他的高級功能,本質(zhì)上都是用我前面列舉出來的最基本功能集合而成,只是書寫更加簡單方便了一點,編譯后的機器碼都大同小異。所以不會指針等高級功能你不用自卑,恰恰相反,當(dāng)你會最簡單的幾個語句,就把這些高級功能的程序都做出來了,你才發(fā)現(xiàn)你對底層了解得更加透切,再學(xué)那些高級功能輕而易舉。當(dāng)你裸機跑的程序都能夠協(xié)調(diào)得很好的時候,你才發(fā)現(xiàn)所謂高深的操作系統(tǒng)也不過如此,只要給你時間和金錢你也可以寫個操作系統(tǒng)來玩玩。

 ?。?)很難記住精確時間的計算公式?經(jīng)常看到時間公式等于晶振,時鐘周期,執(zhí)行指令次數(shù)他們之間的乘除關(guān)系式。鴻哥我認為這些都是浮云,不用糾結(jié)也不用去記,大概了解一下就可以了。不管你對公式掌握得有多精確,你都不可能做出非常精確的時間。想用單片機做一個非常精確的時間這種想法一開始就是錯的,不可能的。真想做一個比較精確的時間,應(yīng)該用外圍時鐘芯片或者 FPGACPLD,而不是單片機。

 ?。?)很難記住繁雜的各種通信協(xié)議?什么 IIC,SPI,232 串口通訊,CANUSB 等等。這些都是浮云,你不用記那么多,你只要理解兩種通訊方式就夠了,那就是串行通訊方式和并行通訊方式。不管世界上有多少種通訊協(xié)議,物理世界上只有這兩種通訊方式,其他各種名稱的通訊協(xié)議都基于此兩種方式演變而來。

 ?。?)很難寫短小精悍的程序?初學(xué)者不要糾結(jié)于此。做項目開發(fā),程序容量不是刻意追求的目標(biāo),程序多一點少一點沒關(guān)系,現(xiàn)在大容量的單片機品種非常多,容量不會是寸土寸金的事情,我們更加要關(guān)注程序的運行效率,可讀性和可修改性。

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關(guān)電源基礎(chǔ)知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費
  11. 651單片機窗簾控制器仿真程序
  12. 1.93 MB  |  2次下載  |  免費
  13. 751單片機大棚環(huán)境控制器仿真程序
  14. 1.10 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費