After finishing my meal at a restaurant, I asked the waiter to bring the bill which was charged 229 units. I kept 230 in the that book which contains our bill and I told the waiter to keep the change because my car was waiting just outside and I was in a rush. He got really angry and said " Are you serious? you're insulting me by giving me 1 unit of currency". Even though I got out from the restaurant without much problem, I wonder why that was offensive? Is keeping the change same as giving the tip because I never actually say "keep the change" to the waiter. I just leave it on the table to collect. What could I say to the waiter so I could convey that I want him to keep the change in the main cash box instead of keeping it in his own pocket?
I think the confusion here is more cultural than it is with the actual language.
In the United States, it is customary to give a tip of 15% - 20% (or more, if service was exceptional). This is a bit relaxed in college towns/restaurants, as it is understood that students don't have quite as much, but for the great majority of the country, you are supposed to tip.
In fact, in the US, waiters are paid very little hourly wage because they are expected to receive tips, so the standard minimum wage doesn't apply to them.
See the quote from this article on this very problem (it is a regularly debated topic):
The federal minimum wage for [regular workers] is $7.25, but the federal minimum wage for tipped workers has remained stagnate [sic] at $2.13 since 1991, with no adjustment for inflation.
They are required to be paid only $2.13 an hour, because the government expects them to make enough more on tips.
By providing such a small tip (1/229 = 0.4% tip), you are, in effect, saying that the service was very bad. THAT is why it is insulting. Don't feel bad, because it is an easy enough mistake to make for people from a different country or culture. But yes, tipping is unofficially mandatory.
If you're interested more in the topic, there's a great video from Adam Ruins Everything that explains the huge problems with this system that is fairly accurate.
As for your other two questions, yes, when you say "keep the change," it is implied to be as a tip. "Keep the change" means that you're giving the person whatever change there was as a tip. Sometimes it comes with a cocky connotation, but it's fine for use.
There is no way to say to put the extra money in the cash register instead of as a tip, without saying it explicitly as I typed it out, which would be considered rude. This is because there would never be any reason for this. That would be even ruder than leaving a small tip - no tip at all, and telling them to put it in the register for some reason.
"Keep the change" is used in Britain to mean "The change from this bill is your tip." Tipping is something we're a bit embarrassed about in Britain and this phrase allows us to pretend we aren't really doing it - we're just making things more convenient by not asking someone to make change.
It is tipping though, even if we're pretending it isn't, so telling someone to keep £1 of change from a £229 bill is extremely insulting when the standard British tip would have been either £23 (10%) or £21 (to round it up to £250) or nothing at all (it's really very embarrassing).
The most common way to tip in a restaurant to avoid embarrassment is simply to put the all the money in the folder thing with the bill and then leave. There is nothing you can say to a waiter that means that extra pound will go into the main cash box, because that's not how restaurants work. Either pay the bill exactly or leave an appropriate tip for whatever country you're in.
If there's a "take a penny leave a penny" jar, I've told them to put the change in the take a penny jar, but not all restaurants have that. Otherwise if there is change I think "keep the change" sounds archaic, maybe a little elitist or uncaring. I say "the rest is yours" or "I don't need change". It leaves the server to choose what to do with it at that point.