[an error occurred while processing this directive]
|
Пример кода
unsigned char DSReset(void)
// init for DS1990A device
// return code: 0 - success, 1 - fail
{
#pragma asm
// master TX "reset pulse 0" (480 < ... us)
L1:
clr DAL
// 500 us delay
mov B, #62
DEL500us:
mov RetCode, #200 // 8 us
djnz RetCode, $
djnz B, DEL500us
// clr EA
setb DAL
// sample DAL line after 16us (must be "1")
// 16 us delay
mov B, #2
DEL16us:
mov RetCode, #200 // 8 us
djnz RetCode, $
djnz B, DEL16us
mov C, DAL
jnc FAIL
// sample DAL line after 150us (master RX "presence pulse")
// 150 us delay
mov B, #18
DEL150us:
mov RetCode, #200 // 8 us
djnz RetCode, $
djnz B, DEL150us
mov C, DAL
jc FAIL
// sample DAL line after 100us (must be "1")
setb EA
// 100 us delay
mov B, #12
DEL100us:
mov RetCode, #200 // 8 us
djnz RetCode, $
djnz B, DEL100us
mov C, DAL
jc OK
FAIL: mov RetCode, #1
jmp RSTEXIT
OK: mov RetCode, #0
RSTEXIT:
#pragma endasm
EA=1;
return(RetCode);
}
В дереве проекта выбираете файл с вставкой, правой кнопкой выбираете свойства файла, ставите галки на всех пунктах, главное чтобы было отмечено Assemble SRC File и Generate Asm Src File
E-mail: info@telesys.ru