⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 153.htm

📁 pcb设计资料初学者难得的入门资料包含工厂制作过程
💻 HTM
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>CTerm非常精华下载</title>
</head>
<body bgcolor="#FFFFFF">
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="577">
<tr><td width="32%" rowspan="3" height="123"><img src="DDl_back.jpg" width="300" height="129" alt="DDl_back.jpg"></td><td width="30%" background="DDl_back2.jpg" height="35"><p align="center"><a href="http://202.112.58.200"><font face="黑体"><big><big>Tsinghua</big></big></font></a></td></tr>
<tr>
<td width="68%" background="DDl_back2.jpg" height="44"><big><big><font face="黑体"><p align="center">            DSP开发技术                           (BM: chaosboy wbs)            </font></big></big></td></tr>
<tr>
<td width="68%" height="44" bgcolor="#000000"><font face="黑体"><big><big><p   align="center"></big></big><a href="http://cterm.163.net"><img src="banner.gif" width="400" height="60" alt="banner.gif"border="0"></a></font></td>
</tr>
<tr><td width="100%" colspan="2" height="100" align="center" valign="top"><br><p align="center">[<a href="DSP开发技术.htm">回到开始</a>][<a href="8.htm">上一层</a>][<a href="154.htm">下一篇</a>]
<hr><p align="left"><small>发信人: gzgj (南天一剑), 信区: DSPTech <br>

标  题: 看看这个1ms定时程序,为什么不能....? <br>

发信站: BBS 水木清华站 (Wed Jun 12 17:24:12 2002) <br>

  <br>

下面是一个C2000下的 定时器中断测试程序。 <br>

   我想设置一个1ms的中断,每中断一次使一个变量CounterVar加1一次。但在CC V4.10下 <br>

软件仿真时,却看不到CounterVar的变化。----WatchWindow中的值始终是初始值 0. <br>

为什么? <br>

**.text <br>

_c_int0 <br>

**SETC *INTM <br>

       * *CLRC *SXM <br>

       **CLRC *OVM <br>

**CLRC *CNF**;B0区被配置为数据空间 <br>

        *LDP *#0E0H <br>

        *SPLK *#81FEH,SCSR1   *;CLKIN=6 M,CLKOUT=24 M <br>

         *SPLK*#0E8H,WDCR**;Disable WDT <br>

         *LDP*#0 <br>

*SPLK*#02H,IMR**;使能中断优先级INT2 <br>

*SPLK*#0FFFFh,IFR**;清中断标志 <br>

*LDP*#DP_PF2 <br>

*LDP*#DP_EVA <br>

*SPLK*#80H,EVAIMRA**;使能T1PINT 中断 <br>



*SPLK*#0FFFFh,EVAIFRA*;清EVA中断标志 <br>

*SPLK*#0,GPTCONA <br>

*SPLK*#7H,T1PR*;使定时器每1 ms产生一次中断 <br>

*SPLK*#0,T1CNT <br>

*SPLK*#164CH,T1CON**;定时器1设置 <br>

*CLRC*INTM***;开总中断 <br>

WAIT:**NOP <br>

**KICK_DOG* <br>

**B**WAIT <br>

;中断程序 <br>

GISR2:********;优先级INT2中断入口 <br>

*;保护现场 <br>

*LDP*#0E0H <br>

*LACC*PIVR,1*;读取外设中断向量寄存器(PIVR),并左移一位 <br>

           ADD*#PVECTORS**;加上外设中断入口地址 <br>

*BACC***;跳到相应的中断服务子程序 <br>

T1PINT_ISR: <br>

  *LDP*#CounterVar <br>

  *LACL*CounterVar  ;每1ms中断到,变量CounterVar加1. <br>

  *ADD*#1 <br>

  *SACL*CounterVar <br>

*LDP*#DP_EVA***;通用定时器1中断入口 <br>



*SPLK*#0,T1CNT <br>

GISR2_RET:*******;中断返回 <br>

*;恢复现场 <br>

*CLRC*INTM*;开总中断,因为一进入中断就自动关闭总中断 <br>

*RET <br>

;(4)假中断程序 <br>

PHANTOM * <br>

          KICK_DOG****;复位看门狗 <br>

          RET <br>

*.END <br>

-- <br>

  <br>

※ 来源:·BBS 水木清华站 smth.org·[FROM:  61.28.1.253] <br>

发信人: cheguo (我是谁!), 信区: DSPTech <br>

标  题: Re: 看看这个1ms定时程序,为什么不能....? <br>

发信站: BBS 水木清华站 (Wed Jun 12 20:02:20 2002) <br>

  <br>

  INT2是硬件中断,simulator不能自动实现硬件中断。要仿真中断,好象得自己设定 <br>

 中断时间。 <br>

【 在 gzgj (南天一剑) 的大作中提到: 】 <br>

: 下面是一个C2000下的 定时器中断测试程序。 <br>

:    我想设置一个1ms的中断,每中断一次使一个变量CounterVar加1一次。但在CC V4.10  <br>



: 软件仿真时,却看不到CounterVar的变化。----WatchWindow中的值始终是初始值 0. <br>

: 为什么? <br>

:               .text <br>

: _c_int0 <br>

:               SETC    INTM <br>

:                       CLRC    SXM <br>

:                       CLRC    OVM <br>

:               CLRC    CNF             ;B0区被配置为数据空间 <br>

:               LDP     #0E0H <br>

: ................... <br>

  <br>

-- <br>

  <br>

※ 来源:·BBS 水木清华站 smth.edu.cn·[FROM: 211.68.8.197] <br>

</small><hr>
<p align="center">[<a href="DSP开发技术.htm">回到开始</a>][<a href="8.htm">上一层</a>][<a href="154.htm">下一篇</a>]
<p align="center"><a href="http://cterm.163.net">欢迎访问Cterm主页</a></p>
</table>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -