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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1859|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)模擬風(fēng)扇控制系統(tǒng)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:439984 發(fā)表于 2020-6-3 13:42 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include<reg52.h>
#include<intrins.h>
#include"define.h"
#include"ds18b20.h"
sbit key4 = P1^4;

sbit key5 = P1^5;
sbit key6 = P1^6;
sbit key7 = P1^7;
sbit PWM = P1^1;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x00,0x39};
uchar tt_table = 0x39;
uchar flag = 0;
uchar flag_11 = 0;
uchar flag_22 = 0;
uchar flag_33 = 0;
int time;
uchar huha = 1;
uchar num = 0;
uchar nihao;
int count=2;
uchar huhu =0;

void timer0_init();

void delayms(uint xms)
{
uint i;
for(i=xms;i>0;i--);
}
void delay_ms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
        for(j= 110;j>0;j--);
}
/////////////////////////////
void display0()
{
        P2=0xff;
        P0=0x40;
  P2=0x7f;
        delayms(60);
        P2=0xff;
}
//////////////////////////////
void display1(uchar th)
{
        P2=0xff;
        P0=table[th];
  P2=0xbf;
        delayms(60);
        P2=0xff;
}
//////////////////////////////
void display2()
{
        P2=0xff;
        P0=0x40;
  P2=0xdf;
        delayms(60);
        P2=0xff;
}
//////////////////////////////
void display4(uchar ch)
{
        P2=0xff;
        P0=table[ch];
  P2=0xf7;
        delayms(60);
        P2=0xff;
}
//////////////////////////////
void display5(uint shi)
{
        P2=0xff;

        P0=table[shi];
        P2=0xfb;
        delayms(60);
        P2=0xff;
        
}
//////////////////////////////
void display6(uint ge)
{P2=0xff;
        P0=table[ge];
        P2=0xfd;
        delayms(60);
        P2=0xff;
}
//////////////////////////////
void display7(uint qi)
{
        P2=0xff;
        P0=table[qi];
  P2=0xfe;
        delayms(60);
        P2=0xff;
}
//////////////////////////////
void KEY_Scan()
{
        if(key4 == 0)
        {
                delay_ms(10);
                if(key4 == 0)
                {
                        
                        if(++flag == 1)
                        {
                                nihao = huha;
                                huha = 4;
                        }
                        if(flag == 2){flag =0;huha = nihao;}
               
                }while(!key4);
        }
        
        if(key5==0)
  {
          delay_ms(2); //????????,??????????
                if(key5==0)
                {
                        if(++flag_11==1) {count = 2;huha = 1;}
                        if(flag_11 == 2){ count = 5;huha = 2;}
                        if(flag_11 == 3){ count = 7;huha = 3; flag_11 =0;}
                }while(!key5);
  }
        
        if(key6 == 0)
        {
                delay_ms(10);
                if(key6 == 0)
                {
                        
                        if(++flag_22 == 1){flag_22 =0;huha = 5;num = num + 60;if(num > 120)num=0;}
               
                }while(!key6);
        }
        
                if(key7 == 0)
        {
                delay_ms(10);
                if(key7 == 0)
                {
                        
                        if(++flag_33 == 1){flag_33 =0;huha = 5;num = 0;}
               
                }while(!key7);
        }
        
}
void main(void)
{
        uchar kkll;
               
  uchar readtemp;
        timer0_init();
        PWM = 1;
        while(1)
        {
                KEY_Scan();
               
                if(huha == 1 ||huha == 2 || huha == 3)
                {
                        kkll =huha;
                }
               
                if(num ==0){  TR0=0;PWM = 0;}
                if(num>0)  TR0=1;
//                if(num >0 && flag == 1) TR0 = 0;
                switch(huha)
                {
                        case 1:
                                        P2=0xff;
                                display0();
                        delayms(5);
                        ///////////////
                        display1(1);
                        delayms(5);
                        ///////////////
                        display2();
                        delayms(5);
                        
                        display4((num/1000)%10);
                        delayms(5);
                        ///////////////
                        display5(num/100%10);
                        delayms(5);
                        ///////////////
                        display6(num/10%10);
                        delayms(5);
                        ///////////////
                        display7(num%10);
                        delayms(5);
                        P2=0xff;
                        break;
                        case 2:
                                        P2=0xff;
                        display0();
                        delayms(5);
                        ///////////////
                        display1(2);
                        delayms(5);
                        ///////////////
                        display2();
                        delayms(5);
                        
                        display4((num/1000)%10);
                        delayms(5);
                        ///////////////
                        ///////////////
                        display5(num/100%10);
                        delayms(5);
                        ///////////////
                        display6(num/10%10);
                        delayms(5);
                        ///////////////
                        display7(num%10);
                        delayms(5);
                        P2=0xff;
                        break;
                        
                        case 3:
                                        P2=0xff;
                        display0();
                        delayms(5);
                        ///////////////
                        display1(3);
                        delayms(5);
                        ///////////////
                        display2();
                        delayms(5);
                        display4((num/1000)%10);
                        delayms(5);
                        ///////////////
                        ///////////////
                        display5(num/100%10);
                        delayms(5);
                        ///////////////
                        display6(num/10%10);
                        delayms(5);
                        ///////////////
                        display7(num%10);
                        delayms(5);
                        P2=0xff;
                        break;
                        
                        case 4:
                                        P2=0xff;
                                P2 = 0xff;
                                readtemp = read_temperature();
                                display0();
                                delayms(20);
                                ///////////////
                                display1(4);
                                delayms(20);
                                ///////////////
                                display2();
                                delayms(20);
                                ///////////////
                                display5(readtemp/10);
                                delayms(20);
                                ///////////////
                                display6(readtemp%10);
                                delayms(20);
                                ///////////////
                                display7(11);
                                delayms(20);
                                P2=0xff;
                        break;
                        case 5:
                                        P2=0xff;
                        display0();
                        delayms(5);
                        ///////////////
                        display1(kkll);
                        delayms(5);
                        ///////////////
                        display2();
                        delayms(5);
                        display4((num/1000)%10);
                        delayms(5);
                        ///////////////
                        ///////////////
                        display5(num/100%10);
                        delayms(5);
                        ///////////////
                        display6(num/10%10);
                        delayms(5);
                        ///////////////
                        display7(num%10);
                        delayms(5);
                        P2=0xff;
                        break;
               
                }
               
        
        }
}
/***********???0???***********/
void timer0_init()
{
  TMOD=0x01; //???0?????1
  TH0=(65536-100)/256;
        TL0=(65536-100)%256;
  TR0=1;
  ET0=1;
  EA=1;
}

/**************??0????******************/
void timer0_int() interrupt 1
{
  TR0=0;    //?????????,?????
  TH0=(65536-100)/256;
        TL0=(65536-100)%256;
  TR0=1;
  time++;
        huhu++;
        if(huhu == 10)huhu = 0;
  if(huhu<count)          //count????
  {
                PWM=1;           //?????
  }
  else
                PWM=0;        
  if(time>=10000)
  {
                time=0;
                if(num>0)num--;
  }
}

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

使用道具 舉報(bào)

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 涩在线 | 中文字幕国产日韩 | 午夜精品一区二区三区在线视 | 欧美成人精品二区三区99精品 | 欧美中文字幕一区二区三区亚洲 | 一区二区中文 | 九九综合九九 | 99精品视频免费观看 | 亚洲国产在 | 成人在线观看免费 | 亚洲一区二区av | 亚洲高清在线播放 | 中文字幕福利视频 | 日韩欧美在线视频一区 | 精品国产乱码久久久久久蜜柚 | www.久久 | 国产亚洲黄色片 | 国产精品免费播放 | 一区欧美 | 国产二区三区 | 亚洲精品久久久蜜桃 | 丝袜一区二区三区 | 超碰97人人人人人蜜桃 | 欧美精品在线免费观看 | 国产一区二区 | 久久久xx| 2020亚洲天堂 | 在线一区| 国产精品精品视频一区二区三区 | 亚洲iv一区二区三区 | 久久香蕉精品视频 | 欧美日韩国产精品一区二区 | 国产成人精品视频在线观看 | 国产精品久久久久久一区二区三区 | 久久精品一区 | 亚洲视频www | 黑人久久久 | 亚洲欧美在线观看视频 | 午夜亚洲 | 久久久久久久久99精品 | 日本精品一区二区 |