📄 tft.c
字号:
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
// This project was designed by Jacky.L (深圳)
// The part of SD and FAT Copyright (c) 2006-2007 by Roland Riegel
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
#include <avr/io.h>
#include "R61503b.h"
#include "uart.h"
void Delay_1ms(void)
{
unsigned int i;
for(i=1;i<2000;i++);
}
void Delay_Nms(unsigned int n)
{
unsigned int i;
for(i = 0;i < n;i++)
Delay_1ms();
}
void data_out(uchar set_dbH,uchar set_dbL)
{
RS_(H);
DATAPORTL=set_dbH;
WR_(L);
WR_(H);
DATAPORTL=set_dbL;
WR_(L);
WR_(H);
}
//-----------------------------------------------------------
void com_out(uchar comH,uchar comL)
{
RS_(H);
DATAPORTL= comH;
WR_(L);
WR_(H);
DATAPORTL= comL;
WR_(L);
WR_(H);
}
//-----------------------------------------------------------
void index_out(uchar index)
{
RS_(L);
DATAPORTL= 0;
WR_(L);
WR_(H);
DATAPORTL=index ;
WR_(L);
WR_(H);
}
//-----------------------------------------------------------
void control_out(uchar index,uchar set_dbH,uchar set_dbL)
{ index_out(index);
com_out(set_dbH,set_dbL);
//CtrlPort=0xff;
}
//-----------------------------------------------------------
//-----------------------------------------------------------
void R22_out(void)
{ index_out(0x22);
}
//-----------------------------------------------------------
void lcd_reset(void)
{
DDRA=0xff;
DDRC=0xff;
RESET_(L);
Delay_Nms(10);
CS_(H);
WR_(H);
RESET_(H);
Delay_Nms(10);
CS_(L);
}
void init_lcd_T176()
{
lcd_reset();
Delay_Nms(10);
//***************power set*****************
control_out(Start_oscillation, 0x00,0x01);
control_out(calibration_cotrol,0x00,0x01);
control_out(Display_control_1, 0x02,0x31);
control_out(Power_control_5, 0x00,0x01);
control_out(Power_control_1, 0x14,0xb0);
control_out(Power_control_2, 0x00,0x07);
control_out(Power_control_3, 0x11,0x18);
control_out(Power_control_4, 0x8a,0x10);
control_out(Power_control_3, 0x11,0x38);
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%//
control_out(Diver_output_control, 0x01,0x00);
control_out(Lcd_drive_waveform, 0x04,0x00);
control_out(Entry_mode, 0x10,0x30);
control_out(Resize_control, 0x00,0x00);
control_out(Display_control_2, 0x02,0x02); //0202
control_out(Display_control_3, 0x00,0x03);
control_out(External_display_interface_1, 0x00,0x00);
control_out(External_display_interface_2, 0x00,0x00);
control_out(Ram_address_set_horizontal_add, 0x00,0x00);
control_out(Ram_address_set_vertical_add, 0x00,0x00);
control_out(Horizontal_ram_address_start_position, 0x00,0x00);
control_out(Horizontal_ram_address_end_position, 0x00,175);
control_out(Vertical_ram_address_start_position, 0x00,0x00);
control_out(Vertical_ram_address_end_position, 0x00,219);
control_out(Driver_output_control_2, 0x1b,0x00);
control_out(Base_image_display_control, 0x00,0x01);
control_out(Vertical_scollL_control, 0x00,0x00);
control_out(Pannel_interface_control_1, 0x00,0x00);
control_out(Pannel_interface_control_2, 0x00,0x00);
control_out(Pannel_interface_control_3, 0x00,0x00);
control_out(Pannel_interface_control_4 , 0x00,0x00);
control_out(Pannel_interface_control_5 , 0x00,0x00);
control_out(Pannel_interface_control_6, 0x00,0x00);
//************Gamma_control*******************
control_out(Gamma_control_1,0x04,0x04);
control_out(Gamma_control_2,0x04,0x04);
control_out(Gamma_control_3,0x04,0x04);
control_out(Gamma_control_4,0x04,0x04);
control_out(Gamma_control_5,0x04,0x04);
control_out(Gamma_control_6,0x04,0x04);
control_out(Gamma_control_7,0x04,0x04);
control_out(Gamma_control_8,0x04,0x04);
control_out(Gamma_control_9,0x08,0x08);
control_out(Gamma_control_10,0x08,0x08);
control_out(Gamma_control_11,0x08,0x08);
//**************display on***************************
control_out(Display_control_1, 0x02,0x01);
control_out(Display_control_1, 0x02,0x21);
control_out(Display_control_1, 0x02,0x33);
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%//
}
void tft_ram_fill(uchar set_dbH,uchar set_dbL)
{
uchar i,j;
// CS_(L);
control_out(Ram_address_set_horizontal_add, 0x00,0x00);
control_out(Ram_address_set_vertical_add, 0x00,0x00);
R22_out();
for (j=0; j<220; j++)
{
for (i=0; i<176; i++)
data_out(set_dbH,set_dbL);
}
// CS_(H);
}
void initShowChar()
{
control_out(Ram_address_set_vertical_add, 0x00,0);
control_out(Ram_address_set_horizontal_add, 0x00,0);
R22_out();
}
void tftShowChar()
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -