初學(xué)必看:十天學(xué)會(huì)單片機(jī)實(shí)例100
//實(shí)例1:用單片機(jī)控制一個(gè)燈閃爍:認(rèn)識(shí)單片機(jī)的工作頻率
#include
/****************************************
函數(shù)功能:延時(shí)一段時(shí)間
*****************************************/
void delay(void) //兩個(gè)void意思分別為無(wú)需返回值,沒(méi)有參數(shù)傳遞
{
unsigned int i; //定義無(wú)符號(hào)整數(shù),最大取值范圍65535
for(i=0;i<20000;i++) //做20000次空循環(huán)
; //什么也不做,等待一個(gè)機(jī)器周期
}
/*******************************************************
函數(shù)功能:主函數(shù) (C語(yǔ)言規(guī)定必須有也只能有1個(gè)主函數(shù))
********************************************************/
void main(void)
{
while(1) //無(wú)限循環(huán)
{
P1=0xfe; //P1=1111 1110B, P1.0輸出低電平
delay(); //延時(shí)一段時(shí)間
P1=0xff; //P1=1111 1111B, P1.0輸出高電平
delay(); //延時(shí)一段時(shí)間
}
}
//實(shí)例2:將 P1口狀態(tài)分別送入P0、P2、P3口:認(rèn)識(shí)I/O口的引腳功能
#include
/*******************************************************
函數(shù)功能:主函數(shù) (C語(yǔ)言規(guī)定必須有也只能有1個(gè)主函數(shù))
********************************************************/
void main(void)
{
while(1) //無(wú)限循環(huán)
{
P1=0xff; // P1=1111 1111B,熄滅LED
P0=P1; // 將 P1口狀態(tài)送入P0口
P2=P1; // 將 P1口狀態(tài)送入P2口
P3=P1; // 將 P1口狀態(tài)送入P3口
}
}
//實(shí)例3:使用P3口流水點(diǎn)亮8位LED
#include
/****************************************
函數(shù)功能:延時(shí)一段時(shí)間
*****************************************/
void delay(void)
{
unsigned char i,j;
for(i=0;i<250;i++)
for(j=0;j<250;j++)
;
}
/*******************************************************
函數(shù)功能:主函數(shù)
********************************************************/
void main(void)
{
while(1)
{
P3=0xfe; //第一個(gè)燈亮
delay(); //調(diào)用延時(shí)函數(shù)
P3=0xfd; //第二個(gè)燈亮
delay(); //調(diào)用延時(shí)函數(shù)
P3=0xfb; //第三個(gè)燈亮
delay(); //調(diào)用延時(shí)函數(shù)
P3=0xf7; //第四個(gè)燈亮
delay(); //調(diào)用延時(shí)函數(shù)
P3=0xef; //第五個(gè)燈亮
delay(); //調(diào)用延時(shí)函數(shù)
P3=0xdf; //第六個(gè)燈亮
delay(); //調(diào)用延時(shí)函數(shù)
P3=0xbf; //第七個(gè)燈亮
delay(); //調(diào)用延時(shí)函數(shù)
P3=0x7f; //第八個(gè)燈亮
delay(); //調(diào)用延時(shí)函數(shù)
}
}
下載區(qū)加油站:
十天學(xué)會(huì)單片機(jī)實(shí)例100