欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 想問下我這段主函數有錯誤嗎? [打印本頁]

作者: hyg1997    時間: 2018-8-11 18:42
標題: 想問下我這段主函數有錯誤嗎?
本帖最后由 hyg1997 于 2018-8-11 22:47 編輯

     編譯0錯誤,0警告,但是蜂鳴器就是不響。。。。。。

#include<reg52.h>
#include <LCD1602.h>
#include<MOTOR.H>
#include<BEEP.H>
#define uchar unsigned char
#define uint unsigned int
void main()
{
uinti,j;
Delay_xms(50);//等待系統穩定
  /* 系統初始化 */
TMOD = 0x20;          //定時器T1使用工作方式2
  TH1= 253;        // 設置初值
  TL1= 253;
  TR1= 1;          // 開始計時
SCON = 0x50;          //工作方式1,波特率9600bps,允許接收   
  ES= 1;
  EA= 1;           // 打開所以中斷   
  TI= 0;
  RI= 0;
SendData(str) ;   //發送到串口
Delay(1);         //延時100US12M晶振)
  
  while(1)
{
        if((K==0)&&(G==1))           
    {
          for(j=0;j<4;j++)       //圈數
          {
    for(i=0;i<500;i++)              //一圈
    {
       MotorCW();   //順時針轉動
    }
    }
    //Delay_xms(500);
         
    }
    else if ((G==0) &&(K==1))
    {
    for(j=0;j<4;j++)       //圈數
    {
    for(i=0;i<500;i++)
    {
    MotorCCW();  //逆時針轉動
    }
  
    Delay_xms(500);
    }
    }
    else if ((G==0) &&(K==0))
    {
     MotorStop( );
    }
           {
beep=1;
if((FIRE==0)||(DOUT==0))
{
delay();
if((FIRE==0)||(DOUT==0))
{
beep=0;//蜂鳴器
}
}
}
    {        
   //------------------------
   //調用溫濕度讀取子程序
   RH();
   //串口顯示程序
   //--------------------------
   
   str[0]=U8RH_data_H;
   str[1]=U8RH_data_L;
   str[2]=U8T_data_H;
   str[3]=U8T_data_L;
   str[4]=U8checkdata;
    SendData(str) ;  //發送到串口  
   //讀取模塊數據周期不易小于 2S
   lcddisplay();
   Delay(20000);
//elihw
    }
    }
// main
{
beep=1;
if((FIRE==0)||(DOUT==0))
{
delay();
if((FIRE==0)||(DOUT==0))
{
beep=0;
}
}
}
}   
   
   
void RSINTR() interrupt 4 using 2
    {
     U8 InPut3;
     if(TI==1) //發送中斷         
    {
     TI=0;
     if(count!=5) //發送完5位數據         
    {
     SBUF= outdata[count];
     count++;
    }
  }
if(RI==1)         //接收中斷                  
{        
   InPut3=SBUF;
   indata[count_r]=InPut3;
   count_r++;
   RI=0;                                                               
   if (count_r==5)//接收完4位數據
    {
     //數據接收完畢處理。
     count_r=0;
     str[0]=indata[0];
     str[1]=indata[1];
     str[2]=indata[2];
     str[3]=indata[3];
     str[4]=indata[4];
     P0=0;
    }
  }
}


作者: 關外秀才    時間: 2018-8-13 09:10
這個只單獨看程序也不行,如果程序沒有問題還要看你電路這面是怎么設計的?電路連接的I/O口有沒有設對,你的蜂鳴器是要單片機輸出高電平響還是低電平響?還要確認一下蜂鳴器本身是不是好的?有沒有焊接好,硬件連接檢查好沒問題了再來分析程序。
作者: wanroi    時間: 2018-8-13 10:32
樓上說的有道理,先從蜂鳴器開始,寫幾行單獨測試蜂鳴器的代碼,如果蜂鳴器不響,則蜂鳴器有問題,否則檢查一下If條件內容,為啥沒有執行,再來分析代碼邏輯。
作者: ch12063119    時間: 2018-8-13 11:09
碰到這種情況先看自己管腳配置對不對,然后分段測試程序看是不是有bug
作者: c32c9811    時間: 2018-8-13 19:52
排查一下硬件接口,以及軟件邏輯,看這些是否都已經搞好?
作者: oliverlau2k11    時間: 2018-8-13 20:51
新人路過,看不出
作者: tiaotiao    時間: 2018-8-14 14:52
仔細看了,沒有大的問題,可以用軟件測試下
作者: atchboy    時間: 2018-8-16 21:14
看是否硬件有輸出。
作者: 寶夢    時間: 2018-8-16 22:21
建議先測試基本的輸入輸出功能,硬件沒問題再從程序上找
作者: yousunny    時間: 2018-8-16 23:22
初始化先測試一下蜂鳴器。高電平:beep=1;低電平:beep=0;把主循環屏蔽,然后再測
作者: 文鳳軒    時間: 2018-8-16 23:36
這么高深的程序學習了
作者: 狗肉天涯    時間: 2018-8-17 11:54
如果是自己焊接的板子,那么需要對電路板進行檢測。然后按照前面大佬說的單獨用程序去檢測蜂鳴器是否正常,這個要一步一步檢測,只看程序難以看出端倪
作者: SisCao    時間: 2018-8-17 15:05
我第一次用單片機也是蜂鳴器怎么都不響,后來強制把初值設置為1就好了,可能出廠的時候廠商設置為低電平了
作者: yosugonasora    時間: 2018-8-18 09:44
是硬件的問題吧

作者: 愚笨的黑胖紙    時間: 2018-8-18 10:18
蜂鳴器有那種上拉下拉電阻的,你把程序的0和1改改試下
作者: xz1158403759    時間: 2018-8-18 11:19
對,你把電路連接發一下,幫你看看
作者: stev    時間: 2018-8-18 11:25
先看對應的IO有輸出嗎,再看程序寫的對不對,還有蜂鳴器是有源的還是無源的。
作者: curry312235    時間: 2018-8-18 16:09
感覺沒什麼問題

作者: jsq347    時間: 2018-8-18 17:10
分段測試程序看是不是有bug 應該是陳序進入死循環了
作者: 786063594    時間: 2018-8-18 21:02
軟件無錯的話,就從硬件上排查,可以單獨對蜂鳴器進行調試呀
作者: cona4142    時間: 2018-8-19 10:57
程序沒什么問題 你看看電路連接 還有元器件有問題沒用
作者: CrlikenNN    時間: 2018-8-20 09:38
先排查線路的問題吧,如果沒有問題就檢測IO的輸出
作者: sl001mile    時間: 2018-8-20 10:49
先學習一下,這個只單獨看程序也不行,如果程序沒有問題還要看你電路這面是怎么設計的?電路連接的I/O口有沒有設對,你的蜂鳴器是要單片機輸出高電平響還是低電平響?還要確認一下蜂鳴器本身是不是好的?有沒有焊接好,硬件連接檢查好沒問題了再來分析程序。
作者: tonggin    時間: 2018-8-20 11:00
能不能把原理圖貼上來,這樣好分析,不然很難看出來,既然都是0錯誤0警告了,書寫上肯定沒有問題的,貼上來大家交流交流
作者: 547559330    時間: 2018-8-20 11:46
蜂鳴器有那種上拉下拉電阻的,你把程序的0和1改改試下
作者: dedederek    時間: 2018-8-20 15:16
電路是怎么設計的?
作者: NPC-1024    時間: 2018-8-20 17:22
單獨測試蜂鳴器。另外確認使用的是有源蜂鳴器。無緣的話只給高低電平不會響的。
作者: 電子狂    時間: 2018-8-30 18:40
可以仿真一下
作者: 昆明路口賣提莫    時間: 2018-8-31 19:39
你是用 仿真嗎    看是不是  蜂鳴器 沒設置好  雙擊一下蜂鳴器  設置成2v左右  看看
作者: a634965449    時間: 2018-8-31 20:10
建議先測試基本的輸入輸出功能,硬件沒問題再從程序上找
作者: Jpower    時間: 2018-8-31 21:20
這種情況最好拿個示波器或者萬用表看一下單片機的IO腳有沒有被拉高還是拉低,光看程序沒有意義,遇到問題首先要判斷是硬件還是軟件問題
作者: kuiyin    時間: 2018-8-31 23:43
上原理圖看看,或許真像23樓說的
作者: 暗雙魂    時間: 2018-9-1 04:39
用萬用表測蜂鳴端的電壓變化
作者: xinforever    時間: 2018-9-1 09:51
void main() { uinti,j; <---------------------這里算不算錯誤
作者: 魔翼    時間: 2018-9-1 20:39
SendData(str) ;   //發送到串口
str是什么?
作者: liao42    時間: 2018-9-2 12:09
把你的#include<BEEP.H>看看有沒有問題,是哪個引腳!
作者: 6744    時間: 2018-9-2 12:47
beep=1  delay()    beep=0   再加個delay()試試~~~~~~~~~不行的話就是I/O腳配置問題,驅動能力不行
作者: 392177410    時間: 2018-9-2 15:12
管腳定義也沒有啊,我覺得你可以把后面的先注釋掉,然后單看蜂鳴器能不能控制到
作者: qinshuai    時間: 2018-9-3 12:18
蜂鳴器是有源的嗎?
作者: Time_sck    時間: 2018-9-3 13:58
檢查管腳,確定無誤后再拆分程序測試查找原因
作者: Time_sck    時間: 2018-9-3 14:00
先看自己管腳對不對,分段測試程序
作者: 風起于    時間: 2018-9-3 14:04
買個邏輯分析儀,看一下引腳輸出波形,以后調程序會輕松點
作者: YUYU123    時間: 2018-9-5 21:25
好像沒什么問題呀
作者: 奕奕赤    時間: 2018-9-6 00:30
好難看出啊
作者: duker    時間: 2018-9-6 15:13
串口能接收到數據嗎?正確不?然后確定你調用的庫函數沒有問題。同時確定下硬件有無問題,最簡單的是拿一塊蜂鳴器能響的板子進行測試,如果下入你的程序后,蜂鳴器能響,那就是硬件問題,否則再排查軟件問題。




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1