定时器控制LED 实验

[复制链接]
3888|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 | 显示全部楼层
很好的资料
benedy 发表于 2009-10-23 12:29 | 显示全部楼层
DSP程序优化也是很难的一门学问啊
thf2008 发表于 2009-10-26 20:17 | 显示全部楼层
很好,很基础的东西啊
linhai2009 发表于 2009-10-26 21:28 | 显示全部楼层
嘿嘿,LZ是转帖的吧,好东西
calm_lrc 发表于 2009-11-23 10:33 | 显示全部楼层
loveforever 发表于 2009-11-23 16:13 | 显示全部楼层
好东西,
收藏了。
wplhd 发表于 2009-11-24 10:10 | 显示全部楼层
分享了  研究研究
hulan1985 发表于 2009-11-24 18:30 | 显示全部楼层
这都是多久的东西了怎么还拿出来啊
午夜粪车 发表于 2009-11-24 19:09 | 显示全部楼层
贾君鹏子 发表于 2009-11-28 15:58 | 显示全部楼层
我也是火箭球迷,哈哈
hulan1985 发表于 2009-12-1 19:29 | 显示全部楼层
基础的东西还是有很多人需要,哎
thf2008 发表于 2009-12-1 22:05 | 显示全部楼层
13# 贾君鹏子

呵呵,球迷也来了
五谷道场 发表于 2009-12-3 20:19 | 显示全部楼层
这都是多久的东西了怎么还拿出来啊
hulan1985 发表于 2009-11-24 18:30

温故而知新嘛
dewlife 发表于 2009-12-5 10:58 | 显示全部楼层
好基础的咚咚咚啊
riantsoul 发表于 2009-12-5 12:07 | 显示全部楼层
太基础了
五谷道场 发表于 2009-12-5 23:06 | 显示全部楼层
:)适合菜鸟嘛
linhai2009 发表于 2009-12-7 00:45 | 显示全部楼层
恩,很适合初学者
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

150

主题

3470

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部