C51入门1,跑马灯和LED实验
扫描二维码
随时随地手机看文章
刚开始接触的是C51,自己以前写的程序,在自己的实验板上实现的,现在整理一下留做纪念哈!!!
实验一:一个LED灯闪烁
//一个LED灯闪烁实验
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
//头文件
#include
//端口设置
sbit P10=P1^0;
char code dx516[3] _at_ 0x003b;
//主函数
void main(void)
{ uint i;
P10=0;
while(1)
{
P10=~P10;//取反
for (i=0;i<20000;i++);//延时
}
}
实验二:跑马灯实验
//跑马灯实验
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#include
//端口设置
sbit P10=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;
sbit P13=P1^3;
char code dx516[3] _at_ 0x003b;
//主函数
void main(void)
{ uint i;
while(1)
{
P13=1;P10=0;//相邻端口取反
for (i=0;i<40000;i++);//延时
P10=1;P11=0;
for (i=0;i<40000;i++);
P11=1;P12=0;
for (i=0;i<40000;i++);
P12=1;P13=0;
for (i=0;i<40000;i++);
}
}
实验三:一个按键控制一个LED的亮和灭
//一个按键控制LED
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#include
//端口设置
sbit P10=P1^0;
sbit K1=P3^2;
sbit K2=P3^5;
char code dx516[3] _at_ 0x003b;
//主函数
void main(void)
{
while(1)
{
if (!K1)//按一下
{
P10=0;//亮
}
if (!K2)//再按一下
{
P10=1;//灭
}
}
}
带有去抖动的程序:
//去抖动的按键控制LED灯实验
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#include
//端口设置
sbit P10=P1^0;//LED灯
sbit K1=P3^2;//按键
char code dx516[3] _at_ 0x003b;
//主函数
void main(void)
{
bit light;
uint i;
while(1)
{
if (!K1)//确认按键按下
{
for (i=0;i<1000;i++);//延时
light=~light;//灯取反
while(!K1);//去抖动的作用
for (i=0;i<1000;i++);
}
P10=light;
}
}