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

📄 main.c

📁 单片机c语言程序设计100例--基于PIC+PROTEUS
💻 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 + -