1.C語言的預處理命令:
typedef的使用:
增強程序可移植性,因爲在不同軟件當中位寬不同
typedef unsigned char u8;
typedef unsigned int u16;
即用u8,u16代替unsigned char/int,8指8位即一個字節(unsigned char佔用一個字節),16指16位即兩個字節(unsigned int佔用兩個字節)
2.while循環函數
while(i<10)
{
i=i+1;
}
計算表達式的值,爲真則執行循環體
3.延時函數:
利用佔用CPU時間來達到延時
void delay(u16 i)//i=1大約延時10us
{
while(i--);
}
程序:
#include<reg51.h>
typedef unsigned char u8;
typedef unsigned int u16;
sbit led=P2^0;//D1
void delay(u16 i)
{
while(i--);
}
void main()
{
while(1)
{
led=0;
delay(50000);//450ms
led=1;
delay(50000);//450ms
}
}
利用仿真計算延時時間:
點擊此處
修改爲12.0,符合開發板實際使用的晶振
設置斷點
點擊開始仿真
reset計時時間
開始運行
第二個斷點處:
第三個斷點處:
相減得到延時時間約爲450ms