作者:特權(quán)同學(xué) IO口速度測(cè)試,使用以下程序測(cè)試高電平脈寬。 while(1) { P0 = 0xf; P0 = 0x0; } 同等條件下與其他MCU比較:
在兩次操作之間插入延時(shí)函數(shù),分別延時(shí)delay(1)、delay(2)、delay(3)、delay(4)。測(cè)試延時(shí)函數(shù)如下: void delay(uchar cnt) { uchar i =0; while(i < cnt) { i++; } } 由于delay()函數(shù)調(diào)用一次會(huì)有一些額外開銷(如賦初值等),所以我們通過不同延時(shí)值的實(shí)際延時(shí)差來看指令運(yùn)行的速度。換句話說,對(duì)前面的程序,可以通過每次delay()函數(shù)的差值來計(jì)算每多執(zhí)行一次i++和一次i 特權(quán)同學(xué)曾使用相同條件測(cè)試了51單片機(jī),通常11.0592MHz下工作的51單片機(jī)每多執(zhí)行一次i++和一次i
簡單的一些性能測(cè)試,發(fā)現(xiàn)這個(gè)51硬核還是有花頭的,至于穩(wěn)定性和可靠性上還需繼續(xù)驗(yàn)證和嘗試。當(dāng)然,本文的測(cè)試是使用了片內(nèi)的存儲(chǔ)器作為代碼和數(shù)據(jù)存儲(chǔ),實(shí)際速度性能和存儲(chǔ)器的性能關(guān)系非常大,是需要進(jìn)一步考核的項(xiàng)目。 |