找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC單片機程序添加自動下載功能實測

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:25310 發(fā)表于 2021-11-23 16:49 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
STC單片機程序添加自動下載功能
1.     程序中首先加入串口1程序,通俗的說你的程序中要有串口1功能;
2.     頻率和波特率注意事項,內(nèi)置晶振的需要記住程序里面使用的頻率,比如默認(rèn)在24.000MHZ。記住程序里面使用的波特率比如115200;
3.     先將程序按正常流程燒錄一次;
4.     設(shè)置ISP燒錄軟件的波特率(最低波特率和最高波特率都設(shè)置為你程序中的波特率比如115200);
5.     開始你的表演啦!



串口初始化程序
voidUartInit(void)             //115200bps@24.000MHz
{
       SCON = 0x50;             //8位數(shù)據(jù),可變波特率
       AUXR |= 0x40;            //定時器1時鐘為Fosc,1T
       AUXR &= 0xFE;           //串口1選擇定時器1為波特率發(fā)生器
       TMOD &= 0x0F;         //設(shè)定定時器116位自動重裝方式
       TL1 = 0xCC;         //設(shè)定定時初值
       TH1 = 0xFF;         //設(shè)定定時初值
       ET1 = 0;        //禁止定時器1中斷
       TR1 = 1;        //啟動定時器1
EA= 1;   
}


串口中斷程序:
unsigned char n;
/***************串口中斷程序*****/

void UART1_int(void) interrupt UART1_VECTOR
{
       if(RI)
       {
              RI = 0;

              if(SBUF==0x7f)
               {
                               if(n++>=10)
                               {
                                    IAP_CONTR=0X60;  NOP5;

                               }


                        }

/****************你的串口程序****************/   

/****************************************************/  
}
}


評分

參與人數(shù) 1黑幣 +30 收起 理由
admin + 30 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:624769 發(fā)表于 2021-11-25 02:38 | 只看該作者
不實用啊……

INTCLKO = 0x40;       //開EX4 中斷  P3.0
EA   = 1;                   //開總中斷

void Int4() interrupt 16
{
     IAP_CONTR = 0x60;
}

這樣不省事么? 都不用去管波特率。
回復(fù)

使用道具 舉報

板凳
ID:137736 發(fā)表于 2021-12-6 20:49 | 只看該作者
188610329 發(fā)表于 2021-11-25 02:38
不實用啊……

INTCLKO = 0x40;       //開EX4 中斷  P3.0

不行,這樣占用了串口。版主的例子串口可以復(fù)用,因為檢測了下載命令
回復(fù)

使用道具 舉報

地板
ID:137736 發(fā)表于 2021-12-6 20:55 | 只看該作者
做成個頭文件,.c,.h;使用時包含進(jìn)去就更好了。
回復(fù)

使用道具 舉報

5#
ID:284226 發(fā)表于 2022-10-6 15:43 | 只看該作者
這么簡單就可以了嗎?中斷加到一個頭文件就可以了?
回復(fù)

使用道具 舉報

6#
ID:526108 發(fā)表于 2022-10-6 16:37 | 只看該作者
我是利用P30的外部中斷實現(xiàn)自動下載
回復(fù)

使用道具 舉報

7#
ID:624769 發(fā)表于 2022-10-6 16:50 | 只看該作者
zmc419 發(fā)表于 2021-12-6 20:49
不行,這樣占用了串口。版主的例子串口可以復(fù)用,因為檢測了下載命令

要復(fù)用串口就不該是檢測 0x7F  而是檢測 指定字符串,
用下載器的  發(fā)送自定義命令并轉(zhuǎn)到ISP 選項,并且在那里設(shè)置 波特率,而不是直接設(shè)置 下載波特率。

所以說白了,樓主的例子其實基本就是當(dāng)獨用來用的。這種情況下,不如直接外部中斷了。
回復(fù)

使用道具 舉報

8#
ID:961114 發(fā)表于 2022-10-9 09:03 | 只看該作者
STC32G12K128單片機手冊,9/21
回復(fù)

使用道具 舉報

9#
ID:961114 發(fā)表于 2022-10-9 09:04 | 只看該作者
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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