liushuideng.c
来自「DSP程序,主要是对DSP的入门程序,用于点亮发光官,这里的是8个发光官,循环点」· C语言 代码 · 共 54 行
C
54 行
/**************************************************
*
* 程序说明:1.使用定时器产生间隔70ms的闪烁。
* 2.等待外部中断产生闪烁中断或启动程序。
***************************************************/
#define IMR*(int*)0x0 /*定义要访问的MMR*/
#define IFR*(int*)0x01
#define PRD*(int*)0x25
#define TCR*(int*)0x26
#define SWWSR*(int*)0x28
volatile ioport unsigned int port8028; /*定义要访问的I/O单元*/
#define Light port8028//流水灯
unsigned int LED,flag;
void main(void)
{
IMR=0;
SWWSR=0;//不插入等待周期
TCR=0x10;//TSS=1关定时器
PRD=0x0ffff;//加载周期寄存器值
TCR=0X0C2F;//TDDR分频系数=16;TSS=0启动定时器;TRB=1,从新加载PRD,
IMR=(0X08|0x02);//开放定时器中断及外部中断2
IFR=0xFFFF;//清除尚未处理完的所有中断
asm(" RSBX INTM ");//开放中断
LED=1;
flag=1;
while (1)
{;}
}
interrupt void INT_2(void)
{
if(flag==1)
{
flag=0;
TCR=0x0C3F;//关闭定时器
}
else
{
flag=1;
TCR=0x0C2F;//开启定时器
}
}
interrupt void timer(void)
{
Light=LED;
if(LED>8){LED=1;}
LED*=2;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?