4.LED閃爍

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章