智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3109|回复: 2
打印 上一主题 下一主题

新手求跑马灯程序

[复制链接]

1

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
威望
208
贡献
79
兑换币
4
注册时间
2012-3-25
在线时间
13 小时
毕业学校
北京联合大学
跳转到指定楼层
1#
发表于 2012-5-25 06:25:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
谁能帮我用以下中断程序为XS128编写一个跑马灯程序。
谢谢。
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
byte count=0;//中断计数变量
static void RTI_Init(void)
{              
    RTICTL=0xF7;   //16M/1.6×(10^6) =10Hz,1ms                    
    CRGINT=0x80;   //启用实时中断
}
void main(void)
{
  DDRB=0XFF;//B口设置为输出
  PORTB=0XAA; //B口输出10101010
  RTI_Init();
EnableInterrupts;
  for(;;)
  {   
     _FEED_COP(); /* feeds the dog */
  } /* loop forever */
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 7 RTI_ISR(void)
{   
//添加中断处理,100ms 中断一次
  count++;
  if(count==10)//10次中断,1s时间到
  {
    PORTB=~PORTB;//B口取反
    count=0;
  }  
  CRGFLG|=0X80;//清除中断标志
}

15

主题

483

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5170
QQ
威望
1635
贡献
3057
兑换币
215
注册时间
2011-4-6
在线时间
239 小时
2#
发表于 2012-5-25 14:05:57 | 只看该作者
本帖最后由 星斗520 于 2012-5-25 14:07 编辑

如果你这个函数能用 就可以这样
                  #include <hidef.h>      /* common defines and macros */

#include "derivative.h"      /* derivative-specific definitions */

byte count=0;//中断计数变量
unsigned char temp=0x01;

static void RTI_Init(void)

{              

    RTICTL=0xF7;   //16M/1.6×(10^6) =10Hz,1ms                    

    CRGINT=0x80;   //启用实时中断

}

void main(void)

{

  DDRB=0XFF;//B口设置为输出

  PORTB=0XAA; //B口输出10101010

  RTI_Init();

EnableInterrupts;

  for(;;)

  {   

     _FEED_COP(); /* feeds the dog */

  } /* loop forever */

}

#pragma CODE_SEG __NEAR_SEG NON_BANKED

void interrupt 7 RTI_ISR(void)

{   

//添加中断处理,100ms 中断一次

  count++;

  if(count==10)//10次中断,1s时间到

  {
  

    PORTB=temp;//
    count=0;
   
    temp<<=1;
    if(temp==0)
      temp=0x01;

  }  

  CRGFLG|=0X80;//清除中断标志

}


回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
威望
208
贡献
79
兑换币
4
注册时间
2012-3-25
在线时间
13 小时
毕业学校
北京联合大学
3#
 楼主| 发表于 2012-5-26 14:03:30 | 只看该作者
没有达到预期效果,似乎temp=0x01改为temp=~0x01会好一些。
但XS128上也只有7个灯会亮。开始亮的灯也不会灭。
能再帮我改一改程序,或说一说为什么出现这种情况吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-29 20:56 , Processed in 0.063010 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表