登录
首页 单片机论坛
回帖 发帖
正文

主题:单片机请教

点击:1249 回复:16

引用 guanyumou 在 2012/1/1 13:26:24 发言【内容省略】

小弟新手,请指教。
#include
sbit keyx0=P0^0;
sbit keyy0=P1^0;
unsigned char Timert0;
void main()
{
TMOD=0x01;
TH0=(65535-45872)/256;
TL0=(65535-45872)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
if(keyx0==1)  
{
 if(Timert0==200){
Timert0=0;
keyy0=0;}
}

else
{
Timert0=0;
}
}
}
void T0_time() interrupt 1
{
TH0=(65535-45872)/256;
TL0=(65535-45872)%256;
Timert0++;
}
附件
Good Luck~
12-01-09 10:51
cvlsam@hotmail.com
好有时间啊
现在的人太懒,不应该贯他们
12-01-09 11:24

引用 易控微网 在 2012/1/9 11:24:53 发言【内容省略】

这话说的 我不爱听
12-01-09 21:08
#include
#define uint unsigned int
sbit X0=P2^0;
sbit Y0=P2^1;
sbit x=P2^2;
uint num;
bit flag;
void timerinit0()
{
TMOD =0x01;//定时器0工作方式1
TH0=(65536-50000)/256;  //一次定时50ms ,晶振12MH
TL0=(65536-50000)%256;
EA=1;
//ET0=1;
//TR0=1;   //启动定时器
}
void T0_timer0()  interrupt 1
{
TH0=(65536-50000)/256;  //初始化定时器
TL0=(65536-50000)%256;
num++;
}
void delay (uint ms)
{
uint i,j;
for (i=ms;i<0;i--)
for (j=110;j<0;j--);
}
void main ()
{
timerinit0();
while (1)
{
if (X0==0)
{
delay(5);
if (X0==0)
{

ET0=1;
TR0=1; //启动定时器
flag=1;
while(!X0);
}
}
while (flag)
{
if (num>100) //定时5s  即50ms*100=5s
{
TR0=0; //关定时器
ET0=0;
TH0=(65536-50000)/256;  //初始化再定时器,准备下次定时
TL0=(65536-50000)%256;
num=0;
Y0=0;
}
}

}
}
很简单的哦!楼主对单片机一点也不知道?
12-01-11 11:46

引用 515324809 在 2012/1/11 11:46:51 发言【内容省略】

没看懂哦!!
12-01-11 11:50
if(x1000){ys(100);//延时100个时间单位
          t0=1;      }
if(t0){temp=1;
       t0=0;
        if(temp){k0=1;}
                      }
12-01-11 14:17

引用 zhgkwfxs 在 2012/1/11 14:17:23 发言【内容省略】

貌似没有用啊!!
12-01-29 18:27

上一页 上一页

工控新闻

更多新闻资讯