標題: 關于太陽能熱水器控制器仿真疑問 [打印本頁]
作者: z15651913780 時間: 2016-5-23 02:26
標題: 關于太陽能熱水器控制器仿真疑問
數碼管不亮為什么?程序如下 求大神指導
/***************************************************/
#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
(32.96 KB, 下載次數: 192)
下載附件
2016-5-23 02:24 上傳
-
QQ圖片20160523022240.png
(32.96 KB, 下載次數: 181)
下載附件
2016-5-23 02:24 上傳
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
美女久久
|
黄色片在线免费看
|
日韩精品一区二区三区在线观看
|
亚洲天堂精品久久
|
wwwxxx日本在线观看
|
欧美中文一区
|
欧美全黄
|
欧美色视频免费
|
久久久久久久久久久丰满
|
毛色毛片免费看
|
成年人在线视频
|
在线视频中文字幕
|
国产一区二
|
自拍偷拍欧美
|
久久高清免费视频
|
中文一区二区
|
超碰免费在
|
三级av在线|
欧美黄在线观看
|
天天躁日日躁aaaa视频
|
国产剧情一区
|
美人の美乳で授乳プレイ
|
国产午夜精品一区二区三区嫩草
|
成人区精品一区二区婷婷
|
91视频.|
国产成人a亚洲精品
|
久草资源在线视频
|
午夜电影合集
|
亚洲欧美日韩一区
|
亚洲视频第一页
|
国产精品视频久久久久
|
国产一区二区三区四区在线观看
|
免费在线视频一区二区
|
色视频www在线播放国产人成
|
黄色片在线
|
国产日韩精品一区二区
|
亚洲高清在线观看
|
亚洲成人第一页
|
国产精品免费一区二区三区
|
欧美久久久久久
|
久久精品亚洲国产奇米99
|