We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I've written this program for AT89S52 to control a servo.The signal pin of the servo is connected to the P1_0 of the chips and a LED is connected to the P2_7 of the chip.When I turned the circuit on the servo had no response and only the LED have lit up.Please help me to check if there is any mistake in my program.
#include<AT89X52.h> unsigned int PWMHIGH; sbit PWM=P1^0; void timer0 () interrupt 1 { TL0 = (65536- 20000) & 0xFF; //20ms TH0 = ((65536-20000) & 0xFF00) >> 8; TL1 = (65536-PWMHIGH) & 0xFF; //1.5ms TH1 = ((65536-PWMHIGH) & 0xFF00)>>8; PWM = 1; TR1 = 1; } void timer1 () interrupt 3 { PWM = 0; TR1 = 0; } void main() { P2_7=0; IE = 0x8A; // EA, Timer0, Timer 1 // Timer0 , Timer1 Mode1 TMOD= 0x11; PWMHIGH = 1000; // on time //timer turn on TR0 = 1; TF0 = 1; while(1); }
This reminds me of a CACM letter hmmm www.cs.utexas.edu/.../EWD215.PDF I think it was maybe?
Stephen
Prof. Dijkstra was a great computer scientist indeed. See here:
One of his most famous algorithms: en.wikipedia.org/.../Dijkstra's_algorithm
and about the man:
en.wikipedia.org/.../Edsgar_Dijkstra