欢迎来到天天文库
浏览记录
ID:9025825
大小:21.00 KB
页数:2页
时间:2018-04-15
《嵌入式定时器基本功能(定时器中断)c语言代码》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、定时器基本功能实验(定时器中断)1.实验内容使用定时器0实现1秒定时,控制蜂鸣器蜂鸣。采用中断方式实现定时控制。备注:EasyARM2131实验板上的系统时钟默认为11.0592MHz;系统中已定义了符号常量Fpclk=11059200;2.实验步骤①启动ADS1.2,使用ARMExecutableImageforlpc2131工程模板建立一个工程TimeOut_C。②在user组中的main.c中编写主程序代码。③主程序中使用IRQEnable()使能IRQ中断。④选用DebugInExram生成目标,然后编译连接工程。⑤将LPC2131实验板
2、上的Beep跳线短接到P0.7。⑥选择【Project】->【Debug】,启动AXD进行JTAG仿真调试。⑦全速运行程序,蜂鸣器会响一秒,停一秒,然后再响一秒……依次循环。3.实验参考程序程序清单Error!Notextofspecifiedstyleindocument.1定时器实验参考程序#include"config.h"#defineBEEP1<<7/*P0.7控制BEEP,低电平蜂鸣*//*************************************************************************
3、******************函数名称:IRQ_Timer0()**函数功能:定时器0中断服务程序,取反LED9控制口。**入口参数:无**出口参数:无*******************************************************************************************/void__irqIRQ_Timer0(void){if((IO0SET&BEEP)==0)IO0SET=BEEP;/*关闭BEEP*/elseIO0CLR=BEEP;T0IR=0x01;/*清除中断标志*/V
4、ICVectAddr=0x00;/*通知VIC中断处理结束*/}/********************************************************************************************函数名称:main()**函数功能:使用定时器实现1秒钟定时,控制LED9闪烁。中断方式。**调试说明:需要将跳线JP11连接BEEP。***********************************************************************************
5、*******/intmain(void){PINSEL1=0x00000000;/*设置管脚连接GPIO*/IO0DIR=BEEP;/*设置BEEP控制口输出*/IRQEnable();/*IRQ中断使能*//*定时器0初始化*/T0TC=0;/*定时器设置为0*/T0PR=0;/*时钟不分频*/T0MCR=0x03;/*设置T0MR0匹配后复位T0TC,并产生中断标志*/T0MR0=Fpclk;/*1秒钟定时;系统中已定义Fpclk=11059200*/T0TCR=0x01;/*启动定时器*//*设置定时器0中断IRQ*/VICIntSele
6、ct=0x00;/*所有中断通道设置为IRQ中断*/VICVectCntl0=0x20
7、0x04;/*设置定时器0中断通道分配最高优先级*/VICVectAddr0=(uint32)IRQ_Timer0;/*设置中断服务程序地址*/VICIntEnable=1<<0x04;/*使能定时器0中断*/while(1);return0;}
此文档下载收益归作者所有