My program works 100% with 16F628A, using MCode V3.0.0.5, and PB, I re-compile for 16F648A and program but it does not even start.
If I compile for 16F628a and blow that into the 648A chip it works. Unless I have missed something, the only difference between the 628A and 648A is the memory ram and eeprom.
I have pinned the problem down to the CLEAR command ********.
No problem in the 628A, but fails in 648A
If I remove the CLEAR in the 648A it works, with it in, it doesn't.
I think maybe the CLEAR has a problem with the 648A somewhere.
Any suggestions/ideas greatfully received. Thanks
DEFINE OSC 20
@ device PIC16F648A,HS_OSC,BOD_ON,MCLR_ON
TRISA = 0
TRISB = 0
CS1 var PORTB.7 'Connect this to CS11 (set dip switchs to 1 = on 2/3/4 = off)
CS2 VAR PORTA.0
WR var PORTA.4 'connect this to wr ACTUALLY CLOCK BUT HOLTEK CALL IT MR
DATALINE var PORTA.1 'connect this to DATA
DEFINE HSER_TXSTA 20H
DEFINE HSER_RCSTA 90H
DEFINE HSER_BAUD 4800
DEFINE HSER_CLROERR 1 ' Clear error automatically when ncountered
MATRIXB VAR BYTE (72)
MATRIXA VAR BYTE (63)
CLOCK VAR BYTE(8)
PREVIOUSTIME VAR BYTE(8)
DATE var byte(6)
LOOP VAR BYTE ' FOR COUNTING
DIGITS VAR BYTE ' FOR COUNTING
COUNTER var byte ' FOR COUNTING
COUNTER2 var byte ' FOR COUNTING
ADDRESS var byte ' DISPLAY
COMD var byte ' DISPLAY
ENDBIT var bit ' DISPLAY
SENDDOTS var byte ' DOT COLUMN
NUMBER VAR BYTE ' USED TO SORT ALPHA AND NUMERIC
CLEAN VAR BYTE
TEMP VAR BYTE
TEMP2 VAR BYTE
START VAR BYTE
ENDLIST VAR BYTE ' USED IN LOOKUP TABLES
DISPLAY VAR BYTE 'USED FOR CHIP SELECTION
LONGTEMP VAR WORD
HOURSTENS VAR CLOCK(0)
HOURSUNITS VAR CLOCK(1)
COLON1 VAR CLOCK(2)
MINSTENS VAR CLOCK(3)
MINSUNITS VAR CLOCK(4)
COLON2 VAR CLOCK (5)
SECSTENS VAR CLOCK(6)
SECSUNITS VAR CLOCK(7)
DAYSTENS VAR DATE(0)
DAYSUNITS VAR DATE(1)
MONTHTENS VAR DATE(2)
MONTHUNITS VAR DATE(3)
YEARTENS VAR DATE(4)
YEARUNITS VAR DATE(5)
SCROLLSINGLE VAR BIT (8)
' FOLLOWING VARIABLES ARE FOR WHEN DAYLIGHT SAVING IS SWITCHED ON
GPSDAY VAR BYTE
GPSMON VAR BYTE
GPSYEAR VAR BYTE
STARTWKDAY VAR BYTE
A VAR BYTE
Y VAR BYTE
M VAR BYTE
D VAR BYTE
SUMMERTIMESWITCH VAR BYTE
MARDAY VAR BYTE
OCTDAY VAR BYTE
SUN VAR BYTE
CURRENTYEAR VAR BYTE
'SUMMER/WINTER SWITCH VALUES
DATA @64,0,0,0,0,1,1,1,1,1,1,1,0,0 '0 = GMT 1 = BST
' X J F M A M J U A S O N D 0 = WINTER 1 = SUMMER
' 0,0,0,0,1,1,1,1,1,1,1,0,0 X=0 MONTH NOT USED !
DATA @80,0 'HOURS OFFSET
CLEAR ' ALL VARIABLES TO 0 ******************
CMCON=7 ' SET PORT A DIGITAL
pause 1000
TEST:
low PORTB.7
PAUSE 250
HIGH PORTB.7
PAUSE 250
GOTO TEST
Bookmarks