嵌入式实验报告2

嵌入式实验报告2

ID:39284620

大小:27.00 KB

页数:4页

时间:2019-06-29

嵌入式实验报告2_第1页
嵌入式实验报告2_第2页
嵌入式实验报告2_第3页
嵌入式实验报告2_第4页
资源描述:

《嵌入式实验报告2》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、嵌 入 式 实 验 报 告  一.实验目的: 1. 理解中断向量表的结构 2. 理解中断处理的过程 3. 学习编写中断处理程序的方法二.实验原理1.打开cache,地址为0x01c000002.初始化LED灯PCONB[4-5]=0b00;使LED7和led8的控制孔为输出口3初始化定时器TCFG0=199;TCFG1=3;//1/16TCMPB0=0;TCNTB0=9375;TCON=0x2;TCON=0x9;4初始化中断关中断既cpsr寄存器的第七位置为1INTCON=0x5;INTMOD=0x0;工作在IRQ中断模式下INTMSK=0x7ffffff&~(1<<26)&~(1

2、<<13);timer0中断允许而后开中断既cpsr寄存器的第七位置05.设置0x18处的指令b函数名6.设置程序从0x0处运行,并使用之生成elf格式文件,以便烧写。三.实验内容1写一个关于timer0中断的实验,使LED7,LED8可以交替亮2将中断程序进行烧写四.实验代码exportinterrupt_startexportinterrupt_stopareamysection,code,readonlyentryinterrupt_startmrsr0,cpsrbicr0,r0,#0x80msrcpsr_c,r0movpc,lrinterrupt_stopmrsr0,cps

3、rorrr0,r0,#0x80msrcpsr_c,r0movpc,lrEndMain函数主要代码如下:voidinterrupt_init(void);voidinterrupt_start(void);voidinterrupt_stop(void);voidled_init(void);voidtimer_init(void);void__irqtimer_isr(void);intflag=1;#definePCONB*((volatileunsignedint*)0x01D20008)#definePDATB*((volatileunsignedint*)0x01D2000

4、c)#defineTCFG0*((volatileunsignedint*)0x01D50000)#defineTCFG1*((volatileunsignedint*)0x01D50004)#defineTCON*((volatileunsignedint*)0x01D50008)#defineTCNTB0*((volatileunsignedint*)0x01D5000c)#defineTCMPB0*((volatileunsignedint*)0x01D50010)#defineINTCON*((volatileunsignedint*)0x01E00000)#defineI

5、NTPND*((volatileunsignedint*)0x01E00004)#defineINTMOD*((volatileunsignedint*)0x01E00008)#defineINTMSK*((volatileunsignedint*)0x01E0000C)#defineI_ISPR*((volatileunsignedint*)0x01E00020)#defineI_ISPC*((volatileunsignedint*)0x01E00024)#definerSYSCFG(*(volatileunsigned*)0x1c00000)#definerNCACHBE0(

6、*(volatileunsigned*)0x1c00004)#definerNCACHBE1(*(volatileunsigned*)0x1c00008)#defineWRBUFOPT(0x08)#defineSYSCFG_8KB(0x06

7、WRBUFOPT)staticvoidCache_Init(void){rSYSCFG=0xf;//rNCACHBE0=0x20001c00;//rNCACHBE1=0xe0003000;}void__irqtimer_isr(void){if(flag==1){PDATB=(PDATB&~(3<<4))

8、(0x2<<4);}else{PDAT

9、B=(PDATB&~(3<<4))

10、(0x1<<4);}flag=flag^0x1;I_ISPC=1<<13;}voidtimer_init(void){TCFG0=199;TCFG1=3;//1/16TCMPB0=0;TCNTB0=9375;TCON=0x2;TCON=0x9;}voidled_init(void){PCONB=(PCONB&~(3<<4));}voidinterrupt_init(void){interrupt_stop();INTCON=0x5;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。