自动门程序c语言,自动门控制程序共享

#include

#define  uchar unsigned char

#define  uint unsigned int

#define TIME_COUNT 11//22.1184MHz晶振10us定时中断

#define FOSC 11059200L//22118400L

sfr P2M1=0x95;

sfr P2M0=0x96;

sbit sb=P3^2;//开门信号

sbit sq1=P3^3;//开门限位

sbit sq2=P3^4;//关门限位

sbit s4=P3^5;//关门防夹

sbit x0=P1^0; //延时关门时间选择

sbit x1=P1^1;

sbit x2=P1^2;

sbit x3=P1^3;

sbit x4=P1^4;

sbit x5=P1^5;

sbit x6=P1^6;

sbit x7=P1^7;//延时关门时间选择

sbit kai=P2^1;//开门(正转)

sbit guan=P2^0;//关门(反转)

uchar aa[3],bb; //串口收到数据寄存器

uchar z0,z1,z2,z3,z4,z5,z6,z7,z8,z9,z10; //时间继电器

uint t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;        //时间继电器

uint num1,n,n1,n2,n3,n4,n5,n6,n7,n8;//延时关门设置

uchar a=0,m;//门当前状态

void delayms(uint xms);

void kaimen();

void guanmen();

void delayms(uint xms)            //延时函数

{

uint i,j;

for(i=xms;i>0;i--)

for(j=330;j>0;j--);

}

void init()

{

P2=0; P2M0=0xff;P2M1=0;

TMOD=0x01;

TH0=(65536-45872)/256;

TL0=(65536-45872)%256;

EA=1;ET0=1;TR0=1;

if(x0==0){delayms(5);if(x0==0)n1=20;}        if(x0==1){delayms(5);if(x0==

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值