|
拿走不謝
第一章
#include<reg51.h> //包含51單片機(jī)寄存器定義的頭文件
void main(void)
{
P1=0xfe; //P1=1111 1110B,即P1.0輸出低電平
}
第二章
第一節(jié)
//實(shí)例4:用單片機(jī)控制一個(gè)燈閃爍:認(rèn)識(shí)單片機(jī)的工作頻率
#include<reg51.h> //包含單片機(jī)寄存器的頭文件
/****************************************
函數(shù)功能:延時(shí)一段時(shí)間
*****************************************/
void delay(void) //兩個(gè)void意思分別為無需返回值,沒有參數(shù)傳遞
{
unsigned int i; //定義無符號(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) //無限循環(huán)
{
P1=0xfe; //P1=1111 1110B, P1.0輸出低電平
delay(); //延時(shí)一段時(shí)間
P1=0xff; //P1=1111 1111B, P1.0輸出高電平
delay(); //延時(shí)一段時(shí)間
}
}
第二節(jié)
//實(shí)例5:將 P1口狀態(tài)分別送入P0、P2、P3口:認(rèn)識(shí)I/O口的引腳功能
#include<reg51.h> //包含單片機(jī)寄存器的頭文件
/*******************************************************
函數(shù)功能:主函數(shù) (C語(yǔ)言規(guī)定必須有也只能有1個(gè)主函數(shù))
********************************************************/
void main(void)
{
while(1) //無限循環(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口
}
}
第三節(jié)
//實(shí)例6:使用P3口流水點(diǎn)亮8位LED
#include<reg51.h> //包含單片機(jī)寄存器的頭文件
/****************************************
函數(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ù)
}
}
第四節(jié)
//實(shí)例7:通過對(duì)P3口地址的操作流水點(diǎn)亮8位LED
#include<reg51.h> //包含單片機(jī)寄存器的頭文件
sfr x=0xb0; //P3口在存儲(chǔ)器中的地址是b0H, 通過sfr可定義8051內(nèi)核單片機(jī)
//的所有內(nèi)部8位特殊功能寄存器,對(duì)地址x的操作也就是對(duì)P1口的操作
/****************************************
函數(shù)功能:延時(shí)一段時(shí)間
*****************************************/
void delay(void)
{
unsigned char i,j;
for(i=0;i<250;i++)
for(j=0;j<250;j++)
; //利用循環(huán)等待若干機(jī)器周期,從而延時(shí)一段時(shí)間
}
/*****************************************
函數(shù)功能:主函數(shù)
******************************************/
void main(void)
{
while(1)
{
x=0xfe; //第一個(gè)燈亮
delay(); //調(diào)用延時(shí)函數(shù)
x=0xfd; //第二個(gè)燈亮
delay(); //調(diào)用延時(shí)函數(shù)
x=0xfb; //第三個(gè)燈亮
delay(); //調(diào)用延時(shí)函數(shù)
x=0xf7; //第四個(gè)燈亮
delay(); //調(diào)用延時(shí)函數(shù)
x=0xef; //第五個(gè)燈亮
delay(); //調(diào)用延時(shí)函數(shù)
x=0xdf; //第六個(gè)燈亮
delay(); //調(diào)用延時(shí)函數(shù)
x=0xbf; //第七個(gè)燈亮
delay(); //調(diào)用延時(shí)函數(shù)
x=0x7f; //第八個(gè)燈亮
delay(); //調(diào)用延時(shí)函數(shù)
}
}
第三章
第一節(jié)
//實(shí)例8:用不同數(shù)據(jù)類型控制燈閃爍時(shí)間
#include<reg51.h> //包含單片機(jī)寄存器的頭文件
/******************************************************
函數(shù)功能:用整形數(shù)據(jù)延時(shí)一段時(shí)間
******************************************************/
void int_delay(void) //延時(shí)一段較長(zhǎng)的時(shí)間
{
unsigned int m; //定義無符號(hào)整形變量,雙字節(jié)數(shù)據(jù),值域?yàn)?~65535
for(m=0;m<36000;m++)
; //空操作
}
/******************************************************
函數(shù)功能:用字符型數(shù)據(jù)延時(shí)一段時(shí)間
******************************************************/
void char_delay(void) //延時(shí)一段較短的時(shí)間
{
unsigned char i,j; //定義無符號(hào)字符型變量,單字節(jié)數(shù)據(jù),值域0~255
for(i=0;i<200;i++)
for(j=0;j<180;j++)
; //空操作
}
/******************************************************
函數(shù)功能:主函數(shù)
******************************************************/
void main(void)
{
unsigned char i;
while(1)
{
for(i=0;i<3;i++)
{
P1=0xfe; //P1.0口的燈點(diǎn)亮
int_delay(); //延時(shí)一段較長(zhǎng)的時(shí)間
P1=0xff; //熄滅
int_delay(); //延時(shí)一段較長(zhǎng)的時(shí)間
}
for(i=0;i<3;i++)
{
P1=0xef; //P1.4口的燈點(diǎn)亮
char_delay(); //延時(shí)一段較長(zhǎng)的時(shí)間
P1=0xff; //熄滅
char_delay(); //延時(shí)一段較長(zhǎng)的時(shí)間
}
}
}
太多了,要的話聯(lián)系
|
|