📄 setdvdplay.c
字号:
//*********************************************************************
// setDVDplay.c 对机器的状态进行设置
// by hibernate 2006.01.18
// ShenZhen Challenge Technology Co.,Ltd
//remarks:这里主要是开关机和一些指示性的信息设置
//*********************************************************************
#include <intrins.h>
#include <stdio.h>
#include <reg51.h>
#include "vxis1828.h"
#include "config.h" //这个文件中包含有一些约定
#include "timer.h"
//包含使用的外部函数定义
#include "inital.h"
#include "IIC_RW.h"
#include "osd.h"
#include "status.h"
#include "handleKey.h"
void setMcuReg();
unsigned char mangePower();
void openDVDplay();
void setHardwarePowerOnBefor();
void setAppPowerOnBefor();
void setAppPowerOnAfter();
void setHardwarePowerOnAfter();
void waitDVDplay();
void setWaitHardware();
void setWaitApp();
// 与IIC的接口
sbit sda = SDA_PORT; //数据
sbit scl = SCL_PORT; //时钟
sbit Power_En = POWEER_PORT;
sbit LCD_En = HIV_PORT;
sbit CSP = P0^2;
sbit CSP2 = P0^3;
bit power_flag = 0; // Power flag
//***********************************************
//函数:void setMcuReg()
//作用: 开机时MCU寄存器的设置
//参数说明:
//remarks:
//data :2006.3.8 by hibernate
//************************************************
void setMcuReg()
{
//Enable and set the interrupt of Timer0 mode2
IE = 0; // IE:中断允许控制 register
IP = 0x02; // Set the Timer0 in High priority
TMOD = 0x02; // TMOD:定时/计数器工作方式 status register
TL0 = 0x00; // TL0:定时/计数器0(低字节)
TH0 = 0x00; // TH0:定时/计数器0(高字节)
ET0 = 1;
//TR0=1;
// Pulling loop
EX0 = 0;
EX1 = 1;
EA = 1; // Enable all interrupt
}
//***********************************************
//函数:unsigned char mangePower()
//作用: 按下开关机电源按健时的开关机流程处理
//参数说明:
//remarks:
//data :2006.3.8 by hibernate
//************************************************
unsigned char mangePower()
{
power_flag = ~power_flag;
//DelayXms(0xEF);
if (power_flag)
{
openDVDplay();
//setCurrentFormat(0x00);
}
else // POWER OFF
waitDVDplay();
return power_flag;
}
//***********************************************
//函数:void openDVDplay()
//作用: 开机流程设置
//参数说明:
//remarks:
//data :2005.12.24 by hibernate
//************************************************
void openDVDplay()
{
// 这里的流程并不复杂,可以取消这些函数
setHardwarePowerOnBefor();
setAppPowerOnBefor();
setInit1828();
setAppPowerOnAfter();
setHardwarePowerOnAfter();
}
//***********************************************
//函数:void waitDVDplay()
//作用: 待机流程设置
//参数说明:
//remarks:
//data :2005.12.24 by hibernate
//************************************************
void waitDVDplay()
{
setWaitHardware();
setWaitApp();
}
//***********************************************
//函数:void setHardwarePowerOnBefor()
//作用: 电源还没有打开时的硬件设置
//参数说明:
//remarks:
//data :2005.12.24 by hibernate
//************************************************
void setHardwarePowerOnBefor()
{
Power_En = 1; // 先打开电源
DelayXms(0x10);
TR0 = 1;
}
//***********************************************
//函数:void setAppPowerOnBefor()
//作用: 电源打开以前的应用程序设置
//参数说明:
//remarks: 主要对状态变量进行设置
//data :2005.12.24 by hibernate
//************************************************
void setAppPowerOnBefor()
{
}
//***********************************************
//函数:void setAppPowerOnAfter()
//作用: 电源打开以后的应用程序设置
//参数说明:
//remarks: 主要对状态变量进行设置
//data :2005.12.24 by hibernate
//************************************************
void setAppPowerOnAfter()
{
//clearTimer();
}
//***********************************************
//函数:void setAppPowerOnAfter()
//作用: 电源打开以后的硬件设置
//参数说明:
//remarks: 在实际情况下,硬件的打开顺序是不一样的
//data :2005.12.24 by hibernate
//************************************************
void setHardwarePowerOnAfter()
{
LCD_En = 1;
DelayXms(0x10);
}
//***********************************************
//函数:void setWaitHardware()
//作用: 待机时的硬件设置
//参数说明:
//remarks:
//data :2005.12.24 by hibernate
//************************************************
void setWaitHardware()
{
osdSwitch(0x00);
LCD_En = 0; // 先关屏 Screen turn off
DelayXms(0x10);
Power_En = 0; // 再关电源
DelayXms(0x10);
//DelayXms(0xFF);
TR0 = 0;
}
//***********************************************
//函数:void setWaitApp()
//作用: 待机时的软件设置
//参数说明:
//remarks:
//data :2005.12.24 by hibernate
//************************************************
void setWaitApp()
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -