SSブログ

STC89C52RC 書き込み 成功編 [マイコン]

STC_BS52.jpg
書き込みできました。さらに、BASIC52が動きました。

書き込みできなかった原因は、書き込みソフトでMCUの選択を間違えていました。
STC89C52RCとすべき所をSTC89C52を選択していました。

書き込み環境ですが、
書き込みソフトは、
stc-isp-15xx-v6.86L.exe
を使いました。
USBシリアル変換モジュールは、
http://daisan.blog.so-net.ne.jp/2018-02-17-1
これです。
書込回路は、
STC-TOOL.pdf の 15ページにある書き込み回路図を参考にしました。
基本、TxD、RxD、GNDをモジュールとつなぎ、外部から5V電源、それとリセット回路です。
さらに、tomi9jpさんからアドバイスをいただき、P1.0、P1.1を10kでプルアップしてあります。

注意点は、TxD、RxDはクロス接続です。ショットキーダイオードが入っていますが、これがないと、しっかり電源OFFできません。電源のON、OFFも重要なポイントなので、電源スイッチがついたボードを用意しました。
クリスタルは、11.0592MHzがお約束。BASIC52はこれが基準です。
STCISP2.jpg

書き込み手順
書き込みソフトのインストールは単なるコピペです。
CH340Gのドライバもインストールしておきます。
パソコンと書き込みボードを接続します。書き込みボードの電源はOFFです。
ソフトを起動します。
MCUタイプを選択します。STC89C52RCです。なにやら文字化けした表示がありますが、無視。
書き込みするHEXファイルを選択します。BASIC52のV1.3である、version_1p3_hex.HEXを使いました。
COMは自動認識しているはずです。
DownLoad/Progranボタンを押します。
ここで書き込みボードの電源をONします。このとき、CPUはどのモードで立ち上がるか判断しているようです。
書き込みできたら、ソフトの右下に表示されます。書き込みは、ほんの数秒です。

今回間違えた、STC89C52RCとSTC89C52について、
STC89C52は実物が存在するのかわかりませんが、書き込みソフト上に存在します。
STC89C52_RC.jpg
上がSTC89C52RCを選択し、version_1p3_hex.HEXを読み込んだときのバッファの最後です。
20 22
と、8kバイトちょうどまで読み込んでいます。
真ん中がSTC89C52を選択し、version_1p3_hex.HEXを読み込もうとしたときの警告です。
下がそれを無視して読み込んだときのバッファです。
最後の7バイトが欠けています。この部分は、MCU IDが書かれている予約領域のようです。
うっかりするとはまり込む落とし穴なのでためしてみようとお思いの方はご注意ください。

お世話になったtomi9jpさん
参考にさせていただいたprittyparakeetさん
ありがとうございました。
STCマイコンに関する日本語の情報はこの辺りしか見つかりませんでした。
nice!(0)  コメント(6) 

nice! 0

コメント 6

vinatgechips

BASIC52の動作おめでとうございます。ボクも皆さんのあとを追いかけているところです。それはそうと、パソコンにつないでいる手作りプリント基板が何をするものなのか、気になるなあ。
by vinatgechips (2018-04-01 09:57) 

DAI

こんにちは。あれやこれや手を出しています。
時間、能力、お金、スペースがもっと欲しい今日この頃です。
プリント基板ですか、元々は参考回路を元にしていますが、何の説明もありません。
記事で紹介している、STC-TOOL.pdfの13ページがRS232C経由、15ページがUSB経由の書き込み回路が載っています。
大きな違いは、USB経由の方のTxD、RxDラインにダイオードと抵抗が入っています。この部分をプリント基板に作りました。
このダイオードは、6309でも悩ませた、逆流防止用だと思っています。
ただ、ここにダイオードを入れると、CPU側をプルアップしておく必要がある様に思います。STCマイコンは、内部にあるのでしょうか。その辺りはわかりませんが、これで動いています。6309でもためしてみようかな。
黒いチューブは、CH340Gモジュールです。手でべたべた触らないように、熱収縮チューブをかぶせました。

そうそう、TinyBASICにはお詳しいvinatgechipsさんですが、ついにBASIC52にも進出ですね。
残りは、6502用は時間の問題として、SC/MP用のNIBLもネットに転がっていますよ。
by DAI (2018-04-01 11:42) 

DAI

あっ、ごめんなさい。
一番上の写真ですね。
CQ出版社の雑誌「トラ技ORIGINAL」1991 No7夏号で紹介された、i8052AH-BASIC頒布基板です。
http://daisan.blog.so-net.ne.jp/2016-05-07
回路図はそのまま載せられないので、そのうち改造版を作ろうと思っています。なにせ、この基板にはMAX232が載っていますし。
特集には、EEPROMへの書き込みや、書き込んだBASICプログラムを電源ONと同時に起動させる方法とか載っています。
基板は頒布されたので多くの人が持っているはずですが、情報はありませんねぇ。

by DAI (2018-04-01 11:59) 

tomi9jp

STC89C52RCへの書込みができて安心しました。
せっかくのSTC89C52RCですので”Enable 6T(Double-speed)mode”をイネーブルにしてください。少し得した気分が味わえます。
文字化けが増えるようでしたらディセーブルにしてください。


by tomi9jp (2018-04-01 19:13) 

DAI

tomi9jpさん、このたびは大変お世話になりました。
Enable 6T(Double-speed)mode のチェックボックスがあるのは気づいていました。
HEXファイルの書き込み時、ここにチェックを入れておくのですね。
やってみます。楽しみです。
by DAI (2018-04-02 00:09) 

tarzyx

STC89C52のISPに関する質問です。
3年後の遅いレスポンスで申し訳ありません。外出自粛のためBASIC
52をやろうとしてaitendoからSTC12C60を購入しました。STCの
ISPで書き込もうとしましたが失敗しました。そこで台湾からSTC
89C52の開発基板を手に入れたのですが、やはり書き込みが出来ま
せん。ISPはV6.86Eです。P1.0およびP1.1はプルアップしています。アドバイスをよろしくお願いします。

by tarzyx (2021-02-14 08:07) 

コメントを書く

お名前:[必須]
URL:[必須]
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。