?? main.c
字號:
//-----------------------------------------------------------------
// 名稱: 1-Wire可尋址開關DS2405應用測試
//-----------------------------------------------------------------
// 說明: 本例使用了1-Wire式可尋址開關器件DS2405,連接單片機的三個
// 按鍵可通過單片機分別控制三個繼電器的開關,各繼電器的開關
// 狀態將顯示在串行LCD顯示屏上.
//
//-----------------------------------------------------------------
#include <htc.h>
#include <stdio.h>
#include "DS2405.h"
//三只DS2405的ROMCODE
const INT8U DS2405_ROMCODE[][8] =
{ {0x05,0xC5,0xC3,0x08,0x00,0x00,0x00,0xCD},
{0x05,0xB3,0xBF,0x08,0x00,0x00,0x00,0xAB},
{0x05,0xB4,0xBF,0x08,0x00,0x00,0x00,0x2E}
};
//按鍵定義
#define K1_DOWN() (RB0 == 0)
#define K2_DOWN() (RB2 == 0)
#define K3_DOWN() (RB4 == 0)
//-----------------------------------------------------------------
// 延時函數
//-----------------------------------------------------------------
void delay100Xms(INT8U x)
{
while (x--) __delay_ms(100);
}
//-----------------------------------------------------------------
// 寫LCD命令
//-----------------------------------------------------------------
void Write_LCD_COMMAND(INT8U comm)
{
}
//-----------------------------------------------------------------
// 設置顯示位置
//-----------------------------------------------------------------
void set_lcd_pos(INT8U r, INT8U c)
{
//LCD 1~4行DDRAM起始地址表
INT8U DDRAM_addr[] = {0,0x80,0xC0,0x94,0xD4};
//設置顯示起始位置(x,y)
}
//-----------------------------------------------------------------
// 發送ROM匹配命令切換開關,并根據讀取的開關狀態控制LCD顯示
//-----------------------------------------------------------------
void MatchRom_and_read_Staus(INT8U idx)
{
//發送ROM MATCH命令切換開關
//設置LCD顯示位置
//根據讀取的開關狀態控制LCD顯示ON/OFF
}
//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
void main()
{
INT8U i,j,Count,ROMCODE[8],LCD_Buffer[21];
//USART初始化
//調用PICC-18串口初始化庫函數
OpenUSART( USART_TX_INT_OFF &
USART_RX_INT_OFF &
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_BRGH_HIGH,
_XTAL_FREQ/16/9600 - 1
);
//初始化按鍵輸入端口,內部上拉
TRISB = 0xFF; RBPU = 0;
delay100Xms(4);
set_lcd_pos(1,0); putsUSART((char*)"DS2405 NETWORK TEST");
set_lcd_pos(2,0); putsUSART((char*)"NODE 1#: OFF");
set_lcd_pos(3,0); putsUSART((char*)"NODE 2#: OFF");
set_lcd_pos(4,0); putsUSART((char*)"NODE 3#: OFF");
while(1)
{
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -