历史上的今天
今天是:2024年10月21日(星期一)
2019年10月21日 | S3C2440定时器汇编程序
2019-10-21 来源:51hei
S3C2440定时器源程序如下:
;************口地址及数据符号化定义区**********************
pWTCON EQU 0x53000000
pLOCKTIME EQU 0x4c000000
pCLKDIVN EQU 0x4c000014
pUPLLCON EQU 0x4c000008
pMPLLCON EQU 0x4c000004
pBWSCON EQU 0x48000000
pSRCPND EQU 0x4a000000 ;中断源悬挂寄存器地址
pINTPND EQU 0x4a000010 ;中断悬挂寄存器地址
pINTMOD EQU 0x4a000004 ;中断模式寄存器地址
pINTMSK EQU 0x4a000008
pINTSUBMSK EQU 0x4a00001c ;子中断源屏蔽寄存器地址
pINTOFFSET EQU 0x4a000014 ;中断源偏移地址寄存器地址
pTCFG0 EQU 0x51000000 ;定时器配置寄存器0
pTCFG1 EQU 0x51000004 ;定时器配置寄存器1
pTCNTB4 EQU 0x5100003c ;定时器4计数缓冲寄存器
pTCON EQU 0x51000008 ;定时器控制寄存器
DATA_EREA EQU 0x33FFFF00
vCLKDIVN EQU 0x4
vUPLLCON EQU 0x00038022
vMPLLCON EQU 0x0005c011
;*************以下为各寄存器BANK数据宽度设置数据***********
DW16 EQU (0x1)
DW32 EQU (0x2)
B1_BWSCON EQU (DW16)
B2_BWSCON EQU (DW16)
B3_BWSCON EQU (DW16)
B4_BWSCON EQU (DW32)
B5_BWSCON EQU (DW16)
B6_BWSCON EQU (DW32)
B7_BWSCON EQU (DW32)
;*************Bank 0 存储器参数区**************************
B0_Tacs EQU 0x3
B0_Tcos EQU 0x3
B0_Tacc EQU 0x7
B0_Tcoh EQU 0x3
B0_Tah EQU 0x3
B0_Tacp EQU 0x1
B0_PMC EQU 0x0
;*************Bank 4 存储器参数区**************************
B4_Tacs EQU 0x1
B4_Tcos EQU 0x1
B4_Tacc EQU 0x6
B4_Tcoh EQU 0x1
B4_Tah EQU 0x1
B4_Tacp EQU 0x0
B4_PMC EQU 0x0
;*************Bank 6 SDRAM存储器参数区*********************
B6_MT EQU 0x3
B6_Trcd EQU 0x1
B6_SCAN EQU 0x1
;************* SDRAM 动态存储器所需的刷新参数区************
REFEN EQU 0x1
TREFMD EQU 0x0
Trp EQU 0x1
Tsrc EQU 0x1
Tchr EQU 0x2
REFCNT EQU 1268
;*************以下数据为CPSR中各工作模式的设置位信息*******
USERMODE EQU 0x10
IRQMODE EQU 0x12
SVCMODE EQU 0x13
MODEMASK EQU 0x1f
NOINT EQU 0xc0
;*************以下为管理模式、IRQ、及用户模式堆栈指针数据***
UserStack EQU 0x33ff4800
SVCStack EQU 0x33ff5800
IRQStack EQU 0x33ff7000
;************以下为代码区***************
AREA Init,CODE,READONLY
ENTRY
EXPORT _ENTRY
_ENTRY
ResetEntry
b _reset
b .
b .
b .
b .
b .
b IsrIRQ
b .
;*****************预存开机后需要提取并设置到特殊功能寄存器内存储器参数区的数据,含数据宽度、刷新模式和频率等
SMRDATA
DCD (0+(B1_BWSCON<<4)+(B2_BWSCON<<8)+(B3_BWSCON<<12)+(B4_BWSCON<<16)+(B5_BWSCON<<20)+(B6_BWSCON<<24)+(B7_BWSCON<<28))
DCD ((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<8)+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC))
DCD 0
DCD 0
DCD 0
DCD ((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC))
DCD 0
DCD ((B6_MT<<15)+(B6_Trcd<<2)+(B6_SCAN))
DCD 0
DCD ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Tsrc<<18)+(Tchr<<16)+REFCNT)
DCD 0x32
DCD 0x30
DCD 0x30
;*****以下IsrIRQ为中断源判别程序***********
IsrIRQ
sub sp,sp,#4
stmfd sp!,{r8-r9}
ldr r9,=pINTOFFSET
ldr r9,[r9]
ldr r8,=HandleEINT0
add r8,r8,r9,lsl #2
ldr r8,[r8]
str r8,[sp,#8]
ldmfd sp!,{r8-r9,pc}
LTORG
;****************以下为复位异常处理程序,主要完成时钟及存储器的初始化***************
_reset
ldr r0,=pWTCON
ldr r1,=0x0
str r1,[r0]
ldr r0,=pINTMSK
ldr r1,=0xffffffff
str r1,[r0]
ldr r0,=pINTSUBMSK
ldr r1,=0x7fff
str r1,[r0]
ldr r0,=pLOCKTIME
ldr r1,=0x00ffffff
str r1,[r0]
ldr r0,=pCLKDIVN
ldr r1,=vCLKDIVN
str r1,[r0]
ldr r0,=pUPLLCON
ldr r1,=vUPLLCON
str r1,[r0]
nop
史海拾趣
|
在北京奥运会开幕式盛典中,五彩斑斓如梦如幻的灯光无疑是贯穿始终的灵魂。尤其是最后点火仪式中,李宁在一条灯光打出的虚拟卷轴跑道上“飞”过的情形,让人叹为观止。这一切,都有赖于灯光投影控制系统发挥的重要作用。   ...… 查看全部问答> |
|
目录: 第1章 MCS51单片机及单片机程序C51 1.1 单片机的基本知识1 1.1.1 MCS51单片机的基本组成1 1.1.2 80C51的基本特征2 1.1.3 80C51的引脚定义及功能3 1.1.4 80C51的内部结构4 1.1.5 80C51的存储器配置和寄存器6 1.2 汇编语言与C语言8 1 ...… 查看全部问答> |
|
编译OK用J Link下载 DOWNLOADING FILES通过,然后PROGRAMING FLASH就永远不会出来了,IAR就死在这里了用 ST Link相同情况J Link偶尔会报错,说写入CPU的 不是MSP就是MPS寄存器错误这是昨天新建 ...… 查看全部问答> |
|
我的程序DMA采样循环模式,配置如下: DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address; DMA_InitStructure.DMA_MemoryBaseAddr = (u32)&ADCConvertedValue; DMA_InitStructure.DMA_D ...… 查看全部问答> |
|
用的红牛开发板,现在用TIM3 CH3来捕获外部脉冲上升沿然后进入TIM3的中断,现在想用这个外部脉冲的上升沿控制AD转换,所以我现在想将AD用TIM3的中断来触发,不知道可否实现··· 还是直接将用外部脉冲的上升沿控制AD转换??我不知 ...… 查看全部问答> |
|
做技术的人肯定对Linux不会陌生,一种开发源码操作系统,由于其功能强大而且又是免费的,所以非常的诱人,但是他有让很多新手望而生畏,因为他的难以安装和配置,下面就让卓跃教育带您一起去深入的了解Linux ...… 查看全部问答> |
|
请问:之前ADI的方案的比赛都贴在哪个版块的啊? 我这边的图像处理方案才做l了一部分,后面陆续发帖讨论吧,估计在规定时间内做不完全了,算法太复杂!… 查看全部问答> |




