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
上一篇:基于ARM平台的钢琴游戏 08实现音乐钢琴效果
下一篇:arm汇编程序S3C2440
推荐阅读
史海拾趣
随着电子行业的快速发展,Chemi-Con公司不断加大对研发的投入,致力于技术创新和产品升级。公司研发团队在铝电解电容器的基础上,不断推出性能更优、体积更小、寿命更长的产品,满足了市场对于高效、可靠电容器的迫切需求。此外,Chemi-Con还积极拓展产品线,涉足了多层陶瓷电容器、薄膜电容器等多个领域,为客户提供更加丰富的选择。
Elpakco Inc公司深知,企业的成功离不开社会的支持和帮助。因此,公司始终将履行社会责任作为企业的重要使命。公司积极参与环保、公益等活动,努力减少生产过程中的环境污染和资源浪费。同时,公司还注重员工的成长和发展,为员工提供良好的工作环境和福利待遇,让员工在为企业创造价值的同时,也能实现个人的成长和发展。
Elpakco Inc公司始终将产品质量视为企业的生命线。公司建立了严格的质量控制体系,从原材料采购到生产流程,再到产品出厂检测,每一个环节都严格把关。正是这种对品质的坚持,让Elpakco Inc的产品在市场上赢得了良好的口碑,越来越多的客户开始选择信赖Elpakco Inc的品牌。
随着业务的不断发展,Dexter开始积极拓展市场。公司首先将目光投向了国内市场,通过深入了解客户需求,提供定制化的解决方案,成功占领了国内市场的一定份额。随后,Dexter又将目光转向了国际市场。通过参加国际展会、拓展海外销售渠道等方式,Dexter成功打入了欧美、亚洲等多个国家和地区的市场。全球化战略为Dexter带来了更广阔的发展空间和市场机遇。
ELM Electronics成立于XXXX年,由一群富有创新精神和电子技术专长的工程师创立。初创时期,公司专注于设计和生产高质量的电子元器件,以满足日益增长的电子产品市场需求。通过不断的技术创新和严格的质量控制,ELM逐渐在电子行业中树立了良好的口碑。
“全球陶瓷”公司凭借其卓越的产品质量和国际化战略,成功拓展了海外市场。该公司积极参与国际展览和交流活动,与多国电子企业建立了合作关系。同时,全球陶瓷还针对不同国家和地区的市场需求,推出了定制化的陶瓷电子材料解决方案。这一国际化战略不仅提升了公司的品牌影响力,也为其在全球范围内的业务拓展提供了有力支持。
最近正在做一个同时电压和电流的电路 。现在有个问题。 单独测量电压和电流都没有问题,只是不能同时测量,同时测量的话,电压正常,电流就不对了。 电流测量点是在VDD端,我估计可能是共模干扰的问题,但是不知道怎么解决。 请高手指点,不胜感 ...… 查看全部问答∨ |
C++: The Complete Reference, 3rd Edition Product DescriptionBest-selling genius Herb Schildt covers everything from keywords, syntax, and libraries, to advanced features such as overloading, inheritance, virtual functions, name ...… 查看全部问答∨ |
我的流水灯和蜂鸣器都是p1接出来的,貌似想流水灯循环流动同时让蜂鸣器想不行??有谁懂吗?? 我的流水灯和蜂鸣器都是p1接出来的,貌似想流水灯循环流动同时让蜂鸣器想不行??有谁懂吗??… 查看全部问答∨ |
|
想做一个单片机打地鼠小游戏,4*4键盘,4*4灯,灯一亮按对应的按键,按对的话发出响声,按错没有声音,成功10次之后播放音乐。但是程序写成这样之后,发现不论按不按按键...他都自己亮10次灯,每次都有成功的声音~最后播放音乐~不知道怎么回事,高 ...… 查看全部问答∨ |
|
time quest 和 timing analyzer 哪一个更准确 请教一下:time quest 和 timing analyzer 哪一个更准确?因为我发现time quest 和 timing analyzer 生成的时序报告是不一样的。用time quest 好一些 还是 timing analyzer?谢谢!!… 查看全部问答∨ |