嵌入式实验报告2.doc_第1页
嵌入式实验报告2.doc_第2页
嵌入式实验报告2.doc_第3页
嵌入式实验报告2.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式实验报告一实验目的:1. 理解中断向量表的结构2. 理解中断处理的过程3. 学习编写中断处理程序的方法2 实验原理1. 打开cache,地址为0x01c000002. 初始化LED灯 PCONB4-5=0b00;使LED7和led8的控制孔为输出口3初始化定时器 TCFG0=199;TCFG1=3; /1/16TCMPB0=0;TCNTB0=9375;TCON=0x2;TCON=0x9;4初始化中断 关中断既cpsr寄存器的第七位置为1 INTCON=0x5;INTMOD=0x0; 工作在IRQ中断模式下INTMSK=0x7ffffff & (1 26 ) & (1 13 );timer0中断允许而后开中断既cpsr寄存器的第七位置05. 设置0x18处的指令 b 函数名6. 设置程序从0x0处运行,并使用之生成elf格式文件,以便烧写。三实验内容 1 写一个关于timer0中断的实验,使LED7,LED8可以交替亮 2 将中断程序进行烧写4. 实验代码export interrupt_startexport interrupt_stoparea mysection,code,readonlyentryinterrupt_startmrs r0,cpsrbic r0,r0,#0x80msr cpsr_c,r0mov pc,lrinterrupt_stopmrs r0,cpsrorr r0,r0,#0x80msr cpsr_c,r0mov pc,lrEndMain函数主要代码如下:void interrupt_init( void );void interrupt_start( void );void interrupt_stop( void );void led_init( void );void timer_init( void );void _irq timer_isr( void );int flag=1;#define PCONB *(volatile unsigned int *)0x01D20008)#define PDATB *(volatile unsigned int *)0x01D2000c)#define TCFG0 *(volatile unsigned int *)0x01D50000)#define TCFG1 *(volatile unsigned int *)0x01D50004)#define TCON *(volatile unsigned int *)0x01D50008)#define TCNTB0 *(volatile unsigned int *)0x01D5000c)#define TCMPB0 *(volatile unsigned int *)0x01D50010)#define INTCON*(volatile unsigned int *)0x01E00000)#define INTPND*(volatile unsigned int *)0x01E00004)#define INTMOD*(volatile unsigned int *)0x01E00008)#define INTMSK*(volatile unsigned int *)0x01E0000C)#define I_ISPR*(volatile unsigned int *)0x01E00020)#define I_ISPC*(volatile unsigned int *)0x01E00024)#define rSYSCFG(*(volatile unsigned *)0x1c00000)#define rNCACHBE0(*(volatile unsigned *)0x1c00004)#define rNCACHBE1(*(volatile unsigned *)0x1c00008)#define WRBUFOPT (0x08) #define SYSCFG_8KB (0x06 | WRBUFOPT) static void Cache_Init(void) rSYSCFG = 0xf; / rNCACHBE0 = 0x20001c00; /rNCACHBE1 = 0xe0003000;void _irq timer_isr( void )if( flag = 1 )PDATB=( PDATB & ( 3 4 ) ) | ( 0x2 4 );elsePDATB=( PDATB & ( 3 4 ) ) | ( 0x1 4 ) ;flag=flag 0x1;I_ISPC=1 13 ;void timer_init( void )TCFG0=199;TCFG1=3; /1/16TCMPB0=0;TCNTB0=9375;TCON=0x2;TCON=0x9;void led_init( void )PCONB=( PCONB & ( 3 4 ) );void interrupt_init( void )interrupt_stop();INTCON=0x5;INTMOD=0x0;INTMSK=0x7ffffff & (1 26 ) & (1 13 );/I_ISPC=0x3ffffff ; void Main( void )Cache_Init();led_init();interrupt_init();PDATB=( PDATB &

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论