STC89C52RC单片机编程求助!!!

2019-03-24 17:35发布

本人想编写一个单片机控制气缸的应用程序。气缸上安装有两个行程开关,通过两个行程开关分别接入P1.0和P1.1端;电磁阀接在P2.0和P2.1输出端(2个继电器)上。需要实现的功能:
1、气缸行驶到末端(行程开关1-P1.0)时停止,并延时1秒,然后返回行驶,行驶到起始端(行程开关2-P1.1)时停止,并延时10秒,就这样往复运行。停止时气缸回到原来位置。
我自己编写了两个简单的程序,但是还达不到要求:

第一程序:通过P1.0端口高低电平监测(行程开关的状态),打开或关闭P2.0口继电器。
#include <reg52.h>
sbit LED0=P2^0;
sbit PP0=P1^0;
void main()
{
if(PP0==1) LED0=0; else LED0=1;
}

第二个程序是延时5秒程序,切换P2.0口状态
#include <reg52.h>
sbit LED0=P2^0;
unsigned char i=0; //&Ntilde;&Oacute;&Ecirc;±&Ouml;&micro;&Eacute;è&para;¨
void ZD_Init();   
void main()
{
ZD_Init();      
while(1);      
}
void ZD_Init()      
{
EA=1;                     //&acute;ò&iquest;&ordf;×&Uuml;&Ouml;&ETH;&para;&Iuml;&iquest;&ordf;&sup1;&Oslash;
ET0=1;                   //&acute;ò&iquest;&ordf;&para;¨&Ecirc;±&AElig;÷0
TR0=1;                   //&AElig;&ocirc;&para;&macr;&para;¨&Ecirc;±&AElig;÷0&sup1;¤×÷
TMOD=0X01;                 //&Ntilde;&iexcl;&Ocirc;&ntilde;&para;¨&Ecirc;±&AElig;÷0&sup1;¤×÷&Auml;&pound;&Ecirc;&frac12;1&pound;&raquo;16&Icirc;&raquo;&para;¨&Ecirc;±&AElig;÷
TH0=(65536-50000)/256;       //&para;¨&Ecirc;±&AElig;÷0&cedil;&szlig;8&Icirc;&raquo;×°&sup3;&otilde;&Ouml;&micro;&pound;&raquo;&para;¨&Ecirc;±50&ordm;&Aacute;&Atilde;&euml;
TL0=(65536-50000)%256;        //&para;¨&Ecirc;±&AElig;÷0&micro;&Iacute;8&Icirc;&raquo;×°&sup3;&otilde;&Ouml;&micro;&pound;&raquo;&para;¨&Ecirc;±50&ordm;&Aacute;&Atilde;&euml;
}
void Time0() interrupt 1 using 0   //????
{
TH0=(65536-50000)/256;       //&para;¨&Ecirc;±&AElig;÷0&cedil;&szlig;8&Icirc;&raquo;&Ouml;&Oslash;×°&sup3;&otilde;&Ouml;&micro;
TL0=(65536-50000)%256;       //&para;¨&Ecirc;±&AElig;÷0&micro;&Iacute;8&Icirc;&raquo;&Ouml;&Oslash;×°&sup3;&otilde;&Ouml;&micro;
i++;
if(i==100)                  //&Ouml;&ETH;&para;&Iuml;20&acute;&Icirc;&Icirc;&ordf;1&Atilde;&euml;&pound;&raquo;&Ouml;&ETH;&para;&Iuml;100&acute;&Icirc;&Icirc;&ordf;5&Atilde;&euml;;&Ouml;&ETH;&para;&Iuml;200&acute;&Icirc;&Icirc;&ordf;10&Atilde;&euml;&pound;&raquo;
  {
   i=0;
   LED0=~LED0;
  }
}

两个程序单独运行都没有问题。

希望大虾指点下??
此帖出自小平头技术问答
0条回答

一周热门 更多>