2407的一個C語言程序 有3兩個頭文件
一個是;全局變量寄存器和CPU中斷寄存器
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IMR .set 0004h ;中斷屏蔽寄存器
IFR .set 0006h ;中斷標志寄存器
;System Registers
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PIRQR0 .set 07010h ;外設中斷請求寄存器0
PIRQR1 .set 07011h ;外設中斷請求寄存器1
PIRQR2 .set 07012h ;外設中斷請求寄存器2
PIACKR0 .set 07014h ;外設中斷應答寄存器0
PIACKR1 .set 07015h ;外設中斷應答寄存器1
PIACKR2 .set 07016h ;外設中斷應答寄存器2
SCSR1 .set 07018h ;系統控制和狀態寄存器1
SCSR2 .set 07019h ;系統控制和狀態寄存器2
DINR .set 0701Ch ;
PIVR .set 0701Eh ;外設中斷向量寄存器
;WD 程序監視控制寄存器
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WDCNTR .set 07023h ;WD 計數器寄存器
WDKEY .set 07025h ;WDKey 寄存器
WDCR .set 07029h ;WD 控制寄存器
;串行外圍接口 (SPI) 寄存器
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SPICCR .set 07040h ;SPI 配置控制寄存器
SPICTL .set 07041h ;SPI 操作控制寄存器
SPISTS .set 07042h ;SPI 狀態寄存器
SPIBRR .set 07044h ;SPI 波特率寄存器
SPIEMU .set 07046h ;SPI 仿真緩沖寄存器
SPIRXBUF .set 07047h ;SPI 串行輸入緩沖寄存器
SPITXBUF .set 07048h ;SPI 串行輸入緩沖寄存器
SPIDAT .set 07049h ;SPI 串行數據寄存器
SPIPRI .set 0704Fh ;SPI 中斷優先級控制寄存器
;串行通訊接口 (SCI) 寄存器
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SCICCR .set 07050h ;SCI 通訊控制寄存器
SCICTL1 .set 07051h ;SCI 控制寄存器 1
SCIHBAUD .set 07052h ;SCI 波特率寄存器高位
SCILBAUD .set 07053h ;SCI 波特率寄存器低位
SCICTL2 .set 07054h ;SCI 控制寄存器 2
SCIRXST .set 07055h ;SCI 接受狀態寄存器
SCIRXEMU .set 07056h ;SCI 仿真數據緩沖寄存器
SCIRXBUF .set 07057h ;SCI 接受數據緩沖寄存器
SCITXBUF .set 07059h ;SCI 發送數據緩沖寄存器
SCIPRI .set 0705Fh ;SCI 中斷優先級控制寄存器
;外部中斷寄存器
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
XINT1CR .set 07070h ;中斷 1 控制寄存器
XINT2CR .set 07071h ;中斷 2 控制寄存器
;數據 I/O 控制寄存器
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MCRA .set 07090h ;Output Control Reg A
MCRB .set 07092h ;Output Control Reg B
MCRC .set 07094h ;Output Control Reg C
PEDATDIR .set 07095h ;I/O port E Data & Direction reg.
PFDATDIR .set 07096h ;I/O port F Data & Direction reg.
PADATDIR .set 07098h ;I/O port A Data & Direction reg.
PBDATDIR .set 0709Ah ;I/O port B Data & Direction reg.
PCDATDIR .set 0709Ch ;I/O port C Data & Direction reg.
PDDATDIR .set 0709Eh ;I/O port D Data & Direction reg.
;模數轉換(ADC) 寄存器
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ADCTRL1 .set 070A0h ;ADC 控制寄存器 1
ADCTRL2 .set 070A1h ;ADC 控制寄存器 2
MAXCONV .set 070A2h
CHSELSEQ1 .set 070A3h
CHSELSEQ2 .set 070A4h
CHSELSEQ3 .set 070A5h
CHSELSEQ4 .set 070A6h
AUTO_SEQ_SR .set 070A7h
RESULT0 .set 070A8h ;A/D轉換結果寄存器0
RESULT1 .set 070A9h ;A/D轉換結果寄存器1
RESULT2 .set 070AAh ;A/D轉換結果寄存器2
RESULT3 .set 070ABh ;A/D轉換結果寄存器3
RESULT4 .set 070ACh ;A/D轉換結果寄存器4
RESULT5 .set 070ADh ;A/D轉換結果寄存器5
RESULT6 .set 070AEh ;A/D轉換結果寄存器6
RESULT7 .set 070AFh ;A/D轉換結果寄存器7
RESULT8 .set 070B0h ;A/D轉換結果寄存器8
RESULT9 .set 070B1h ;A/D轉換結果寄存器9
RESULT10 .set 070B2h ;A/D轉換結果寄存器10
RESULT11 .set 070B3h ;A/D轉換結果寄存器11
RESULT12 .set 070B4h ;A/D轉換結果寄存器12
RESULT13 .set 070B5h ;A/D轉換結果寄存器13
RESULT14 .set 070B6h ;A/D轉換結果寄存器14
RESULT15 .set 070B7h ;A/D轉換結果寄存器15
CALIBRATION .set 070B8h
;CAN 配置控制寄存器
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MDER .set 07100h
TCR .set 07101h
RCR .set 07102h
MCR .set 07103h
BCR2 .set 07104h
BCR1 .set 07105h
ESR .set 07106h
GSR .set 07107h
CEC .set 07108h
CAN_IFR .set 07109h
CAN_IMR .set 0710Ah
LAM0_H .set 0710Bh
LAM0_L .set 0710Ch
LAM1_H .set 0710Dh
LAM1_L .set 0710Eh
;郵包#0
MSGID0L .set 07200h
MSGID0H .set 07201h
MSGCTRL0 .set 07202h
MBX0A .set 07204h
MBX0B .set 07205h
MBX0C .set 07206h
MBX0D .set 07207h
;郵包#1
MSGID1L .set 07208h
MSGID1H .set 07209h
MSGCTRL1 .set 0720Ah
MBX1A .set 0720Ch
MBX1B .set 0720Dh
MBX1C .set 0720Eh
MBX1D .set 0720Fh
;郵包#2
MSGID2L .set 07210h
MSGID2H .set 07211h
MSGCTRL2 .set 07212h
MBX2A .set 07214h
MBX2B .set 07215h
MBX2C .set 07216h
MBX2D .set 07217h
;郵包#3
MSGID3L .set 07218h
MSGID3H .set 07219h
MSGCTRL3 .set 0721Ah
MBX3A .set 0721Ch
MBX3B .set 0721Dh
MBX3C .set 0721Eh
MBX3D .set 0721Fh
;郵包#4
MSGID4L .set 07220h
MSGID4H .set 07221h
MSGCTRL4 .set 07222h
MBX4A .set 07224h
MBX4B .set 07225h
MBX4C .set 07226h
MBX4D .set 07227h
;郵包#5
MSGID5L .set 07228h
MSGID5H .set 07229h
MSGCTRL5 .set 0722Ah
MBX5A .set 0722Ch
MBX5B .set 0722Dh
MBX5C .set 0722Eh
MBX5D .set 0722Fh
;通用定時器 -- 事件管理器A (EVA)
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GPTCONA .set 07400h ;通用定時控制寄存器
T1CNT .set 07401h ;通用定時器 1 計數寄存器
T1CMPR .set 07402h ;通用定時器 1 比較寄存器
T1PR .set 07403h ;通用定時器 1 周期寄存器
T1CON .set 07404h ;通用定時器 1 控制寄存器
T2CNT .set 07405h ;通用定時器 2 計數寄存器
T2CMPR .set 07406h ;通用定時器 2 比較寄存器
T2PR .set 07407h ;通用定時器 2 周期寄存器
T2CON .set 07408h ;通用定時器 2 控制寄存器
;Full & Simple Compare Unit Registers --事件管理器A (EVA)
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
COMCONA .set 07411h ;比較控制寄存器 A
ACTRA .set 07413h ;全比較動作控制寄存器 A
DBTCONA .set 07415h ;死區時間控制寄存器 A
CMPR1 .set 07417h ;全比較單元 1 比較寄存器
CMPR2 .set 07418h ;全比較單元 2 比較寄存器
CMPR3 .set 07419h ;全比較單元 3 比較寄存器
;捕捉和正交編碼寄存器事件管理器(EVA)
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CAPCONA .set 07420h ;捕捉控制寄存器 A
CAPFIFOA .set 07422h ;捕捉FIFO 狀態寄存器 A
CAP1FIFO .set 07423h ;捕捉 1 二級 FIFO 寄存器
CAP2FIFO .set 07424h ;捕捉 2 二級 FIFO 寄存器
CAP3FIFO .set 07425h ;捕捉 3 二級 FIFO 寄存器
CAP1FBOT .set 07427h
CAP2FBOT .set 07428h
CAP3FBOT .set 07429h
;事件管理器 (EVA) 中斷控制寄存器
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
EVAIMRA .set 0742Ch ;事件管理器中斷屏蔽寄存器 A
EVAIMRB .set 0742Dh ;事件管理器中斷屏蔽寄存器 B
EVAIMRC .set 0742Eh ;事件管理器中斷屏蔽寄存器 C
EVAIFRA .set 0742Fh ;事件管理器中斷標志寄存器 A
EVAIFRB .set 07430h ;事件管理器中斷標志寄存器 B
EVAIFRC .set 07431h ;事件管理器中斷標志寄存器 C
;通用(GP)定時器配置控制寄存器--EVB
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GPTCONB .set 07500h
T3CNT .set 07501h
T3CMPR .set 07502h
T3PR .set 07503H
T3CON .set 07504h
T4CNT .set 07505h
T4CMPR .set 07506h
T4PR .set 07507H
T4CON .set 07508h
;比較單元寄存器--EVB
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
COMCONB .set 07511h
ACTRB .set 07513h
DBTCONB .set 07515h
CMPR4 .set 07517h
CMPR5 .set 07518h
CMPR6 .set 07519h
;捕捉單元寄存器--EVB
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CAPCONB .set 07520h
CAPFIFOB .set 07522h
CAP4FIFO .set 07523h
CAP5FIFO .set 07524h
CAP6FIFO .set 07525h
CAP4FBOT .set 07527h
CAP5FBOT .set 07528h
CAP6FBOT .set 07529h
;事件管理器 (EVB) 中斷控制寄存器
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
EVBIMRA .set 0752Ch ;事件管理器中斷屏蔽寄存器 A
EVBIMRB .set 0752Dh ;事件管理器中斷屏蔽寄存器 B
EVBIMRC .set 0752Eh ;事件管理器中斷屏蔽寄存器 C
EVBIFRA .set 0752Fh ;事件管理器中斷標志寄存器 A
EVBIFRB .set 07530h ;事件管理器中斷標志寄存器 B
EVBIFRC .set 07531h ;事件管理器中斷標志寄存器 C
;程序存儲器空間 --Flash 寄存器
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;PMPC .set 0h ;Flash 段控制寄存器
;CTRL .set 01h
;WADDR .set 2h ;Flash 寫地址寄存器
;WDATA .set 3h ;Flash 寫數據寄存器
;TCR .set 4h
;ENAB .set 5h
;SETC .set 6h
;I/O 存儲空間
FCMR .set 0FF0Fh
;等待狀態產生寄存器 (映射到 I/O 空間)
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WSGR .set 0FFFFh ;等待狀態產生寄存器
;數據存儲器塊地址
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
B0_SADDR .set 00200h ;塊 B0 開始地址
B0_EADDR .set 002FFh ;塊 B0 結束地址
B1_SADDR .set 00400h ;塊 B1 開始地址
B1_EADDR .set 004FFh ;塊 B1 結束地址
B2_SADDR .set 00060h ;塊 B2 開始地址
B2_EADDR .set 0007Fh ;塊 B2 結束地址
XDATA_SADDR .set 08000h ;外部數據空間開始地址
XDATA_EADDR .set 0FFFFh ;外部數據空間結束地址
;經常使用的數據頁
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DP_B2 .set 0 ;頁 0 數據空間
DP_B01 .set 4 ;頁 4 B0(200H/80H)
DP_B02 .set 5 ;頁 5 B0(280H/80H)
DP_B11 .set 6 ;頁 6 B1(300H/80H)
DP_B12 .set 7 ;頁 7 AD(380H/80H)
DP_SARAM1 .set 16 ;頁 1 SARAM(800h/80h)
DP_SARAM2 .set 26 ;頁 2 SARAM(0D00h/80h)
DP_SARAM3 .set 18 ;頁 3 SARAM(900h/80h)
DP_SARAM4 .set 19 ;頁 4 SARAM(980h/80h)
DP_PF1 .set 224 ;頁 1 外設幀文件 (7000h/80h)(0XE0)
DP_PF2 .set 225 ;頁 2 外設幀文件 (7080h/80h)(0XE1)
DP_CANCTL .set 226 ;頁 3 外設幀文件 (7100h/80h)(0XE2)
DP_PF4 .set 227 ;頁 4 外設幀文件(7180h/80h)(0XE3)
DP_CANMBX .set 228 ;頁 5 外設幀文件(7200h/80h)(0XE4)
DP_EVA .set 232 ;頁 0 事件管理器-EVA 文件 (7400h/80h)(0xE8)
DP_EVB .set 234 ;頁 0 事件管理器-EVB 文件 (7500h/80h)(0xE9)
;位測試指令的位代碼(BIT)
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BIT15 .set 0000h ;位代碼15
BIT14 .set 0001h ;位代碼14
BIT13 .set 0002h ;位代碼13
BIT12 .set 0003h ;位代碼12
BIT11 .set 0004h ;位代碼11
BIT10 .set 0005h ;位代碼10
BIT9 .set 0006h ;位代碼9
BIT8 .set 0007h ;位代碼8
BIT7 .set 0008h ;位代碼7
BIT6 .set 0009h ;位代碼6
BIT5 .set 000Ah ;位代碼5
BIT4 .set 000Bh ;位代碼4
BIT3 .set 000Ch ;位代碼3
BIT2 .set 000Dh ;位代碼2
BIT1 .set 000Eh ;位代碼1
BIT0 .set 000Fh ;位代碼 0
;用 SBIT0 和 SBIT1 宏屏蔽位
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
B15_MSK .set 8000h ;位屏蔽15
B14_MSK .set 4000h ;位屏蔽 14
B13_MSK .set 2000h ;位屏蔽 13
B12_MSK .set 1000h ;位屏蔽12
B11_MSK .set 0800h ;位屏蔽11
B10_MSK .set 0400h ;位屏蔽 10
B9_MSK .set 0200h ;位屏蔽 9
B8_MSK .set 0100h ;位屏蔽 8
B7_MSK .set 0080h ;位屏蔽 7
B6_MSK .set 0040h ;位屏蔽 6
B5_MSK .set 0020h ;位屏蔽 5
B4_MSK .set 0010h ;位屏蔽 4
B3_MSK .set 0008h ;位屏蔽3
B2_MSK .set 0004h ;位屏蔽 2
B1_MSK .set 0002h ;位屏蔽 1
B0_MSK .set 0001h ;位屏蔽 0
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;宏定義
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SBIT0 .macro DMA, MASK ;清位宏定義
LACC DMA
AND #(0FFFFh-MASK)
SACL DMA
.endm
SBIT1 .macro DMA, MASK ;置位宏定義
LACC DMA
OR #(MASK)
SACL DMA
.endm
KICK_DOG .macro ;程序監視器復位宏定義
LDP #00E0h ;DP→7000h~707Fh
SPLK #05555h, WDKEY ;WDCNTR由下一步復位被使能
SPLK #0AAAAh, WDKEY ;WDCNTR 被復位
.endm
DELAY_S .macro delay_value ;延時 = 0.05 μs × 延時計數
RPT #delay_value
NOP
.endm
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;以下為用戶自行定義的變量
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
另一個是
;/**********************************************/
;/* File Name: LF2407A.H */
;/**********************************************/
;/**********************************************/
;/* CPU core registers */
;/**********************************************/
_IMR .set 00004H ;中斷屏蔽寄存器
_IFR .set 00006H ;中斷標志寄存器
;/**********************************************/
;/* System configuration and interrupt register*/
;/**********************************************/
_SCSR1 .set 07018H ;系統控制/狀態寄存器1
_SCSR2 .set 07019H ;系統控制/狀態寄存器2
_PIVR .set 0701EH ;外部中斷向量寄存器
;/**********************************************/
;/* External interrupt configuration register */
;/**********************************************/
_XINT1CR .set 07070H ;外部中斷1控制寄存器
_XINT2CR .set 07071H ;外部中斷2控制寄存器
;/**********************************************/
;/* Digital I/O registers */
;/**********************************************/
_MCRA .set 07090H ;PA口的控制寄存器
_MCRB .set 07092H ;PB口的控制寄存器
_MCRC .set 07094H ;PE口和PF口的控制寄存器
_PADATDIR .set 07098H ;PA口的方向數據寄存器
_PBDATDIR .set 0709AH ;PB口的方向數據寄存器
_PCDATDIR .set 0709CH ;PC口的方向數據寄存器
_PEDATDIR .set 07095H ;PE口的方向數據寄存器
_PFDATDIR .set 07096h ;I/O port F Data & Direction reg.
;/**********************************************/
;/*Watchdog (WD) registers */
;/**********************************************/
_WDCNTR .set 07023H ;WD計數器
_WDKEY .set 07025H ;WD鍵值
_WDCR .set 07029H ;WD控制寄存器
;/**********************************************/
;/* SCI registers */
;/**********************************************/
_SCICCR .set 07050H ;SCI通信控制寄存器
_SCICTL1 .set 07051H ;SCI控制寄存器1
_SCIHBAUD .set 07052H ;SCI波特率寄存器(高位)
_SCILBAUD .set 07053H ;SCI波特率寄存器(低位)
_SCICTL2 .set 07054H ;SCI控制寄存器2
_SCIRXST .set 07055H ;SCI接收狀態寄存器
_SCIRXEMU .set 07056H ;SCI仿真數據緩沖寄存器
_SCIRXBUF .set 07057H ;SCI接收數據緩沖寄存器
_SCITXBUF .set 07059H ;SCI發送數據緩沖寄存器
_SCIPRI .set 0705FH ;SCI中斷優先級控制寄存器
;/**********************************************/
;/*ADC registers */
;/**********************************************/
_ADCTRL1 .set 070A0H ;ADC控制寄存器1
_ADCTRL2 .set 070A1H ;ADC控制寄存器2
_MAXCONV .set 070A2H ;最大轉換通道寄存器
_CHSELSEQ1 .set 070A3H ;通道選擇時序控制寄存器1
_CHSELSEQ2 .set 070A4H ;通道選擇時序控制寄存器2
_CHSELSEQ3 .set 070A5H ;通道選擇時序控制寄存器3
_CHSELSEQ4 .set 070A6H ;通道選擇時序控制寄存器4
_AUTO_SEQ_SR .set 070A7H ;自動時序狀態寄存器
_RESULT0 .set 070A8H ;轉換結果寄存器0
_RESULT1 .set 070A9H ;轉換結果寄存器1
_RESULT2 .set 070AAH ;轉換結果寄存器2
_RESULT3 .set 070ABH ;轉換結果寄存器3
_RESULT4 .set 070ACH ;轉換結果寄存器4
_RESULT8 .set 070B0H ;轉換結果寄存器8
_RESULT9 .set 070B1H ;轉換結果寄存器9
;/**********************************************/
;/* CAN Registers */
;/**********************************************/
_CANMDER .set 07100H ;緩沖使能/通信方向
_CANTCR .set 07101H ;發送控制
_CANRCR .set 07102H ;接收控制
_CANMCR .set 07103H ;主控
_CANBCR2 .set 07104H ;位配置2
_CANBCR1 .set 07105H ;位配置1
_CANESR .set 07106H ;錯誤狀態
_CANGSR .set 07107H ;全局狀態
_CANCEC .set 07108H ;發送/接收錯誤計數
_CANIFR .set 07109H ;中斷標志
_CANIMR .set 0710AH ;中斷屏蔽
_CANLAM0H .set 0710BH ;接收屏蔽:mbox0/1
_CANLAM0L .set 0710CH ;接收屏蔽:mbox0/1
_CANLAM1H .set 0710DH ;接收屏蔽:mbox2/3
_CANLAM1L .set 0710EH ;接收屏蔽:mbox2/3
DP_CANBOX .set 0E4H
_CANID0L .set 07200H ;ID for mbox 0(lower)
_CANID0H .set 07201H ;ID for mbox 0(upper)
_CANCTRL0 .set 07202H ;RTR and DLC
_CANBX0A .set 07204H
_CANBX0B .set 07205H
_CANBX0C .set 07206H
_CANBX0D .set 07207H
_CANID1L .set 07208H ;ID for mbox 1(lower)
_CANID1H .set 07209H ;ID for mbox 1(upper)
_CANCTRL1 .set 0720AH ;RTR and DLC
_CANBX1A .set 0720CH
_CANBX1B .set 0720DH
_CANBX1C .set 0720EH
_CANBX1D .set 0720FH
_CANID2L .set 07210H ;ID for mbox 2(lower)
_CANID2H .set 07211H ;ID for mbox 2(upper)
_CANCTRL2 .set 07212H ;RTR and DLC
_CANBX2A .set 07214H
_CANBX2B .set 07215H
_CANBX2C .set 07216H
_CANBX2D .set 07217H
_CANID3L .set 07218H ;ID for mbox 3(lower)
_CANID3H .set 07219H ;ID for mbox 3(upper)
_CANCTRL3 .set 0721AH ;RTR and DLC
_CANBX3A .set 0721CH
_CANBX3B .set 0721DH
_CANBX3C .set 0721EH
_CANBX3D .set 0721FH
_CANID4L .set 07220H ;ID for mbox 4(lower)
_CANID4H .set 07221H ;ID for mbox 4(upper)
_CANCTRL4 .set 07222H ;RTR and DLC
_CANBX4A .set 07224H
_CANBX4B .set 07225H
_CANBX4C .set 07226H
_CANBX4D .set 07227H
_CANID5L .set 07228H ;ID for mbox 5(lower)
_CANID5H .set 07229H ;ID for mbox 5(upper)
_CANCTRL5 .set 0722AH ;RTR and DLC
_CANBX5A .set 0722CH
_CANBX5B .set 0722DH
_CANBX5C .set 0722EH
_CANBX5D .set 0722FH
;/**********************************************/
;/* EVA Control Registers */
;/**********************************************/
_GPTCONA .set 07400H ;全局通用定時器控制寄存器
_T1CNT .set 07401H ;T1計數寄存器
_T1PR .set 07403H ;通用定時器的周期寄存器
_T1CON .set 07404H ;定時器控制寄存器
_T2CNT .set 07405H ;T2計數寄存器
_T2PR .set 07407H ;T2的周期寄存器
_T2CON .set 07408H ;T2的控制寄存器
_ACTRA .set 07413H
_DBTCONA .set 07415H
_CMPR1 .set 07417H
_COMCONA .set 07411H
_EVAIMRA .set 0742CH
_EVAIMRB .set 0742DH
_EVAIFRA .set 0742FH
_EVAIFRB .set 07430H
_GPTCONB .set 07500H
_T3CNT .set 07501H
_T3CMPR .set 07502H
_T3PR .set 07503H
_T3CON .set 07504H
_EVBIMRA .set 0752CH
_EVBIFRA .set 0752FH
;/**********************************************/
;/* I/O space mapped registers */
;/**********************************************/
_WSGR .set 0FFFFH ;Wait-state Generator Control register
幾乎完全相同,然后在中斷向量表的ASM文件中又是這樣
;define.asm
.include "lf2407a.h"
.include "F2407REGS.H"
.global _c_int0,_c_int1,_c_int2
.global _IMR,_IFR
.global _SCSR1,_SCSR2,_XINT1CR,_XINT2CR
.global _WDCNTR,_WDKEY,_WDCR
.global _MCRA,_MCRB,_MCRC,_PADATDIR,_PBDATDIR,_PCDATDIR,_PEDATDIR,_PFDATDIR
.global _ADCTRL1,_ADCTRL2,_MAXCONV,_CHSELSEQ1,_CHSELSEQ2,_CHSELSEQ3,_CHSELSEQ4
.global _AUTO_SEQ_SR,_RESULT0,_RESULT1,_RESULT2,_RESULT8,_RESULT9
.global _CANMDER,_CANTCR,_CANRCR,_CANMCR,_CANBCR2,_CANBCR1,_CANESR,_CANGSR
.global _CANCEC,_CANIFR,_CANIMR,_CANLAM0H,_CANLAM0L
.global _CANID0L,_CANID0H,_CANCTRL0,_CANBX0A,_CANBX0B,_CANBX0C,_CANBX0D
.global _CANID1L,_CANID1H,_CANCTRL1,_CANBX1A,_CANBX1B,_CANBX1C,_CANBX1D
.global _CANID2L,_CANID2H,_CANCTRL2,_CANBX2A,_CANBX2B,_CANBX2C,_CANBX2D
.global _CANID3L,_CANID3H,_CANCTRL3,_CANBX3A,_CANBX3B,_CANBX3C,_CANBX3D
.global _CANID4L,_CANID4H,_CANCTRL4,_CANBX4A,_CANBX4B,_CANBX4C,_CANBX4D
.global _CANID5L,_CANID5H,_CANCTRL5,_CANBX5A,_CANBX5B,_CANBX5C,_CANBX5D
.global _SCICCR,_SCICTL1,_SCIHBAUD,_SCILBAUD,_SCICTL2,_SCIRXST,_SCIRXEMU,_SCIRXBUF,_SCITXBUF,_SCIPRI;
.global _GPTCONA,_T1CNT,_T1PR,_T1CON,_T2CNT,_T2PR,_T2CON
.global _EVAIMRA,_EVAIMRB,_EVAIFRA,_EVAIFRB,_PIVR
.global _GPTCONB,_T3CNT,_T3CMPR,_T3PR,_T3CON,_COMCONA,_ACTRA,_DBTCONA,_CMPR1,_EVBIMRA,_EVBIFRA
.global _WSGR
;建立中斷向量表
.sect ".vectors"
RSVECT B _c_int0
INT1 B PHANTOM
INT2 B _c_int2
INT3 B PHANTOM
INT4 B PHANTOM
INT5 B PHANTOM
INT6 B PHANTOM
;中斷子向量入口定義
.text
PHANTOM:
KICK_DOG
RET
.end
把一些寄存器前面寫了一橫定義成全局變量
請教高手 為什么這樣設置 還有 寄存器前加橫什么意思
請教高手
全部回復(0)
正序查看
倒序查看
現在還沒有回復呢,說說你的想法