实验简介:
本实验针对的对象:单片机初学者
编程语言:51单片机C语言
编写时间:2009.6.25
附件提供的资源: 1. keil工程包(包括C语言源代码和hex文件等等)
2. Proteus仿真图
程序员: 小邹
特别说明: 欢迎大家下载,并提出修改或者优化意见
程序说明:一般情况下是按一下键led就亮,本程序实现的功能是你要按住一个键几秒钟之后led才亮,如果你再按住这个键几秒钟,led就灭
程序源代码展示:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit key="P3"^7;
sbit led="P1"^0;
uchar tt;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
key=1;
led=1;
while(1)
{
if(key==0)
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
if(key==1)
{
break;
}
}
}
}
}
void timer_0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(key==0)
{
tt++;
}
else
{
TR0=0;
}
if(tt==60)
{
led=~led;
delay(500);
tt=0;
}
}
用户381372 2009-8-13 14:59