基于51单片机的气泵控制程序

发布者:创新思绪最新更新时间:2015-07-28 来源: 51hei关键字:51单片机  气泵控制 手机看文章 扫描二维码
随时随地手机看文章
用stc89c52单片机来控制气泵,带有2种工作模式,端口可自行修改
#include
sbit a=P1^5;//闪烁灯
sbit b=P1^4;//气泵
sbit c=P3^7;//状态指示灯
sbit ss1=P3^2;//一分钟工作模式
sbit ss4=P3^3;//四分钟工作模式
unsigned int q,w,e,r,y,u,i,n,m,l,h;
csh();//初始化子程序声明
ys();//延时子程序
ys2();//延时子程序2声明
void main()
{
csh();//初始化

while(1)  //死循环 一号 
 {
 if(ss1==0){n=1;}  //判定一分钟工作模式接通启动二号循环
 if(ss1==1){n=0;b=1;}  //判定一分钟工作模式为启动断二号循环
 if(ss4==0){m=1;}  //判定四分钟工作模式接通启动*号循环
 if(ss4==1){m=0;b=1;}  //判定四分钟工作模式未启用断*号循环

/*...........以下为一分钟工作模式...分割线......................*/
  while(n)    //二号循环 一分钟工作模式n被赋值1 开始进入循环体
 {
   if(ss1==0) //判定一分钟工作模式开启 执行语句
   {
    for(l;l>0;l--); //延时判定
    if(ss4==0){n=0;}//判定四分钟模式启用断开二号循环体 退出执行
    for(q;q>0;q--); //延时判定 q
    if(ss4==1)      //判定四分钟模式未开启 向下执行
     {
     if(q==0) //判定q减到0
  {
   b=1;   //断开气泵
   w=1;   //循环体2 w为1
   e=1;   //循环体1 e赋值为1
   }
    while(e)  //三号循环体
   {
   if(P3==0x7b)    //判定指示灯和一分钟启动执行下面
    {
 while(w)          //四号循环体 w为1 初值 
 {
       ys(); //半秒延时 好像不准自己改
  a=0;  //闪烁灯点亮
  r++;//秒数自加1
  if(ss1==1)  //判定一分钟工作模式断开时
  {
        ys2(); //延时判定
  if(ss1==1)     //一分钟工作模式确实断开
  {n=0;e=0;w=0;r=0;b=1;}//判定成立退出所有
  }
    ys(); //半秒延时 好像不准自己改
  a=1; //闪烁灯灭
       
 if(r==60) // 等待秒数加到60执行
 {  
   w=0;   //断开循环体2
   r=60;  //保持秒数等于60
   b=0;   //启动水泵
   h=1;   //五号循环体()
   while(h)   //五号循环体
   if(ss1==1)  //判定一分钟退出向下执行
   {    ys2(); //延时判定
   if(ss1==1)  //经过延时确实判定一分钟工作模式断开
   {
   b=1;    //断开气泵
      n=0;    //退出二号循环体
   e=0;    //退出四号循环体
   r=0;    //一分钟时间归零
   while(1)
   {
   if(m==0);
   {
   h=0;
   break;
   }    
       //退出五号循环体 自身
   
      }
   }} } }  }  }  }/*判定*/ }/*二号循环体*/ }/*一号循环体*/
/*..................以下为四分钟工作模式.......我是分割线...........*/
本程序下载地址:http://www.51hei.com/ziliao/file/qibang.rar
  while(m)    //二号循环 一分钟工作模式n被赋值1 开始进入循环体
 {
   if(ss4==0) //判定四分钟工作模式开启 执行语句
   {
    for(l;l>0;l--); //延时判定
    if(ss1==0){m=0;}//判定一分钟模式启用断开二号循环体 退出执行
    for(q;q>0;q--); //延时判定 q
    if(ss1==1)      //判定一分钟模式未开启 向下执行
     {
     if(q==0) //判定q减到0
  {
   b=1;   //断开气泵
   w=1;   //循环体2 w为1
   e=1;   //循环体1 e赋值为1
   }
    while(e)  //三号循环体
   {
   if(P3==0x77)    //判定指示灯和四分钟启动执行下面
    {
 while(w)          //四号循环体 w为1 初值 
 {
       ys(); //半秒延时 好像不准自己改
  a=0;  //闪烁灯点亮
  r++;//秒数自加1
  if(ss4==1)  //判定四分钟工作模式断开时
  {
        ys2(); //延时判定
  if(ss4==1)     //四分钟工作模式确实断开
  {m=0;e=0;w=0;r=0;b=1;}//判定成立退出所有
  }
     ys(); //半秒延时 好像不准自己改
  a=1; //闪烁灯灭
       
 if(r==240) // 等待秒数加到240执行
 {  
   w=0;   //断开循环体2
   r=240;  //保持秒数等于240
   b=0;   //启动水泵
   h=1;   //五号循环体()
   while(h)   //五号循环体
   if(ss4==1)  //判定四分钟退出向下执行
   {    ys2(); //延时判定
   if(ss4==1)  //经过延时确实判定四分钟工作模式断开
   {
   b=1;    //断开气泵
      n=0;    //退出二号循环体
   e=0;    //退出四号循环体
   r=0;    //四分钟时间归零
   q=60000;

   
   while(1)
   {
   if(n==0);
   {
   h=0; //退出五号循环体 
   break; //退出自身循环
   }    
       
      }
    } }  }  }  }/*判定*/ }/*二号循环体*/ }/*一号循环体*/}}}} 

/*.......................初始化子程序........................................*/
csh()//初始化子程序
{
 a=1;  //闪烁灯不闪烁
 b=1;  //气泵不开启
 c=0;  //状态指示灯点亮
 ss1=1;//一分钟工作模式未启动
 ss4=1;//四分钟工作模式未启动
 r=0;  //一分钟60秒数
 e=0;  //循环体 e赋值为1
 q=60000; //第一延时判定q初始值
 l=60000; //延时用
 h=0;  //五号循环体
}
ys()
{
 for(y=23;y>0;y--)
        for(u=152;u>0;u--)
        for(i=70;i>0;i--); //半秒延时 好像不准自己改
}
ys2()
{
 for(y=167;y>0;y--) 
        for(u=171;u>0;u--) 
        for(i=16 ;i>0;i--);
}
 
关键字:51单片机  气泵控制 引用地址:基于51单片机的气泵控制程序

上一篇:超强多功能电子钟程序
下一篇:单片机按键达到指定时间才接通

推荐阅读最新更新时间:2024-03-16 14:26

基于51单片机的电子音乐盒的课程设计
1.设计目的和要求1.1 设计目的 (1) 通过设计,查阅相关资料,掌握如何利用单片机设计产品,同时了解与单片机有关的软件模拟器的使用及取字模块软件的使用方法。 (2) 通过本课程设计巩固并扩展单片机课程的基本概念、基本理论、分析方法和实现方法。结合Proteus和Keil软件等,学习单片机产品的设计方法,有效地将理论和实际紧密结合,培养创新思维和设计能力,增强软件编程实现能力和解决实际问题的能力。 (3) 学习Proteus软件,掌握Proteus中各种芯片的功能以及模拟。由于Proteus提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养实践精
[单片机]
基于<font color='red'>51单片机</font>的电子音乐盒的课程设计
如何模拟实现应用在数据采集系统中的89C51单片机I/O口串行通信?
目前普遍采用的MCS51 和PIC 系列单片机通常只有一个(或没有)UART异步串行通信接口,在应用系统中若需要多个串行接口(例如在多机通信系统中,主机既要和从机通信又要和终端通信)的情况下,通常的方法是扩展一片8251 或 8250 通用同步/异步接收发送芯片(USART),需额外占用单片机I/O 资源。 MCS51是指由美国INTEL公司(对了,就是大名鼎鼎的INTEL)生产的一系列单片机的总称,这一系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS
[单片机]
如何模拟实现应用在数据采集系统中的89C<font color='red'>51单片机</font>I/O口串行通信?
51单片机快速入门指南】4.3: I2C读取MPU6050陀螺仪的原始数据
普中51-单核-A2 STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 串口示波器:Vofa+ 1.3.10 硬知识 摘自《ATK-MPU6050六轴传感器模块用户手册_V1.0》 特性参数 模块自带了 3.3V 超低压差稳压芯片,给 MPU6050 供电,因此外部供电可以选择:3.3V / 5V 都可以。模块通过 P1 排针与外部连接,引出了 VCC、GND、IIC_SDA、IIC_SCL、MPU_INT 和 MPU_AD0 等信号,其中,IIC_SDA 和 IIC_SCL 带了 4.7K上拉电阻,外部可以不用
[单片机]
【<font color='red'>51单片机</font>快速入门指南】4.3: I2C读取MPU6050陀螺仪的原始数据
51单片机学习:动态数码管实验
实验名称:动态数码管实验 接线说明: 实验现象:下载程序后“数码管模块”显示01234567 注意事项: ***************************************************************************************/ #include reg52.h typedef unsigned int u16; //对系统默认数据类型进行重定义 typedef unsigned char u8; #define SMG_A_DP_PORT P0 //使用宏定义数码管段码口 //定义数码管位选信号控制脚 sbit LSA=P2^2; sbit LSB=P2^3; sbit L
[单片机]
51单片机-液晶屏代码单独文件
同样我们创建好“lcd.c”和“lcd.h”,然后添加进工程文件中。“lcd.c”的代码集合了所有宋老师为我们写好的各种常用函数。 1.lcd.c的代码 #include reg52.h #include lcd.h /* 等待液晶准备好 */ void LcdWaitReady() { unsigned char sta; LCD1602_DB = 0xFF; LCD1602_RS = 0; LCD1602_RW = 1; do { LCD1602_E = 1; sta = LCD1602_DB;//读取状态字 LCD1602_E = 0; } while
[单片机]
<font color='red'>51单片机</font>-液晶屏代码单独文件
51单片机向PC电脑发送一组汉字的方法
最近看到有朋友在网上问 单片机 怎么向电脑发送一串汉字这个问题,其实这个问题也不难.呵呵.只要把相关的参数设置好一些,然后把汉字定义成一组字符向电脑发送就可以. 为了让大家更明确的了解,我就写了下面的一个程序来演示一下. 操作条件: 1.XP操作系统. 2.XP的超级终端显示. 3.WJ-V4.0开发板. 4.单片机STC89C52. 5. 晶振 11.0592M 操作步骤: 1.设置TMOD设置波特率和定时器1的工作方式. 2.设置定时器的初始值. 3.设置串行口工作方式. 4.设置波特率不加倍. 5.打开TR1允许发送. 6.启动定时器. 7.串行中断打开. 8.打开EA中断. 现在发上源代码: #include AT
[单片机]
<font color='red'>51单片机</font>向PC电脑发送一组汉字的方法
基于K9F5608A的MCS-51单片机驱动程序
K9F5608A的MCS-51单片机驱动程序主要包括函数声明管脚定义部分、命令操作函数以及数据输出函数。 (1)函数声明管脚定义部分主要完成程序所涉及的库函数的声明及有关引脚的定义,一般置于程序的开头部分,代码如下: (2)命令操作函数NFCommand()。 NfCommand()函数实现向K9F5608发送操作命令,程序代码如下: (3)地址发送函数NfAddre()。 NfAddre()函数完成向K9F5608发送3字节地址数据,程序代码如下: (4)页读函数。 页读函数实现对K9F5608数据的页读功能,主要包括ReadPageF()、ReadPage()和ReadPageS()等3种函数,相关程序
[单片机]
基于K9F5608A的MCS-<font color='red'>51单片机</font>驱动程序
什么是51单片机最小系统
1.什么是51单片机 51 内核单片机是 指兼容Intel 的8051指令系统的单片机统称;从诞生到现在的几十年时间,已成为一款经过市场考验、成熟的芯片产品。目前国内也众多51单片机厂家,且还有众多带51内核,用于各种不同场景的专用类单片机。 51单片机内部框架: 以下以STC89C52单片机为例,其内部总体结构其基本特性如下: 8位CPU、4-8k 字节 ROM、128 字节 RAM、21 个特殊功能寄存器32根I/0线、可寻址的 64 字节外部数据、程序存贮空间、2个 16 位定时器计数器中断结构:具有二个优先级、五个中断源、一个全双工串行口、位寻址(即可对寄存器进行位操作)功能,能按位进行逻辑运算的位处理器。 除 1
[单片机]
什么是<font color='red'>51单片机</font>最小系统
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved