By: Masud-ul-Hasan
22
Ex4-3: 1 kHz Square Wave
Write a program using Timer 0 to create a 1 kHz square wave on P1.0.
ORG   0000H
MOV TMOD, #01H ;16-bit mode
LOOP: MOV TH0, # FEH   ;T= 1/1kHz=1000µs
MOV TL0, # 0CH    ;-500=FE0CH
SETB  TR0     ;start timer
WAIT: JNB  TF0, WAIT     ;wait for overflow
CLR TR0     ;stop timer
CLR TF0     ;clear overflow flag
CPL   P1.0     ;toggle port bit
SJMP LOOP     ;repeat
  END