基于ARM嵌入式系统接口技术课程设计报告.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于ARM嵌入式系统接口技术课程设计报告.doc》由会员分享,可在线阅读,更多相关《基于ARM嵌入式系统接口技术课程设计报告.doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 基于ARM嵌入式系统接口技术课程设计报告 课程设计题目:实时时钟设计 学院:计算机科学与技术学院 班级:计算机09-1班 学号: 姓名: 指导老师:微型计算机系统与接口技术课程设计设计时间:2011年12月19日 至 2011年12月23日设计环境1硬件环境:计算机,EV44B0II实验台2软件环境:Jediview 集成开发环境一、基本功能:利用S3C44BOX的RTC和实验箱上的LCD液晶、4*4小键盘设计一个实时时钟。1在LCD上显示当前日期及时间。可按如下格式显示:日期:XXXX年XX月XX日时间:XX:XX:XX 班级,姓名 里程: x x x x km2利用4*4小键盘校时 校时
2、时LCD的相应位置要有光标提示。二、定时报警功能 通过小键盘设定报警时刻,报警时刻到,则在LCD上显示(各自不同的)报警图像。三、步骤: 1.掌握预备知识:a.液晶显示b.键盘译码c掌握S3C44BO芯片 RTC的使用方法 2.设计:a.实现RTC实时时钟功能b.显示实时时钟界面c.实现校时功能d.上机调试,运行,验收e.实现定时报警功能四、硬件接口逻辑图电路连接图五、程序代码(1)44binits/* * * NAME : 44BINIT.S* * Version : 10.JAn.2003* * Description:* *C start up codes* *Configure mem
3、ory, Initialize ISR ,stacks* *Initialize C-variables* *Fill zeros into zero-initialized C-variables* */ /#include arm.h.globl _start_start: b ResetHandler /for debug b HandlerUndef /handlerUndef b HandlerSWI /SWI interrupt handler b HandlerPabort /handlerPAbort b HandlerDabort /handlerDAbort b . /ha
4、ndlerReserved b IsrIRQ b HandlerFIQ/*IMPORTANT NOTE*/If the H/W vectored interrutp mode is enabled, The above two instructions should/be changed like below, to work-around with H/W bug of S3C44B0X interrupt controller. ldr pc,=HandlerEINT0 /mGA H/W interrupt vector table ldr pc,=HandlerEINT1 / ldr p
5、c,=HandlerEINT2 / ldr pc,=HandlerEINT3 / ldr pc,=HandlerEINT4567 / ldr pc,=HandlerTICK /mGA b . b . ldr pc,=HandlerZDMA0 /mGB ldr pc,=HandlerZDMA1 / ldr pc,=HandlerBDMA0 / ldr pc,=HandlerBDMA1 / ldr pc,=HandlerWDT / ldr pc,=HandlerUERR01 /mGB b . b . ldr pc,=HandlerTIMER0 /mGC ldr pc,=HandlerTIMER1
6、/ ldr pc,=HandlerTIMER2 / ldr pc,=HandlerTIMER3 / ldr pc,=HandlerTIMER4 / ldr pc,=HandlerTIMER5 /mGC b . b . ldr pc,=HandlerURXD0 /mGD ldr pc,=HandlerURXD1 / ldr pc,=HandlerIIC / ldr pc,=HandlerSIO / ldr pc,=HandlerUTXD0 / ldr pc,=HandlerUTXD1 /mGD b . b . ldr pc,=HandlerRTC /mGKA b . / b . / b . /
7、b . / b . /mGKA b . b . ldr pc,=HandlerADC /mGKB b . / b . / b . / b . / b . /mGKB b . b ./*0xe0=EnterPWDN*/ ldr pc,=EnterPWDNHandlerFIQ:.word HandleFIQHandlerIRQ:.word HandleIRQHandlerUndef:.word HandleUndefHandlerSWI:.word HandleSWIHandlerDabort:.word HandleDabortHandlerPabort:.word HandlePabortHa
8、ndlerADC:.word HandleADCHandlerRTC:.word HandleRTCHandlerUTXD1:.word HandleUTXD1HandlerUTXD0:.word HandleUTXD0HandlerSIO:.word HandleSIOHandlerIIC:.word HandleIICHandlerURXD1:.word HandleURXD1HandlerURXD0:.word HandleURXD0HandlerTIMER5:.word HandleTIMER5HandlerTIMER4:.word HandleTIMER4HandlerTIMER3:
9、.word HandleTIMER3HandlerTIMER2:.word HandleTIMER2HandlerTIMER1:.word HandleTIMER1HandlerTIMER0:.word HandleTIMER0HandlerUERR01:.word HandleUERR01HandlerWDT:.word HandleWDTHandlerBDMA1:.word HandleBDMA1HandlerBDMA0:.word HandleBDMA0HandlerZDMA1:.word HandleZDMA1HandlerZDMA0:.word HandleZDMA0HandlerT
10、ICK:.word HandleTICKHandlerEINT4567:.word HandleEINT4567HandlerEINT3:.word HandleEINT3HandlerEINT2:.word HandleEINT2HandlerEINT1:.word HandleEINT1HandlerEINT0:.word HandleEINT0/*One of the following two routines can be used for non-vectored interrupt.*/IsrIRQ:/using I_ISPR register.stmdb r13!,r0-r8,
11、r12,r14bl IRQldmia r13!,r0-r8,r12,r14subs pc,r14,#0x4IRQ: sub sp,sp,#4 /reserved for PC stmfd sp!,r8-r9 ldr r9,I_ISPR ldr r9,r9 mov r8,#0x0F0: movs r9,r9,lsr #1 bcs F1 add r8,r8,#4 b F0F1: ldr r9,HandleADC add r9,r9,r8 ldr r9,r9 str r9,sp,#8 ldmfd sp!,r8-r9,pc/* *START * */ResetHandler: ldr r0,WTCON
12、 /watch dog disable ldr r1,=0x0 str r1,r0 ldr r0,INTMSK ldr r1,MASKALL /all interrupt disable str r1,r0/* * *Set clock control registers* */ ldrr0,LOCKTIME ldrr1,=800 / count = t_lock * Fin (t_lock=200us, Fin=4MHz) = 800 strr1,r0ldrr0,PLLCON/temporary setting of PLLldrr1,PLLCON_DAT /Fin=10MHz,Fout=4
13、0MHzstrr1,r0 ldr r0,CLKCON ldr r1,=0x7ff8 /All unit block CLK enable str r1,r0/* * *Set memory control registers* */ adr r0,SMRDATA ldmia r0,r1-r13 ldr r0,=0x01c80000 /BWSCON Address stmia r0,r1-r13/* * *Initialize stacks* */ ldr sp, SVCStack/Why? bl InitStacks/* * *Setup IRQ handler* */ ldr r0,Hand
14、leIRQ/This routine is needed ldr r1,IsrIRQ/if there isnt subs pc,lr,#4 at 0x18, 0x1c str r1,r0 BLMain /Dont use main() because . B./*The function for initializing stack */*/InitStacks:/Dont use DRAM,such as stmfd,ldmfd./SVCstack is initialized before/Under toolkit ver 2.50, msr cpsr,r1 can be used i
15、nstead of msr cpsr_cxsf,r1 mrs r0,cpsr bic r0,r0,#0X1F orr r1,r0,#0xDB/UNDEFMODE|NOINT msr cpsr,r1/UndefMode ldr sp,UndefStack orr r1,r0,#0XD7/ABORTMODE|NOINT msr cpsr,r1 /AbortMode ldr sp,AbortStack orr r1,r0,#0XD2/IRQMODE|NOINT msr cpsr,r1 /IRQMode ldr sp,IRQStack orr r1,r0,#0XD1/FIQMODE|NOINT msr
16、 cpsr,r1 /FIQMode ldr sp,FIQStack bic r0,r0,#0XDF/MODEMASK|NOINT orr r1,r0,#0X13 msr cpsr,r1 /SVCMode ldr sp,SVCStack/USER mode is not initialized. mov pc,lr /The LR register may be not valid for the mode changes./* *The function for entering power down mode * */*void EnterPWDN(int CLKCON)*/EnterPWD
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ARM 嵌入式 系统 接口 技术 课程设计 报告
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内