Just a teaser. I'll not post the whole thing, just the pin assignement.
Code:
' LCD definition
' ==============
'
DEFINE LCD_DREG PORTA '
DEFINE LCD_DBIT 0 ' LCD data port : PORTA<3:0>
'
DEFINE LCD_EREG PORTA '
DEFINE LCD_EBIT 6 ' LCD enable bit : PORTA.6
'
DEFINE LCD_RSREG PORTA '
DEFINE LCD_RSBIT 7 ' LCD RS bit : PORTA.7
' I/O Definition
' ===============
'
TRISA = %00110000 ' PORTA Output on :
' PORTA<3:0> : LCD data
' PORTA<7:6> : LCD RS & E bit
'
' PORTA Input on :
' PORTA.4 : "ALT PLAY" Button
' PORTA.5 : "PLAY" button
'
TRISB = %11110001 ' PORTB Output on :
' PORTB.1 : ISD4002 SS pin
' PORTB.2 : ISD4002 SCLK pin
' PORTB.3 : ISD4002 MOSI pin
'
' PORTB Input on :
' PORTB.0 : ISD4002 INT pin
' PORTB.4 : ISD4002 MISO pin
' PORTB.5 : ISD4002 RAC pin
' PORTB.6 : "SETUP" button
' PORTB.7 : "RECORD" button
OPTION_REG.7 = 0 ' enable pull-up on PORTB
CMCON = 7 ' disable analog comparator
' Variable definition
' ===================
'
AltPlay var PORTA.4 ' "ALT PLAY" button
Play var PORTA.5 ' "PLAY" button
Setup var PORTB.6 ' "SETUP" button
Record var PORTB.7 ' "RECORD" button
INT var PORTB.0 ' ISD4002 INT pin
SS var PORTB.1 ' ISD4002 SS pin
SCLK var PORTB.2 ' ISD4002 SCLK pin
MOSI var PORTB.3 ' ISD4002 MOSI pin
MISO var PORTB.4 ' ISD4002 MISO pin
RAC var PORTB.5 ' ISD4002 RAC pin
Was setup on 16F628, you'll need to use SHIFTIN/SHIFTOUT
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Bookmarks