📄 timer.c
字号:
#include <stdio.h>
#include "vc5402.h"
#include "main.h"
UBYTE blink = 0;
TIMER Timer_led; //运行状态灯定时器
interrupt void Timer0Isr(void); //定时器0中断
interrupt void SINT17_Isr(void); //软件中断17#
void led_start();
//软件定时器初始化
void TimerInit()
{
Timer_led.run = 0;
Timer_led.flow = 0;
Timer_led.period = 0;
}
/* led timer start*/
void led_start()
{
Timer_led.run = 0;
Timer_led.flow = 0;
Timer_led.period = 5;
Timer_led.run = 1;
}
/* led timer stop*/
void led_stop()
{
Timer_led.run = 0;
Timer_led.flow = 0;
}
/* led timer timeout function*/
void led_timeout()
{
if(blink)
{
asm(" STM #080H,03dh"); //置HD1为0
blink = 0;
}
else
{
asm(" STM #0c0H,03dh"); //置HD1为0
blink = 1;
}
led_start();
}
//定时器0中断服务程序
interrupt void Timer0Isr(void)
{
unsigned char i,j;
if(Timer_led.run)
{
if(--Timer_led.period == 0)
{
// led_timeout();
asm(" INTR 2");
}
}
}
interrupt void SINT17_Isr(void)
{
led_timeout();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -