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

📄 setdvdplay.c

📁 一个用于驱动TFT屏的驱动程序,使用IC:1828,program (无EEPROM 无IR,完整说明)IIC只写一个
💻 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 + -