如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
江南大学物联网工程学院实验报告课程名称《嵌入式系统》实验名称<中断实验>实验日期2012-4-20班级计科0905姓名吴志波学号0304090514仪器编号实验报告要求1.实验目的2.实验要求3.实验步骤4.程序清单5.运行情况5.实验体会3.3实验:实验目的:--通过实验掌握ARM处理器的中断方式和中断处理;--熟悉S3C44BOX的中断控制寄存器的使用;--了解不同中断触发方式对中断产生的影响;--理解S3C44BOX处理器的中断响应过程;--熟悉掌握如何进行ARM处理器中断处理的软件编程方法;实验内容:--编写中断处理程序,实现:1:由UART0选择输入使用不同的中断触发方式,使能外部中断Eint4,5,6,7;2:在不同的中断触发方式下,使用按钮SB1202触发EINT6,同时点亮LED1204一段时间后熄灭。3:在不同的中断触发方式下,使用按钮SB1203触发EINT6,同时点亮LED1204一段时间后熄灭。实验A代码(只列出部分):voidint_test(void){unsignedintunSaveG,unSavePG;init_int();rINTMSK=rINTMSK|BIT_EINT4567;//disableEINT2int//userinterfaceuart_printf("\n\rExternalInterruptTest\n");uart_printf("PleaseSelectthetrigger:\n""1-Fallingtrigger\n""2-Risingtrigger\n""3-BothEdgetrigger\n""4-Lowleveltrigger\n""5-Highleveltrigger\n""anykeytoexit...\n");//savethecurrentsettingsofPortGcontrolerunSaveG=rPCONG;unSavePG=rPUPG;rPCONG=0xf5ff;//EINT7~0rPUPG=0x0;//pullupenableswitch(uart_getch()){case'1':rEXTINT=0x22222222;//Fallingedgemodebreak;case'2':rEXTINT=0x44444444;//Risingedgemodebreak;case'3':rEXTINT=0x77777777;//Bothedgemodebreak;case'4':rEXTINT=0x0;//"0"levelmodebreak;case'5'://rEXTINT=0x11111111;//"1"levelmodeuart_printf("EINT4567waspulledup.\n");f_ucWhichInt=9;break;default:rPCONG=unSaveG;rPUPG=unSavePG;return;}uart_printf("Pressthebuttons\n");uart_printf("pushbuttonsmayhaveglitchnoiseproblem\n");rINTMSK=~(BIT_GLOBAL|BIT_EINT4567);while(!f_ucWhichInt);//waitingfortheinterruptf_ucIntNesting=1;//AllowtoNesting.switch(f_ucWhichInt){case1:uart_printf("EINT4hadbeenoccured...\n");break;case2:uart_printf("EINT5hadbeenoccured...\n");break;case4://SB2---flashLED1uart_printf("EINT6hadbeenoccured...LED1(D1204)on\n");//fleshLED1leds_off();led1_on();delay(10000);//10000x100usled1_off();break;