51系列單片機for語句怎么算機器周期的啊
怎么可能呢?是怎么測出來呢?用的是數字示波器嗎?很可能被其它代碼干擾了吧,可以 使用反匯編工具計算時間 的啊: 用Keil C51中的反匯編工具計算延時時間,在反匯編窗口中可用源程序和匯編程序的混合代碼或匯編代碼顯示目標應用程序。
首先選擇build taget,然后單擊start/stop debug session按鈕進入程序調試窗口,最后打開Disassembly window,找出與這部分循環結構相對應的匯編代碼,具體如下: 可以看出,0x0003~0x0012一共10條語句,分析語句可以發現核心循環只有0x0005~0x0012共8條語句,執行取反一次也就是8~10微秒!。
c51語言程序的基本結構及其代表性語句
基本結構如下:
#include。。..
#define 。. 。..
fuction( ) //可有可無,看需要
{
}
int main(void)
{
。.
。
return 0;
}
interrpt fuction () //中斷函數,看需求,可無
{
}
代表性語句的話大概就是while(1)或for( ;;),因為C51程序一般來說都會有個死循環。