夜夜春影院-久久观看最新视频-免费色网-日韩精品无玛区免费专区又长又大-美女扒开屁股让男人桶-夜福利视频-jizz日韩-老子影院午夜伦不卡无码-三级国产三级在线-美女内射毛片在线看-女人喷潮视频免费观看-仙踪林毛片-国产69精品久久久久久妇女迅雷-国产无遮挡又黄又爽网站-男女人xx视频

文章詳情

清達光電1602SPI串口液晶屏樣例程序

日期:2025-12-16 07:25
瀏覽次數:1877
摘要:清達光電1602SPI串口液晶屏供電電壓有5V和3.3V,顯示屏有黃綠模式和藍模式。

    清達光電1602SPI串口液晶屏為16*2字符型,接口為SPI接口,供電電壓有5V/3.3V,顯示模式有藍模式/黃綠模式,下面為這款1602SPI串口液晶屏樣例程序(基于普通的51單片機,IO口模擬時序的):


#include<reg51.h>

#include<string.h>

#include<stdio.h>

#include <intrins.h>

#define uchar unsigned char

#define uint unsigned int

sbit SID=P3^4;

sbit SCK=P3^3;

sbit CS=P3^1;

sbit RS=P3^0;

#define clear 0x01 /* Clear Display */

#define home 0x02 /* Return Home */

#define enmode 0x06 /* Enter Mode Set */

#define off 0x08 /* Display on/off Set */

#define on 0x0e /* Display on/off Set */

#define shift 0x14 /*Cursor or Display Shift*/

#define reset 0x30 /* reset */

#define function 0x38 /* Function Set */

#define cgram 0x40 /* Set CGRAM

Address */

#define ddram1 0x80 /* Set DDRAM Line1

Address */

#define ddram2 0xC0 /* Set DDRAM Line2

Address */

#define time 1000 /* 1000 延時

1.03895500 s */

uchar code string1[]={"Jia Xian Ke Ji"};

uchar code string2[]={"www.tsingtek.com"};

uchar code string3[]={"0123456789"};

uchar code

string4[]={"abcdefghijklmnopqrstuvwxyz"};

uchar code string5[]={"Thank You !"};

uchar code

string6[]={'2','0','1','2',0x06,'1','0',0x07,'\0'};

/********* 自定義字符庫 *********/

uchar code CGF[8][8]={

0x1f,0x00,0x1f,0x00,0x1f,0x00,0x1f,0x00,

/* 隔行 00H */

0x00,0x1f,0x00,0x1f,0x00,0x1f,0x00,0x1f,

/* 01H */

0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,

/* 隔列 02H */

0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,

/* 03H */

0x15,0x0a,0x15,0x0a,0x15,0x0a,0x15,0x0a,

/* 隔點 04H */

0x0a,0x15,0x0a,0x15,0x0a,0x15,0x0a,0x15,

/* 05H */

0x08,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02,

/* "年" 06H */

0x0f,0x09,0x0f,0x09,0x0f,0x09,0x11,0x00,

/* "月" 07H */

};

/********* 時間延時函數 *********/

void delay(uint t) /* 1.02500 ms */

{ uint i,j;

for(i=t;i>0;i--)

for(j=125;j>0;j--);

}

void write_com(uchar Command_byte)

{

uint i;

RS=0;//write command

CS=0;

SCK=1;

for(i=0;i<8;i++)

{

if((Command_byte&0x80)==0x80)

SDI=1;

else

SDI=0;

SCK=0;

if(i==0)

{

delay(1);

}

Command_byte<<=1;

SCK=1;

}

CS=1;

delay(1);

}

/////////////////////////////////////////

void write_data(uchar Data8_byte)

{

uint i;

RS=1;//write data

CS=0;

SCK=1;

for(i=0;i<8;i++)

{

if((Data8_byte&0x80)==0x80)

SDI=1;

else

SDI=0;

SCK=0;

if(i==0)

{

delay(1);

}

Data8_byte<<=

SCK=1;

}

CS=1;

RS=0;

delay(1);

}

/********* 建立自定義字符函數

*********/

void CGFUNTION(uchar array[8][8])

{ uchar i,j;

write_com(cgram); /* 寫“ 指令”

CGRAM 地址 */

for(i=0;i<8;i++)

for(j=0;j<8;j++)

write_data(array[i][j]); /* 寫“數據”

*/

}

/********* 字符全屏顯示函數 *********/

void char_fill_disp(uchar dat)

{ uchar i,j,temp=0;

for(i=0;i<2;i++)

for(j=0;j<16;j++)

{ if(i==1)

temp=j|ddram2;

/* DDRAM **行地址 */

else

temp=j|ddram1;

/* DDRAM **行地址 */

write_com(temp);

/* 寫“指令” */

write_data(dat); /* 寫“數據”*/

}

delay(time); /* 延時 */

}

/********* 字符串顯示函數 *********/

/*********** 可選行顯示 **********/

void string_disp(uchar x, uchar y, uchar *str)

{ uchar i,j,temp=0;

for(i=x;i<2;i++)

for(j=y;j<16;j++)

if(*str!='\0') /*字符串結束標志 */

{ if(i)

temp=j|ddram2; /* DDRAM

**行地址 */

else

temp=j|ddram1; /* DDRAM

**行地址 */

write_com(temp); /* 寫“指

令” */

write_data(*str++); /* 寫“數據”

*/

}

else

{ if(i)

temp=j|ddram2;

/* DDRAM **行地址 */

else

temp=j|ddram1;

/* DDRAM **行地址 */

write_com(temp);

/* 寫“指令” */

write_data(0xfe);

/* 寫“數據” */

}

delay(time); /* 延時 */

}

/********* 設置參數函數 *********/

void set(void)

{ delay(15); /* 延時 15.20800 ms */

write_com(0x38); //Function set

N=1(2line),F=0(5*8 dot)

delay(5);

write_com(0x0C); //display on

delay(5);

write_com(0x01); //clear display

delay(10);

write_com(0x06); //entry set

delay(5);

}

/********* 主函數 *********/

void main() /* 子程序里

有延時1s */

{ set(); /* 設置參數 */

write_com(clear); /* 清屏 */

{ char_fill_disp(0xff); /* 全屏 */

write_com(clear); /* 清屏 */

string_disp(0,1,string1);

/* **行顯示字符串string1 */

string_disp(1,0,string2);

/* **行顯示字符串string2 */

write_com(clear); /* 清屏 */

char_fill_disp(0x31); /* 顯示“1”*/

CGFUNTION(CGF);

/* 建立自定義字符 */

write_com(clear); /* 清屏 */

char_fill_disp(0x00);

/* 顯示“隔行” */

char_fill_disp(0x02);

/* 顯示“隔列” */

char_fill_disp(0x04);

/* 顯示“隔點” */

char_fill_disp(0xff); /* 全屏 */

write_com(clear); /* 清屏 */

string_disp(0,3,string3);

/* **行顯示字符串string3 */

string_disp(1,0,string4);

/* **行顯示字符串string4 */

write_com(clear); /* 清屏 */

string_disp(0,2,string5);

/* **行顯示字符串string5:*/

string_disp(1,8,string6); /* **行顯

示字符串string6: 2012 年10 月*/

delay(time);

}

}


主站蜘蛛池模板: 在线免费看污片| 五月天伊人网| 日日操夜夜撸| 色狠狠久久av大岛优香| 成人国产一区二区三区| 让人看了下面流水的视频| 桃花久久| 成人av电影在线播放| 婷婷伊人| 最新天堂中文在线| 3d肉动漫| 男人激情网| 久草福利在线视频| 欧美成人艳星乳罩| 亚洲大片免费观看| 亚洲一区观看| 国产精品视频不卡| 在线视频日韩| 色窝在线| 九色蝌蚪在线| 中文字幕乱码视频| 性爱一级视频| 男女爱爱视频免费| 麻豆一区二区三区在线观看| 日韩精品导航| 91白浆| 欧美男操女| 日本污视频在线观看| 免费视频二区| 国产熟女高潮一区二区三区| 久久超级碰碰| 亚洲精品v日韩精品| 国产强伦人妻毛片| 免费看片91| 蜜臀一区二区三区精品免费视频| 97精品国产97久久久久久粉红| 国产91页| 狠狠干夜夜骑| 女人裸体无遮挡| 免费成年网站| 校园春色亚洲| 成人超碰97| 狍与女人做爰毛片| 我要色综合网| 免费看片视频| 久久96视频| 亚洲成人黄色影院| 99热亚洲| 老司机成人在线视频| 色亚洲欧美| 亚洲射射| 中文字幕在线免费观看视频| 国产偷v国产偷v亚洲高清| 99视频99| 日韩三级电影网站| av 少妇| 永久免费在线观看视频| 2019狠狠干| 欧美插插插| 国产专区精品| 欧美无砖区| www国产视频| 91视频合集| 久久99在线| 精品国产网站| 三级欧美在线| 久热青草| 99re这里| 毛片一二三区| 精品国产一区二区在线| 黄色av免费网站| 黄色精品一区二区| 在线观看国产麻豆| 囯产精品一品二区三区| av最新网| 女邻居教我做受| 91日批| 涩涩视频观看| 大奶av在线| 爱情岛论坛亚洲线路一| 美女一级片| 欧美激情久久久久久| 美女狠狠干| 国产精品亚洲一区二区| 国产精品久久久久久久av| 少妇17p| 91精品国产色综合久久不卡蜜臀| 办公室奶边摸边做爰| 在线看片日韩| 含羞草一区二区| 日韩www视频| 少妇精品偷拍高潮白浆| 国产超级碰| 手机在线一区二区| 亚洲免费高清| 午夜夫妻视频| 日本三级中文| 一级肉体全黄毛片| 蜜桃精品久久久久久久免费影院 |