PC-G850VS

非同期シリアルインターフェイス(UART)で送受信 / 負論理を試す

今度はポケコンPC-G850VSのシリアルポートを使って負論理UARTの動作確認をする。PC-G850VSは5Vロジックなのでこのロジックレベル双方向変換モジュールでレベル変換をした。 今FPGAはG850ターミナルから受信した'q'をそのまま送り返している。これで、今回作…

PC-G850VS / ポケコンにADコンバーターMCP3008を外づけする - Qiita、のループを開いて少し速くする

PC-G850VS / ミニI/OにADコンバーターMCP3008を接続する - Qiitaで作ったプログラムではあまりに遅いのでループを全部開いた。 unsigned int ad_read(unsigned char ch){ unsigned int ad_val; /*start bit*/ miniput(1); miniput(4); miniput(6); /*single-…

DACを自作する / 電圧源によるR-2R方式 / PC-G850VSで制御する

前回作ったDACを今度はポケコンPC-G850VSの8ピンパラレルIOで制御してみる。 1main(){ 2 unsigned char dVal; 3 fopen("pio", "a+"); 4 pioset(0); /*IOを全部OUTにする。*/ 5 while(1){ 6 printf("Enter a 0-255:"); 7 scanf("%d", &dVal); 8 pioput(dVal);…

pyserialモジュールでシリアル通信をする。webbrowserモジュールでWebページを開く。

import serial import webbrowser sp = serial.Serial("COM4", 9600, timeout=2) # serial.Serialクラスを実体化する。timeoutは秒単位。 sp.flush() # シリアルバッファーをクリアする。しなくてもよい。 while(1): # .read(1)でシリアルポートから1バイト…

G850ターミナル

フリーウェアを利用する。 PC-G850/G815/E200用ソフトウェアから「G850ターミナル ソースとバイナリ[g850term20080419.zip]」をダウンロードする。 解凍すると下のファイルが入っている。 .ihxはインテルヘキサ .txtは行番号つきのインテルヘキサ ファイル名…

PC-G850VS / シリアルIO / PCから何かを受ける

今度はPCから何かを受けてみる。openモード(r+、w+、a+)の違いがわからない。 main(){ int *fp = fopen("stdaux", "a+"); char sute[100]; while(1){ fscanf(fp, "%s", sute); printf("%s\n", sute); } /*fclose(fp);*/ }

PC-G850VS / シリアルIO / PCへ何かを送る

11ピンコネクターのシリアルIOを試す。ポケコンからPCへ何かを送ってみる。 (Source: http://wrabetz.de/resources/Sharp_PC-G850VS_Interface.pdf) main(){ int *fp = fopen("stdaux", "w+"); fprintf(fp, "abAB\n"); fclose(fp); }

PC-G850VS / パラレル I/O / ディジタル出力 / pioput()

11ピンコネクターのパラレルI/Oを試してみる。 (Source: http://wrabetz.de/resources/Sharp_PC-G850VS_Interface.pdf) main(){ unsigned char i; fopen("pio", "a+"); /*a+モードで11ピンコネクターを8ビット制御モードにして、*/ pioset(0x00); /* 方向は8…

PC-G850VS / ミニI/O / ADコンバーターMCP3008 / チャンネル0のAD変換値を読む

チャンネル0が読めるかどうか確かめる。 1サンプルの所要時間が70msec弱という遅さであるが一往読めている。 main(){ unsigned char mosi[36] = {3,4,6,4,6,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,1}; unsigned char miso[10]; unsig…

PC-G850VS / ミニI/O / 任意のディジタル信号を出力する

今度はミニI/Oから任意のパラレル3ビットディジタル信号を出してみる。 main(){ char mosi[11] = {1,3,5,7,6,5,4,3,2,1,0}; /*これを3ビット1組のパラレルパルス列として5回繰り返してみる*/ char len = 11, i, j; for(j = 0; j<5; j++){ for(i=0;i

PC-G850VS / ミニI/O / ディジタル出力 / miniput()

PC-G850VSの11ピンコネクターはいろいろな使いかたができるがここではミニI/Oとして使ってみる。まずディジタル出力を試す。 構文: void miniput(char byte) main(){ char i; for(i=0;i<100;i++){ miniput(i); } }

PC-G850VS / マシン語 6 of 6

参考: ポケコンジャーナル、1994 年 4 月号、p.81 作者: Ryu 1;-------------------- 2 ORG 100H 3 CALL 0BFEBH 4 CALL 0BFEBH 5 CALL 0BFEBH 6 CALL 0BFEBH 7 LD E,0 8 LD D,3 9 LD (MYDAT),DE 10 LD L,0 11 LD H,0 12 LD (CODAT),HL 13 LD A,0 14 LD (MIFL…

PC-G850VS / マシン語 5 / IOCS を使ってキー入力を判定する

IOCS: 0BE62H は、アキュムレーターにロードされた文字 (または ASCII コードで指定された文字) を (E,D) 座標に表示する。 0BE53H は、何かキーが押されたら、あらかじめ割り振ってあるキー番号 (ASCII コードではない) をアキュムレーターにロードする。 0…

PC-G850VS / マシン語 4 / 繰り返し処理

例 1. 無条件ループ 100LOOP: ... ... 200 JP LOOP 例 2. カウンターが 100 になるまで繰り返す 100 LD A,0 110LOOP: ... ... 200 INC A 210 CP 100 220 JP NZ,LOOP 230 RET 例 3. カウンターが 0 になるまで繰り返す 100 LD A,100 110LOOP: ... ... 200 DEC…

PC-G850VS / マシン語 3 / 文字を動かす

100 ORG 100H 110 LD E,0 ;横座標 120 LD D,2 ;縦座標 130LOOP: ;行番号とラベルとの間にスペースを入れてはならない。 140 LD A,'A' ;表示する文字をアキュムレーターにロードする。 141 PUSH DE ;IOCS を呼ぶ前にレジスタの値を待避しておく。 150 CALL 0B…

PC-G850VS / マシン語 2 / IOCS を使って文字を表示する

A レジスタ (アキュムレーター) に、表示する文字を代入する。 D レジスタ (汎用レジスタ) に、文字を表示する縦座標を代入する。 E レジスタ (汎用レジスタ) に、文字を表示する横座標を代入する。 10 ORG 100H 20 LD A,'A' 30 LD D,0 40 LD E,0 50 CALL 0B…

PC-G850VS / マシン語 1 / アセンブリをアセンブラでアセンブルする

1. BASIC 画面で「MON」と入力してマシン語モニターを起動する。 2.「USER FFF」と入力する。"FREE:0100-0FFF" と表示される。これで 100h ~ FFFh 番地のメモリーがマシン語プログラム用に確保された。 3. [TEXT] ボタン → [Edit] の順に選択する。 4. 例と…

シャープ PC-G リンクを使って PC と PC-G850VS とでテキストをやり取りする

大変なのは (4.11) の手順までです。・(1)USB-TTL シリアル・コンバーター・ケーブル(5V)(https://strawberry-linux.com/catalog/items?code=50040など)を用意する。必ず 5V 版を選ぶ。USB コネクターのスリーブに FT232RL が仕込んである。 ・(2)シ…