久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5040|回復: 0
打印 上一主題 下一主題
收起左側

基于51單片機的洗衣機程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:444545 發表于 2018-12-11 23:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
題目:設置過程,有一個水位選擇按鍵,選擇6個水位之一,相應的有六個水位檢測點,仿真時用六個開關表示。有一個程序選擇按鍵,選擇8個程序之一。一個啟動/停止鍵,按照所選程序自動洗衣。(2)洗衣過程,模擬完成其中兩個自動洗衣程序——標準洗和輕柔洗的執行過程。打開進水電磁閥,(電磁閥用一個LED燈模擬),人工閉合開關表示水位到了該開關代表的水位檢測器,關閉進水電磁閥,然后電機(proteus里面有)反復正轉、反轉,并用PWM波控制電機轉速,輕柔洗轉速慢,換向快,甩干轉速最快......,直到洗完。為縮短演示時間,應把各步驟時間縮短。
程序
#include <REG51F.H>
//#include<reg52.h>
//#include <math.h>
//#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit sw=P1^3;
sbit ms=P1^5;
sbit qt=P1^7;
sbit aa=P1^6;
sbit bb=P1^4;
sbit cc=P0^7;
sbit p0_5=P0^5;
sbit p0_4=P0^4;
sbit p0_3=P0^3;
sbit p0_2=P0^2;
sbit p0_1=P0^1;
sbit p0_0=P0^0;
uint g,m,l;
uchar i,j,k;

void delay(void)
{
        for (g=0;
        g<1000;
        g++);
}

void init_T2(void)        
{
        T2CON =0;
        T2MOD =0;
        RCAP2H =(65536-50000)/256;
        RCAP2L =(65536-50000)%256;
        TH2 =(65536-50000)/256;
        TL2 =(65536-50000)%256;
        ET2 = 1;
        PT2 = 1;
        TR2 = 1;
}

void swxz(void)  
{
        if(sw==0)
        {
                delay();
                if(sw==0)
                i++;
                if(i==7)
                i=1;
                while(sw==0);
        }
        switch(i)
        {
                case 1:{p0_0=0;p0_1=1;p0_2=1;p0_3=1;p0_4=1;p0_5=1;}
                break;
                case 2:{p0_0=1;p0_1=0;p0_2=1;p0_3=1;p0_4=1;p0_5=1;}
                break;
                case 3:{p0_0=1;p0_1=1;p0_2=0;p0_3=1;p0_4=1;p0_5=1;}
                break;
                case 4:{p0_0=1;p0_1=1;p0_2=1;p0_3=0;p0_4=1;p0_5=1;}
                break;
                case 5:{p0_0=1;p0_1=1;p0_2=1;p0_3=1;p0_4=0;p0_5=1;}
                break;
                case 6:{p0_0=1;p0_1=1;p0_2=1;p0_3=1;p0_4=1;p0_5=0;}
                break;
                default:break;
        }
}

void swjc(void)  
{
        switch(i)
        {
                case 1:{if(P3==0x03)
        {EA=1;k=4;}}
                break;
                case 2:{if(P3==0x07)
        {EA=1;k=4;}}
                break;        
                case 3:{if(P3==0x0f)
        {EA=1;k=4;}}
                break;        
                case 4:{if(P3==0x1f)
        {EA=1;k=4;}}
                break;        
                case 5:{if(P3==0x3f)
        {EA=1;k=4;}}
                break;        
                case 6:{if(P3==0x7f)
        {EA=1;k=4;}}
                break;
                default:{EA=0;P3=0xff;};
        }
}
               
void qdtz(void)  
{
        if(qt==0)
        {
                delay();
                if(qt==0)
                k++;        
                while(qt==0);
        }
        switch(k)
        {
                case 2:cc=0;
                break;
                case 5:{aa=1;bb=1;EA=0;i=10;j=10;}
                break;               
                default:cc=1;
        }
}

void biaozhun(void)  
{
        qdtz();
        swjc();
}

void qita(void)  
{}
        
void msxz(void)  //Ä£ê½Ñ¡Ôñoˉêy
{
        if(ms==0)
        {
                delay();
                if(ms==0)
                {
                        j++;
                        if(j==9)
                        j=1;
                }
                while(ms==0);
        }
        switch(j)
        {
                case 1:{P2=0xfe;biaozhun();}
                break;
                case 2:{P2=0xfd;qita();}
                break;
                case 3:{P2=0xfb;qita();}
                break;
                case 4:{P2=0xf7;qita();}
                break;
                case 5:{P2=0xef;qita();}
                break;
                case 6:{P2=0xdf;qita();}
                break;
                case 7:{P2=0xbf;qita();}
                break;
                case 8:{P2=0x7f;qita();}
                break;
                default:P2=0xff;
        }
}

void main(void)  //Ö÷oˉêy
{
        i=0,j=0,k=1,l=1,m=0,aa=1,bb=1,cc=1;
        init_T2();

        while(1)
        {
                swxz();
                msxz();
                if(m==1)
                {
                        aa=1;
                        bb=0;
               
                }
                if(m==40)
                {
                        l++;
                        aa=~aa;
                        bb=~bb;
                        m=2;
                                
                }
                if(l==10)
                {
                        i=7;
                        EA=0;
                        aa=1;
                        bb=1;
                }

        }
}

void dingshi(void) interrupt 5  
{
        m++;
        TF2=0;
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费一级黄色 | 狠狠艹 | 亚洲男人网 | 成人在线视频一区二区三区 | 亚洲精品99 | 大香在线伊779 | 日韩精品一区二区三区老鸭窝 | 91免费高清| 综合国产在线 | 天天操天天射天天 | 啪啪免费网站 | 久久毛片| 欧美日韩久久久久 | 一级一级毛片免费看 | 久久久爽爽爽美女图片 | 黄色网页在线 | 国产精品免费一区二区三区 | 国产激情视频在线 | 午夜精品一区二区三区在线视频 | 中文字幕日韩一区 | 精品国产伦一区二区三区观看体验 | 三区在线 | 久久久国产网站 | 色花av| 伊人亚洲| 国产精品久久久 | 久久福利电影 | 91偷拍精品一区二区三区 | 啪啪免费网站 | 国产精品视频一区二区三区 | 粉嫩一区二区三区国产精品 | 亚洲国产一区视频 | 欧美在线一区二区三区 | 在线免费观看毛片 | 国产成人精品一区二区三区网站观看 | 国产精品久久久久久久久久久久久久 | 日韩精品免费视频 | 97精品超碰一区二区三区 | 国产一区二 | 久久成人午夜 | 久久综合一区二区 |