[經驗] 從業將近十年!手把手教你單片機程序框架(連載)

大家好,我叫吳堅鴻。

 

times New Roman">第一節:吳堅鴻談初學單片機的誤區。

http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2513087&fromuid=635735

 

第二節:delay()延時實現LED燈的閃爍。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2521342&fromuid=635735

 

第三節:累計主循環次數使LED燈閃爍。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2533861&fromuid=635735

 

第四節:累計定時中斷次數使LED燈閃爍。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2527028&fromuid=635735

 

第五節:蜂鳴器的驅動程序。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2534193&fromuid=635735

 

第六節:在主函數中利用累計主循環次數來實現獨立按鍵的檢測。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2536782&fromuid=635735

 

第七節:在主函數中利用累計定時中斷的次數來實現獨立按鍵的檢測。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2539501&fromuid=635735

 

第八節:在定時中斷函數裏執行獨立按鍵的掃描程序。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2542756&fromuid=635735

 

第九節:獨立按鍵的雙擊按鍵觸發。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2559832&fromuid=635735

 

第十節:兩個獨立按鍵的組合按鍵觸發。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2561888&fromuid=635735

 

第十一節:同一個按鍵短按與長按的區別觸發。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2563189&fromuid=635735

 

第十二節:按住一個獨立按鍵不鬆手的連續步進觸發。
http://bbs.elecfans.com/forum.php?mod=redirect&goto=findpost&ptid=406259&pid=2577472&fromuid=635735


第十三節:按住一個獨立按鍵不鬆手的加速勻速觸發。

第十四節:矩陣鍵盤的單個觸發。

第十五節:矩陣鍵盤單個觸發的壓縮代碼編程。

第十六節:矩陣鍵盤的組合按鍵觸發。

第十七節:兩片聯級74HC595驅動16個LED燈的基本驅動程序。

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

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

第二十節:依次逐個亮燈並且每次只能亮一個燈的跑馬燈程序。

第二十一節:多任務並行處理兩路跑馬燈。

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

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

第二十四節:獨立按鍵控制跑馬燈的啓動和暫停。

第二十五節:用LED燈和按鍵來模擬工業自動化設備的運動控制。

第二十六節:在主函數while循環中驅動數碼管的動態掃描程序。

第二十七節:在定時中斷裏動態掃描數碼管的程序。

第二十八節:數碼管通過切換窗口來設置參數。

第二十九節:數碼管通過切換窗口來設置參數,並且不顯示爲0的高位。

第三十節:數碼管通過閃爍來設置數據。

第三十一節:數碼管通過一二級菜單來設置數據的綜合程序。

第三十二節:數碼管中的倒計時程序。

第三十三節:能設置速度檔位的數碼管倒計時程序。

第三十四節:在數碼管中實現iphone4S開機密碼鎖的程序。

第三十五節:帶數碼管顯示的象棋比賽專用計時器。

第三十六節:帶數碼管顯示的加法簡易計算器。

第三十七節:數碼管作爲儀表盤顯示跑馬燈的方向,速度和運行狀態。

第三十八節:判斷數據尾來接收一串數據的串口通用程序框架。

第三十九節:判斷數據頭來接收一串數據的串口通用程序框架。

第四十節:常用的自定義串口通訊協議。

第四十一節:在串口接收中斷裏即時解析數據頭的特殊程序框架。

第四十二節:通過串口用delay延時方式發送一串數據。

第四十三節:通過串口用計數延時方式發送一串數據。


第四十四節:從機的串口收發綜合程序框架

第四十五節:主機的串口收發綜合程序框架

第四十六節:利用AT24C02進行掉電後的數據保存。

第四十七節:操作AT24C02時,利用“一氣呵成的定時器延時”改善數碼管的閃爍現象。

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

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

第五十節:利用ADC0832採集電壓信號,用平均法和區間法進行軟件濾波處理。

第五十一節:利用ADC0832採集電壓信號,用連續N次一致性的方法進行濾波處理。

第五十二節:程序後續升級修改的利器,return語句鮮爲人知的用法。

第五十三節:指針的第一大好處,讓一個函數可以封裝多個相當於return語句返回的參數。

第五十四節:指針的第二大好處,指針作爲數組在函數中的輸入接口。

第五十五節:指針的第三大好處,指針作爲數組在函數中的輸出接口。

第五十六節:指針的第四大好處,指針作爲數組在函數中的輸入輸出接口。

第五十七節:爲指針加上緊箍咒const,避免意外修改了只做輸入接口的數據。

第五十八節:指針的第五大好處,指針在衆多數組中的中轉站作用。

第五十九節:串口程序第40,44,45節中存在一個bug,特此緊急公告。

第六十節:用關中斷和互斥量來保護多線程共享的全局變量。

第六十一節:組合BCD碼,非組合BCD碼,以及數值三者之間的相互轉換和關係。

第六十二節:大數據的加法運算。

第六十三節:大數據的減法運算。

第六十四節:大數據的乘法運算。

第六十五節:大數據的除法運算。

第六十六節:單片機外部中斷的基礎。

第六十七節:利用外部中斷實現模擬串口數據的收發。

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

第六十九節:使用static關鍵字可以減少全局變量的使用。

第七十節:深入講解液晶屏的構字過程。

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

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

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

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

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

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

第七十七節:在1個窗口裏通過移動光標來設置不同參數的液晶屏菜單程序。

第七十八節:在多個窗口裏通過移動光標來設置不同參數的液晶屏菜單程序。

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

第八十節:調用液晶屏內部字庫來顯示漢字或字符的座標體系和本質。

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

第八十二節:如何通過調用液晶屏內部字庫把一個任意數值的變量顯示出來。

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

第八十四節:實時同步把鍵盤輸入的BCD碼數組轉換成數值的液晶屏顯示程序。

第八十五節:實時同步把加減按鍵輸入的數值轉換成BCD碼數組的液晶屏顯示程序。

第八十六節:數字鍵盤與液晶菜單的綜合程序。

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

第八十八節:電子稱連續不斷從串口對外發送數據,單片機靠關鍵字快速截取有效數據串。

第八十九節:用單片機內部定時器做一個時鐘。

第九十節:針對行程開關感應器,分享一種既能及時響應,又能抗干擾處理的識別思路。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章