📄 lcd.c
字号:
/*************************************Seekfor Embedded DOS v1.0***************************************************
****** *** ***** ****** **** ****** v1.0
** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** **
** ***** ***** ** **** ******* ***** ******** ***** ** ** ** ** **
*** ** ** ** ** ** ** ** ** ** *** ** ** ** ** ** ** ** ***
** ******* ******* **** ** ** ** ** ******* ** ** ** ** **
** ** ** ***** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
****** ***** ***** ******** ****** ***** ****** ***** ****** **** ******
<1)基本描述
Seekfor Embedded DOS v1.0是嵌入式的一个类DOS操作系统,支持FAT16/FAT32.
<2)文件描述
文件名:lcd.c
功能:LCD驱动
<3>如需更新版本软件,请联系:
QQ:82054357
Mail:Seek_for@163.com
MSN:sfrad32@hotmail.com
**************************************************************************************************************/
#ifndef __LCD_C__
#define __LCD_C__
#include "dos.h"
#if(SUPPORT_GRAPHICS)
static int disp_buffer[LCD_HEIGHT][LCD_WIDTH];
static int get_pixel(int x, int y)
{
return disp_buffer[y][x];
}
static void put_pixel(int x,int y,int color)
{
if(y>=0&&x>=0&&y<LCD_HEIGHT&&x<LCD_WIDTH)
disp_buffer[y][x]=color;
}
#define VBPD_240320 ((2-1)&0xff)
#define VFPD_240320 ((3-1)&0xff)
#define VSPW_240320 ((2-1) &0x3f)
#define HBPD_240320 ((7*2-1)&0x7f)
#define HFPD_240320 ((3*2-1)&0xff)
#define HSPW_240320 ((4-1)&0xff)
#define MVAL (13)
#define MVAL_USED (1)
#define M5D(n) ((n) & 0x1fffff)
#define HOZVAL_TFT_240320 (239)
#define LINEVAL_TFT_240320 (319)
#define CLKVAL 8/*原来使用4就出现本文现象,改为8后一切正常*/
void LCD_init()
{
rLCDCON1=(CLKVAL<<8)|(MVAL_USED<<7)|(3<<5)|(13<<1);
rLCDCON2=(VBPD_240320<<24)|(LINEVAL_TFT_240320<<14)|(VFPD_240320<<6)|(VSPW_240320);
rLCDCON3=(HBPD_240320<<19)|(HOZVAL_TFT_240320<<8)|(HFPD_240320);
rLCDCON4=(MVAL<<8)|(HSPW_240320);
rLCDCON5=(1<<11)|(1<<9)|(1<<8);
rLCDSADDR1=(((unsigned int)disp_buffer>>22)<<21)|M5D((unsigned int)disp_buffer>>1);
rLCDSADDR2=M5D(((unsigned int)disp_buffer+(240*320*4))>>1);
rLCDSADDR3=0x00;
rLCDINTMSK|=(3);
rLPCSEL&=(~7);
rTPAL=0;
initgraph((void*)get_pixel,(void*)put_pixel,(LCD_WIDTH+(LCD_HEIGHT<<16)));
settextstyle(0,1,1);
setcolor(HW_RGB(63,63,63));
setbkcolor(HW_RGB(0,0,0));
cleardevice();
rLCDCON1|=0x01;
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -