'========================================================== ' ' PicStic4 PicBASIC Pro Demo for testing the 12 bit D/A ' '========================================================== ' B0 var W0.byte0 '(LSB W0) COUNTER LSB B1 var W0.byte1 '(MSB W0) COUNTER MSB B2 var W1.byte0 '(LSB W1) LSB OF THE COUNTER XOR FFFF B3 var W1.byte1 '(MSB W1) MSB OF THE COUNTER XOR FFFF B5 var byte 'TEMPORARY VARIABLE B19 var byte 'COMMAND (FOR PASS) B20 var byte 'LSB OF THE PARAMETER (FOR PASS) B21 var byte 'MSB OF THE PARAMETER (FOR PASS) W0 var word W1 var word Initialize: B19=11 : B20=0 : B21=0 : REM SELECT A D/A CHANNEL call PASS B19=12 : B20=00 : B21=00 : REM SET A D/A call PASS CLOCK: B19=42 : B20=00 : B21=00 : REM set clock call PASS RDTM: B19=39 : B20=00 : B21=00 : REM read clock call PASS if B20 <= $30 then RDTM START: for B5= 0 to 99 high 7 UP: for w0=0 to 4095 step 128 B19=11 : B20=0 : B21=0 : REM SELECT A D/A CHANNEL call PASS B19=12 : B20=B0 : B21=B1 : REM SET A D/A call PASS next w0 DOWN: for w0=4095 to 0 step -128 B19=11 : B20=0 : B21=0 : REM SELECT A D/A CHANNEL call PASS B19=12 : B20=B0 : B21=B1 : REM SET A D/A call PASS next w0 low 7 next b5 final: B19=11 : B20=0 : B21=0 : REM SELECT A D/A CHANNEL call PASS B19=12 : B20=00 : B21=00 : REM SET A D/A call PASS goto start end