?? define.h
字號:
/**************************************************************************************
項 目:基于CAN總線的自收發通信(節點1)
說 明:宏定義、管腳定義
模 塊:define.h
作 者:PIAE GROUP
注釋修改者:特 權
修改 時間:08.6.17.
**************************************************************************************/
/***感謝PIAE工作組提供的源碼,這里特權根據自己的編程習慣做了一些修改并添加詳細注釋***/
#define uchar unsigned char //宏定義
#define uint unsigned int //宏定義
#define N_can 13 //N_can代表一幀字節數
bit TXD_flag = 0; //若TXD_flag=1,要求發送處理
bit RXD_flag = 0; //RXD_flag=0說明無數據可以接收,RXD_flag=1說明有數據可以接收
/*數碼管顯示數值表*/
uchar code led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92, // 0, 1, 2, 3, 4, 5
0x82,0xf8,0x80,0x90, 0xff}; // 6, 7, 8, 9, (不顯示)
uchar TX_buffer[13]; //接收的13個字節數據(//發送的數據)
uchar RX_buffer[13]; //接收的13個字節數據
uchar Txd_data = 0; //CAN總線要發送的數據,也是要在數碼管1-2位置顯示的數據
uchar Rxd_data = 0; //CAN總線要接收的數據,也是要在數碼管3-4位置顯示的數據
/*P2口的管腳定義*/
sbit LED_RED = P2^1; //該I/0口接紅LED
sbit LED_GRE = P2^2; //該I/0口接綠LED
sbit SJA_RST = P2^3; //SJA1000復位管腳,低電平有效
sbit SJA_CS = P2^0; //SJA1000片選管腳,低電平有效
sbit LED_0 = P2^7; //數碼管0
sbit LED_1 = P2^6; //數碼管1
sbit LED_2 = P2^5; //數碼管2
sbit LED_3 = P2^4; //數碼管3
/*P3口的管腳定義*/
sbit SJA_RD = P3^7;
sbit SJA_WR = P3^6;
/*CAN總線SJA1000寄存器地址定義(用的是PeliCAN模式,擴展幀EFF模式)*/
//xdata ----> 可尋址片外ram (64k地址范圍:0000H-FFFFH)
uchar xdata MODR _at_ 0xFE00; // 模式寄存器
uchar xdata CMR _at_ 0xFE01; // 命令寄存器
uchar xdata SR _at_ 0xFE02; // 狀態寄存器
uchar xdata IR _at_ 0xFE03; // 中斷寄存器
uchar xdata IER _at_ 0xFE04; // 中斷使能寄存器
uchar xdata BTR0 _at_ 0xFE06; // 總線定時寄存器0 ;總線波特率的選擇
uchar xdata BTR1 _at_ 0xFE07; // 總線定時寄存器1 ;總線波特率的選擇
uchar xdata OCR _at_ 0xFE08; // 輸出控制寄存器
// 驗收代碼寄存器(16-19)
uchar xdata ACR0 _at_ 0xFE10;//16;
uchar xdata ACR1 _at_ 0xFE11;//17;
uchar xdata ACR2 _at_ 0xFE12;//18;
uchar xdata ACR3 _at_ 0xFE13;//19;
// 驗收屏蔽寄存器(20-23)
uchar xdata AMR0 _at_ 0xFE14;//20;
uchar xdata AMR1 _at_ 0xFE15;//21;
uchar xdata AMR2 _at_ 0xFE16;//22;
uchar xdata AMR3 _at_ 0xFE17;//23;
uchar xdata CDR _at_ 0xFE1F;//31; // 時鐘分頻器
uchar xdata ALC _at_ 0xFE0B;//11; // 仲裁丟失捕捉寄存器
uchar xdata ECC _at_ 0xFE0C;//12; // 誤碼捕捉寄存器
// 發送緩沖器地址(16-28)
uchar xdata TBSR0 _at_ 0xFE10;//16;//TX幀信息
uchar xdata TBSR1 _at_ 0xFE11;//17;//TX識別碼1 (ID.21-ID.28)
uchar xdata TBSR2 _at_ 0xFE12;//18;//TX識別碼2 (ID.13-ID.20)
uchar xdata TBSR3 _at_ 0xFE13;//19;//TX識別碼3 (ID.5-ID.12)
uchar xdata TBSR4 _at_ 0xFE14;//20;//TX識別碼4(高5位是ID.0-ID.4)
uchar xdata TBSR5 _at_ 0xFE15;//21;//數據1
uchar xdata TBSR6 _at_ 0xFE16;//22;//數據2
uchar xdata TBSR7 _at_ 0xFE17;//23;//數據3
uchar xdata TBSR8 _at_ 0xFE18;//24;//數據4
uchar xdata TBSR9 _at_ 0xFE19;//25;//數據5
uchar xdata TBSR10 _at_ 0xFE1A;//26;//數據6
uchar xdata TBSR11 _at_ 0xFE1B;//27;//數據7
uchar xdata TBSR12 _at_ 0xFE1C;//28;//數據8
// 接收緩沖器地址(16-28)
uchar xdata RBSR0 _at_ 0xFE10;//16;
uchar xdata RBSR1 _at_ 0xFE11;//17;
uchar xdata RBSR2 _at_ 0xFE12;//18;
uchar xdata RBSR3 _at_ 0xFE13;//19;
uchar xdata RBSR4 _at_ 0xFE14;//20;
uchar xdata RBSR5 _at_ 0xFE15;//21;
uchar xdata RBSR6 _at_ 0xFE16;//22;
uchar xdata RBSR7 _at_ 0xFE17;//23;
uchar xdata RBSR8 _at_ 0xFE18;//24;
uchar xdata RBSR9 _at_ 0xFE19;//25;
uchar xdata RBSR10 _at_ 0xFE1A;//26;
uchar xdata RBSR11 _at_ 0xFE1B;//27;
uchar xdata RBSR12 _at_ 0xFE1C;//28;
/*子函數申明*/
void init_mcu(void);
void init_sja1000(void);
void rxd_deal(void);
void txd_deal(void);
void can_txd(void);
void delay(uchar);
void led_show(uchar,uchar);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -