欢迎光临散文网 会员登陆 & 注册

51单片机入门教程-2020版 程序全程纯手打 从零开始入门

2023-07-01 01:45 作者:不相疑长相守  | 我要投稿

P18全部代码,注意看作用域阿兄弟们:


#include <REGX52.H>

#include <INTRINS.H>


void Delay(unsigned int xms) //@11.0592MHz

{

unsigned char data i, j;


while(xms--)

{

i = 2;

j = 199;

do

{

while (--j);

} while (--i);

}


}


void Timer0_Init(void)

{


TMOD &= 0xF0; //设置定时器模式

TMOD |= 0x01; //设置定时器模式

TL0 = 0x18; //设置定时初始值

TH0 = 0xFC; //设置定时初始值

TF0 = 0; //清除TF0标志

TR0 = 1; //定时器0开始计时

ET0 = 1;

EA = 1;

PT0 = 0;

}




unsigned int Key()

{

unsigned int KeyNumber = 0;

if(P3_1 == 0)

{


while(P3_1 == 0);


return KeyNumber = 1;

}

}



unsigned int LEDMode=0;

void main()

{

Timer0_Init();

P2 = 0xFE;

while(1)

{

unsigned int keyNum=0;

keyNum = Key();

if(keyNum)

{

if(keyNum == 1)

{

LEDMode++;

if(LEDMode >= 2)

{

LEDMode = 0;

}

}

}

}

}

unsigned int T0Count;


void Timer0_Routine() interrupt 1

{

TL0 = 0x18; //设置定时初始值

TH0 = 0xFC; //设置定时初始值


T0Count++;

if(T0Count >= 300)

{

T0Count=0;

if(LEDMode == 0)

{


P2=_crol_(P2,1);


}

if(LEDMode == 1)

{


P2=_cror_(P2,1);


}

}

}


51单片机入门教程-2020版 程序全程纯手打 从零开始入门的评论 (共 条)

分享到微博请遵守国家法律