SDCC Z80(SDCC)に萌えたい。TMPZ84C015/ポート出力と時間稼ぎルーチン 2022年1月10日 今回はTMPZ84C015上のモニターでSDCCによるc言語でポート出力と時間稼ぎルーチンを作成・実行してみたいと思います。 まずは、ポートのイニシャライズですが、Bポートを使用して、関数の引数として、out/inを決定する値を与えるようにしました。 関数はアセンブラで作成し、out/inを設定するところで値を渡してい... pengin
SDCC Z80(SDCC)に萌えたい。putcharとprintf 2021年11月22日 TMPZ84C015上のモニターでSDCCによるc言語でprintfを実行してみました。 以前作成しているモニターではTMPZ84C015のシリアルの初期化を行っているので、まずはprintf文に必要なputchar()を作成してみます。 使用したSDCCは下記のバージョンのものです。 $ sudo apt-get i... pengin
AT90S2313 AVRに萌えたい AT90S2313 Lチカその3 蛍もどき 2021年10月16日 疑似的なPWM(Pulse Width Modulation)を使って、LEDによる蛍もどきを作ってみました。10mSをデューティー比100%として、最大値10mS-50uSから徐々に デューティー比 を変化させ、最小値50uSとして、200分割しています。明るい→暗いを200*10mS=2S、暗い→明るいを200*1... pengin
AT90S2313 AVRに萌えたい AT90S2313 Lチカその2 点滅 2021年10月9日 AT90S2313のLEDの点滅を試したいと思います。 まずは回路図は下記のようになっています。USBaspのSCKは書き込みが不安定になったので、10Kでプルダウンしました。 LEDを点滅する方法として、ウェイトループで時間稼ぎする方法とタイマー0による割り込みの方法の2点で試みてみました。 まずは、 ウェイトループ... pengin
AT90S2313 AVRに萌えたい AT90S2313 Lチカその1 2021年10月1日 AT90S2313はもう廃品種になっているようですが、秋月電子で100円(2021.10.1現在)で売られていますので、いろいろ試してみました。(アセンブラオンリーです。^^;) 開発環境は、RaspberryPi上のRaspbian(OS)です。書き込み器はUSBaspで書き込みソフトはavrdudeです。 アセンブ... pengin
AVR USBaspのファームウェアをRaspberryPiで書き込みしてみる。 2021年9月28日 USBaspのファームウェアを書き込みするときに、鶏は先か卵が先かの悩ましい問題が発生します。もう一台のUSBaspがあれば、問題はすぐ解決するけど、書き込み器がない場合どうしようもありません。 ですが、RaspberryPiがあれば、 ファームウェア を書き込みすることができます。 その方法について実際にやってみたの... pengin
LCD RP2040(RaspberryPi Pico)に萌えたい。例題PIO I2C その2 2021年8月17日 今回は、実際にキャラクターLCDをPicoに接続し表示をさせたいと思います。使用するLCDは、前回と同様に「KKHMF DC 5V 1602 LCD ディスプレイモジュール 16×2キャラクタ LCDブルーブラックライト」と「EasyWordMall 1602 LCD ブラック IIC/I2C/TWI/SPI シリアル... pengin
LCD RP2040(RaspberryPi Pico)に萌えたい。例題PIO I2C その1 2021年8月9日 PIOのI2Cについて例題を確認したいと思います。 PIOのI2Cの例題は、I2Cバスをスキャンして、接続されているデバイスを確認することができます。I2Cのスキャンに対して該当するデバイスのアドレスが返ってきます。 今回は、以前から使用しているキャラクタLCDの「KKHMF DC 5V 1602 LCD ディスプレイ... pengin
LCD Z80(Rabbit2000)に萌えたい。11-I2CでキャラクターLCD表示 2021年6月23日 Rabbit2000のI/O空間にI2C用ICのPCA9564Dを接続して、I2C経由でキャラクターLCDを表示させたいと思います。使用したLCDは、Z8S180でも使用した「KKHMF DC 5V 1602 LCD ディスプレイモジュール 16×2キャラクタ LCDブルーブラックライト」と「EasyWordMall ... pengin
LCD Z80(Rabbit2000)に萌えたい。10-外部クロックとキャラクターLCD表示 2021年6月20日 クロックを内部クロックで行っていましたが、安定化のために外部クロックにしました。周波数は、シリアル通信で使用するクロックで割り切れる値で、18.4320MHzとしました。 シリアルクロック用の分周値(TAT4Rレジスタ)は18432000/2/16/38400-1で0x0eをセットします。 ld a,0x0e ;A-c... pengin