⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ds1990.c

📁 AVR单片机的C语言源程序,包括按键扫描EEPROM通讯LCD显示数码管显示等等的源程序DEMO代码
💻 C
字号:
/* Dallas Semiconductor DS1990 Serial Number
   1 Wire iButton demo

   CodeVisionAVR C Compiler
   (C) 2000-2005 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 <stdio.h>

#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<devices;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");
       };
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -