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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5498|回復: 0
收起左側

關于太陽能熱水器控制器仿真疑問

[復制鏈接]
ID:120310 發表于 2016-5-23 02:26 | 顯示全部樓層 |閱讀模式
5黑幣
數碼管不亮為什么?程序如下 求大神指導



/***************************************************/
#include<reg51.h>
#include<intrins.h>                           
#define  Disdata P0      
#define  uchar unsigned char
#define  uint unsigned int
sbit     b20=P3^7;
sbit     p20=P2^0;
sbit     p21=P2^1;                              
sbit     p22=P2^2;
sbit     p23=P2^3;
sbit     p24=P2^4;
sbit     p25=P2^5;                              
sbit     p26=P2^6;
sbit     p27=P2^7;
sbit     beet=P1^5;
sbit     heat=P1^0;
sbit     p11=P1^1;
sbit     qxjr=P1^2;
sbit     add=P1^3;
sbit     p14=P1^4;
sbit     qxss=P1^6;
uchar     a=35;
uint    temp,b,wd,h;
bit lock0=1;//加熱標志位
bitlock1=1;               
uchar codedis[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf};      
uchar datatemp_data[3]={0x00,0x000,0x00};           
uintkey_[2]={5,0};
/*****************11us延時函數*************************/
voiddelay(uint t)
{
  for (;t>0;t--);
}
/******************1ms延時函數*****************************/
voiddelay1ms(uint z)
{
  uint x,y;
  for(x=z;x>0;x--)
         for(y=110;y>0;y--);      
}
/****************發音函數***************************/
voidplay(uchar t)
{
  uchar i;
  for(i=0;i<1000;i++)
  {
         beet=~beet;
         delay1ms(t);
  }
  beet=0;
}
/****************顯示掃描函數***************************/
scan()
{
  uint k=0;
  Disdata=~dis[temp_data[k]];
  p26=0;
  p27=1;
  delay1ms(5);
  k++;
  Disdata=~dis[temp_data[k]];
  p26=1;
  p27=0;
  delay1ms(5);
  p26=1;
  p27=1;
}
/*********************預置溫度******************************/
voidyzwd(uint b)
{
  Disdata=~dis[b%10];
  p26=0;
  p27=1;
  delay1ms(5);
  Disdata=~dis[b/10];
  p26=1;
  p27=0;
  delay1ms(5);
  p26=1;
  p27=1;
}
/****************DS18B20復位函數************************/
ow_reset(void)
{
  char presence=1;
  while(presence)
  {
          while(presence)
          {
                b20=1;_nop_();_nop_();
                b20=0;                                       
                delay(50);         
                b20=1;                                       
                delay(6);           
                presence=b20;        
            }
    delay(45);           
    presence=~b20;         
  }
  b20=1;                  
}
/****************DS18B20寫命令函數************************/
voidwrite_byte(uchar val)
{
  uchar i;
  for(i=8;i>0;i--)
  {
    b20=1;_nop_();_nop_();                 
    b20=0;_nop_();_nop_();_nop_();_nop_();
    b20=val&0x01;                           
    delay(6);                           
    val=val/2;                           
   }
   b20=1;
   delay(1);
}
//
/****************DS18B20讀1字節函數************************/
ucharread_byte(void)
{
uchar i;
ucharvalue=0;
for(i=8;i>0;i--)
{
  b20=1;_nop_();_nop_();
  value>>=1;
  b20=0;_nop_();_nop_();_nop_();_nop_();        
  b20=1;_nop_();_nop_();_nop_();_nop_();         
  if(b20)value|=0x80;
  delay(6);                                    
}
b20=1;
return(value);
}
/****************讀出溫度函數************************/
uintread_temp()
{
   ow_reset();                  
   delay(200);
    write_byte(0xcc);            
   write_byte(0x44);            
   ow_reset();
   delay(1);
   write_byte(0xcc);            
   write_byte(0xbe);
   temp_data[0]=read_byte();   
   temp_data[1]=read_byte();   
   temp=temp_data[1];
   temp<<=8;                                               
   temp=temp|temp_data[0];      
    returntemp;                 
}
/****************溫度數據處理函數************************/
work_temp(uinttem)        
{
  temp_data[2]=tem>>4;
  temp_data[0]=temp_data[2]%10;
  temp_data[1]=temp_data[2]/10;
}
/****************加熱子函數************************/
voidheating(void)
{
  if(heat==0)
  {lock0=0;}
  if(lock0==0)
  {p11=0;}
  else
  {p11=1;}
  work_temp(read_temp());   
  wd=temp_data[1]*10+temp_data[0];
  if(wd>=a||qxjr==0)
  {lock0=1;p11=1;}
}
/****************上水子函數************************/
voidadding(void)
{
  if(add==0)
  {lock1=0;}
  if(lock1==0)
  {p14=0;}
  else
  {p14=1;}
  if(p20==1||qxss==0)
  {lock1=1;p14=1;}
}
/****************主函數************************/
void main()
{
  P0=0xff;               
  p26=1;
  p27=1;
  EX0=1;
  IT0=1;
  EX1=1;
  IT1=1;
  EA=1;
  ow_reset();           
  write_byte(0xcc);            
  write_byte(0x44);            
  while(1)
  {
  heating();
  adding();
  work_temp(read_temp());     
  scan();
    wd=temp_data[1]*10+temp_data[0];
  if(wd<80)
  {     
         while(p22==0)
         {
                p14=0;
                delay1ms(1);
                work_temp(read_temp());   
                scan();
         }     
  }                    
   if(wd>=80)
   {
        while(p24==1)
         {
                p14=0;
                work_temp(read_temp());   
                scan();     
         }
         while(p24==0)
         {
                play(2);
                p14=1;
                work_temp(read_temp());   
                scan();            
         }
   }
  }
}
/********************外部中斷0(設定溫度+)**************************/
voidwdxg(void) interrupt 0
{              
         uchari;
         a=a+1;
         delay1ms(50);
         if(a>99)
         {a=30;}   
     for(i=0;i<100;i++)
         {yzwd(a);}            
}
/********************外部中斷1(設定溫度-)**************************/
voidwdxg1(void) interrupt 2
{              uchari;
         a=a-1;
         delay1ms(50);
         if(a<30)
         {a=99;}
         for(i=0;i<100;i++)
         {yzwd(a);}     
}
/********************結束**************************/

QQ圖片20160523022240.png
QQ圖片20160523022240.png
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 九色在线观看 | 二区中文| 2023亚洲天堂 | 日韩在线成人 | 亚洲精品一区二区三区中文字幕 | 亚洲精久久| 久久性av| 高清国产午夜精品久久久久久 | 免费一级片 | 中文字幕成人av | 九九热在线免费观看 | 成人综合在线视频 | 亚洲一区精品视频 | 美女一级毛片 | 久久久精品视频免费 | 成人免费在线视频 | 亚洲日本免费 | 婷婷激情在线 | 亚洲免费观看视频网站 | 成人一区av | 免费黄色在线观看 | 夜夜爽99久久国产综合精品女不卡 | 国产欧美精品一区二区 | 亚洲国产成人精品女人久久久 | 精品国产精品国产偷麻豆 | 神马久久av | 欧美日韩三级在线观看 | 欧美视频二区 | 欧美视频精品 | 国产精品日韩欧美一区二区三区 | 国产欧美在线观看 | 欧美日韩高清一区 | 三级成人片 | 久久久久久国产精品 | 国产精品一区二区三区在线 | 国产一区二区三区四区三区四 | 成年人在线观看 | 欧美激情精品久久久久久变态 | 国产精品成人久久久久 | 亚洲欧美日韩精品 | 久久不射电影网 |