На С говоришь?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено vilkin 22 июля 2003 г. 18:16
В ответ на: Дядьки, помогите подружить DS1990A c контроллером,а то у меня шифер шуршать начинает (+) отправлено AT90S2313 22 июля 2003 г. 09:08

[pre]
/* Dallas Semiconductor DS1990 Serial Number
1 Wire iButton demo

CodeVisionAVR C Compiler
(C) 2000-2002 HP InfoTech S.R.L.
www.hpinfotech.ro

Chip: AT90S8515
Memory Model: SMALL
Data Stack Size: 128 bytes

specify the port and bit used for the 1 Wire bus

The DS1990 devices are connected to
bit 6 of PORTA of the AT90S8515 on the STK500
development board as follows:

[DS1990] [PORTA header]
1 GND - 9 GND
2 DATA - 7 PA6

All the devices must be connected in parallel

A 4.7k PULLUP RESISTOR MUST BE CONNECTED
BETWEEN DATA (PA6) AND PORTA HEADER PIN 10 (VTG) !

In order to use the RS232 SPARE connector
on the STK500, the following connections must
be made:
[RS232 SPARE header] [PORTD header]
RXD - 1 PD0
TXD - 2 PD1
*/
#asm
.equ __w1_port=0x1b
.equ __w1_bit=6
#endasm

#include <1wire.h>
#include <90s8515.h>
#include

#define DS1990_FAMILY_CODE 1
#define SEARCH_ROM 0xF0

/* DS1990 devices ROM code storage area,
9 bytes are used for each device
(see the w1_search function description),
but only the first 8 bytes contain the ROM code
and CRC */
#define MAX_DEVICES 8
unsigned char rom_code[MAX_DEVICES,9];

main() {
unsigned char i,j,devices;
unsigned char n=1;
// init UART
UCR=8;
UBRR=23; // Baud=9600 @ 3.6864MHz
// print welcome message
printf("DS1990 Serial Number iButton demo\n\r");

// detect how many 1 Wire devices are present on the bus
devices=w1_search(SEARCH_ROM,&rom_code[0,0]);
printf("%u device(s) found\n\r",devices);
for (i=0;i // make sure to select only the DS1990 types
if (rom_code[i,0]==DS1990_FAMILY_CODE)
{
printf("DS1990 #%u serial number:",n++);
for (j=1;j<=6;j++)
printf(" %02X",rom_code[i,j]);
printf("\n\r");
};
}
[/pre]

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru