电竞比分网-中国电竞赛事及体育赛事平台

分享

讓老普中開(kāi)發(fā)板煥發(fā)STC8的青春光彩

 新用戶5228KeDY 2021-10-10

讓老普中開(kāi)發(fā)板煥發(fā)STC8的青春光彩

手上有一款較老的51開(kāi)發(fā)板,普中CH6800-ES,5、6年前剛剛對(duì)單片機(jī)感興趣時(shí)候買的,買了之后只學(xué)了幾個(gè)流水燈、蜂鳴器就跑到Arduino方向去了。

這些天稍稍研究了一點(diǎn)兒51單片機(jī)與Phyphox藍(lán)牙互通的問(wèn)題,又撿起來(lái)51單片機(jī),仍然是STC89C52/89C51/89C52RC/89C51RC這幾種最最最初入門(mén)級(jí)的芯片,發(fā)現(xiàn)這種開(kāi)發(fā)板自帶的自動(dòng)復(fù)位燒錄電路,對(duì)其它幾種芯片都可正常燒錄,唯獨(dú)不能正常燒錄89C52RC的芯片(盡管上面的附圖就是89C52RC的芯片)。后來(lái)在網(wǎng)上大致掃了幾眼,確實(shí)有很多人遇到89C52RC不能燒錄的情況,主要原因是電流太小。

使用STC-ISP并不影響89C52RC正常的燒錄,只是需要我們自己把USB2TTL的TXD、RXD與89C52RC的RXD、TXD連接并冷啟動(dòng)一下即可。一個(gè)竅門(mén)是最低波特率和最高波特率需要都設(shè)置成1200,或都設(shè)置成2400,偶爾4800也可以,但失敗次數(shù)居多。

在查閱資料琢磨這些芯片的燒錄的時(shí)候,——自然的原因,我們知道很多時(shí)候這種51單片機(jī)最大的應(yīng)用場(chǎng)合,應(yīng)該是大、中學(xué)生學(xué)習(xí)單片機(jī)的時(shí)候使用;我也曾在物理實(shí)驗(yàn)儀器上見(jiàn)到STC單片機(jī),貼片的——也有人在研究如何升級(jí)這種古老的開(kāi)發(fā)板,就是自己做引腳轉(zhuǎn)換板,讓STC新產(chǎn)品替換掉原來(lái)的89系列芯片,目前見(jiàn)到的,有STC8、STC12、STC15系列的轉(zhuǎn)換都有人在做。事實(shí)上STC的這些單片機(jī)在功能上也已經(jīng)很好用了:多個(gè)時(shí)鐘中斷、多個(gè)串口、多個(gè)PWM輸出、12位ADC、IIC、SPI等等。

于是買了一個(gè)STC8A8K64S4A12的轉(zhuǎn)換板。排針需要自己焊。

焊好排針之后,尺寸和經(jīng)典Arduino Nano對(duì)比,仍顯得大一點(diǎn)兒;但比ESP32要小一點(diǎn)兒。還有10根針沒(méi)有焊,手工焊太難了。反正也用不上,就不焊了。

然后到STC-ISP里面安裝STC8頭文件。

到Keil里寫(xiě)一個(gè)最簡(jiǎn)單的LED閃爍。

/*   閃爍燈實(shí)驗(yàn)   */ 
#include "stc8.h"
//自動(dòng)適應(yīng)主時(shí)鐘延時(shí)毫秒數(shù)
#define MAIN_Fosc        24000000UL    //定義主時(shí)鐘24MHZ  
typedef unsigned int uint;  

void delayms(uint ms)
{  
    uint i;  
    do{  
        i=MAIN_Fosc/9600;  
        while(--i);     //96T per loop  
    }while(--ms);       //--ms
}  

main()
{
    while(1)
    {
        P20 = 0;
        delayms(1000);
        P20 = 1;
        delayms(1000);
    }
}

編譯,直接用USB2TTL燒錄,失敗,再燒錄,再失敗。按照道理,如果自行接線燒錄STC89系列能夠成功,那么STC8系列也應(yīng)該能夠成功,但總是不成功。不知何故。后來(lái)想為什么不用老普中板子試試呢?取下普中開(kāi)發(fā)板上原來(lái)自帶的STC89C52,換上STC8A8K64S4K12,使用STC-ISP燒錄工具。發(fā)現(xiàn)雖然不能自動(dòng)燒錄,但是手動(dòng)進(jìn)行冷啟動(dòng),竟然正常燒錄成功了!(普中開(kāi)發(fā)板當(dāng)年也是打的自動(dòng)燒錄這張牌的,這個(gè)自動(dòng)燒錄對(duì)STC89C52仍然正??捎?

STC8A8K64S4K12芯片與STC89系列相比,要強(qiáng)太多太多。而且,STC8內(nèi)部自帶24MHz振蕩,不用再使用外部晶振,燒錄的時(shí)候,還可以指定運(yùn)行時(shí)頻率。我把針對(duì)24MHz頻率寫(xiě)的delayms燒錄在11.0592MHz下,LED閃爍很慢,而重新指定頻率為24MHz,LED閃爍間隔時(shí)間正常。

換上了STC8單片機(jī)后的普中開(kāi)發(fā)板。

只是一時(shí)興趣,實(shí)際意義似乎也不是太大;對(duì)高中物理里面的實(shí)驗(yàn),其實(shí)STC89系列就挺夠用的了,琢磨STC8,只是一時(shí)貪玩兒。

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多