Modernization of an old-style telephone (roulette telephone).
The essence (purpose?) Of the project
- At that time it was a project for regional competitions in radio electronics and radio engineering.
Further down the list:
- Choose an idea - upgrade the phone.
- Create a device based on the microcontroller of the PIC16 family.
- Better learning the ASM language as well as C.
- Create a usable device through which you can make calls.
- what else is needed =)
More precisely, the essence of modernizing the phone is as follows - bring the old phone with a drum - set-up into a human form, replace the entire front panel. And stick a 4x4 keyboard and a 20x4 display on it. Connect and assemble so that would work.
What we need?
First you need to know what we can. proceed from this, at that time I owned the PIC12 / 16 controllers and opted for the PIC16F877A.
Programmer debugger ICD2 Bulgarian production ~ 2.5k rubles. Please note that it also works in MPLAB of the native program for Windows and also in Piklab on Linux via USB. You can find the controller on the device that will be used in the device here. Microchip Ordinary plastic DIP40 case (sorry for the ceramics) We ask why DIP40? - First of all, we need to ensure that the buttons are checked, and we have a 4x4 keyboard - in our case, one controller port is already taken. - Secondly, we need to connect a 20x4 display and there are 16 contacts for control.

- Thirdly, you also need to dial a number than something, flush, blink, system LEDs inside the case.
- Well, "The stock does not pull the pocket."
Of course, it would be possible to put the display and keyboard on one port, but at that time my project was “on fire”, so it was an ideal choice.
A little about the display, we used a 4-line display with 20 characters each, you can see the datasheet on the display here. 20x4 LCD
I will say that this is an easy-to-learn display. (Not like the dotted one that I was busy with recently)
We also need a bit of rashiness besides the display and controller = ) a, well, yes, a little more brain and free time.
Go! (from)
The victim of my alteration was, as I said, the old landline phone, I can’t show the picture in its original form for obvious reasons.
everything superfluous was removed from it, and it looked something like this: Then a circuit was developed and a board was made. The board is made using the pencil method :) i.e. go to the store, there you buy a marker with a special varnish, and draw the tracks by hand, well, and then poison as usual. The turn of the board (i.e. tracks) can also be observed. In general, after we all soldered, and prepared it should look like this or better :)



Next, we make the case, somehow we cut off the entire front panel from this fragile plastic, and we make our own - a new one. in it we make rectangular cutouts for the keyboard and display. here, of course, it was possible for me to be more careful, but =) in general, we put all this turbidity inside. We check the assembly of our device, and close / turn it on and look at what we got, I have this: General view of the assembled device



Button Assignments
- 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 - as usual
- * - this is the highlight
- the upper right is “mute”
Keyboard pinout
The keyboard is standard, front view. And I was not too lazy to restore the circuit diagram for the board and firmware. I did it as user-friendly as possible, so I executed it in sPlan 6.0 - Download an uninstalled splan - Download an installed splan there, I rules some + a scheme in the same splan - Whoever already has this program can download just a scheme - To whom is laziness / no program can see the image schemes :) Now I’ll tell you all sorts of things that he has - The device works from the telephone network + power (yes it's bad) - Has a silent mode - Has a turn off / on backlight mode - has a city dialing mode
1................2................3................()
4................5................6................()
7................8................9................()
*................0................#................()
.........RC0..RC1..RC2..RC3..RC4..RC5..RC6..RC7.......

- has a long-distance dialing mode
- it has a cool display =) and if you stick a blue backlight there, it will be generally chic!
- a usable keyboard for dialing, not like this roulette ...
- beeps when pressed =)
- in the ASM version there is some kind of melody, in C just beeps when an incoming call =)
Now a few words about the firmware
ASM
There are a lot of code in hellish firmware, yes. but there is something that is not in Sishna, for example
- with an incoming call, the animation there is a little spinning on the display,
- the talk (incoming) counter works correctly
- in my opinion there is the missed call counter =)
Si
When I wrote the firmware, I divided everything into parts, there are a lot of files there, which would be easier to edit.
For what I didn’t understand it in C, but I wanted to do it better but didn’t finish it =)
but there are such features as
- Disable / turning on the backlight
- “Silent” mode
- improved work with long-distance numbers
- an unsuccessful attempt to make redial =)
firmware can be downloaded right here:
- Asm firmware
- C firmware from damn it, habr eats letters - for downloading the file name is Telefon (C) .tar.bz2 (without gaps in parentheses)
bus display numbered in the diagram, by This turns respectively.
It is possible that I have errors in the circuit that I restored, but I did it right, but I almost died (it’s difficult to draw the circuits “the other way around”)
As for the display, it means that
I don’t like the MELT BC2004GPLCH company Bolymin QC OC 060711 because “ glazed layer "too green. Datasheet on the display above in the article.
ps if you don’t see the pictures, then the server is still down :)