?? c54init.asm
字號:
************************** c54init.asm ********************
.mmregs
.include c54.inc
.global _c54init
.sect "progsys"
_c54init:
*SWWSR :SoftWare Wait-State Register Address 0028h
* -------------------------------------------------------------------------
* | 15 | 14 12 | 11 9 | 8 6 | 5 3 | 2 0 |
* -------------------------------------------------------------------------
* | XPA | I/O | Data | Data | Program | Program |
* -------------------------------------------------------------------------
STM #0x7208,SWWSR ;0 111 001 000 001 000
*I/O空間為7個等待周期
*數據空間8000h-FFFFh為1個等待周期
*數據空間0000h-7FFFh為0個等待周期
*程序空間8000h-FFFFh為1個等待周期
*程序空間0000h-7FFFh為0個等待周期
*SWCR :SoftWare Wait-State Conctrol Register Address 002Bh
* -------------------------------------------------------------------------
* | | 0 |
* -------------------------------------------------------------------------
* | | SWSM |
* -------------------------------------------------------------------------
STM #0,SWCR
*等待周期不變
*(STM #1,SWCR 等待周期加倍)
*
*
*BSCR :Programabel bank-switching wait states Address 0029h
* -------------------------------------------------------------------------
* | 15 12 | 11 | 10 3 | 2 | 1 | 0 |
* -------------------------------------------------------------------------
* | BNKCMP | PS–DS | Reserved | HBH | BH | EXIO |
* -------------------------------------------------------------------------
STM #0xF800,BSCR ;1111 1000 0000 0000
*允許修改PMST中的值
*在連續的讀程序或數據空間時插入1個額外的等待周期
*外部存儲器的空白區間為4k
*
*
*ST0
* ------------------------------------------------------------------------
* | 15 13 | 12 | 11 | 10 | 9 | 8 0 |
* ------------------------------------------------------------------------
* | ARP | TC | C | OVA | OVB | DP |
* ------------------------------------------------------------------------
;STM #0x1800,ST0
*數據頁指針指向0
*
*
*ST1
* ------------------------------------------------------------------------
* | 15 | 14 | 13 | 12 | 11 |10 | 9 | 8 | 7 | 6 | 5 |4 0 |
* ------------------------------------------------------------------------
* |BRAF| CPL | XF | HM | INTM | 0 | OVM | SXM | C16 | FRCT | CMPT | ASM |
* ------------------------------------------------------------------------
;STM #0x2900,ST1 ;0010 1011 0000 0000
*INTM=1 將全局中斷禁止
*SXM=1 數據進入ALU之前進行符號位擴展
*OVM=1 益處控制位(參考ST1資料)
*
*
*PMST
* ------------------------------------------------------------------------
* | 15 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
* ------------------------------------------------------------------------
* | IPTR | MP/MC | OVLY | AVIS | DROM | CLKOFF | SMUL|SST |
* ------------------------------------------------------------------------
* |0020 1111 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
* ------------------------------------------------------------------------
* 0011 11111 1 1 0 0 1 0 0
STM #0x2Fe4,PMST ;0010 1111 1110 0100
*將中斷向量表映射到 2f80
*MP/MC=0 芯片工作在微計算機方式,可以尋址片內程序存儲器
*
*
*IFR or IMR
* --------------------------------------------------------------------------------------------
* |15 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
* ---------------------------------------------------------------------------------------------
* |RES |DMAC5|DMAC4|BXINT1|BRINT1|HPINT|INT3|TINT1|DMAC0|BXINT0|BRINT0|TINT0|INT2|INT1|INT0|
* | | | |DMAC3 |DMAC2 | | |DMAC1| | | | | | | |
* --------------------------------------------------------------------------------------------
* 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0
STM #0xFFFF,IFR
*清除掛起的中斷
STM #0x0000,IMR
*關閉中斷。
*
*
*CLKMD
* ------------------------------------------------------------------------
* | 15 12 | 11 | 10 3 | 2 | 1 | 0 |
* ------------------------------------------------------------------------
* | PLLMUL | PLLDIV | PLLCOUNT | PLLON/OFF | PLLNDIV | PLLSTATUS |
* ------------------------------------------------------------------------
STM #0,CLKMD
clkcon: LDM CLKMD,A
AND #0x01,A
BC clkcon,ANEQ
STM #0x43ff,CLKMD ;0100 0011 1111 1111
*利用軟件對CLKMD進行加載(參考教材:P250)
*PLL=4 MUL=5 100Mhz; PLL=3 MUL=4 80Mhz
*
SSBX INTM
*將全局中斷使能
NOP
NOP
RET
.end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -