#include <AT89X51.h> #include <intrins.h>#include <stdio.h> #define uchar unsigned char #define uint unsigned int main(){ int a,P1,TMOD,ET0,ET1,led7; P1=0xff; TMOD=0x11;//定时器0和定时器1同时工作在模式0; ET0=1; //打开内部中断0 ET1=1; //打开内部中断1 led7=0; while(d=0) { shao_maio(); if(b==1200)//b=20刚好1秒 { b=0; m=m-1; if(m<0) { m=0; } if(t<0) { t=0; } shao_maio(); //扫描数码管 } /*************进水控制****************************/ shao_maio(); if(b1==1200) { b1=0; jins_time=jins_time-1; } if(jins_time==0) { sw1=1;//关闭水龙头 jins_time=1; EX0=1; //开外部中断0 EA=1;//开总中断 TMOD=0x11; jins_time=1; TH0=(65536-50000)/256; //定时50毫秒 TL0=(65536-50000)%256; ET0=1; //打开内部中断0 TR0=1; if(x==4) { sn1=0;//4 点亮洗衣剩余时间指示灯 sn2=1;//2 sn3=1;//1 ET0=1; //打开内部中断0 TR0=1; } //if(x==3)//洗衣剩余时间 else { sn1=0; //4 sn2=1; //2 sn3=1;//1 x=3; ET0=1; //打开内部中断0 TR0=1; } if(led6==0&&led7==1) //弱洗 { if(b>=0&&b<200||(b>=600&&b<800))//10m {q2=1;q3=1; q1=0;q4=0; } if(b>=400&&b<600||(b>=800&&b<1000)) {q1=1;q4=1; q2=0;q3=0; } } if(led6==1&&led7==0) //强洗 { q1=0; q4=0; q2=1; q3=1; } } /*****************开始脱水************************/if(m==0) { sw1=1;//关水龙头1 sw2=0;//开水龙头2 EX0=0;//关外部中断0 ET0=0;//关定时器中断0 TR0=0; EA=1;//开总中断 TMOD=0x11; TH1=(65536-50000)/256; //定时50毫秒 TL1=(65536-50000)%256; ET1=1; //打开内部中断0 TR1=1; EX1=1; //外部中断1打开为放水准备 sn1=0; //4 脱水剩余时间指示灯亮 sn2=0; //2 sn3=1;//1 x=5;//显示脱水剩余时间 } if(tuo_s==1200) { tuo_s=0; t=t-1; } if(t<=0) { jins_time=jins_time1; m=m1; t=t; d=d-1; x=0; xi_di=1;//判断是否跳转 } if(d<=0) { EA=0;//关总中断 sw2=1;//关水龙头2 sm1=sm2=0;//数码管熄灭 sn1=sn2=sn3=1;//LED熄灭 q1=q2=q3=q4=1;//电动机停止 feng_m_qi=0;//蜂鸣器响 delay(2);//延时5秒 feng_m_qi=1;//蜂鸣器停止 } else goto start;
/************强洗弱洗选择***********************/ if(sb2==0&&x==0)//弱洗 { for(a=0;a<140;a++) //按键去抖 { shao_maio(); //扫描数码管 } if(sb2==0&&x==0) { led6=0; led7=1; } } if(sb3==0&&x==0)//强洗 { for(a=0;a<140;a++) //按键去抖 { shao_maio(); //扫描数码管 } if(sb3==0&&x==0) { led6=1; led7=0; } }/****************功能选择*************************/ if(sb1==0) { EA=0; for(a=0;a<130;a++) //按键去抖 { shao_maio(); //扫描数码管 } if(sb1==0) { x=x+1; if(x==1)//洗涤次数设置 { sn1=1; //4 sn2=0; //2 sn3=1;//1 } if(x==2)// 洗衣定时 { sn1=1; //4 sn2=0; //2 sn3=0;//1 } if(x==3)//洗衣剩余时间 { sn1=0; //4 sn2=1; //2 sn3=1;//1 } if(x==4)//脱水定时时间 { sn1=0; //4 sn2=1; //2 sn3=0;//1 } if(x==5)//脱水剩余时间 { sn1=0; //4 sn2=0; //2 sn3=1;//1 } if(x==6)//进水时间 { sn1=0; //4 sn2=0; //2 sn3=0;//1 } if(x==7)//强洗 { x=0; led6=1; led7=0; } } }/****************增加设置*****************/ if(sb2==0&&x==1) //洗涤次数增加 { //EA=0; for(a=0;a<130;a++) //按键去抖 { shao_maio(); //扫描数码管 } if(sb2==0&&x==1) { d=d+1; if(d>99) { d=0; } } }/*****************************************/if(sb2==0&&x==2) //洗衣定时增加{ for(a=0;a<130;a++) //按键去抖 { shao_maio(); //扫描数码管 } if(sb2==0&&x==2) { m=m+1; m1=m; if(m>99) { m=0; } } }/************************************************/if(sb2==0&&x==4)//脱水定时增加 { for(a=0;a<130;a++) //按键去抖 { shao_maio(); //扫描数码管 } if(sb2==0&&x==4) { t=t+1; t1=t; if(t>99) { t=0; }
} }/************************************************/ if(sb2==0&&x==6)//进水水定时增加{ for(a=0;a<130;a++) //按键去抖 { shao_maio(); //扫描数码管 } if(sb2==0&&x==6) { jins_time=jins_time+1; jins_time1=jins_time; if(jins_time>99) { jins_time=0; }
} }
/***************减少设置***********************/ if(sb3==0&x==1)//洗涤次数减少 { EA=0; for(a=0;a<130;a++) //按键去抖 { shao_maio(); //扫描数码管 } if(sb3==0&x==1) { d=d-1; if(d<0) { d=0; } } }/***************************************************/ if(sb3==0&x==2)//洗衣定时减少 { EA=0; for(a=0;a<130;a++) //按键去抖 { shao_maio(); //扫描数码管 } if(sb3==0&x==2) { m=m-1; m1=m; if(m<0) { m=m1; } } }/**************************************************/if(sb3==0&&x==4) //脱水定时减少{ EA=0; for(a=0;a<130;a++) //按键去抖 { shao_maio(); //扫描数码管 } if(sb3==0&&x==4) { t=t-1; t1=t; shao_maio(); if(t<0) { t=0; } }}/**************************************************/ if(sb3==0&&x==6) //进水定时减少 { EA=0; for(a=0;a<130;a++) //按键去抖 { shao_maio(); //扫描数码管 } if(sb3==0&&x==6) { jins_time=jins_time-1; jins_time1=jins_time; shao_maio(); if(jins_time<0) { jins_time=0; } } }/*****************启动******************************/
if(sb4==0&&x>0) { start: xi_di=0;//如果洗涤次数不到重新赋值 for(a=0;a<130;a++) //按键去抖 { shao_maio(); //扫描数码管 } if(sb4==0&&x>0) { EA=1;//开总中断 EX0=1; //开外部中断0 sw1=0;//开水龙头1 sw2=1; TMOD=0x11; TH1=(65536-50000)/256; //定时50毫秒 TL1=(65536-50000)%256; ET1=1; //打开内部中断0 TR1=1; x=6; sn1=0; //4 sn2=0; //2 sn3=0;//1
}
}
}}void ds1zhong_duan() interrupt 3 //定时器1中断 //进水水和脱水时间 { //shaomaio(); //扫描数码管 TH1=(65536-50000)/256;//高8位 TL1=(65536-50000)%256;//低8位 if(EX0==1) { b1=b1+1; } //记录中断次,数每次中断50ms else { tuo_s=tuo_s+1; } } void wai0_zhong_duan() interrupt 0//外部中断0 { sw1=1;//关闭水龙头 jins_time==1; if(led6==0&&led7==1) //弱洗 { void dian_zf(); } if(led6==1&&led7==0) //强洗 { led6=1; led7=0; } sw1=0;//关闭水龙头1 EA=1;//开总中断 TMOD=0x11; jins_time=1; TH0=(65536-50000)/256; //定时50毫秒 TL0=(65536-50000)%256; ET0=1; //打开内部中断0 TR0=1; if(x==4) { sn1=0; //4 点亮脱水剩余时间指示灯 sn2=1; //2 sn3=1;//1 ET0=1; //打开内部中断0 TR0=1; } else {sn1=0; //4 sn2=1; //2 sn3=1;//1 x=3; ET0=1; //打开内部中断0 TR0=1; } if(led6==0&&led7==1) //弱洗 { if(b>=0&&b<200||(b>=600&&b<800))//10m {q2=1;q3=1; q1=0;q4=0; } if(b>=400&&b<600||(b>=800&&b<1000)) {q1=1;q4=1; q2=0;q3=0; } } if(led6==1&&led7==0) //强洗 { q1=0; q4=0; q2=1; q3=1; } } void ds0zhong_duan() interrupt 1 //定时器0中断 洗衣时间 { TH0=(65536-50000)/256;//高8位 TL0=(65536-50000)%256;//低8位 b=b+1; //记录中断次,数每次中断50ms } void wai1_zhong_duan() interrupt 2//外部中断1{ q1=0;//电动机正转脱水 q4=0; q2=1; q3=1;}
在keil里面编的程序调试显示compiling 3.c...3.C(14): error C202: 'd': undefined identifier3.c - 1 Error(s), 0 Warning(s).求解怎么修改对这个比较菜,求教个详细方法
此帖出自
小平头技术问答
1.C(17): warning C206: 'shao_maio': missing function-prototype
1.C(18): error C202: 'b': undefined identifier
1.C(20): error C202: 'b': undefined identifier
1.C(21): error C202: 'm': undefined identifier
1.C(22): error C202: 'm': undefined identifier
1.C(24): error C202: 'm': undefined identifier
1.C(26): error C202: 't': undefined identifier
1.C(28): error C202: 't': undefined identifier
1.C(34): error C202: 'b1': undefined identifier
1.C(36): error C202: 'b1': undefined identifier
1.C(37): error C202: 'jins_time': undefined identifier
1.C(39): error C202: 'jins_time': undefined identifier
1.C(41): error C202: 'sw1': undefined identifier
1.C(42): error C202: 'jins_time': undefined identifier
1.C(46): error C202: 'jins_time': undefined identifier
1.C(51): error C202: 'x': undefined identifier
1.C(53): error C202: 'sn1': undefined identifier
1.C(54): error C202: 'sn2': undefined identifier
1.C(55): error C202: 'sn3': undefined identifier
1.C(63): error C202: 'sn1': undefined identifier
1.C(64): error C202: 'sn2': undefined identifier
1.C(65): error C202: 'sn3': undefined identifier
1.C(66): error C202: 'x': undefined identifier
1.C(70): error C202: 'led6': undefined identifier
1.C(72): error C202: 'b': undefined identifier
1.C(73): error C202: 'q2': undefined identifier
1.C(73): error C202: 'q3': undefined identifier
1.C(74): error C202: 'q1': undefined identifier
1.C(74): error C202: 'q4': undefined identifier
1.C(76): error C202: 'b': undefined identifier
1.C(77): error C202: 'q1': undefined identifier
1.C(77): error C202: 'q4': undefined identifier
1.C(78): error C202: 'q2': undefined identifier
1.C(78): error C202: 'q3': undefined identifier
1.C(81): error C202: 'led6': undefined identifier
1.C(83): error C202: 'q1': undefined identifier
1.C(84): error C202: 'q4': undefined identifier
1.C(85): error C202: 'q2': undefined identifier
1.C(86): error C202: 'q3': undefined identifier
1.C(90): error C202: 'm': undefined identifier
1.C(92): error C202: 'sw1': undefined identifier
1.C(93): error C202: 'sw2': undefined identifier
1.C(104): error C202: 'sn1': undefined identifier
1.C(105): error C202: 'sn2': undefined identifier
1.C(106): error C202: 'sn3': undefined identifier
1.C(107): error C202: 'x': undefined identifier
1.C(109): error C202: 'tuo_s': undefined identifier
1.C(111): error C202: 'tuo_s': undefined identifier
1.C(112): error C202: 't': undefined identifier
1.C(114): error C202: 't': undefined identifier
1.C(116): error C202: 'jins_time': undefined identifier
1.C(117): error C202: 'm': undefined identifier
1.C(118): error C202: 't': undefined identifier
1.C(120): error C202: 'x': undefined identifier
1.C(121): error C202: 'xi_di': undefined identifier
1.C(126): error C202: 'sw2': undefined identifier
1.C(127): error C202: 'sm1': undefined identifier
1.C(128): error C202: 'sn1': undefined identifier
1.C(129): error C202: 'q1': undefined identifier
1.C(130): error C202: 'feng_m_qi': undefined identifier
1.c - 59 Error(s), 1 Warning(s).
一周热门 更多>