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

標(biāo)題: 單片機(jī)模擬風(fēng)扇控制系統(tǒng)程序 [打印本頁]

作者: dujiaoxi    時(shí)間: 2020-6-3 13:42
標(biāo)題: 單片機(jī)模擬風(fēng)扇控制系統(tǒng)程序
#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--;
  }
}






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 大伊人久久 | 久久久久久久久久久久亚洲 | 国产精品视频播放 | 少妇一级淫片免费播放 | 欧美91| 久久精品屋 | 黄色免费网站在线看 | 欧美日韩a| 日韩成人高清在线 | 久久久久中文字幕 | 日韩精品一区二区三区中文在线 | 国产免费一区二区三区 | 日韩不卡一二区 | 中文一区二区 | 欧美三级在线 | 国产黄色在线观看 | 日韩在线中文字幕 | 一区二区三区在线 | 黄色在线免费观看视频网站 | 爱爱视频在线观看 | 国产精品视频网 | 国产高清在线 | 嫩草影院网址 | 久久久久久综合 | 国产精品视频一区二区三区 | 暖暖成人免费视频 | 91久久| 啪啪网页 | 色婷婷久久综合 | 黄色小视频大全 | 福利视频一区二区 | 日本一二三区高清 | 久久在线视频 | 日本一区二区三区在线观看 | 精品中文字幕一区二区三区 | 亚洲精品在线91 | 日本羞羞影院 | 国产农村妇女毛片精品久久麻豆 | 欧美一级视频在线观看 | 亚洲精品乱码久久久久久蜜桃91 | 91欧美精品成人综合在线观看 |