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

📄 d12-colour 128160.c

📁 OLED VGF160128的驱动程序(单片机C语言编写)
💻 C
📖 第 1 页 / 共 2 页
字号:
#include <reg53.h> //#include <INTRINS.h> //#include "p1.h"#define uchar unsigned char#define uint unsigned int//--------------------------------------------------------------------//128160 OLED CONTROL PINS DEFINEsbit CS1 = P1^0;sbit GPO = P1^3;sbit DC  = P1^2; sbit RES = P1^1;sbit F_led =P3^4;//End//-----------------------------------------------------------------------void delay(uint Len);void write_command(uchar command);void write_data(uchar datal,uchar datah);void write_data1(uchar datal);void read_data(uchar datal,uchar datah);void init_oled();void PORT_Init();void oled_test();void oled_test1();void led_test();void oled_display_pic();//End//-----------------------------------------------------------------------static char xdata   point  _at_ 0x9400;//End//-------------------------------------------------------------------------main(){	AUXR=0x01;	AUXR1=0x00;	PORT_Init();GPO=0;//    delay(3000);   for(;;)   {       init_oled();//	   F_led=0;//	   delay(1000);       oled_display_pic();       led_test();       oled_test();    //for oled test           //all screen//       oled_test1();    //for oled test           //1/3 screen//       F_led=1;	   F_led=!F_led;//	   delay(1000);   	      }      while (1) {      };}//---------------------------------------------------------------------------//functionvoid PORT_Init(){  P0=0xff;  P1=0xff;  P2=0xff;  P3=0xff;}void delay(uint Len)			//{ 	unsigned char i;    while(Len--)	{		for(i=0;i<150;i++)		{			_nop_();           //查源		}	}}void write_command(uchar command){	DC=0;    point=command;//    DC=1;}void write_data(uchar datal,uchar datah){	DC=1;    point=datal;	_nop_();    point=datah;}void write_data1(uchar datal){	DC=1;    point=datal;}void read_data(uchar datal,uchar datah){	DC=1;    datal=point;    datah=point;    }void init_oled(){	CS1 = 0;    RES=0;						//reset LGDT4216    _nop_();    _nop_();    _nop_();    _nop_();    _nop_();    _nop_();    _nop_();    _nop_();    _nop_();    _nop_();    RES=1;    _nop_();    _nop_();    _nop_();    _nop_();    _nop_();    _nop_();    _nop_();    _nop_();    _nop_();    _nop_();//    delay(5000);    write_command(0x61);             //scan driver control,comand explan at page 34      write_data1(0x00);    write_command(0x60);               //scan voltage setting,comand explan at page 34      write_data1(0x00);//    write_command(0x00);   	    //this command must be again at last ,command explain at page 11//      write_data1(0x01);          //dispaly off,set direction of data is nomall direction,RGB,RESET=1//            write_command(0x01);   	    //command explain at page 12      write_data1(0x03);          //address increment direction(x:0->159,y:0->128,x direction increment at first then y direction)                                    //8bit interface with 2 transmissions 65k colour    write_command(0x06);   	    //command explain at page 17      write_data1(0x00);          //X address    write_command(0x07);   	    //command explain at page 17      write_data1(0x00);          //Y address    write_command(0x02);   	    //command explain at page 13      write_data1(0x03);          //display size:160*128 , display frame :90Hz    write_command(0x43);   	    //command is not explain at page       write_data1(0x00);          //enable gamma    write_command(0x04);   	    //command explain at page 14      write_data1(0x00);          //no display rotate   160x128        write_command(0x03);   	    //command explain at page 13      write_data1(0x01);          //scan direction:0->159,scan seq direction:S0 S1 S2.....S127    write_command(0x27);   	    //command explain at page 28      write_data1(0x01);          //128 scan line time    write_command(0x20);   	    //command explain at page 27      write_data1(0x05);          //set RED disprecharge time of scan line    write_command(0x21);   	    //command explain at page 27      write_data1(0x02);          //set GREEN disprecharge time of scan line    write_command(0x22);   	    //command explain at page 27      write_data1(0x04);          //set BLUE disprecharge time of scan line    write_command(0x23);   	    //command explain at page 28      write_data1(0x02);          //set RED peak time of scan line    write_command(0x24);   	    //command explain at page 28      write_data1(0x06);          //set GREEN peak time of scan line    write_command(0x25);   	    //command explain at page 28      write_data1(0x04);          //set BLUE peak time of scan line//    write_command(0x05);   	    //command explain at page 15//      write_data1(0x);          //dummy register    write_command(0x50);          //red dot current set, command explan at page30      write_data1(0x26);     write_command(0x51);          //green dot current set, command explan at page30       write_data1(0x10);     write_command(0x52);          //blue dot current set, command explan at page31       write_data1(0x16);     write_command(0x53);            //red peak current set,command explan at page 31       write_data1(0x03);        write_command(0x54);            //green peak current set,command explan at page 32      write_data1(0x03);         write_command(0x55);            //blue peak current set,command explan at page 32      write_data1(0x03);        write_command(0x26);   	    //command explain at page 28      write_data1(0x06);          //period in scan to scan 0~63    write_command(0x5a);             //data gray level control set,comand explan at page 33      write_data1(0x01);    write_command(0xa0);               //power save set,comand explan at page 35      write_data1(0x00);               //0 go   1 stop//       delay(500);    write_command(0x00);   	    //this command must be again at last ,command explain at page 11      write_data1(0x80);          //dispaly off,set direction of data is nomall direction,RGB,RESET=1//***************************************    write_command(0x40);   	    //command explain at page 29//    write_command(0x05);   	    //command explain at page 15      write_data1(0x00);          //Red Lookup Set.      write_data1(0x00);      write_data1(0x00);      write_data1(0x01);      write_data1(0x02);          //5      write_data1(0x03);      write_data1(0x04);      write_data1(0x05);      write_data1(0x06);      write_data1(0x07);          //10      write_data1(0x08);      write_data1(0x09);      write_data1(0x0a);      write_data1(0x0b);      write_data1(0x0c);          //15      write_data1(0x0d);      write_data1(0x0e);      write_data1(0x0f);      write_data1(0x10);      write_data1(0x12);          //20      write_data1(0x13);      write_data1(0x14);      write_data1(0x16);      write_data1(0x17);      write_data1(0x19);          //25      write_data1(0x1b);      write_data1(0x1c);      write_data1(0x1e);      write_data1(0x20);      write_data1(0x22);          //30      write_data1(0x24);      write_data1(0x26);      write_data1(0x28);      write_data1(0x2a);      write_data1(0x2c);          //35      write_data1(0x2f);      write_data1(0x31);      write_data1(0x33);      write_data1(0x36);      write_data1(0x38);          //40      write_data1(0x3b);      write_data1(0x3d);      write_data1(0x40);      write_data1(0x43);      write_data1(0x45);          //45      write_data1(0x48);      write_data1(0x4b);      write_data1(0x4e);      write_data1(0x51);      write_data1(0x53);          //50      write_data1(0x56);      write_data1(0x59);      write_data1(0x5c);      write_data1(0x60);      write_data1(0x63);          //55      write_data1(0x66);      write_data1(0x69);      write_data1(0x6c);      write_data1(0x70);      write_data1(0x73);          //60      write_data1(0x76);      write_data1(0x79);      write_data1(0x7c);      write_data1(0x7f);          //64//*************************************    write_command(0x41);   	    //command explain at page 30//    write_command(0x05);   	    //command explain at page 15      write_data1(0x00);          //Green Lookup Set.      write_data1(0x00);      write_data1(0x00);      write_data1(0x01);      write_data1(0x02);          //5      write_data1(0x03);      write_data1(0x04);      write_data1(0x05);      write_data1(0x06);      write_data1(0x07);          //10      write_data1(0x08);      write_data1(0x09);      write_data1(0x0a);      write_data1(0x0b);      write_data1(0x0c);          //15      write_data1(0x0d);      write_data1(0x0e);      write_data1(0x0f);      write_data1(0x10);      write_data1(0x12);          //20      write_data1(0x13);      write_data1(0x14);      write_data1(0x16);      write_data1(0x17);      write_data1(0x19);          //25      write_data1(0x1b);      write_data1(0x1c);      write_data1(0x1e);      write_data1(0x20);      write_data1(0x22);          //30      write_data1(0x24);      write_data1(0x26);      write_data1(0x28);      write_data1(0x2a);      write_data1(0x2c);          //35      write_data1(0x2f);      write_data1(0x31);      write_data1(0x33);      write_data1(0x36);      write_data1(0x38);          //40      write_data1(0x3b);      write_data1(0x3d);      write_data1(0x40);      write_data1(0x43);      write_data1(0x45);          //45      write_data1(0x48);      write_data1(0x4b);      write_data1(0x4e);      write_data1(0x51);      write_data1(0x53);          //50      write_data1(0x56);      write_data1(0x59);      write_data1(0x5c);      write_data1(0x60);      write_data1(0x63);          //55      write_data1(0x66);      write_data1(0x69);      write_data1(0x6c);      write_data1(0x70);      write_data1(0x73);          //60      write_data1(0x76);      write_data1(0x79);      write_data1(0x7c);      write_data1(0x7f);          //64//*************************************************    write_command(0x42);   	    //command explain at page 30//    write_command(0x05);   	    //command explain at page 15      write_data1(0x00);          //Blue Lookup Set.      write_data1(0x00);      write_data1(0x00);      write_data1(0x01);      write_data1(0x02);          //5      write_data1(0x03);      write_data1(0x04);      write_data1(0x05);      write_data1(0x06);      write_data1(0x07);          //10      write_data1(0x08);      write_data1(0x09);      write_data1(0x0a);      write_data1(0x0b);      write_data1(0x0c);          //15      write_data1(0x0d);      write_data1(0x0e);      write_data1(0x0f);      write_data1(0x10);      write_data1(0x12);          //20      write_data1(0x13);      write_data1(0x14);      write_data1(0x16);      write_data1(0x17);      write_data1(0x19);          //25      write_data1(0x1b);      write_data1(0x1c);      write_data1(0x1e);      write_data1(0x20);      write_data1(0x22);          //30      write_data1(0x24);      write_data1(0x26);      write_data1(0x28);      write_data1(0x2a);      write_data1(0x2c);          //35      write_data1(0x2f);      write_data1(0x31);      write_data1(0x33);      write_data1(0x36);      write_data1(0x38);          //40

⌨️ 快捷键说明

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