📄 delay.c
字号:
#include "c8051f020.h"
#include "delay.h"
UINT16 TIME;
void delay(UINT16 time)
{
TIME = time;
CKCON &= ~(0x08); //定时器0用系统时钟的12分频
TMOD |= 0x01; //定时器0用方式1:16位定时器
TL0 = 0xdc; //定时num = 1ms TL0 = - num
TH0 = 0xf7; // TH0 = (-num) >> 8;
EA = 1; //允许总中断
ET0 = 1; //允许定时器0中断
TR0 = 1; //定时器启动
while(TIME); //等待定时器中断
TR0 = 0; //关定时器
ET0 = 0;//关定时器中断
EA = 0; //关总中断
}
void TIMER0_Init() interrupt 1
{
TL0 = 0xdc; //重载初值
TH0 = 0xf7;
TIME--; //定时次数减1
}
/*
void delay1ms(INT16 time)
{
INT16 base = 2500;
while(--time)
{
while(--base);
base = 2500;
}
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -