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

📄 display.cpp

📁 其于ARM的USB操作,控制芯片为CH375实现操作.以及其他功能.包括AC,串口操作.
💻 CPP
字号:
#include "Display.h"
#include "44b.h"
#include "ucos_ii.h"

CDisplay::CDisplay()
{
	pDispBuf = NULL;
}

CDisplay::~CDisplay()
{
}

//写显示
void CDisplay::WriteDisp()
{
	U32 x;
	U32 y;
	
	U8* p;
	p = pDispBuf;
	iYSize = 8;
	
	for( y=0; y<iYSize; y++ )
	{
		rPDATC &= ~(DISP_CS2);
		rPDATC |= DISP_CS1;
		Delay( 100 );
		WriteCmd( 0xb8+y );
		WriteCmd( 0x40 );
		iXSize = 64;
		for( x=0; x<iXSize; x++ )
		{
			WriteDat( *p++ );
		}

		rPDATC &= ~(DISP_CS1);
		rPDATC |= DISP_CS2;
		Delay( 10 );
		WriteCmd( 0xb8+y );
		WriteCmd( 0x40 );
		for( x=0; x<iXSize; x++ )
		{
			WriteDat( *p++ );
		}
		rPDATC &= ~(DISP_CS2);
		Delay( 100 );
	}
}

//硬件复位显示器
void CDisplay::HardResetDisp()
{
	#if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */
	OS_CPU_SR  cpu_sr;
	#endif
	
	rPDATC |= DISP_DIR;
	rPDATC &= ~(DISP_RW);
	
	OS_ENTER_CRITICAL();
	rPDATE &= ~(DISP_RST);
	OS_EXIT_CRITICAL();
	
	OSTimeDly( 5 );
	
	OS_ENTER_CRITICAL();
	rPDATE |= DISP_RST;
	OS_EXIT_CRITICAL();
	
	
	OSTimeDly( 1 );
	
	SoftResetDisp();
}

void CDisplay::SoftResetDisp()
{
	rPDATC &= ~(DISP_CS2);
	rPDATC |= DISP_CS1;
	WriteCmd( 0x3f );
	rPDATC &= ~(DISP_CS1);
	rPDATC |= DISP_CS2;
	WriteCmd( 0x3f );
}

void CDisplay::WriteCmd( U8 cmd )
{
	U32 temp;
	
	rPDATC &= ~(DISP_RS);
	rPDATC |= DISP_E;
	Delay( 10 );
	temp = rPDATC;
	temp &= ~(0xff);
	temp |= cmd;
	rPDATC = temp;
	Delay( 10 );
	rPDATC &= ~(DISP_E);
	Delay( 10 );
	rPDATC |= DISP_RS;
	Delay( 10 );
}

void CDisplay::WriteDat( U8 dat )
{
	U32 temp;
	rPDATC |= DISP_E;
	Delay( 6 );
	temp = rPDATC;
	temp &= ~(0xff);
	temp |= dat;
	Delay( 6 );
	rPDATC = temp;
	rPDATC &= ~(DISP_E);
	Delay( 5 );
}

void CDisplay::SetDispBuf( U8* p )
{
	pDispBuf = p;
}

void CDisplay::Delay( U32 count )
{
	U32 i;
	for( i=0; i<count; i++ )
	{
		;
	}
}

void CDisplay::SetXSize( U32 size )
{
	iXSize = size;
}

void CDisplay::SetYSize( U32 size )
{
	iYSize = size;
}

⌨️ 快捷键说明

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