学习目标:3周了解并掌握51单片机
学习内容:LED流水灯
上图电路是普中51-MS开发板的LED模块,以下电路是基于此进行编程和运行。
- 点亮一个LED
#include <REGX52.H> //头文件,包含C语言的文件
void main() //定义一个主函数
{
P2=0xFE; //1111 1110点亮D2
while(1) //死循环
{
}
}
- LED闪烁
#include <REGX52.H>
#include <INTRINS.H> //这里定义一个INTRINS,是因为下面有个NOP空指令
void Delay500ms() //@12.000MHz
{
unsigned char i, j, k; //无符号整数
_nop_();
i = 4;
j = 205;
k = 187;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
- LED流水灯
#include <REGX52.H>
void Delay1ms(unsigned int xms) //@12.000MHz
{
unsigned char i, j;
while(xms)
{
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
xms--;
}
}
void main()
{
while(1)
{ P2=0xFE; //1111 1101
Delay1ms(500); //这里可随意修改数值,实现不同时间的延时
P2=0xFD; //1111 1101
Delay1ms(500);
P2=0xFB; //1111 1011
Delay1ms(500);
P2=0xF7; //1111 0111
Delay1ms(500);
P2=0xEF; //1110 1111
Delay1ms(500);
P2=0xDF; //1101 1111
Delay1ms(500);
P2=0xBF; //1011 1111
Delay1ms(500);
P2=0x7F; //1111 1101
Delay1ms(500);
}
}
总的来说要细心,我今天跟着老师学习的时候,漏打括号,多写了函数。