A. Use Timer 1, mode 1 to create delay.
- XLAT = 11.0592 MHz#include <reg51.h>#define TOG P2;void delay(int time){unsigned int i;TMOD=TMOD & 0x0f;TMOD=TMOD | 0x10;for(i=0;i<time;i++){TH1=0xfc;TL1=0x66;TR1=1;while(TF1==0);TR0=0;}}void main(){while(1){TOG=0xff;delay(500);TOG=0x00;delay(500);}}
- XLAT = 12 MHz#include <reg51.h>#define TOG P2;void delay(int time){unsigned int i;TMOD=TMOD & 0x0f;TMOD=TMOD | 0x10;for(i=0;i<time;i++){TH1=0xfc;TL1=0x18;TR1=1;while(TF1==0);TR0=0;}}void main(){while(1){TOG=0xff;delay(500);TOG=0x00;delay(500);}}
- XLAT = 22 MHz#include <reg51.h>#define TOG P2;void delay(int time){unsigned int i;TMOD=TMOD & 0x0f;TMOD=TMOD | 0x10;for(i=0;i<time;i++){TH1=0xf8;TL1=0xd7;TR1=1;while(TF1==0);TR0=0;}}void main(){while(1){TOG=0xff;delay(500);TOG=0x00;delay(500);}}B. Use Timer 0 , mode 2 to create delay.
- XLAT = 11.0592 MHz#include <reg51.h>#define TOG P2;void delay(int time){unsigned int i;TMOD=TMOD & 0xf0;TMOD=TMOD | 0x02;TH0=0xA3;for(i=0;i<time*10;i++){TR0=1;while(TF0==0);TR0=0;}}void main(){while(1){TOG=0xff;delay(500);TOG=0x00;delay(500);}}
- XLAT = 12 MHz#include <reg51.h>#define TOG P2;void delay(int time){unsigned int i;TMOD=TMOD & 0xf0;TMOD=TMOD | 0x02;TH0=156;for(i=0;i<time*10;i++){TR0=1;while(TF0==0);TR0=0;}}void main(){while(1){TOG=0xff;delay(500);TOG=0x00;delay(500);}}
- XLAT = 22 MHz#include <reg51.h>#define TOG P2;void delay(int time){unsigned int i;TMOD=TMOD & 0xf0;TMOD=TMOD | 0x02;TH0=72;for(i=0;i<time*10;i++){TR0=1;while(TF0==0);TR0=0;}}void main(){while(1){TOG=0xff;delay(500);TOG=0x00;delay(500);}}
No comments:
Post a Comment