⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delay.c

📁 这个是一个带有IC卡
💻 C
字号:
#define DELAY_GLOBALS
#include "config.h"
#include "Zlg500S.h"
#include "zlg500S_test.h"
#include "BEEP.h"
#include "gprs.h"

volatile static uint8 delay_timer = 0;

void __irq Timer0_Isr(void)
{
	if(WaitRespDly)
		WaitRespDly--;
		
	if(LedDly)
		LedDly--;
		
	if(delay_timer)
		delay_timer--;	
		
	if(beep_time != 0) { 
		IO0CLR = BEEPCON;
		beep_time--;
	}	
	else
		IO0SET = BEEPCON; 	
		
	gprs_timer++;	
					

	T0IR = 0x01;		//清定时器0中断标志	
	VICVectAddr = 0;	
}

/**********************************************
定时器0初始化为5ms中断一次

**********************************************/
void Time0Init(void)
{
	T0PR = 0;	//预分频器不分频
	T0TC = 0;	//定时器初值为0
	T0MCR = (T0MCR & 0xfff8) | 0x0003;	//T0匹配后复位,且产生中断
	T0MR0 = Fpclk/200;		//5ms中断一次
	
	VICIntSelect &= ~(1 << 4);	//设置定时器0中断通道为IRQ
	VICVectAddr15 = (uint32)Timer0_Isr;	//ZLG500S中断矢量地址初始化
	VICVectCntl15 = 0x20 | 4;
	VICIntEnable = 1 << 4;
	
	T0TCR = 0x01;	//启动定时器0
}

void delay_10ms(void)
{
	delay_timer = 2;
	while(delay_timer != 0);
}

void delay_500ms(void)
{
	int i;
	
	for(i = 0; i < 50; i++)
		delay_10ms();
}
void delay_1s(void)
{
	int i;
	
	for(i = 0; i <100; i++)
		delay_10ms();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -