| ??? 05/06/07 09:19 Read: times |
#138682 - external interrupt using by keypad encoder 74c922 |
here is a code:
.
.
.
.
.
.
const char key_table[16] = "123A456B789C*0#D";
unsigned char key;
//unsigned char ex0_isr_counter = 0;
void ex0_isr (void) interrupt 0
{
//ex0_isr_counter++; // Increment the count
unsigned char keypad_scan;
key = ((keypad_scan=keypad_address)&keypad_mask);
key = key_table[key];
goto_xy(0,0);
putch_lcd(key);
}
.
.
.
.
.
.
.
while(1)
{
.
.
.
.
if (key == 4)
{
goto_xy(2,0);
putch_lcd(0xe4);
Puts("vse-vse");
}
.
.
.
.
}
why in first time the message is printed to lcd (interrupt isr), and second time is not (if (key == 4))....... "key" is global variable.......... |
| Topic | Author | Date |
| external interrupt using by keypad encoder 74c922 | 01/01/70 00:00 | |
| that code does not compile | 01/01/70 00:00 | |
| it is wotking now... | 01/01/70 00:00 | |
| reply | 01/01/70 00:00 | |
| strongly and totally disagree | 01/01/70 00:00 | |
| Have you carefully read the datasheet? | 01/01/70 00:00 | |
| what good would that do? | 01/01/70 00:00 | |
| Apparently, you haven't done that either, Erik | 01/01/70 00:00 | |
| Misread? | 01/01/70 00:00 | |
| 922 and 922 | 01/01/70 00:00 | |
| Here we go again ... | 01/01/70 00:00 | |
| Why ASM | 01/01/70 00:00 | |
| Fundamental misconception | 01/01/70 00:00 | |
| nope, here is the correction | 01/01/70 00:00 | |
| what about, for a change, answering a question? | 01/01/70 00:00 | |
| If you can\'t do it in ASM, you can\'t do it at all. | 01/01/70 00:00 | |
| LCD Routine take time. | 01/01/70 00:00 | |
| it is a good idea, but the problem in another... | 01/01/70 00:00 | |
what an understatement | 01/01/70 00:00 |



