如何提高單片機(jī)的算法?
多做練習(xí),如果你現(xiàn)在用的C語言開發(fā)單片機(jī),想提高自己的算法能力,那建議你多看看C語言的常用算法,然后用單片機(jī)板子上的LCD,LED等來驗證自己的算法程序。
舉一些常用算法例子吧,你可以試試在單片機(jī)上實現(xiàn)。
一、嵌入式C語言常用算法舉例算法就是為解決某一特定問題而采取的具體有限的操作。具有有窮性、確定性、可執(zhí)行性、領(lǐng)個或多個輸入以及一個或多個輸出。
1、冒泡排序算法將一串?dāng)?shù)據(jù)使用冒泡法進(jìn)行排序。
將排序后的數(shù)據(jù)按照從大到小或者從小到大的順序在LCD液晶上顯示出來。
2、回文算法檢測字符串是否是回文字符串,如果是回文字符串,則點(diǎn)亮LED,如果不是,則蜂鳴器響一下。
3、冪運(yùn)算程序中隨意定義一個無符號整型數(shù)據(jù)N,然后計算出1*2*3*4*......*N的結(jié)果,通過液晶顯示出來結(jié)果。
4、加法運(yùn)算程序中隨意定義一個無符號整型數(shù)據(jù)N,然后計算出1+2+3+4+......+N的結(jié)果,通過液晶顯示出來結(jié)果。
5、求直角三角形邊長用正弦函數(shù),余弦函數(shù),通過已知的斜邊長度計算出兩個直角邊的長度,通過液晶顯示出來。
6、在排序好的數(shù)組中插入元素程序中先定義一個排好序的數(shù)組,然后用隨機(jī)數(shù)產(chǎn)生函數(shù)產(chǎn)生一個隨機(jī)數(shù),把這個轉(zhuǎn)數(shù)組原有的排序方案插入到數(shù)組中,通過液晶顯示該隨機(jī)數(shù)位于數(shù)組的第幾個元素。
7、字符串的拼接程序中定義兩個字符串,然后將它們拼接為一個字符串,通過液晶顯示出來。
8、閏年判斷編寫一個判斷閏年的程序。
9、字符串查詢在一個現(xiàn)有字符串中查找另一個字符串,如果找到則點(diǎn)亮LED,否則蜂鳴器響。
10、輸出三位水仙花數(shù)所謂水仙花數(shù),是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。
例如,153是一個水仙花數(shù),因為153=1的3次方+5的3次方+3的3次方。
11、計算某個日期對應(yīng)該年的第幾天例如:編寫程序計算2018年5月1日對應(yīng)2018年的第幾天。
12、輸出月份對應(yīng)的英文名稱例如:編寫程序計算2018年5月對應(yīng)的英文名稱。
二、常用數(shù)字濾波算法編寫一個AD轉(zhuǎn)換程序,分別使用下面的濾波算法實現(xiàn)濾波功能。
1、程序判斷濾波2、中值濾波3、算術(shù)平均濾波4、去極值平局濾波5、滑動平均濾波6、滑動加權(quán)濾波7、一階滯后濾波