Nov 27, 2015 #1 8 8051HELP Member level 1 Joined Nov 27, 2015 Messages 32 Helped 0 Reputation 0 Reaction score 0 Trophy points 6 Activity points 251 I need to write only numbers (every second) in string on display (memory mapped on 0x8001 adress) which are divding with 2 . I must use counter not delay () for interrupt ... Below is code which i imagine but dont work correctly... PLEASE HELP Code C - [expand]1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 #include <reg51.h> #include <math.h> typedef unsigned char byte; byte a[3]= {2,1,8}; byte counter, frequency,displ; int i=0; byte xdata display _at_ 0x8001; sbit switcher=P0^0; void Inic(void) { EA=1; ET0=1; TMOD=1; TH0=0x3C; TL0=0xB0; TR0=1; counter=1; frequency=0; } void timer0(void) interrupt 1 using 2 { TR0=0; TH0=0x3C; TL0=0xB0; TR0=1; if(switcher) { if(!(--counter)) { counter=frequency; display=displ; } } } void main(void) { Inic(); while(1) { if(switcher) { for (i=0;i<3;i++) { if(a[i]/2) { displ=a[i]; frequency=20; } } } } }
I need to write only numbers (every second) in string on display (memory mapped on 0x8001 adress) which are divding with 2 . I must use counter not delay () for interrupt ... Below is code which i imagine but dont work correctly... PLEASE HELP Code C - [expand]1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 #include <reg51.h> #include <math.h> typedef unsigned char byte; byte a[3]= {2,1,8}; byte counter, frequency,displ; int i=0; byte xdata display _at_ 0x8001; sbit switcher=P0^0; void Inic(void) { EA=1; ET0=1; TMOD=1; TH0=0x3C; TL0=0xB0; TR0=1; counter=1; frequency=0; } void timer0(void) interrupt 1 using 2 { TR0=0; TH0=0x3C; TL0=0xB0; TR0=1; if(switcher) { if(!(--counter)) { counter=frequency; display=displ; } } } void main(void) { Inic(); while(1) { if(switcher) { for (i=0;i<3;i++) { if(a[i]/2) { displ=a[i]; frequency=20; } } } } }
Dec 8, 2015 #2 G girish09 Junior Member level 2 Joined Jul 21, 2012 Messages 20 Helped 0 Reputation 0 Reaction score 0 Trophy points 1,281 Location Pune Activity points 1,450 Exactly what problem you are facing ? Kindly elaborate.