シャープポケコンPC-G850VSの11ピンI/0使用例集:Sharp Pocket Computer PC-G850VS 11-pin I/O usage examples
Автор: KOJISAN7
Загружено: 2025-07-30
Просмотров: 84
Описание:
ボタン、スイッチ、LEDをPC-G850VSの11ピンI/0に接続した使用例集で、プログラム言語は原則としてBASICです。
00:00 概要
00:24 8ビット入力
01:25 7ビット入力とLEDひとつ
01:55 12個のLEDダイナミック点灯
02:28 前と同じ C言語
02:50 7ビット入力と出力
03:26 前と同じ フリップ・フロップ
04:17 終了画面
以下、動画に登場したプログラム・リストが一番上の通し番号順にあり、自由に使用や改変して構いません。
'1
'******* INPUT 8 BIT DATA *****
CLS
PIOSET &HFF
OPEN "PIO:"
OA=&H100
*LP
A=PIOGET
IF A=OA THEN GOTO *LP
OA=A
H$=HEX$(A)
IF LEN(H$)=1 THEN H$="0"+H$
H$="&H"+H$
LOCATE 0,0:PRINT H$
B=&H80
FOR N=1 TO 8
IF (A AND B)=0 THEN PRINT "0"; ELSE PRINT "1";
B=B/2
NEXT N
GOTO *LP
'2
'******* INPUT 7 BIT/MSB ACCEPT OUT *****
CLS
PIOSET &H7F
OPEN "PIO:"
OA=&H100
*LP
A= PIOGET
IF A=OA THEN GOTO *LP
X=A XOR OA
IF (X AND &H40)=&H40 THEN GOTO *LEDON
IF (A AND &H3F)=0 THEN GOTO *LEDPASS
*LEDON
PIOPUT &H80 'LED ON
*LEDPASS
OA=A
H$= HEX$ (A)
IF LEN (H$)=1 THEN H$="0"+H$
H$="&H"+H$
LOCATE 0,0:PRINT H$
B=&H80
FOR N=1 TO 8
IF (A AND B)=0 THEN PRINT "0"; ELSE PRINT "1";
B=B/2
NEXT N
PIOPUT 0 'LED OFF
GOTO *LP
'3
'******* DYNAMIC LED DRIVING *****
Z=50
CLS
PIOSET 0
OPEN "PIO:"
*LP
FOR N=0 TO &H3F
AOUT=&H80+N
BOUT=&H40+(&H3F-N)
FOR M=1 TO Z
IF (M AND 1)=0 THEN PIOPUT AOUT ELSE PIOPUT BOUT
NEXT M
NEXT N
GOTO *LP
↑3の説明
Zは繰り返し回数で、これが偶数と奇数でちらつきが少し変わります。
/* 4 */
/* LED dynamic diriving */
main()
{
int z=50; /* setting const */
char a,b,aout,bout;
int m,n;
fopen("pio","w+");
pioset(0);
while(1)
{
for(n=0;n!=0x40;n++)
{
a=n;b=0x3f-n;
aout=a|0x40;bout=b|0x80;
for(m=1;m!=z+1;m++)
if((m & 1)==0) pioput(aout);else pioput(bout );
}
}
}
'5
'******* INPUT/OUTPUT 7 BIT DATA *****
CLS
PIOSET 0 'ALL OUTPUT
OPEN "PIO:"
OA=&H100
Y=0
'
*LP
PIOPUT 0 'BIT 7 LOW,LED OFF
PIOSET &H7F '0..6 BIT TO INPUT
A= PIOGET AND &H7F 'UPDATE A
PIOSET 0 'ALL OUTPUT
PIOPUT &H80+Y
FOR M=1 TO 20 :NEXT M
Y=(Y+1) AND &H7F
'
IF A=OA THEN GOTO *LP
OA=A
H$= HEX$ (A)
IF LEN (H$)=1 THEN H$="0"+H$
H$="&H"+H$
LOCATE 0,0:PRINT H$
B=&H80
FOR N=1 TO 8
IF (A AND B)=0 THEN PRINT "0"; ELSE PRINT "1";
B=B/2
NEXT N
GOTO *LP
'6
'******* INPUT/OUTPUT LATCH 7 BIT DATA *****
CLS
PIOSET 0 'ALL OUTPUT
OPEN "PIO:"
OA=&H100
Y=0
'
*LP
PIOPUT 0 'BIT 7 LOW,LED OFF
PIOSET &H7F '0..6 BIT TO INPUT
A= PIOGET AND &H7F 'UPDATE A
PIOSET 0 'ALL OUTPUT
PIOPUT Y
PIOPUT &H80 OR Y
PIOPUT Y
Y=(Y+1) AND &H7F
'
IF A=OA THEN GOTO *LP
OA=A
H$= HEX$ (A)
IF LEN (H$)=1 THEN H$="0"+H$
H$="&H"+H$
LOCATE 0,0:PRINT H$
B=&H80
FOR N=1 TO 8
IF (A AND B)=0 THEN PRINT "0"; ELSE PRINT "1";
B=B/2
NEXT N
GOTO *LP
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: