Помощь!
Я новичок в сборке, использую atmelstudio7 и работаю на микроконтроллере atmega168A.
объяснение того, что я хочу: я определил программу для получения минимальной температуры от пользователя. И сравните его с текущей температурой, если Мин. ниже выключите питание (РФ в коде).
Проблема:
Я не знаю, как вызвать текущую температуру, какую переменную я должен вызвать, чтобы получить номер текущей температуры.? что я должен позвонить, чтобы прочитать номер текущей темп.
Код текущей температуры здесь:
show_temp: call append_space ;add a space character
ldi XH, 02
clr xl
rcall spit16_TC72 ;read temperature sensor, answer in temp2
cvt_temp: mov zl, temp2 ;provide reading value in temp2
sbrc temp2, 7
rjmp neg_temp
tpout: clr zh
rcall d3ascii
ret
neg_temp: neg zl ;take 2's complement
ldi temp2, '-' ;show negative
call append_char ;zl not touched
rjmp tpout
vbrs_temp: ldi temp, msg_temp ;===TEMPERATURE=======
rcall send_msg_colon_sp ;temp
rcall show_temp ;temperature
ldi temp, msg_celsius
jmp send_msg_cr_lf ;temperature
теперь мой код для получения данных от пользователя:
act101: rcall query_check ;spit out auto response (if no parm given)
Tflag=0
brtc act1010rsp ;check T flag (if no parm given) Tflag=0
sts TE_MINH, cmdhbyt
sts TE_MINL, cmdlbyt
act1010rsp: ldi yh, high (TE_MINH)
ldi yl, low (TE_MINH)
spitatemp: ld ZH, y+
ld ZL, y+
call d3ascii
call comp_MIN
ret
(у меня тоже проблема с вызовом mintemp в первый раз, когда я набираю mintemp (чтобы набрать последний mintemp, набранный в терминале), вывод: mintemp Z35 ??
Откуда это взялось? Я хочу, чтобы последний введенный минимальный темп.
ОСНОВНАЯ ПРОБЛЕМА: сравнение и отключение питания, если пользовательский mintemp ниже
comp_MIN: lds temp, spit16_TC72 ; current temperture.
lds temp2, act1010rsp ; user temperture
cp temp2, temp
brge putrfoff_
putrfoff_: cbi PORTC, PC_PA_ONOFF
ret
Я не знаю, является ли spit16_TC72 правильным для вызова, чтобы прочитать текущую температуру или нет, и где пользователь ввел min temp? вызов act1010rsp является правильным?
почему выключить (putrfoff_) не работает питание?
Заранее спасибо.