因仑“3+1”工程特种兵精英论坛

标题: 单片机控制充电芯片的例程 [打印本页]

作者: 张衍波    时间: 2015-4-23 20:11
标题: 单片机控制充电芯片的例程
#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;
}
}







欢迎光临 因仑“3+1”工程特种兵精英论坛 (http://bbs.enlern.com/) Powered by Discuz! X3.4