原创 nios II 实验三 定时器的使用

2009-9-13 18:55 5000 13 14 分类: MCU/ 嵌入式

#include "system.h"                              //包含基本的硬件描述信息
#include "altera_avalon_timer_regs.h"    //定义内核寄存器的映射,提供对底层硬件的符号化访问
#include "altera_avalon_pio_regs.h"      //包含基本的I/O口信息 
#include "alt_types.h"                            //Altera定义的数据类型
#include "sys/alt_irq.h"                 
//#include "sys/alt_alarm.h"                    //系统时钟服务头文件
#include "unistd.h"                                 //延时函数usleep(n)     n 微妙延时


//定义端口
#define led  *(volatile unsigned char *) LED_BASE


//函数声明
void Timer_Init();
void Timer_interrupts(void* context, alt_u32 id);


//定时器初始化
void Timer_Init()
{
  
    alt_irq_register(TIMER_IRQ,0,Timer_interrupts);   //注册中断函数
    IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER_BASE, 0);   //清状态标志
   
    IOWR_ALTERA_AVALON_TIMER_PERIODH(TIMER_BASE, 50000000>>16);
    IOWR_ALTERA_AVALON_TIMER_PERIODL(TIMER_BASE, 50000000&0xffff);//修改定时时间1s
   
    IOWR_ALTERA_AVALON_TIMER_CONTROL(TIMER_BASE, 7);  //启动定时器允许中断,连续计数
}


//定时器中断服务函数


void Timer_interrupts(void* context, alt_u32 id)
{
    led = ~led;
    IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER_BASE, 0);    //清状态寄存器
   // IOWR_ALTERA_AVALON_TIMER_CONTROL(TIMER_BASE, 0); //停止计数
   
   //  IOWR_ALTERA_AVALON_TIMER_PERIODH(TIMER_BASE, 50000000>>16);
   // IOWR_ALTERA_AVALON_TIMER_PERIODL(TIMER_BASE, 50000000&0xffff);//修改定时时间1s
   
  //  IOWR_ALTERA_AVALON_TIMER_CONTROL(TIMER_BASE, 5); //启动定时器允许中断
}


int main(void)
{
    led = 1;
    Timer_Init();  //定时器初始化
    while(1);       //等待

   return 0;
 
}


定时器相关文档:点击下载

文章评论1条评论)

登录后参与讨论

用户188034 2009-9-13 22:03

有没有写简单的解释呀
相关推荐阅读
用户222124 2010-12-08 22:18
台达PLC监控
台达PLC监控网上有很多例子,自己也照着弄了个,挺方便的,分享下串口数据格式:COM1,9600,8,N,1  ...
用户222124 2010-06-27 16:36
基于NIOS II和FPGA无线小车控制系统的设计
   主控制台以Cyclone II系列的EP2C8Q208C8为核心,通过nRF24L01进行无线通讯,来控制以ATmega8为微处理器的两轮小车,可以实现小车按控制平台发送的控制信息来准确运动。所...
用户222124 2009-11-13 15:58
51开发板已经销售完了,谢谢大家的支持!
51开发板已经销售完了,谢谢大家的支持!...
用户222124 2009-09-28 16:13
51开发板十一大放送!!!赶快行动吧!!!
  51开发板十一大放送!  赶快行动吧!!!   开发板硬件介绍: http://group.ednchina.com/2031/24972.aspx  开发板实物图片总汇: http://grou...
用户222124 2009-09-13 19:02
nios II 实验五 数码管显示数字钟(定时器实现 外部中断调节)
#include "system.h"                      //包含基本的硬件描述信息#include "altera_avalon_timer_regs.h"    //定义内...
用户222124 2009-09-13 18:57
nios II 实验四 PIO外部中断
#include "system.h"                      //包含基本的硬件描述信息#include "altera_avalon_timer_regs.h"    //定义内...
EE直播间
更多
我要评论
1
13
关闭 站长推荐上一条 /3 下一条