# Cw decoder by ik3oil

Hello ,and i hope you are in a safe place ,from covid19 away taking precautions.

i have a problem and i dont know if i post in error section,because i dont where should i post this thread please correct it at admin.
i have searched before posting to see if it ia a problem of me .
I have recently boring and built the cw ik3oil decoder, i have found many hex files,none work ,programming sucesful.even i get the correct one from author he sssaid 16x1 the lcd i have,but i read that it is 16x2 i am confused ,i always have 8 dots on lcd,i have doubt in connections could youclarify if the 4th pin ground go to RW a possible given reconnection wiring is good
thanks
vcc
vo
gnd
4 ? the ground pin to where ?
5 to RS
6 to E
i added my construction pictures and the original hex from author he said 16x1 but i see 16x2
where in asm i can change the name ?
and please see the connection wiring if any error ,so why i have 8 dots while hex burn succesful
thanks

#### Attachments

• 10.2 KB Views: 6
• 13.2 MB Views: 4

#### betwixt

##### Super Moderator
Staff member
The photographs show a 16x1 LCD.
The code is for a 16x2 LCD.

In the "inilcd" routine, the line that sets the display geometry is
movlw b'00101000' ; abilita due linee 5x7
You can edit the binary for other display sizes. The length of the lines is set earlier in the code in "main00":
movlw 0x20 ; set a 32 indirizzo prima riga LCD
movlw 0x50 ; set a 16 indirizzo seconda riga LCD
The R/W line should be tied to ground if not being used so it is always in "write" mode.

Brian.

points: 2

Brian thank you for the help.I have switched to an lcd 16x2 and rewiring the flat cable,and burning that hex provided ,but sadly i have 8 dots on screen ,what do you think,the cristal is oscillating 4mhz clock ,voltage on pic is okay 5.0 vdc
what else ?

#### betwixt

##### Super Moderator
Staff member
Can you show a picture of the screen please. I am trying to see if the dots are being sent to the LCD by the software or if the dots are caused by a hardware problem.

Brian.

hi Brian at the moment the hardware is not in my hand ,but i imagine what you are saying,the lcd is pretty new and working ,just i removed from another diy circuit ,that i may need some help in later too.with and without the pic the same dots and the same speed of projecting on the screen ,so it is not a hardware problem is it clear .If you can tell me by a peace of paper the correct wiring maybe the data on that paper miss something .thank you

sorry for delay Brian ,cause of my slow internet .Here i upload what you want .
software programmed with two different pic16f84a .LCD is 16x2 lines.HEX original fro Author .what else
crystal oscillator on frequency meter show 40000.1 mhz (4mhz).all voltages are okay 5v .everyone post a working one on internet .
Thanks.
in the rar files are my pictures.
and i post pictures fro the web.

#### Attachments

• 26.2 MB Views: 13
• 22.8 KB Views: 4
• 7.1 KB Views: 4
• 22 KB Views: 4

#### betwixt

##### Super Moderator
Staff member
I can't see anything obviously wrong but you should keep the wiring as short as possible. The PCB design around the crystal is horrible!

I think there should be loading capacitors at both ends of the crystal, it looks like one has been disconnected and I can't read the value on the other one but it might be 82p. You should have both capacitors fitted and their values should both be between 10pF and 22pF or the XT oscillator may not work properly.

You do not need to connect the D0-D3 pins on the LCD, there are internal pull-up resistors in the controller IC. If you do connect them, they should be at 5V level, I think you might have them grounded.

Brian.

Hi Brian again ,on frequency meter with 2 x 82 pf the crystal is less about 50hz, so i have looked on many design and see that xtal 4mhz is like you said ,also i removed one 82pf and replaced to tune at 4 mhz exactly .For Do to D3 one i tried to ground them like schematic and once i tried to keep them fly in the air ,same result.i have doubt with the pic to be fake ,i have an already working one pic from a dds fm transmitter i will try with it ,to see if that solve the problem.About flat cable this the shortest possible,some who does this project do worse thing ,you could google some pictures.So where the problem lie ,does configuration of hex is okay ? are you sure this for 16x2 ,anyway i tried both .I final doubt with thoses pic that i paid a bucks for fake i dunno ,i will also try them in transmitter .So i can confirm also the Hex.Thanks

Confirm that is working ,thanks Brian ,sorry it was the vo potentiometer deffected,i still have little problem that it is not detecting the audio ,maybe because i have used 1n4148 instead of germanium diode ?
another question where it is written in the asm file the name of ik3oil ,because i want to put my calsign instead .

#### Attachments

• 43.4 KB Views: 3

#### betwixt

##### Super Moderator
Staff member
Well done!
My apologies for not investigating further - I get so many messages that yours fell off the bottom of the list before I had chance to see it. I will look at the code and diode problem later and get back to you.

Brian.

points: 2

#### betwixt

##### Super Moderator
Staff member
I assume the diodes you refer to are D1 & D2. All they do is clip the input voltage so the NE567 doesn't overload. You can use small silicon diodes (1N4148 or similar) but a small Schottky type like a BAT54 or 1N6263 would be better. Even if you leave them out altogether it should still work but the NE567 bandwidth increases with larger signals so it becomes less selective to the tone you want.

The LED should flash in time with the tone at the input, if it doesn't flash it is probably because the internal oscillator is running at the wrong frequency. Check C16, R10 and RV2 as they are the components that tune the oscillator.

The 'ik3oil' message is stored in the routine called 'panel' in the asm file. All you need to do is change the letters in the asm file and run it through an assembler. the section to change is below, I highlighted the letters so you can see them.
Code:
	movlw	 "[COLOR="#FF0000"]i[/COLOR]"		; display "ik3o"
movwf	 w_num1
movlw	 "[COLOR="#FF0000"]k[/COLOR]"
movwf	 w_num2
movlw	 "[COLOR="#FF0000"]3[/COLOR]"
movwf	 w_num3
movlw	 "[COLOR="#FF0000"]o[/COLOR]"
movwf	 w_num4
movlw	 d'4'
movwf	 w_count
call	 sendlcd

movlw	 "[COLOR="#FF0000"]i[/COLOR]"		; display "il  "
movwf	 w_num1
movlw	 "[COLOR="#FF0000"]l[/COLOR]"
movwf	 w_num2
movlw	 " "
movwf	 w_num3
movlw	 " "
movwf	 w_num4
movlw	 d'4'
movwf	 w_count
call	 sendlcd
Brian.

Brian thank you for help ,the nickname solved i change it ,i can also key ,not proffesionel as a push button key.As for the input from an audio generated file from pc ,not working ,but it is okay
thanks .thread closed thanks for edaboard.