1樓:匿名使用者
問題一:為什麼說delay(500)就是延時0.5s呢?
是估算的. c 不能精確定時, 通過調節 for(j=0;j<125;j++) 的 125的數值.
取125剛好接近 1ms.
我就做了好幾個 20us, 1ms, 1s,的delay程式. 把他們執行很多次後, 用秒錶核對. 1ms 程式也是用的125 這個值, 很接近1ms.
試過其他數值,執行1天后偏差很大.比如124. 一天後就差了10多分鐘.
delay(500)就是delay 500 個 1ms = 0.5s問題二:晶振週期 ×12 = 晶振頻率 / 12,應該知道為什麼了吧? 哈.
2樓:匿名使用者
1、這個函式需要看晶振及微控制器,得到一條指令的時間void delay(unsigned int i)}時間 = 500*一條for指令的時間。
2、看下書吧,書上解釋的很詳細。
3樓:匿名使用者
用medwin**軟體,可以**出一個執行一次delay函式的時間。
不同的微控制器或不同的晶振頻率,執行同一個函式的時間是不一樣的。
4樓:120馬恆偉
我們都初學,好好看看書吧
C51微控制器程式設計
include define uchar unsigned char define uint unsigned intsbit high key p1 0 sbit low key p1 1 sbit led p2 0 sbit speak p2 1 uint count void delay ui...
51微控制器,C51程式問題,望前輩優化或者給好的編寫建議,分數有很多哈。。謝謝
我前幾天就做了一個差不多的,監測脈衝數,每個脈衝數對應一個資料,資料差值比較大,每次採集的脈衝數會有波動,如果直接現實會出行資料跳動的情況。要做出一個資料穩定的,但是有變化時又要及時反映出來。比如說資料平穩後突然來一個大資料,就需要對這個干擾濾除,如果之後的資料都變為大資料了,那麼我就要在這個資料點...
c51微控制器中斷程式中的interrupt1,2,3是由什麼決定的
衛戍邊疆 中斷是由於某種事件的發生 硬體或者軟體的 計算機暫停執行當前的程式,轉而執行另一程式,以處理髮生的事件,處理完畢後又返回原程式繼續作業的過程。中斷是處理器一種工作狀態的描述。1 int0 外部中斷0,由p3.2埠引入,低電平或下降沿引起。預設優先順序最高。2 int1 外部中斷1,由p3....