Глава 10.
FSK модуляция и демодуляция с использованием микроконтроллера...
#CLOCK,global_status ; фронт синхроимпульса устанавливается в середине цикла для выполнения выборки данных, но это не используется в данной программе. |
#2 0,bit_data data_is_space |
count down bits |
#CLOCK,global_status /очистка бита ; внутренней синхрони-; зации. # б,bit_sync_timer #1,cycle_counter /определение ; положения для следу-; ющего цикла - 5 ; или б do б counts |
#3,cycle_counter #5,bit_sync_timer |
#-7,bit_lead_lag compensate_lag |
bis .b
стр jge
data is mark
#ТРЕ 5,&TPD |
bic.b
clrc
jmp done_bit_sync:
reti data_is_space
#TPE 5,&TPD |
bis .b
data word |
setc count_down_bits
rrc
reti load new timer value:
bic.b #TPE 3,&TPD
bic.b
mov sub.b
jnz do_5_counts
mov.b mov
cmp
jl reti
В этой точке устанавливается С
если значение равно 5, то нам надо компенсировать опережение
Библиотека Компэла
Ь