《ARM嵌入式系统—基于ADS1.2及Proteus仿真》 ARM向量中断控制器程序和电路仿真实例计划.docVIP

  • 3
  • 0
  • 约3.01千字
  • 约 5页
  • 2021-09-18 发布于湖北
  • 举报

《ARM嵌入式系统—基于ADS1.2及Proteus仿真》 ARM向量中断控制器程序和电路仿真实例计划.doc

课时授课计划 课 题 (章节名称) LPC2106程序设计与电路仿真实验:中断控制 时间 2011年4月13日 星期3 5,6 教学目的与要求 掌握LPC2100的编程 教学重点 ADS中断程序设计 教学难点 中断控制 教学方法 讲授法 教学时数 2 课外作业 主要内容 时间分配 回忆以前采用查询方式的计数器的代码 编写采用中断控制方式的计数器的代码 3.比较两段代码的不同 30 60 10 课后小结 采用查询方式的计数器的代码 /**************************************************************************** * File:Main.C * 功能:计数器,通过两个按键来控制加减计数器,并输出数码管显示.。 ****************************************************************************/ #include config.h #define CON 0x000000ff //控制P0.0~P0.7 /**************************************************************************** * 名称:DelayNS() * 功能:长软件延时 * 入口参数:dly 延时参数,值越大,延时越久 * 出口参数:无 ****************************************************************************/ void delay(uint32 dly) { uint32 i; for(; dly0; dly--) for(i=0; i500; i++); } /**************************************************************************** * 名称:main() * 功能:控制计数器加减计数 ****************************************************************************/ int main(void) { uint16 temp=0; IODIR=CON; IOCLR=CON; while(1) { if((IOPIN0!=0 { if((IOPIN0==0 temp++; if((IOPIN0==0 temp--; while((IOPIN0!=0; IOCLR=CON; IOSET=temp; } } } 采用中断控制方式的计数器的代码 /**************************************************************************** * 名称:main.c * 功能:通过外部中断0,外部中断1和外部中断2实现加减计数,并输出数码管显示 ****************************************************************************/ #include config.h #define CON 0x000000ff uint8 temp=0x00; /**************************************************************************** * 名称:eint0() * 功能:外部中断0处理函数,实现加计数 ****************************************************************************/ void __irq eint0(void) { temp++; while(EXTINT(10)) EXTINT=10; IOCLR=CON; IOSET=temp; VICVectAddr=0; } /**************************************************************************** * 名称:eint1() * 功能:外部中断1处理函数,实现加计数 *************************

文档评论(0)

1亿VIP精品文档

相关文档