#include <STC89C58rd.H>
#include <intrins.h>
#include <absacc.h>
#include "key.h"
#include "tiny13.h"
#include "lcd.h"
#include "zimo.h"
#include "main.h"
bit machine_fault7_flag; //机故7标志位
xdata uchar temp=0,l,m;
xdata uchar jj;
/*************************************
**函数名称:rs232rec
**功能描述:AD采样子程序
**输入: 无
**输出:无
**返回值:无
**全局变量:k,temp,j,rec_dat[]
**
**调用模块:_nop_ ()
**
**作者:陈长兵
**日期:2012-4-20
***************************************/
void rs232rec()
{
jj=0;
start:
jj++;
if(jj>=3)
machine_fault7_flag=1;
if(jj>=3)
goto ad_end;
clk=1;
_nop_ ();
_nop_ ();
_nop_ ();
clk=0;
_nop_ ();
_nop_ ();
_nop_ ();
for(j=0;j<20;j++);
clk=1;
_nop_ ();
ack=1;
j=0;
while(1)
{
clk=1;
ack=1;
j++;
if(j>=5000)
break;;
if((clk==0)&&(ack==0))
break;
}
if(j>=5000)
goto start;
dat=0;
clk=1;
while(clk==1)
{
clk=1;
}
dat=1;
_nop_ ();
_nop_ ();
_nop_ ();
_nop_ ();
_nop_ ();
EA=0;
for(l=0;l<10;l++)
{
for(m=0;m<8;m++)
{
temp<<=1;
dat=1;
if(dat==1)
temp|=1;
#pragma asm
SET261: SETB P2.6
JNB P2.6, SET261
CLR P3.2
SET262: SETB P2.6
JB P2.6, SET262
SETB P3.2
#pragma endasm
}
rec_dat[l]=temp;
_nop_ ();
_nop_ ();
_nop_ ();
_nop_ ();
_nop_ ();
}
ad_end:
EA=1;
}
/*************************************
**函数名称:battery_disp
**功能描述:电池电压显示子程序
**输入: 无
**输出:无
**返回值:无
**全局变量:rec_dat[]
**
**调用模块:Draw_word()
**
**作者:陈长兵
**日期:2012-4-20
***************************************/
void battery_disp()
{
if(rec_dat[7]>242)
Draw_word(20,114,0,8,table1);
else if(rec_dat[7]>228)
Draw_word(21,114,0,8,table1);
else if(rec_dat[7]>214)
Draw_word(22,114,0,8,table1);
else if(rec_dat[7]>200)
Draw_word(23,114,0,8,table1);
else
Draw_word(24,114,0,8,table1);
} |