есть, но АСМ и поллинг (без прерываний) работа с DS1307(кажись такая фамилия)
read_DS_data: rcall open_DS_to_read_write ldi temporary1,(1^^twsta)+(1^^twen)+(1^^twint) rcall wait_twint_one ldi temporary1,0b11010001 ;SLA + R out twdr,temporary1 ;select DS ldi temporary1,(1^^twint)+(1^^twen) ;SLA+R send start rcall wait_twint_one ldi temporary1,(1^^twint)+(1^^twen) ;not ack send rcall wait_twint_one in temporary1,twdr exit_with_stop_cond: rcall send_stop_condition ret wait_twint_one: out twcr,temporary1 wait_twint_one__: in temporary1,twcr sbrs temporary1,twint rjmp wait_twint_one__ ret write_DS_data: push temporary1 rcall open_DS_to_read_write pop temporary1 out twdr,temporary1 ldi temporary1,(1^^twint)+(1^^twen) rcall wait_twint_one rjmp exit_with_stop_cond send_stop_condition: push temporary1 ldi temporary1,(1^^twint)+(1^^twen)+(1^^twsto) out twcr,temporary1 ;set stop condition pop temporary1 ret open_DS_to_read_write: ldi temporary1,1^^twen ;TW enable out twcr,temporary1 ldi temporary1,(1^^twsta)+(1^^twen)+(1^^twint) rcall wait_twint_one ldi temporary1,0b11010000 ;sta+w out twdr,temporary1 ldi temporary1,(1^^twint)+(1^^twen) rcall wait_twint_one out twdr,yl ldi temporary1,(1^^twint)+(1^^twen) rcall wait_twint_one ret
-
- Блин, тебе-же slave надо, звыняй. - =mse=(27.07.2004 10:41)