您现在所在的是:

单片机论坛

回帖:16个,阅读:1223 [上一页] [1] [2] [下一页]
* 帖子主题:

单片机请教

37972
cvlsam 版主
文章数:12476
年度积分:583
历史总积分:37972
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2012/1/9 10:51:58
#10楼
以下是引用guanyumou在2012/1/1 13:26:24的发言:
如下三菱PLC的梯形图如何转换成单片机C语言

附件
[此贴子已经被作者于2012/1/1 13:27:49编辑过]

小弟新手,请指教。
#include <reg52.h>
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~
2612
易控微网
文章数:399
年度积分:155
历史总积分:2612
注册时间:2002/10/8
发站内信
发表于:2012/1/9 11:24:53
#11楼
cvlsam@hotmail.com

好有时间啊

现在的人太懒,不应该贯他们
www.tengcon.com    专业的PLC,RTU研发,生产,供货商
28354
guanyumou 版主
文章数:10598
年度积分:332
历史总积分:28354
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2012/1/9 21:08:01
#12楼
以下是引用易控微网在2012/1/9 11:24:53的发言:
cvlsam@hotmail.com

好有时间啊

现在的人太懒,不应该贯他们
这话说的 我不爱听
941
515324809
文章数:51
年度积分:50
历史总积分:941
注册时间:2011/1/14
发站内信
发表于:2012/1/11 11:46:51
#13楼
#include <reg52.h>
#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;
}
}

}
}
很简单的哦!楼主对单片机一点也不知道?
不懂可以问,但更重要的是自己去学,问之前应该自己多想想
28354
guanyumou 版主
文章数:10598
年度积分:332
历史总积分:28354
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2012/1/11 11:50:05
#14楼
以下是引用515324809在2012/1/11 11:46:51的发言:
#include <reg52.h>
#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;
      }
    }
       
  }
}
很简单的哦!楼主对单片机一点也不知道?

没看懂哦!!
1108
zhgkwfxs
文章数:160
年度积分:50
历史总积分:1108
注册时间:2010/7/13
发站内信
发表于:2012/1/11 14:17:23
#15楼
if(x1000){ys(100);//延时100个时间单位
          t0=1;      }
if(t0){temp=1;
       t0=0;
        if(temp){k0=1;}
                      }
28354
guanyumou 版主
文章数:10598
年度积分:332
历史总积分:28354
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2012/1/29 18:27:25
#16楼
以下是引用zhgkwfxs在2012/1/11 14:17:23的发言:
if(x1000){ys(100);//延时100个时间单位
           t0=1;      }
if(t0){temp=1;
        t0=0;
         if(temp){k0=1;}
                       }

貌似没有用啊!!

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

78.0005