程序比较长所以没有上。不过我在程序的初始化及相关的子函数里已经对373的11进行过操作了。
#define ADC0809_bus P1 // DB0-DB7 :8位数据线
sbit cdxk=P3^1; //电池充电许可(373的11脚)
sbit QDA=P1^3;
sbit QDB=P1^4;
sbit QDC=P1^5;
sbit dcsd=P1^6;
.......
lcd_showfull(0); //清屏
init6963(); //初始化
m=ReadSet1302(0xdf);//读取ARM谖甯龅绯中的数据
if(m!=7) //查看ARM中的数据是否为7
Init_DS1302(); //初始化1302
lcd_defcharacter8x16(0,0,1,2,tab2);//显示 2-固定显示
lcd_defcharacter8x16(1,0,1,0,tab2);//显示 0-固定显示
lcd_defcharacter16x16(4,0,1,0,tab1);//显示 年-固定显示
lcd_defcharacter16x16(8,0,1,1,tab1);//显示 月-固定显示
lcd_defcharacter16x16(12,0,1,2,tab1);//显示 日-固定显示
lcd_defcharacter16x16(15,0,1,3,tab1);//显示 星-固定显示
lcd_defcharacter16x16(17,0,1,4,tab1);//显示 期-固定显示
lcd_defcharacter16x16(21,0,1,20,tab1);//显示 -固定显示温度计图片
lcd_defcharacter8x16(26,0,1,10,tab2);//显示 -固定显示小数点.
lcd_defcharacter16x16(28,0,1,21,tab1);//显示 -固定显示摄氏度图片
lcd_defcharacter8x48(6,16,1,0,tab4);//显示-固定显示:(前两点)
lcd_defcharacter8x48(13,16,1,0,tab4);//显示-固定显示:(后两点)
lcd_defcharacter16x16(21,16,2,17,tab1);//显示农历两个字
// lcd_defcharacter16x16(25,16,1,10,tab6);//显示狗字
lcd_defcharacter16x16(27,16,1,19,tab1);//显示年字
QDA=1; //J5动作给电池组充电
QDB=1;
QDC=1;
dcsd=1; //12伏送电关闭(单充送电关闭)
delay1(20);
cdxk=1;
delay1(20);
cdxk=0;
........
//模式选择按键(进入菜单程序)
//**************************
void Setkey()
{
Set=1;
if(Set==0) //菜单键按set为零
{
delay(30);
if(Set==0)
{
count=count+1; //Setkey按一次,count就加1
done=1; //进入调整模式
while(!Set); //等待Set为1
}
}
QDA=1; //J5动作给电池组充电
QDB=1;
QDC=1;
dcsd=1; //12伏送电关闭(单充送电关闭)
delay1(20);
cdxk=1;
delay1(20);
cdxk=0;
}
//**************************
//进入充电模式选择按键
//**************************
void jrcd()
{
CDMS=1;
if(CDMS==0)
{
delay(30);
if(CDMS==0)
{
done1=1; //进入充电模式
while(!CDMS);
}
}
QDA=1; //J5动作给电池组充电
QDB=1;
QDC=1;
dcsd=1; //12伏送电关闭(单充送电关闭)
delay1(20);
cdxk=1;
delay1(20);
cdxk=0;
}
这种形式的也用过:
ADC0809_bus =0XFF
delay1(20);
cdxk=1;
delay1(20);
cdxk=0;
|