Core meaning and the tense difference
Chinese has no verb tense, but it distinguishes negation by aspect. 不 rejects a present or future situation, a habit, a willingness, or a state: 我不喝酒 (I do not drink alcohol), 他不来了 (he is not coming anymore). 没 rejects that something happened or has happened: 我没喝酒 (I did not drink), 他没来 (he did not come). The gap between 不喝 and 没喝 is exactly the gap between "I do not drink" and "I did not drink" in English.
Sentence structure
不 goes before the verb or adjective: 我不去 (I am not going), 这不贵 (this is not expensive). 没 goes before the verb; with 有 it fuses to 没有: 我没去 (I did not go), 我没有时间 (I do not have time). A completed-action verb marked with 了 gets 没 and LOSES 了: 我吃了 (I ate) becomes 我没吃 (I did not eat), never 我没吃了. An ongoing action marked with 在 gets 没 before 在: 我没在看 (I was not watching).
我昨天没去上班,今天也不想去。
Wǒ zuótiān méi qù shàngbān, jīntiān yě bù xiǎng qù.
I did not go to work yesterday, and I do not want to go today either.
Negating 有: only 没 works
The verb 有 (to have, there is) has exactly one negation: 没有. You cannot say 不有; Chinese speakers will hear it as broken. 我有钱 (I have money) negates as 我没有钱, never 我不有钱. This is the single hardest reflex for English speakers to build, because "do not have" maps to 不有 by direct translation but is wrong.
我没有时间,但我有兴趣。
Wǒ méiyǒu shíjiān, dàn wǒ yǒu xìngqù.
I do not have time, but I do have interest.
Habits, willingness, and future
Use 不 for habits (我不抽烟, I do not smoke), willingness (我不去, I will not go), and future plans (明天不下雨, it will not rain tomorrow). Even for past events, if you want to say someone habitually did not do something or chose not to, 不 is correct: 去年他不常来 (last year he did not often come). The key is whether you are describing a property or habit (不) versus asserting an event did not occur (没).
Modal verbs: 不 only
All modal verbs (能, 会, 可以, 要, 想, 应该, 愿意, 必须) take 不, never 没. 我不能去 (I cannot go), 他不会开车 (he cannot drive), 我不想去 (I do not want to go). For past inability, you still use 不 with the modal and mark the past elsewhere: 昨天我不能去 (yesterday I could not go). 没 with a modal sounds wrong to native ears.