modedefs.bas is included. When I try to include bs2defs.bas, it gives error during compile on line next to it (no matter what is on there).
here's the complete listing:
Code:'**************************************************************** '* Name : UNTITLED.BAS * '* Author : [select VIEW...EDITOR OPTIONS] * '* Notice : Copyright (c) 2014 [select VIEW...EDITOR OPTIONS] * '* : All Rights Reserved * '* Date : 26.08.2014 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** ADCON1=%00000110 'CONFIGURE PORT A AS DIGITAL Include "Modedefs.bas" 'INCLUDE "BS2DEFS.BAS" Define OSC 4 ' Set Xtal Frequency Clk Var portb.0 ' Data is clocked on rising edge of this pin kviteli Dta Var portb.1 ' Bits are shifted out of this pin stafilosferi Load Var portb.2 ' Transfers data to LEDs when Pulsed lurji DQD Var portb.4 ' One-wire data pin FOR THERMOMETER ' ** Declare Constants ** Decode_Reg Con 9 ' Decode register, a 1 turns on BCD decoding for each digit. Lum_Reg Con 10 ' Intensity register. Scan_Reg Con 11 ' Scan-limit register. Switch_Reg Con 12 ' On/Off Register. Test_Reg Con 15 ' Test mode register (all digits on, 100% bright) ' Max_Digit Con 5 ' Amount of LED Displays being used. ' ** Declare Variables ** Counter Var Word ' Variable used for the Demo Counting routine Max_Disp Var Word ' 16-bit value to be displayed by the MAX7219 Max_Dp Var Byte ' Digit number to place Decimal point (0-4) Register Var Byte ' Pointer to the Internal Registers of the MAX7219 R_Val Var Byte ' Data placed in Each Register Digit Var Byte ' Position of individual numbers within MAX_Disp (0-3) Position Var Byte ' Position of each LED display (1-4) temperature Var Word ' Temperature storage pause 50 'Alias pins - MAX31855 temp sensor MXSCLK var PORTC.1 'MAX31855 Clock MXCS var PORTC.2 'MAX31855 Chip Select MXSO Var PORTC.3 'MAX31855 Serial Data degCouple VAR Word degCinternal VAR Word TCtemp1 VAR Word TCtemp0 VAR Word faults VAR BYTE SCVfault VAR faults.BIT2 SCGfault VAR faults.BIT1 OCfault VAR faults.BIT0 Register=Scan_Reg ' Point to the Scan Register R_Val=3 ' send 3, (Four LED Displays 0-3) Gosub Transfer ' Transfer this 16-bit Word to the MAX7219 Register=Lum_Reg ' Point to the Luminance Register R_Val=1 ' Send 5, (Value for Brightness) Gosub Transfer ' Transfer this 16-bit Word to the MAX7219 Register=Decode_Reg ' Point to BCD Decode Register R_Val=%00001111 ' Decode the first 5 digits Gosub Transfer ' Transfer this 16-bit Word to the MAX7219 Register=Switch_Reg ' Point to the Switch Register R_Val=1 ' Set to One, (switches the display ON) Gosub Transfer ' Transfer this 16-bit Word to the MAX7219 Register=Test_Reg ' Point to the Test Register R_Val=0 ' Reset to Zero, (turns off Test mode) Gosub Transfer ' Transfer this 16-bit Word to the MAX7219 Max_Dp=1 ' Display number for Decimal Point pause 50 MAX_DISP=4321 GOSUB DISPLAY PAUSE 500 do GOSUB GRADUS max_disp=Tctemp1 GOSUB DISPLAY PAUSE 20 LOOP END Display: Digit=0 ' Start at Digit 0 of Max_Disp Variable For Position=4 to 1 step -1 ' Start at Farthest Right of Display Register=Position ' Place Position into Register R_Val=Max_Disp Dig Digit ' Extract the individual numbers from Max_Disp If Max_Disp<10 and Position=3 then R_Val=15 ' Zero Suppression for the second digit If Max_Disp<100 and Position=2 then R_Val=15 ' Zero Suppression for the Third digit If Max_Disp<1000 and Position=1 then R_Val=15 ' Zero Suppression for the Forth digit If Max_Disp<10000 and Position=0 then R_Val=15 ' Zero Suppression for the Fifth digit If Digit=Max_Dp then R_Val.7=1 ' Place the decimal point, held in Max_DP 'lcdout $fe,$c0,"Reg:", #register, " VAL:",#R_Val, " " pause 20 Gosub Transfer ' Transfer the 16-bit Word to the MAX7219 If Digit>=3 then Digit=0 ' We only need the first four digits Digit=Digit+1 ' Point to next Digit within Max_Disp Next Position ' Close the Loop Return ' Exit from subroutine ' Send a 16-bit word to the MAX7219 Transfer: Shiftout Dta,Clk,msbfirst,[Register,R_Val] ' Shift Out the Register first, then the data pauseus 100 High Load ' The data is now acted upon pauseus 100 @ Nop @ Nop ' A small delay to ensure correct clocking times Low Load ' Disable the MAX7219 Return ' Exit from Subroutine GRADUS: LOW MXCS 'chip select low SHIFTIN MXSO, MXSCLK, MSBPRE, [TCtemp1\16,TCtemp0\16] 'shift in the data HIGH MXCS 'chip select high degCouple = TCtemp1 >> 2 + (-TCtemp1.BIT15 << 14) ' the last term extends the sign bit degCinternal = TCtemp0 >> 4 + (-TCtemp0.BIT15 << 12) 'faults = TCtemp0.NIB0 'degCouple = (TCtemp1 >> 2) / 4 'DEBUG SDEC degCouple, TAB, SDEC degCinternal, TAB, BIN3 faults PAUSE 1000 'DEBUG CLS return




Bookmarks