找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

基于STC15F104W單片機(jī)的自動(dòng)下載電路帶程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:45334 發(fā)表于 2019-12-10 08:31 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
      需要將晶振頻率設(shè)置為11.0592MHz(ISP下載軟件中設(shè)置)ISP最新軟件最低波特率設(shè)置為2400(軟件默認(rèn))
工作原理:【STC15F104W單片機(jī)沒(méi)有硬件串口,所以只能模擬串口】
因?yàn)镮SP在下載程序之前會(huì)以最低波特率向目標(biāo)單片機(jī)連續(xù)發(fā)送0X7F握手信號(hào),基于此,在STC15F104W
單片機(jī)中模擬串口接收上位機(jī)發(fā)送的0X7F,當(dāng)連續(xù)檢測(cè)到有16個(gè)0X7F時(shí)候就認(rèn)為是需要下載程序了,此時(shí)
P34腳輸出高電平,而使外部的S8550三極管截至,目標(biāo)單片機(jī)失電(模仿給單片機(jī)斷電),延時(shí)600ms后再
給單片機(jī)上電,就可以下載程序了。此制作在不下載以及下載完程序時(shí)目標(biāo)單片機(jī)一直得電,并且不妨礙
串口調(diào)試,不占用單片機(jī)硬件串口。供電用三極管采用S8550,最大工作電流1.5A,而電腦USB輸出電流最
大500ma左右,所以正常情況下電路不會(huì)出現(xiàn)問(wèn)題!綯0模擬串口時(shí)鐘,T2用作延時(shí)計(jì)數(shù)器】

實(shí)物圖
從家里找了一片STC89C52RC單片機(jī),連續(xù)寫(xiě)了1000多次,沒(méi)有一次失敗,下面是視頻

單片機(jī)源程序如下:
  1. #include "init.h"

  2. extern u8 cnt7f;                        //連續(xù)接收到0X7F的次數(shù)計(jì)數(shù)器
  3. extern u16 t2cnt;                        //T2定時(shí)計(jì)數(shù)值
  4. extern u8 RBUF;                          //接收緩沖區(qū)
  5. extern u8 RDAT;                         //接收數(shù)據(jù)
  6. extern u8 RCNT;                         //接收計(jì)數(shù)器
  7. extern u8 RBIT;                                //接收位數(shù)
  8. extern bit RING;                         //正在接收標(biāo)志
  9. extern bit REND;                        //接收完成標(biāo)志

  10. /*T2初始化*/
  11. void Timer2Init(void)                //1毫秒@11.0592MHz
  12. {
  13.         AUXR |= 0x04;                        //定時(shí)器時(shí)鐘1T模式
  14.         T2L = T1MS;             //初始化計(jì)時(shí)值
  15.     T2H = T1MS >> 8;
  16.         IE2 |= 0x04;                         //使能定時(shí)器2中斷
  17. }

  18. /*全局初始化*/
  19. void all_init(void)
  20. {
  21.         TMOD=0x00;                                 //定時(shí)器0在16位自動(dòng)重裝模式
  22.         AUXR=0x80;                                 //定時(shí)器0在1T模式
  23.         TL0=65536-FOSC/3/BAUD;
  24.         TH0=(65536-FOSC/3/BAUD)>>8;//初始化定時(shí)器0并設(shè)定重裝值
  25.         TR0=1;                                         //定時(shí)器0開(kāi)始運(yùn)行
  26.         ET0=1;                                         //使能定時(shí)器0中斷
  27.         PT0=1;                                         //定時(shí)計(jì)數(shù)器0中斷高優(yōu)先級(jí)
  28.         EA=1;                                        //開(kāi)總中斷
  29.        
  30.         RING=0;
  31.         REND=0;
  32.         RCNT=0;
  33.         Timer2Init();
  34.         cnt7f=0;
  35.         P3M1 &= 0XEF;                         //1110 1111設(shè)置P3.4為強(qiáng)推挽輸出
  36.         P3M0 |= 0X10;                          //0001 0000設(shè)置P3.4為強(qiáng)推挽輸出
  37.         enable = 0;                                //確定給目標(biāo)單片機(jī)供電
  38.        
  39.         AUXR |= 0x10;                        //定時(shí)器2開(kāi)始計(jì)時(shí)
  40.         while(t2cnt<300);                 //等待 使系統(tǒng)穩(wěn)定
  41.         AUXR &= 0xEF;                        //關(guān)定時(shí)器2計(jì)時(shí)
  42.         t2cnt = 0;                                //清零T2計(jì)數(shù)值
  43. }
復(fù)制代碼

所有資料51hei提供下載:
STC15F104W模擬串口實(shí)現(xiàn)自動(dòng)下載.rar (394.15 KB, 下載次數(shù): 116)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:45334 發(fā)表于 2019-12-10 08:33 | 只看該作者
視頻.rar (4.74 MB, 下載次數(shù): 30)
回復(fù)

使用道具 舉報(bào)

板凳
ID:155785 發(fā)表于 2021-3-8 21:10 | 只看該作者
這個(gè)需要把程序燒到STC15F104W里,然后再把STC15F104W裝上去對(duì)吧?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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