Intel 8XC196MC User Manual page 196

Table of Contents

Advertisement

cmpb buf_cnt,#0
jne
ljmp all_done
dec_buf_cnt:
decb buf_cnt
;
get_bit:
andb flag,#11011111b
shlb shift_reg,#1
jc
;
send_zero:
orb
ldb
ldb
add
ldb
orb
ldb
sjmp done
send_one:
orb
ldb
ldb
add
ldb
orb
ldb
sjmp done
;
zero_pause:
andb flag,#11111110b
ldb
andb p7_mode_w,#01111111b
ldb
ldb
add
ldb
sjmp next
;
one_pause:
andb flag,#11111101b
ldb
andb p7_mode_w,#01111111b
ldb
ldb
add
ldb
;
next:
decb bit_cnt
cmpb bit_cnt,#00H
jne
orb
sjmp done
next1:
orb
sjmp done
;
all_done:
ldb
done:
popa
ret
;
end
dec_buf_cnt
send_one
flag,#00000001b
wsr,#7BH
comp3_con_w,#01000000b
comp3_time_w,timer1_w,#zero_time
wsr,#7EH
p7_mode_w,#10000000b
wsr,zero_reg
flag,#00000010b
wsr,#7BH
comp3_con_w,#01000000b
comp3_time_w,timer1_w,#one_time
wsr,#7EH
p7_mode_w,#10000000b
wsr,zero_reg
wsr,#7EH
wsr,#7BH
comp3_con_w,#01000000b
comp3_time_w,timer1_w,#zero_pause_time
wsr,zero_reg
wsr,#7EH
wsr,#7BH
comp3_con_w,#01000000b
comp3_time_w,timer1_w,#one_pause_time
wsr,zero_reg
next1
flag,#01000000b
flag,#00100000b
flag,#00H
Get other manuals https://www.bkmanuals.com
FREQUENCY GENERATOR
;see if last byte has been sent
;no!
;yes!
;decrement byte count
;clear get bit flag
;shift MSB into carry flag
;send a one
;else send zero
;set zero's flag
;set up EPA
;start FREQOUT
;set one's flag
;set up EPA
;start FREQOUT
;turn off zero flag
;turn off FREQOUT
;set up EPA
;turn off one flag
;turn off FREQOUT
;set up EPA
;decrement bit count
;check if 8 bits sent
;no, get next bit
;yes, get next byte
;done for now
;set get bit flag
;clear all flags
8-9

Advertisement

Table of Contents
loading

This manual is also suitable for:

8xc196md8xc196mh

Table of Contents