找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1574|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

單片機串口控制燈,結(jié)果加了看門狗后,就燒錄不了別的程序了

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:553980 發(fā)表于 2020-4-7 14:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
用stc89c52單片機做了一個串口控制燈,結(jié)果加了看門狗后,就燒錄不了別的程序了,大神幫忙看一下問題出在哪里

#include<reg52.h>
sfr WDT_CONTR=0xe1;
sbit beep=P1^5;
sbit G_led=P1^2;   
sbit B_led=P1^3;
sbit R_led=P1^4;
sbit timekey=P3^2;
static unsigned char Rdata;
void delay(unsigned int a)      //1ms
{
  unsigned int i;
  while(--a!=0)
  {
    for(i=0;i<1000;i++);
}
}
void timer0init()
{
  TMOD|=0X09;
        
TH0=0XFF;
TL0=0X9C;
ET0=1;
EA=1;
TR0=1;
}
void UART_init()
{
SCON=0X50;   
TMOD=0X20;   
PCON=0X80;   
TH1=0XCC;  
TL1=0XCC;
ES=1;      
EA=1;      
TR1=1;     
}
void main()
{
   WDT_CONTR=0x35;
   timekey=0;
   R_led=0;
   G_led=1;
   B_led=0;
   beep=0;
   UART_init();
   timer0init();
   while(1)
  {
     delay(100);
  WDT_CONTR=0x35;
   }  
}
void Usart() interrupt 4
{      
  Rdata=SBUF;
  
  switch(Rdata)
   {
     case'1':B_led=0;G_led=1;R_led=0;beep=0;timekey=0;break;
     
  case'2':B_led=1;G_led=0;R_led=0;beep=0;timekey=0;break;
  
  case'3':B_led=0;G_led=0;R_led=1;timekey=1;break;

}
RI=0;
  SBUF=Rdata;
    while(!TI);
TI=0;
}
void Timer0() interrupt 1
{
static unsigned int i;
static unsigned int j;
TH0=0XFF; //?????????????????1ms
TL0=0X9C;
    i++;
    j++;
       if(i==5000)
   {
    i=0;
    R_led=~R_led;
   }
   if(j==5000)
   {
     j=0;
  beep=~beep;
  }
   
}

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

使用道具 舉報

沙發(fā)
ID:584814 發(fā)表于 2020-4-15 15:08 | 只看該作者
樓主的語文是數(shù)學(xué)師傅教的。
加入看門狗是軟件設(shè)置,狗只在程序運行中才工作,現(xiàn)有的燒錄軟件沒可能識別程序中有沒有啟動狗。
能不能燒錄是硬件問題,只要通過編譯的程序(用特殊軟件無需通過但不保證使用)都可以燒錄,不能燒錄的情況出現(xiàn)后一般可能是硬件出問題了要看報錯情況查原因。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表