📄 led.c
字号:
#include "2407c.h"
ioport unsigned int port8000;
ioport unsigned int port8005;
ioport unsigned int port8007;
void interrupt xint(void); /* 中断服务程序,外部中断调用 */
unsigned int uWork,nCount;
int * pf;
main()
{
int i;
*WDCR=0x6f;
*WDKEY=0x5555;
*WDKEY=0xaaaa; /* 关闭看门狗中断 */
*SCSR1=0x81fe; /* 设置DSP运行频率40m */
(*MCRB)=0;
asm(" setc INTM"); /* 关中断,进行关键设置时不允许发生中断,以免干扰 */
uWork=(*MCRC); /* 将PWM12/IOPE6设置成通用I/O口,以控制实验箱上指示灯 */
uWork&=0x0ffbf;
(*MCRC)=uWork;
*IMR=0x1; /* 使能中断(INT1) */
*IFR=0xffff; /* 清除中断标志 */
*XINT2CR=0x1; //使能外部中断2
port8000=0; // 初始化ICETEK-CTR
port8000=0x80;
port8000=0;
port8000=0x82;
port8007=0; // 关闭东西方向的交通灯
port8007=0x40; // 关闭南北方向的交通灯
asm(" clrc INTM"); /* 开中断 */
for(;;);
}
// 中断服务程序:响应INT2中断
void interrupt xint(void) /* 中断服务程序定义,须使用interrupt声 */
{
uWork=(*PIVR); /* 读外设中断向量寄存器*/
switch(uWork)
{
case 0x11:
{
*XINT2CR=0x8001;//清除中断标志位
uWork=(*PEDATDIR); /* 设置指示灯状态翻转一次 */
uWork|=0x4000;
uWork^=0x0040;
(*PEDATDIR)=uWork;
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -