找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机豆浆机控制系统设计源码加论文下载

查看数: 7078 | 评论数: 6 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-4-24 13:55

正文摘要:

一个简单的豆浆机控制系统,有完整的程序源码和设计论文。用51单片机做的下面是实物图.

回复

ID:667331 发表于 2019-12-23 12:42
#include<reg51.h>
#include<intrins.h>
#define uchar  unsigned char
#define uint  unsigned int
sbit M0=P3^0;   //八路NPN达林顿连接晶体管连接6线步进电机
sbit M1=P3^1;
sbit M2=P3^2;
sbit M3=P3^3;
sbit sw0=P3^6;   //K1开始
sbit sw1=P3^7;   //K2
sbit key0=P1^0;   //K3
sbit key1=P1^1;    //K4
sbit f=P3^4;       //蜂鸣器
uchar Speed=1;  //分
uchar m;
uchar t=0;
uchar n=0;
uchar Date=0;
uchar Ledplay[6];
uchar bn=0;
uchar code  SEG7[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x38,0x77,0x40,0x00};
uchar code  Scan_bit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
uchar data  Dis_buf[]={0,0,10,10,10,10};
uchar z;
void Delayxms(uint t)        //延时ms            
{
    unsigned char i,j,k;
   for(k=0;k<t;k++)
  {
           _nop_();
                   _nop_();
                _nop_();
           i = 11;
           j = 190;
      do
          {
                   while (--j);
           } while (--i);
   }               
}
void Delay1us(uchar t)        //延时1us            
{
    uchar i;
   for(i=0;i<t;i++)
  {
           _nop_();
           _nop_();
           _nop_();         
   }               
}
void display(void)                        //数码管显示时间
{                                                
      uchar i;              
     for(i=0;i<6;i++)
    {
         P2=0xff;               //全部数码管位选失能
                 P0=SEG7[Dis_buf[i]];        //第i个数码管显示
                 P2= Scan_bit[i];
                 Delayxms(1);
    }                                       
}

void Timer0_init(void)  //计时器
{
    TMOD=0x51;
        TH0=(65535-50000)/256;
        TL0=(65535-50000)%256;
        EA=1;
        ET0=1;
        TR0= 1;
}
uchar cnt=100;        //秒
void Timer0_int(void) interrupt 1 using        1   //定时中断
{
    t++;
        TH0=(65535-50000)/256;
        TL0=(65535-50000)%256;
        if(t==20)
        {
           t=0;
           Date=n;
           n=0;
           cnt--;
           if(cnt==0)
           {
             while(1)
                 {
                     f=0;
                         f=1;
                 }
                  
           }
        }
        if(key0==0)  //检测K3按下
        {
           Delayxms(10);  //延时10ms
           if(key0==0)   
           {
              Speed++;
                  if(Speed>20)
                  {
                    Speed=20;
                  }
           }
           while(key0==0);
        }
        if(key1==0)    //检测K4按下
        {
           Delayxms(10);
           if(key1==0)
          {
             Speed--;
                 if(Speed==0)
                 {
                    Speed=1;
                 }
          }
          while(key1==0);
        }
}        
void delay()                     
{  
    uchar i=5+Speed;
    while(--i!=0)
  {
     Dis_buf[0]=13;
         Dis_buf[1]=cnt%10;
         Dis_buf[2]=cnt/10;
         Dis_buf[3]=12;
     Dis_buf[4]=Speed%10;
         Dis_buf[5]=Speed/10;
         display();
  }                          
}
void R_rotation()
{
   M3=0;
   M0=1;
   delay();
   n++;
   M0=0;
   M1=1;
   delay();
   n++;
   M1=0;
   M2=1;
   delay();
   n++;
   M2=0;
   M3=1;
   delay();
   n++;
}
/*void F_rotation()
{
   M0=0;
   M3=1;
   delay();
   n++;
   M3=0;
   M2=1;
   delay();
   n++;
   M2=0;
   M1=1;
   delay();
   n++;
   M1=0;
   M0=1;
   delay();
   n++;
}*/
void main()
{  
   int flag = 0;
   Timer0_init();  //初始化
        while(1)
        {
                if(flag==1)
                        R_rotation();
                if(sw1==0)                //检测K2是否按下               
                {
                        cnt=10;
                        flag=1;
                }
                if(sw0==0)                //检测K1是否按下               
                {
                        cnt=20;
                        flag=1;
                }
        }
}
ID:253767 发表于 2019-12-22 08:14
谢谢分享!!!
ID:607530 发表于 2019-12-21 17:37
qq104542 发表于 2018-10-16 14:37
楼主你这个是程序,能不能用的?

这个是汇编
ID:243394 发表于 2019-12-20 19:41
谢谢分亨
ID:369182 发表于 2019-12-20 15:44
有完整仿真图吗
ID:410499 发表于 2018-10-16 14:37
楼主你这个是程序,能不能用的?

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表