標(biāo)題: [求助]求大神幫忙,看看這段程序?yàn)槭裁捶抡娌怀鰜?lái) [打印本頁(yè)]

作者: 5starxy    時(shí)間: 2012-6-23 19:34
標(biāo)題: [求助]求大神幫忙,看看這段程序?yàn)槭裁捶抡娌怀鰜?lái)
#include #include //****************************// #define uchar unsigned char #define uint unsigned int //****************************// sbit key_on = P3^5; // 開(kāi)始按鍵 sbit s1=P3^0; // L298的In 1 sbit s2=P3^1; // L298的In 2 //****************************// sbit led_in = P0^0; // 進(jìn)水指示燈 sbit led_xi = P0^1; // 洗滌指示燈 sbit led_out = P0^2; // 排水指示燈 sbit led_piao = P0^3; // 漂洗指示燈 sbit led_tuo = P0^4; // 脫水指示燈 sbit led_over = P0^5; // 洗衣結(jié)束指示燈 sbit ena = P3^2; // 洗衣電源控制開(kāi)關(guān) //******************************// void delay(uint i); // 延時(shí)子程序 void in(); // 進(jìn)水子程序 void out(); // 出水子程序 void xi(); // 洗滌子程序 void piao(); // 漂洗子程序 void tuo(); // 脫水子程序 void over(); // 結(jié)束子程序 void SEG_display(); // 顯示時(shí)間子程序 void key_scan(); // 按鍵掃描子程序 void on(); // 工作on處理子程序 //******************************// char sec =0; // 時(shí)間秒 char min =0; // 時(shí)間分 uchar t=0; // 中斷計(jì)數(shù) uchar flag=0; // 洗衣機(jī)工作狀態(tài)標(biāo)志 uchar quan = 0; // 正反轉(zhuǎn)計(jì)數(shù) // 進(jìn)水子程序 //*********************************// uchar code num[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //******************************// // 工作on處理子程序 //********************************// void on() { TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; P0 = 0xff; if(flag == 0) in(); if(flag == 1) xi(); if(flag == 2) out(); if(flag == 3) piao(); if(flag == 4) tuo(); } //*********************************// void in() { P0 = 0xff; led_in = 0; ena=0; s1 = 0; s2 = 0; min = 0; sec = 9; } // 洗衣子程序 //*********************************// void xi() { P0 = 0xff; led_xi = 0; ena=1; s1 = 1; s2 = 0; min = 1; sec = 0; quan = 0; } // 排水子程序 //*********************************// void out() { P0 = 0xff; led_out = 0; ena=0; s1 = 0; s2 = 0; min = 0; sec = 5; } // 漂洗子程序 //*********************************// void piao() { P0 = 0xff; led_piao = 0; ena=1; s1 = 1; s2 = 0; min = 0; sec = 30; quan = 0; } // 脫水子程序 //*********************************// void tuo() { P0 = 0xff; led_tuo = 0; ena=1; s1 = 0; s2 = 1; min = 0; sec = 20; } // 結(jié)束子程序 //*********************************// void over() { P0 = 0xff; ena=0; s1=0; s2=0; led_over = 0; EA=0; } //*********************************// // 顯示子程序 //*********************************// void SEG_display() { P1=0x01; P2 = num[min/10]; delay(10); P1 = 0x02; P2 = num[min%10]; delay(10); P1 = 0x04; P2 = num[sec/10]; delay(10); P1 = 0x08; P2 = num[sec%10]; delay(10); } // 按鍵掃描子程序 //*********************************// void key_scan() { P3=0xff; if(key_on == 0) { delay(5); if(key_on == 0) { while(!key_on); on(); } } } // 延時(shí)子程序 //****************************// void delay(uint i) { uint x,y; for(x=i;x>0;x--) { for(y=120;y>0;y--); } } // 主函數(shù) //*********************************// void main() { led_in=0; while(1) { SEG_display(); key_scan(); } } // 定時(shí)器0中斷處理程序 //**********************************// void timer0(void) interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; t++; if(t==20) { t = 0; sec--; if((flag==1)||(flag==3)) { quan++; switch(quan) { case 1: s1=1;s2=0;break; case 10:s1=0;s2=0;break; case 15:s1=0;s2=1;break; case 25:s1=0;s2=0;break; default:; } if(quan==30) { quan=0; } //**********************************// if((sec==0)&&(min!=0)) { min--; sec=59; } //**********************************// if((sec<0)&&(min==0)&&(flag==0)) //進(jìn)水結(jié)束 { flag="1; } " //**********************************// if((sec<0)&&(min==0)&&(flag==1)) //洗滌結(jié)束 { flag="2; } " //**********************************// if((sec<0)&&(min==0)&&(flag==2)) //出水結(jié)束 { flag="3; } " //**********************************// if((sec<0)&&(min==0)&&(flag==3)) //漂洗結(jié)束 { flag="4; } " //***********************************//洗衣結(jié)束 if((sec<0)&&(min==0)&&(flag==4)) { sec="0; " over(); } } } }
作者: 青蘋果    時(shí)間: 2012-6-24 18:28
這個(gè)怎么看?




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1