打印

定时器控制LED 实验

[复制链接]
3165|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
火箭球迷|  楼主 | 2009-10-22 22:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*Main.c,LED与定时器程序*/
#include "global.c"
void SystemInit();
void Timer1Init();
void KickDog();
int numled=500;
main()
{  
   SystemInit();             //系统初始化
   
   MCRA=MCRA & 0xC0FF;        //IOPB0-6设为IO口模式
   PBDATDIR=0xFFC2;           //所有LED=0
   PBDATDIR=PBDATDIR |0x003D;  //所有LED=1  
   Timer1Init();              //定时器初始化
   asm(" CLRC INTM ");
   while(1);
   
}
void SystemInit()
{  

asm(" SETC INTM "); //关闭总中断
asm(" CLRC  SXM  "); //禁止符号位扩展
asm(" CLRC  CNF  ");    //B0块映射为 on-chip DARAM
asm(" CLRC  OVM  ");    //累加器结果正常溢出
SCSR1=0x83FE;          //系统时钟CLKOUT=20*2=40M
       //打开ADC,EVA,EVB,CAN和SCI的时钟,系统时钟CLKOUT=40M
WDCR=0x006F;   //禁止看门狗,看门狗时钟64分频
KickDog();      //初始化看门狗
    IFR=0xFFFF;   //清除中断标志
    IMR=0x0002;   //打开中断2   
   
}  
void Timer1Init()           
{
    EVAIMRA=0x0080;  //定时器1周期中断使能
    EVAIFRA=0xFFFF;  //清除中断标志
    GPTCONA=0x0000;
T1PR=2500;   //定时器1初值,定时0.4us*2500=1ms   
T1CNT=0;
T1CON=0x144E;           //增模式, TPS系数40M/16=2.5M,T1使能
   
}
void c_int2()               //定时器1中断服务程序
{
    if(PIVR!=0x27)
  {   asm(" CLRC INTM ");
   return;
  }
T1CNT=0;
numled--;
if(numled==0)
{
  numled=500;
  if((PBDATDIR& 0x0001)==0x0001)
   PBDATDIR=PBDATDIR & 0xFFFE;    //IOPB0=0;LED灭  
  else
   PBDATDIR=PBDATDIR |0x0101;     //IOPB0=1;LED亮
}
  
EVAIFRA=0x80;
asm(" CLRC INTM ");   

}  
void KickDog()    //踢除看门狗
{
WDKEY=0x5555;
WDKEY=0xAAAA;
}

相关帖子

沙发
lobby| | 2009-10-23 10:40 | 只看该作者
很基础
很有用

使用特权

评论回复
板凳
lobby| | 2009-10-23 10:53 | 只看该作者
如果懂汇编
会优化程序
那DSP学的才叫好吧

使用特权

评论回复
地板
liliang9554| | 2009-10-23 12:00 | 只看该作者
很好的资料

使用特权

评论回复
5
benedy| | 2009-10-23 12:29 | 只看该作者
DSP程序优化也是很难的一门学问啊

使用特权

评论回复
6
thf2008| | 2009-10-26 20:17 | 只看该作者
很好,很基础的东西啊

使用特权

评论回复
7
linhai2009| | 2009-10-26 21:28 | 只看该作者
嘿嘿,LZ是转帖的吧,好东西

使用特权

评论回复
8
calm_lrc| | 2009-11-23 10:33 | 只看该作者
标志

使用特权

评论回复
9
loveforever| | 2009-11-23 16:13 | 只看该作者
好东西,
收藏了。

使用特权

评论回复
10
wplhd| | 2009-11-24 10:10 | 只看该作者
分享了  研究研究

使用特权

评论回复
11
hulan1985| | 2009-11-24 18:30 | 只看该作者
这都是多久的东西了怎么还拿出来啊

使用特权

评论回复
12
午夜粪车| | 2009-11-24 19:09 | 只看该作者
幼稚

使用特权

评论回复
13
贾君鹏子| | 2009-11-28 15:58 | 只看该作者
我也是火箭球迷,哈哈

使用特权

评论回复
14
hulan1985| | 2009-12-1 19:29 | 只看该作者
基础的东西还是有很多人需要,哎

使用特权

评论回复
15
thf2008| | 2009-12-1 22:05 | 只看该作者
13# 贾君鹏子

呵呵,球迷也来了

使用特权

评论回复
16
五谷道场| | 2009-12-3 20:19 | 只看该作者
这都是多久的东西了怎么还拿出来啊
hulan1985 发表于 2009-11-24 18:30

温故而知新嘛

使用特权

评论回复
17
dewlife| | 2009-12-5 10:58 | 只看该作者
好基础的咚咚咚啊

使用特权

评论回复
18
riantsoul| | 2009-12-5 12:07 | 只看该作者
太基础了

使用特权

评论回复
19
五谷道场| | 2009-12-5 23:06 | 只看该作者
:)适合菜鸟嘛

使用特权

评论回复
20
linhai2009| | 2009-12-7 00:45 | 只看该作者
恩,很适合初学者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:姚明的铁杆球迷

150

主题

3470

帖子

3

粉丝