色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)一鍵下載相關(guān)

          51單片機(jī)一鍵下載相關(guān)

          作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò) 收藏
          x寶上有很多買載器的,就是U轉(zhuǎn)串又配了一個(gè)stc15的單片機(jī)檢測(cè)下載碼,檢測(cè)到了就斷電再啟動(dòng)。
          挺巧妙的,就去找了一下原理。

          STC免手動(dòng)下載程序電路圖(自動(dòng)斷電冷啟動(dòng)) + 程序http://www.amobbs.com/forum.php?mod=viewthread&tid=5279682
          折中版的STC免手動(dòng)免斷電下載程序方案, 只需加一行代碼, 不占用其他任何資源http://www.amobbs.com/thread-5287022-1-1.html

                  電路圖如下:

                  (原文件名:STC免手動(dòng)燒寫電路圖(最佳版).jpg)

                  實(shí)物圖:

                  (原文件名:實(shí)物圖1.jpg)


                  (原文件名:實(shí)物圖2.jpg)

                  注意事項(xiàng):

                  (原文件名:注意事項(xiàng).jpg)

                  源程序:

                  #define uint8 unsigned char
                  #include "STC15F104E.H"

                  //#define BAUD0xF400// 1200bps @ 11.0592MHz
                  //#define BAUD0xFA00// 2400bps @ 11.0592MHz
                  #define BAUD0xFD00// 4800bps @ 11.0592MHz

                  sbit RXB= P3^4;
                  sbit Key= P3^1; //自動(dòng)/手動(dòng)開關(guān)(根據(jù)需要使用)
                  sbit Relay = P3^3;
                  sbit LED= P3^0;

                  uint8 RBUF;//接收緩存
                  uint8 RDAT;//接收數(shù)據(jù)暫存
                  uint8 RCNT;//接收計(jì)數(shù)器
                  uint8 RBIT;//接收比特?cái)?shù)
                  bitRING;//開始接收標(biāo)志
                  bitREND;//接收完成標(biāo)志

                  uint8 cnt;//重啟計(jì)數(shù)器
                  bitSTART;//重啟標(biāo)志

                  void YS100ms(uint8 n)
                  {
                  uint8 i,a,b,c;
                  for(i=n;i>0;i--)
                  for(c=89;c>0;c--)
                  for(b=230;b>0;b--)
                  for(a=12;a>0;a--);
                  }

                  void UART_INIT()
                  {
                  RING = 0;
                  REND = 0;
                  RCNT = 0;
                  }

                  void main()
                  {
                  P3M1 = 0x00;
                  P3M0 = 0x09;//P3.0、P3.3推挽輸出
                  Relay = 0;//斷開繼電器
                  LED= 0;//關(guān)LED


                  TMOD = 0x00;//T0處于16位自動(dòng)重裝模式
                  AUXR = 0x80;//T0工作在1T模式
                  TL0 = BAUD;
                  TH0 = BAUD>>8;//初始化Timer0和設(shè)定重載值
                  TR0 = 1;
                  ET0 = 1;
                  PT0 = 1;//提高Timer0的中斷優(yōu)先級(jí)
                  EA= 1;

                  UART_INIT();

                  while(1)
                  {
                  if(START)
                  {
                  START = 0;
                  if(Key)
                  {
                  ET0 = 0;
                  Relay = 1;//繼電器吸合
                  LED = 1;
                  YS100ms(50);//從『加載HEX』到『提示上電』有5秒
                  Relay = 0;
                  LED = 0;
                  YS100ms(15);
                  ET0 = 1;
                  UART_INIT();
                  }
                  }
                  }
                  }

                  上一頁(yè) 1 2 3 下一頁(yè)

                  關(guān)鍵詞: 51單片機(jī)一鍵下

                  評(píng)論


                  技術(shù)專區(qū)