亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
單片機溫控風扇出了問題,求大神解救
[打印本頁]
作者:
lebronda
時間:
2017-11-11 10:46
標題:
單片機溫控風扇出了問題,求大神解救
只截了關鍵部分代碼出來,其他代碼都仿真過,沒有問題,當加上溫控函數后,就不行了,一仿真就只執行第一條語句,即高速檔,我是初學者,不清楚是自己代碼寫錯了還是怎樣,自己看了好久也看不出個所以然,求大神看看,最好順著這個代碼幫我把這個溫控函數的代碼寫出來,謝謝,重賞
單片機源程序如下:
#include <reg52.h> //此文件中定義了單片機的一些特殊功能寄存器
#include "temp.h"
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
int weidu;
uchar smgwei[3];
uchar code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void DigDisplay();
void smgdelay(uint x);
* 溫度讀取處理轉換函數 */ (數碼管上溫度顯示正常,證明這個函數沒毛病)
int datapros(int temp)
{
float tp,x;
if(temp< 0) //當溫度值為負數
{
smgwei[0] = 0x40; // -
temp=temp-1;
temp=~temp;
tp=temp;
temp=tp*0.0625*10+0.5;
x=tp*0.0625+0.5;
}
else
{
smgwei[0] = 0x00;
tp=temp;
temp=tp*0.0625*10+0.5;
x=tp*0.0625+0.5;
}
smgwei[1] = smgduan[temp % 1000 / 100 ];
smgwei[2] = smgduan[temp % 100 / 10] | 0x80;
smgwei[3] = smgduan[temp % 10];
return x;
}
/* 溫控自動檔 */
void motorauto()
{
weidu=datapros(Ds18b20ReadTemp()); //懷疑這句出錯
if(weidu>=30) //仿真的時候無論怎么調溫度,都是執行高速檔
{ //當把這里的條件調大 (如:weidu>=300)時,就只執行低速檔
third(); //高速檔
}
else
{
first(); //低速檔
}
}
/* 數碼管顯示函數 */ (數碼管上可以正常顯示溫度,這個函數也沒問題)
void DigDisplay()
{
uchar i;
for(i=0;i<4;i++)
{
P0=0x00;
switch(i) //位選,選擇點亮的數碼管,
{
case(0):
LSA=0;LSB=0;LSC=0; break; //顯示第0位
case(1):
LSA=1;LSB=0;LSC=0; break; //顯示第1位
case(2):
LSA=0;LSB=1;LSC=0; break; //顯示第2位
case(3):
LSA=1;LSB=1;LSC=0; break; //顯示第3位
}
P0=smgwei[3-i]; //發送數據
msdelay(10); //間隔一段時間掃描
P0=0x00; //消隱
}
}
/* 主函數 */
void main()
{
while(1)
motorauto();
}
/* while(1) 數碼管上顯示溫度,這里仿真過,沒有問題
{
datapros(Ds18b20ReadTemp());
DigDisplay();
}*/
作者:
AT89C51111
時間:
2017-11-11 12:13
有個for循環缺少{
作者:
天0
時間:
2017-11-11 15:40
可以進入調試,看一下weidu的具體數值
作者:
lebronda
時間:
2017-11-12 11:56
天0 發表于 2017-11-11 15:40
可以進入調試,看一下weidu的具體數值
調試了發現,weidu的數值是正確的
作者:
cccc8888
時間:
2017-11-12 13:55
if(weidu>=30)
{
third(); //高速檔 ??????你用的是發熱絲還是制冷片。
temp=tp*0.0625*10+0.5;//????
x=tp*0.0625+0.5;
return x;
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1