The updated code is as follows:
@ DEVICE XT_OSC,MCLR_OFF,LVP_OFF,WDT_OFF,PROTECT_OFF
DEFINE LOADER_USED 1
Include "Modedefs.Bas"
' ** Setup the Resonator Frequency, in Mhz **
Define OSC 4
'DEFINE SHIFT_PAUSEUS 100
ANSEL = %00000000 ' PortA pins all digital
ADCON0 = %00000000
CMCON = 7 ' Turn off comparators(All digital)
Baud con 84 ' 9600 baud rate
' ** Port configurations **
TX VAR PORTB.5
RX VAR PORTB.2
CLK VAR PORTA.4
DI VAR PORTA.0
RESET VAR PORTB.6
PIEZO VAR PORTB.7
DAT VAR word
Init:
TRISA=%11111111 ' Set PortA TRIS register
TRISB=%00000000 ' Set PortB TRIS register
begin:
low piezo
HIGH RESET
high CLK
high DI
LOW RESET
PAUSE 5
HIGH RESET
PAUSE 300
LOW RESET
dat = $FFF7
serout2 tx,baud,["1st Data = ",bin16 dat,13,10]
Shiftout DI, CLK,MSBFIRST,[dat/16]
dat = $3
serout2 tx,baud,["2nd Data = ",bin16 dat,13,10]
Shiftout DI, CLK,MSBFIRST,[dat/16]
dat = $fffe
serout2 tx,baud,["3rd Data = ",bin16 dat,13,10]
Shiftout DI, CLK,MSBFIRST,[dat/16]
end
**************************************************
It clicks and does not play; do you think I have the timing correct as per the diagram from the datasheet ?
Bookmarks