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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3127|回復: 4
打印 上一主題 下一主題
收起左側

單片機溫控風扇出了問題,求大神解救

[復制鏈接]
跳轉到指定樓層
樓主
ID:242890 發表于 2017-11-11 10:46 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
1黑幣
只截了關鍵部分代碼出來,其他代碼都仿真過,沒有問題,當加上溫控函數后,就不行了,一仿真就只執行第一條語句,即高速檔,我是初學者,不清楚是自己代碼寫錯了還是怎樣,自己看了好久也看不出個所以然,求大神看看,最好順著這個代碼幫我把這個溫控函數的代碼寫出來,謝謝,重賞

單片機源程序如下:
  • #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();
  •     }*/



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

使用道具 舉報

沙發
ID:248313 發表于 2017-11-11 12:13 | 只看該作者
有個for循環缺少{
回復

使用道具 舉報

板凳
ID:246473 發表于 2017-11-11 15:40 | 只看該作者
可以進入調試,看一下weidu的具體數值
回復

使用道具 舉報

地板
ID:242890 發表于 2017-11-12 11:56 | 只看該作者
天0 發表于 2017-11-11 15:40
可以進入調試,看一下weidu的具體數值

調試了發現,weidu的數值是正確的
回復

使用道具 舉報

5#
ID:248503 發表于 2017-11-12 13:55 | 只看該作者
    if(weidu>=30)                    
        {                                 
        third();  //高速檔 ??????你用的是發熱絲還是制冷片。

                temp=tp*0.0625*10+0.5;//????
                x=tp*0.0625+0.5;
                 return x;
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: а_天堂中文最新版地址 | 香蕉视频黄色 | 国产精品久久久久久238 | 久久久精品网 | 91精品国产乱码麻豆白嫩 | 一二三在线视频 | 二区av | 欧美成人免费在线 | 波多野结衣一区二区三区在线观看 | 欧美色性| 久久综合激情 | 夜夜撸av| 少妇午夜一级艳片欧美精品 | 欧美日韩综合视频 | 国产黄色小视频在线观看 | 国产精品视频网站 | 国产第一页在线播放 | 日韩成人精品一区 | 自拍第一页 | 免费一区二区三区 | 久久久久久免费精品一区二区三区 | 久久新 | 午夜影院在线观看 | 欧美精品在线一区 | 日本一二三区高清 | 国产一级在线视频 | 国产精品久久久久久久久久久免费看 | 国内91在线 | 午夜久久久久久久久久一区二区 | 中文字幕在线免费视频 | 亚洲精品久久久久中文字幕欢迎你 | 国产免费拔擦拔擦8x高清 | 亚洲高清视频在线 | 视频一区在线观看 | 中文字幕免费中文 | 成人av久久| 成人免费网站www网站高清 | 日日草天天干 | 欧美一级毛片久久99精品蜜桃 | 午夜天堂 | 欧美精品久久久 |