本人也是新手,第一次写,如果讲解的有什么不对,望包涵指正,有什么不懂的也可以问我,我尽力回答

主要讲解定时器0的配置,因为其他的还没学

定时器配置步骤:a.配置TMOD寄存器(设置定时器模式)




nios ii 如何 定时器 中断_初值


  1. TMOD可以配置两个定时器其中:

a. GATE是门控位,当它等于0时,只需要TR1=1(下面讲解)就可以启动计数器/定时器;当GATE等于1时,需要同时允许INT1(下面讲解)和TR1(下面讲解)都等于1时,才会启动计时器/定时器.

b. C/T(T上面是有一横的,不知道怎么打出来)等于1时是计数器,等于0时是定时器

c. M1和M0是设置定时器/计数器的工作模式,如图下


nios ii 如何 定时器 中断_51单片机_02


需要注意的是,TMOD有两个定时器,用哪个配置哪个,也可以同时使用,下面会给出例子。还有一点TMOD是不可位寻址,简单的说就是不可以一位一位的配置,需要8位一起配置。

  1. 配置TCON


nios ii 如何 定时器 中断_nios ii 如何 定时器 中断_03


这些是5种中断的所以配置信息的意思,需要配置哪种就挑选相应的内容,下面有图

TF1是定时器/计时器1的中断请求标志位(当它等于1时,代表溢出)

TR1是定时器/计数器1是否开启

TF0是定时器/计时器0的中断请求标志位(当它等于1时,代表溢出)

TR0是定时器/计数器1是否开启

IE1是INT1的中断请求标志位(不懂的看下图)

IT1是INT1的中断触发选择(说白了就是IT1是下降沿触发)

IE0是INT0的中断请求标志位

IT0是INT0的中断触发选择(IT0就是低电平触发)

(这些允许位呀,我个人认为就像开关一样,1就是打开,0就是关闭)

(中断请求标志位可以默认是1,个人感觉)


nios ii 如何 定时器 中断_中断请求_04


本文章讲解的是定时器0的配置

说了这么多,弄个实例:


nios ii 如何 定时器 中断_Powered by 金山文档_05


这是配置定时器0的配置

看不懂图中TMOD的配置直接用TMOD=0x01;代替

EA相当于是中断允许标志位的总开关,它不置1,全部白费

TL0和TH0是附初值(我这个初值是因为晶振是11.0592HZ的,有很多形式,可以参考其他人的配置)


nios ii 如何 定时器 中断_nios ii 如何 定时器 中断_06


其实也可以用软件计算,不过想成为一个高手,还是要懂原理