欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
JLX12832G cog 128x32 28pin單片機驅動程序源碼
[打印本頁]
作者:
lephuocthe
時間:
2018-4-12 23:26
標題:
JLX12832G cog 128x32 28pin單片機驅動程序源碼
JLX12832G-037 使用說明書
單片機源程序如下:
/* JLX12832G-037-P-FOG 測試程序****/
/* LCD 驅動 IC:ST7567
/* 該程序顯示 2 行中文如下:*/
/* 全套液晶解決方案*/
/* 質量取勝創建口碑*/
//#include <reg51.H>
//#include <intrins.h>
//--------------------------------------------------------
#define lcd_cs1 10 //接口定義,CS:片選
#define lcd_reset 9 //接口定義,RESET:復位
#define lcd_rs 11 //接口定義,RS:命令/數據寄存器選擇。也叫"A0",或“CD”
#define lcd_sid 12 //接口定義,SID 即 SDA:串行數據
#define lcd_sclk 13 //接口定義,sclk:串行時鐘
//-------------------------------------------------------
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
void displaygraphic(char *dp);
uchar jiong1[]={/*-- 文字: 囧 --*/
/*-- 宋體 12; 此字體下對應的點陣為:寬 x 高=16x16 --*/
0x00,0xFE,0x82,0x42,0xA2,0x9E,0x8A,0x82,0x86,0x8A,0xB2,0x62,0x02,0xFE,0x00,0x00,
0x00,0x7F,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x7F,0x00,0x00};
uchar lei1[]={/*-- 文字: 畾 --*/
/*-- 宋體 12; 此字體下對應的點陣為:寬 x 高=16x16 --*/
0x80,0x80,0x80,0xBF,0xA5,0xA5,0xA5,0x3F,0xA5,0xA5,0xA5,0xBF,0x80,0x80,0x80,0x00,
0x7F,0x24,0x24,0x3F,0x24,0x24,0x7F,0x00,0x7F,0x24,0x24,0x3F,0x24,0x24,0x7F,0x00};
//寫命令到 LCD 模塊
void transfer_command(int data1)
{
char i;
digitalWrite(lcd_cs1,LOW); //cs1=0,片選清零才可以傳送命令或數據
digitalWrite(lcd_rs,LOW); //rs=0:表示以下發送 1 個字節的命令
for(i=0;i<8;i++)
{
digitalWrite(lcd_sclk,LOW);
if(data1&0x80) digitalWrite(lcd_sid,HIGH);
else digitalWrite(lcd_sid,LOW);
digitalWrite(lcd_sclk,HIGH);
data1<<=1;
}
digitalWrite(lcd_cs1,HIGH); //cs1=1,當不用傳數據給液晶屏時片選盡量置高,以免接收到一些干擾信號
}
//寫數據到 LCD 模塊
void transfer_data(int data1)
{
char i;
digitalWrite(lcd_cs1,LOW); //cs1=0,片選清零才可以傳送命令或數據
digitalWrite(lcd_rs,HIGH); //rs=0:表示以下發送 1 個字節的數據
for(i=0;i<8;i++)
{
digitalWrite(lcd_sclk,LOW);
if(data1&0x80) digitalWrite(lcd_sid,HIGH);
else digitalWrite(lcd_sid,LOW);
digitalWrite(lcd_sclk,HIGH);
data1<<=1;
}
digitalWrite(lcd_cs1,HIGH); //cs1=1,當不用傳數據給液晶屏時片選盡量置高,以免接收到一些干擾信號
}
/*延時*/
void delay(int i)
{
int j,k;
for(j=0;j<i;j++)
for(k=0;k<500;k++);
}
/*等待一個按鍵,我的主板是用 P2.0 與 GND 之間接一個按鍵
void waitkey()
{
repeat:
if (P2&0x01) goto repeat;
else delay(6);
if (P2&0x01) goto repeat;
else
delay(40);
}
*/
void lcd_address(int page,int column)
{
column=column;
transfer_command(0xb0+page-1); /*設置頁地址*/
transfer_command(0x10+(column>>4&0x0f)); /*設置列地址的高 4 位*/
transfer_command(column&0x0f); /*設置列地址的低 4 位*/
}
/*顯示 16x16 點陣圖像、漢字、生僻字或 16x16 點陣的其他圖標*/
void display_graphic_16x16(uint page,uint column,uchar *dp)
{
uint i,j;
digitalWrite(lcd_cs1,LOW);
for(j=0;j<2;j++)
{
lcd_address(page,column);
for (i=0;i<16;i++)
{
transfer_data(*dp); /*寫數據到 LCD,每寫完一個 8 位的數據后列地址自動加 1*/
dp++;
}
page++;
}
digitalWrite(lcd_cs1,HIGH);
}
/*顯示 5*7 點陣圖像、ASCII, 或 5x7 點陣的自造字符、其他圖標*/
void display_graphic_5x7(uint page,uchar column,uchar *dp)
{
uint col_cnt;
digitalWrite(lcd_cs1,LOW);
lcd_address(page,column);
for (col_cnt=0;col_cnt<8;col_cnt++)
{
transfer_data(*dp);
dp++;
}
digitalWrite(lcd_cs1,HIGH);
}
/*顯示 8x16 點陣圖像、ASCII, 或 8x16 點陣的自造字符、其他圖標*/
void display_graphic_8x16(uint page,uchar column,uchar *dp)
{
uint i,j;
digitalWrite(lcd_cs1,LOW);
for(j=0;j<2;j++)
{
lcd_address(page,column);
for (i=0;i<8;i++)
{
transfer_data(*dp); /*寫數據到 LCD,每寫完一個 8 位的數據后列地址自動加 1*/
dp++;
}
page++;
}
digitalWrite(lcd_cs1,HIGH);
}
//==================display a piture of 128*64 dots================
void displaygraphic(char *dp)
{
int i,j;
for(i=0;i<4;i++)
{
digitalWrite(lcd_cs1,LOW);
transfer_command(0xb0+i); //set page address,
transfer_command(0x10);
transfer_command(0x00);
for(j=0;j<128;j++)
{
transfer_data(*dp);
dp++;
}
}
}
char graphic1[]={
/*-- 調入了一幅圖像:D:\Backup\我的文檔\圖片\G-037.bmp --*/
/*-- 寬度 x 高度=128x32 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x2A,0x2A,0x2A,
0x2A,0x2A,0x2A,0x7E,0x00,0x00,0x00,0x00,0x02,0xFE,0x92,0x92,0x92,0xFE,0x12,0x11,
0x12,0x1C,0xF0,0x18,0x17,0x12,0x10,0x00,0x20,0x21,0x2E,0xE4,0x00,0x42,0x42,0xFE,
0x42,0x42,0x42,0x02,0xFE,0x00,0x00,0x00,0x00,0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,
0x48,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xE2,
0x12,0x0A,0x06,0x02,0x00,0x80,0x00,0x00,0x00,0x00,0x80,0x40,0x30,0x0E,0x84,0x00,
0x00,0x0E,0x10,0x60,0xC0,0x80,0x80,0x00,0x00,0x10,0x92,0x92,0x92,0x92,0x92,0x92,
0x92,0x92,0x12,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x25,0x25,0x25,0x25,0x7F,0x00,
0x00,0x7F,0x25,0x25,0x25,0x25,0x7F,0x00,0x08,0x1F,0x08,0x08,0x04,0xFF,0x05,0x81,
0x41,0x31,0x0F,0x11,0x21,0xC1,0x41,0x00,0x00,0x00,0x00,0x7F,0x20,0x10,0x00,0x7F,
0x00,0x00,0x00,0x00,0x3F,0x40,0x38,0x00,0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x3F,
0x44,0x44,0x44,0x44,0x4F,0x40,0x70,0x00,0x01,0x01,0x01,0x01,0x01,0x41,0x81,0x7F,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x01,0x20,0x70,0x28,0x24,0x23,0x31,
0x10,0x10,0x14,0x78,0x30,0x01,0x00,0x00,0x00,0x00,0x1F,0x04,0x04,0x04,0x04,0x04,
0x04,0x0F,0x00,0x20,0x40,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,
0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,
0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00,
0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20,
0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,
0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,
0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00,
0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,
0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
//============initial
void initial_lcd()
{
digitalWrite(lcd_cs1,LOW);
digitalWrite(lcd_reset,LOW); //Reset the chip when reset=0
delay(20);
digitalWrite(lcd_reset,HIGH);
transfer_command(0xe2); /*軟復位*/
transfer_command(0x2c); /*升壓步聚 1*/
delay(5);
transfer_command(0x2e); /*升壓步聚 2*/
delay(5);
transfer_command(0x2f); /*升壓步聚 3*/
delay(5);
transfer_command(0x22); /*粗調對比度,可設置范圍 20~27*/
transfer_command(0x81); /*微調對比度*/
transfer_command(0x1b); /*微調對比度的值,可設置范圍 0~63*/
transfer_command(0xa2); /*1/9 偏壓比(bias)*/
transfer_command(0xc8); /*行掃描順序:從上到下*/
transfer_command(0xa0); /*列掃描順序:從左到右*/
transfer_command(0x40); /*起始行:從第一行開始*/
transfer_command(0xaf); /*開顯示*/
digitalWrite(lcd_cs1,HIGH);
}
//===============clear all dot martrics=============
void clear_screen()
{
unsigned char i,j;
for(i=0;i<4;i++)
{
digitalWrite(lcd_cs1,LOW);
transfer_command(0xb0+i);
transfer_command(0x10);
transfer_command(0x00);
for(j=0;j<132;j++)
{
transfer_data(0x00);
}
}
}
//===============main program===================
void setup()
{
pinMode(lcd_cs1,OUTPUT);
pinMode(lcd_reset,OUTPUT);
pinMode(lcd_rs,OUTPUT);
pinMode(lcd_sid,OUTPUT);
pinMode(lcd_sclk,OUTPUT);
// int i,j,k;
digitalWrite(lcd_cs1,LOW);
initial_lcd();
while(1)
{
clear_screen(); //clear all dots
displaygraphic(graphic1); //display a picture of 128*64 dots
//waitkey();
}
}
復制代碼
所有資料51hei提供下載:
st7567_SPI.zip
(6.86 KB, 下載次數: 24)
2018-4-12 23:24 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1