实验一:一个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;
}
}
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』