查看: 950|回复: 0
打印 上一主题 下一主题

单片机控制充电芯片的例程

[复制链接]
跳转到指定楼层
沙发
发表于 2015-4-23 20:11:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg52.h>
#include <absacc.h>
#include <stdio.h>
#include <math.h>
#define uchar unsigned char
#define uint unsigned int

uint count;
sbit P1_6=P1^6;
sbit P1_7=P1^7;
sbit GATE=P2^1;
sbit BEEP=P2^3;
bit gate0;

void main(void)
{
EA=1; PT0=1;                                        // 开外中断,并设置定时器;
ET0=1;
IT0=1;IT1=1;
EX0=1;EX1=1;ET2=1;
T2CON=0x08;
TMOD=0x21;
GATE=1;
BEEP=1;
TH0=0xB9;                                        // 设置定时器的初值;
TL0=0xB0;
TR0=1;
TI=1;
       
P1_6=0;                                                // 设置控制端口的初值;
P1_7=0;
while(1){}                                        // 等待外部的控制信号;
}

void intsvr1(void) interrupt 1                        // 定时器1模拟外部控制信号的进入
{
if (gate0==1)
{
TH0=-5000/256;                                // 定时器T0的高四位赋值
TL0=-5000%256;
TR0=1;
count=count+1;
        }
}

void intsvr0(void)  interrupt 0 using 1
{
        gate0=!gate0;
if ((count>300)&&(count<500))
        {       
GATE=0;
BEEP=0;
}
else
        {       
GATE=1;
BEEP=1;
}
}


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表