2793|4

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

帮我看看这段程序有什么问题?仿真不出来 [复制链接]

#include #include //****************************// #define uchar unsigned char #define uint unsigned int //****************************// sbit key_on = P3^5; // 开始按键 sbit s1=P3^0; // L298的In 1 sbit s2=P3^1; // L298的In 2 //****************************// sbit led_in = P0^0; // 进水指示灯 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; // 洗衣结束指示灯 sbit ena = P3^2; // 洗衣电源控制开关 //******************************// void delay(uint i); // 延时子程序 void in(); // 进水子程序 void out(); // 出水子程序 void xi(); // 洗涤子程序 void piao(); // 漂洗子程序 void tuo(); // 脱水子程序 void over(); // 结束子程序 void SEG_display(); // 显示时间子程序 void key_scan(); // 按键扫描子程序 void on(); // 工作on处理子程序 //******************************// char sec =0; // 时间秒 char min =0; // 时间分 uchar t=0; // 中断计数 uchar flag=0; // 洗衣机工作状态标志 uchar quan = 0; // 正反转计数 // 进水子程序 //*********************************// 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; } // 结束子程序 //*********************************// 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(); } } } // 延时子程序 //****************************// void delay(uint i) { uint x,y; for(x=i;x>0;x--) { for(y=120;y>0;y--); } } // 主函数 //*********************************// void main() { led_in=0; while(1) { SEG_display(); key_scan(); } } // 定时器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)) //进水结束 { flag=1; } //**********************************// if((sec<0)&&(min==0)&&(flag==1)) //洗涤结束 { flag=2; } //**********************************// if((sec<0)&&(min==0)&&(flag==2)) //出水结束 { flag=3; } //**********************************// if((sec<0)&&(min==0)&&(flag==3)) //漂洗结束 { flag=4; } //***********************************//洗衣结束 if((sec<0)&&(min==0)&&(flag==4)) { sec=0; over(); } } } }
此帖出自51单片机论坛

最新回复

看着好蛋疼,说的详细点,让别人有针对性的看。。。  详情 回复 发表于 2012-6-24 11:01
点赞 关注
 

回复
举报

1万

帖子

26

TA的资源

裸片初长成(高级)

沙发
 
楼主搞了这么大的程序,又提出了很大范围(仿真不出来)的问题,谁有那么多时间帮你解决问题?
此帖出自51单片机论坛
 
 
 

回复

7172

帖子

195

TA的资源

五彩晶圆(高级)

板凳
 
同意楼上的  给这个 的确
此帖出自51单片机论坛
 
 
 

回复

389

帖子

0

TA的资源

纯净的硅(高级)

4
 
确实,提问有提问的智慧啊
此帖出自51单片机论坛
 
 
 

回复

116

帖子

0

TA的资源

一粒金砂(高级)

5
 
看着好蛋疼,说的详细点,让别人有针对性的看。。。
此帖出自51单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表