在8051无法转储hex文件

时间:2014-09-20 09:01:09

标签: c embedded hex uart 8051

我在C中写了一个UART TX代码。数据使用while(1)循环进行传输。由于控制器一直忙于仅传输数据,我无法将任何新的十六进制文件转储到芯片上。它总是告诉通信失败。

#include <reg51.h>
void inituart(void);
void Tx_Data(unsigned char);
void SCI_String_Tx(unsigned char *string);
void delay_ms(unsigned char milliseconds);

   void delay_ms(unsigned char ms)
   {
       unsigned char t1;
       unsigned int t2;

for(t1=0; t1<ms; t1++){
    for(t2=0; t2<711; t2++);
      }
   }

void inituart()
{
    TMOD=0X21;
    SCON=0X50;
    TH1=0XFD;
    TR1=1;

}


void SCI_String_Tx(unsigned char *string) 
{
    while(*string)
    {
        Tx_Data(*(string++));
    }
}

void Tx_Data(unsigned char v)
{
     SBUF=v;
     while(TI==0);
     TI=0;
}


void main(void)
{
    inituart();
        while (1)
        {   
            delay_ms(1000);
            SCI_String_Tx("HELLO WORLD!"); //Data to terminal
            delay_ms(1000);
            delay_ms(10);
        }

 }

1 个答案:

答案 0 :(得分:-1)

你的意思是你想把程序下载到MCU芯片吗?

有许多方法可以做到这一点,例如:isp,jtag,uart ......

您可以从芯片的数据表中查看详细信息。