ic51io.tmb for the IC51 Test and display I/O on IC51. Cycles relays and digital outputs, sends characters to serial port 2, flashes LED, displays real-time clock, digital inputs, serial port 2 value. ------------------------------- NEW 1 PRINT "S" 2 PRINT "e" 3 PRINT "t" 4 PRINT " " 5 PRINT "R" 6 PRINT "T" 7 PRINT "C" 8 PRINT "?" 9 PRINT 13 10 PRINT 10 --- WAIT FOR KEY 11 A=KEY 12 IF A=0 11 --- SEE IF SETTING RTC 15 B="y" 16 IF A=B 20 17 B="Y" 18 IF A=B 20 19 GOTO 25 --- SET RTC 20 GOSUB 500 --- INIT 25 BAUD2=96 26 DELAY 5 27 DI=255 28 G=1 --- CHECK FOR EXIT 30 A=KEY 31 IF A=0 40 32 RELAYS=0 33 DO=0 34 END --- SEND TO SERIAL 2 40 LED=1 41 PRINT2 G 42 PRINT2 13 43 PRINT2 10 --- SET RELAYS AND DO 50 RELAYS=G 51 DO=G 52 DELAY 1 53 RELAYS=0 54 DO=0 55 A=G 56 A=A*2 57 IF A=0 60 58 G=A 59 GOTO 100 60 G=1 --- READ/DISPLAY RTC 100 READRTC 101 A=H 102 GOSUB 130 103 PRINT ":" 104 A=M 105 GOSUB 130 106 PRINT ":" 107 A=S 108 GOSUB 130 109 PRINT " " 110 A=N 111 GOSUB 130 112 PRINT "/" 113 A=D 114 GOSUB 130 115 PRINT "/" 116 A=Y 117 GOSUB 130 118 PRINT " " 119 PRINT W 120 PRINT 13 121 PRINT 10 122 GOTO 200 --- PRINT VALUE IN A AS TWO DIGITS 130 B=9 131 IF A>B 133 132 PRINT "0" 133 PRINT A 134 RETURN --- DISPLAY DIGITAL I/O 200 IF DI8=0 203 201 PRINT "1" 202 GOTO 205 203 PRINT "0" 205 IF DI7=0 208 206 PRINT "1" 207 GOTO 210 208 PRINT "0" 210 IF DI6=0 213 211 PRINT "1" 212 GOTO 215 213 PRINT "0" 215 IF DI5=0 218 216 PRINT "1" 217 GOTO 220 218 PRINT "0" 220 IF DI4=0 223 221 PRINT "1" 222 GOTO 225 223 PRINT "0" 225 IF DI3=0 228 226 PRINT "1" 227 GOTO 230 228 PRINT "0" 230 IF DI2=0 233 231 PRINT "1" 232 GOTO 235 233 PRINT "0" 235 IF DI1=0 238 236 PRINT "1" 237 GOTO 240 238 PRINT "0" 240 PRINT " " 241 PRINT " " --- DISPLAY INTERRUPT INPUT 250 IF INT=0 254 251 PRINT "1" 252 PRINT " " 253 GOTO 260 254 PRINT "0" 255 PRINT " " --- DISPLAY INTERRUPT COUNT 260 A=INT 261 PRINT A 262 PRINT " " 263 PRINT " " --- DISPLAY SWITCH INPUT 270 IF SW1=0 273 271 PRINT "1" 272 GOTO 274 273 PRINT "0" 274 PRINT " " 275 PRINT " " --- DISPLAY SERIAL PORT 2 280 A=KEY2 281 PRINT A 282 PRINT 13 283 PRINT 10 --- DISPLAY ANALOG INPUTS 300 E=1 301 LOOP 8 302 SELAI E 303 READAI 304 BAVOLTS 305 PRINT A 306 PRINT "." 307 PRINT B 308 PRINT C 309 PRINT D 310 PRINT 13 311 PRINT 10 312 A=E 313 A=A+1 314 E=A 315 ENDLOOP 316 PRINT 10 --- FINISH UP 404 LED=0 405 DELAY 3 406 GOTO 30 --- SET CLOCK ROUTINE 500 PRINT "H" 501 PRINT "o" 502 PRINT "u" 503 PRINT "r" 504 PRINT ":" 505 INPUT H 510 PRINT "M" 511 PRINT "i" 512 PRINT "n" 513 PRINT ":" 514 INPUT M 520 PRINT "S" 521 PRINT "e" 522 PRINT "c" 523 PRINT ":" 524 INPUT S 530 PRINT "M" 531 PRINT "o" 532 PRINT "n" 533 PRINT ":" 534 INPUT N 540 PRINT "D" 541 PRINT "a" 542 PRINT "y" 543 PRINT ":" 544 INPUT D 550 PRINT "Y" 551 PRINT "e" 552 PRINT "a" 553 PRINT "r" 554 PRINT ":" 555 INPUT Y 560 PRINT "D" 561 PRINT "O" 562 PRINT "W" 563 PRINT ":" 564 INPUT W 570 WRITERTC 571 RETURN