📄 delay.c
字号:
/*
好利来音响部设计
未经同意不得散布于网络
2005年2月15日
*/
/*
本项目专门为宣传本站的51 PIC AVR 多功能学习开发板而奉献,仅供参考,请勿做商业用途,欢迎转载但要保留本站信息
志博电子专注于8位单片机开发板设计和教学
让人耳目一心的经济又豪华型开发板
性价比最高
仅售378!
欢迎访问我们的网站 www.elecmcu.com
*/
#define uchar unsigned char //重定义数据类型
#define uint unsigned int
#define ulong unsigned long //重定义数据类型
#include <reg52.h> //KEIL 库函数
#include "mylib.h" //用户库
#include <absacc.h> //KEIL 库
extern bit relable;
static unsigned int bb=0x00; //定义两个静态全局变量
static unsigned int aa=0x00;
extern uchar enb=0;
uchar delay_num=0;
sbit fun_vfd=P1^4; //VFD和DVD公用VFD 占用SPI总线仲裁
void inidelay()
{
EA=1;
EX0=1;
ET1=1;
EX1=0;
ET0=1;
PT1=1;
PT0=1;
PX1=0;
PX0=0;
IT0=1;
TMOD=0X11;
TH1=0Xff;
TL1=0X50;
TR1=0;
}
void remdelay(void) interrupt 1
{
static kk;
static bit l;
TH0=0X00;
TL0=0X00;
kk++;
if(kk>=8)
{
l=~l;
if(l)
taiwei();
else
{
wrvfd(0x06,0);
wrvfd(0x07,0);
}
kk=0;
re_re=0;
}
}
void flash(void) interrupt 3
{
TH1=0X00;
TL1=0X00;
delay_num--;
if(!delay_num)
{
vfd_clean();
if(band==dvd)
fun_vfd=vfd_dvd;
else if((band==am)||(band==fm))
{
display();
TR1=0;
}
else if(band==tape)
{
wrvfd(0x06,0x40);
wrvfd(0x07,0xfd);
wrvfd(0x04,0xfa);
wrvfd(0x05,0xb6);
TR1=0;
}
else if(band==tv)
{
wrvfd(0x05,0xb6);//清屏
wrvfd(0x04,0x76);
wrvfd(0x07,0x6f);
wrvfd(0x06,0x40);
TR1=0;
}
save_eeprom();
}
}
void delaytime(uint time)
{ bit a=0;
for(;time!=0;time--)
{
a=1;
a=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -