?? ch452_pin_define.h
字號(hào):
// 硬件相關(guān)定義, 請(qǐng)根據(jù)實(shí)際硬件修改本文件
#include <reg52.h>
//#include <intrins.h>
#pragma NOAREGS // 如果MCS51使用鍵盤中斷功能,那么建議加入此編譯選項(xiàng)
//#define ENABLE_2_CH452 1 // 在2線接口下支持兩個(gè)CH452芯片并聯(lián)
/* 延時(shí)1uS子程序,主要用于2線接口,與單片機(jī)速度有關(guān) */
//#define DELAY_1US {} // MCS51<=10MHz
//#define DELAY_1US {_nop_();} // MCS51<=20MHz
#define DELAY_1US {_nop_();_nop_();} // MCS51<=30MHz
/* 2線接口的連接,與實(shí)際電路有關(guān) */
sbit CH452_SCL=P1^7;
sbit CH452_SDA=P1^6; // 如果使用真正的2線接口,那么SDA接中斷引腳P3^3/INT1,用SDA直接做中斷輸出
//sbit CH452_ADDR=P1^5; // 實(shí)際電路應(yīng)該硬件接GND或者VCC
sbit CH452_INT=P3^3; // 標(biāo)準(zhǔn)的2線接口使用該引腳輸出中斷
/* 4線接口的連接,與實(shí)際電路有關(guān) */
sbit CH452_DCLK=P1^7; // 串行數(shù)據(jù)時(shí)鐘上升延激活
sbit CH452_DIN=P1^6; // 串行數(shù)據(jù)輸出,接CH452的數(shù)據(jù)輸入
sbit CH452_LOAD=P1^4; // 串行命令加載,上升延激活
sbit CH452_DOUT=P1^5; // INT1,鍵盤中斷和鍵值數(shù)據(jù)輸入,接CH452的數(shù)據(jù)輸出
/* 2線接口的位操作,與單片機(jī)有關(guān) */
#define CH452_SCL_SET {CH452_SCL=1;}
#define CH452_SCL_CLR {CH452_SCL=0;}
#define CH452_SCL_D_OUT {} // 設(shè)置SCL為輸出方向,對(duì)于雙向I/O需切換為輸出
#define CH452_SDA_SET {CH452_SDA=1;}
#define CH452_SDA_CLR {CH452_SDA=0;}
#define CH452_SDA_IN (CH452_SDA)
#define CH452_SDA_D_OUT {} // 設(shè)置SDA為輸出方向,對(duì)于雙向I/O需切換為輸出
#define CH452_SDA_D_IN {CH452_SDA=1;} // 設(shè)置SDA為輸入方向,對(duì)于雙向I/O需切換為輸入
/* 4線接口的位操作,與單片機(jī)有關(guān) */
#define CH452_DCLK_SET {CH452_DCLK=1;}
#define CH452_DCLK_CLR {CH452_DCLK=0;}
#define CH452_DCLK_D_OUT {} // 設(shè)置DCLK為輸出方向,對(duì)于雙向I/O需切換為輸出
#define CH452_DIN_SET {CH452_DIN=1;}
#define CH452_DIN_CLR {CH452_DIN=0;}
#define CH452_DIN_D_OUT {} // 設(shè)置DIN為輸出方向,對(duì)于雙向I/O需切換為輸出
#define CH452_LOAD_SET {CH452_LOAD=1;}
#define CH452_LOAD_CLR {CH452_LOAD=0;}
#define CH452_LOAD_D_OUT {} // 設(shè)置LOAD為輸出方向,對(duì)于雙向I/O需切換為輸出
#define CH452_DOUT_D_IN {CH452_DOUT=1;} // 設(shè)置DOUT為輸入方向,對(duì)于雙向I/O需切換為輸入
/* 與單片機(jī)有關(guān),與中斷連接方式有關(guān) */
//#define USE_CH452_KEY 1 // 使用了CH452的按鍵中斷
#ifdef USE_CH452_KEY
#define DISABLE_KEY_INTERRUPT {EX1=0;}
#define ENABLE_KEY_INTERRUPT {EX1=1;}
#define CLEAR_KEY_INTER_FLAG {IE1=0;}
#else
#define DISABLE_KEY_INTERRUPT {}
#define ENABLE_KEY_INTERRUPT {}
#define CLEAR_KEY_INTER_FLAG {}
#endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -