版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
作者:邹运怀LCD、OLED模块开发CONTENTS01LCD模块e7d195523061f1c01ef2b70529884c179423570dbaad84926380ABC1F97BAEF0C8FC051856578EAB7874501A1FFE158C4981707381814BCC4D9A8E3554438DEE4FBCF5A5B4D2A8B0989AB57E8BAC65EB4C7ADE47CB0CAEE0501E4A226B4263409BF6D490A639D9B9ED09071C131A40B4F721A3CABF56865E37DAC04C7C9B262B2670CBBEB096AEE5D9F6218CBA63150702OLED模块开发1.LCD模块e7d195523061f1c01ef2b70529884c179423570dbaad84926380ABC1F97BAEF0C8FC051856578EAB7874501A1FFE158C4981707381814BCC4D9A8E3554438DEE4FBCF5A5B4D2A8B0989AB57E8BAC65EB4C7ADE47CB0CAEE0501E4A226B4263409BF6D490A639D9B9ED09071C131A40B4F721A3CABF56865E37DAC04C7C9B262B2670CBBEB096AEE5D9F6218CBA631507反射型、全透型、半透型正性、负性显示单色屏、4级灰度屏、8级灰度屏、16级灰度屏、256级灰度屏、16色屏、256色伪彩色屏、TFT真彩色屏电阻式触摸屏、表面声波触摸屏、电容式触摸屏、红外线触摸屏笔段式、字符型、图形点阵式液晶显示器,简称LCD,是使用了“液晶”作为材料的显示器1.LCD模块e7d195523061f1c01ef2b70529884c179423570dbaad84926380ABC1F97BAEF0C8FC051856578EAB7874501A1FFE158C4981707381814BCC4D9A8E3554438DEE4FBCF5A5B4D2A8B0989AB57E8BAC65EB4C7ADE47CB0CAEE0501E4A226B4263409BF6D490A639D9B9ED09071C131A40B4F721A3CABF56865E37DAC04C7C9B262B2670CBBEB096AEE5D9F6218CBA631507笔段式LCD共端和位段端都不能简单给出高低电平就能点亮,因此需要专用的位段式液晶驱动芯片(或者单片机内部集成LCD驱动模块)1.LCD模块e7d195523061f1c01ef2b70529884c179423570dbaad84926380ABC1F97BAEF0C8FC051856578EAB7874501A1FFE158C4981707381814BCC4D9A8E3554438DEE4FBCF5A5B4D2A8B0989AB57E8BAC65EB4C7ADE47CB0CAEE0501E4A226B4263409BF6D490A639D9B9ED09071C131A40B4F721A3CABF56865E37DAC04C7C9B262B2670CBBEB096AEE5D9F6218CBA631507笔段式LCD引脚号插口名I/O功能描述1CSI片选输入,接一上拉电阻。当/CS为高电平,读写HT1621的数据和命令无效,串行接口电路复位;当/CS为低电平和作为输入时,读写HT1621的数据和命令有效。2RDIREAD脉冲输入,接一上拉电阻。在/RD信号的下降沿,HT1621内存的数据被读到DATA线上,主控制芯片可以在下一个上升沿时锁存这些数据。3/RWIWRITE脉冲输入,接一上拉电阻。在/RW信号的上升沿,DATA线上的数据写到HT1621.4DATAI/O外接上拉电阻的串行数据输入和输出。5VSSI负电源;地。76OSCIOSCOIOOSCI和OSCO外接一个32.768KHz晶振用于产生系统时钟;若用另一个外部时钟源,应接在OSCI上;若用片内RC震荡器,OSCI和OSCO应悬空。8VLCDILCD电源输入。9VDDI正电源。10/IRQO时基或看门狗定时器溢出标志,NMOS开漏输出。11,12BZ,/BZO声音频率输出。13~16COM0~COM3OLCD公共输出口。17~48SEG0~SEG31OLCD段输出口。1.LCD模块e7d195523061f1c01ef2b70529884c179423570dbaad84926380ABC1F97BAEF0C8FC051856578EAB7874501A1FFE158C4981707381814BCC4D9A8E3554438DEE4FBCF5A5B4D2A8B0989AB57E8BAC65EB4C7ADE47CB0CAEE0501E4A226B4263409BF6D490A639D9B9ED09071C131A40B4F721A3CABF56865E37DAC04C7C9B262B2670CBBEB096AEE5D9F6218CBA6315071621驱动LCD程序开发1使用供应商提供的模块程序2根据头文件提供的函数声明,即可编写1.LCD模块e7d195523061f1c01ef2b70529884c179423570dbaad84926380ABC1F97BAEF0C8FC051856578EAB7874501A1FFE158C4981707381814BCC4D9A8E3554438DEE4FBCF5A5B4D2A8B0989AB57E8BAC65EB4C7ADE47CB0CAEE0501E4A226B4263409BF6D490A639D9B9ED09071C131A40B4F721A3CABF56865E37DAC04C7C9B262B2670CBBEB096AEE5D9F6218CBA6315071621驱动LCD程序开发头文件#include<STC15.H>//1621引脚定义#defineRW_1621P14#defineCS_1621P15#defineDATA_1621P13#defineread_data0xc0//读数据模式#definewrite_data0xa0//写数据模式#definewrite_code0x80//写命令模式#100#definesys_en0x01//启动1621系统振荡器00000001-x#defineLCD_off0x02//关闭LCD偏压器#defineLCD_on0x03//开启LCD偏压器#definetime_dis0x04//禁止时基准输出#definewdt_dis0x05//禁止WDT暂停标记输出#definetime_en0x06//允许时基准输出#definewdt_en0x07//允许WDT暂停标记输出#definetone_off0x08//蜂鸣器输出禁止#definetone_on0x09//蜂鸣器输出允许#defineclr_timer0x0c//清除时其发生器内容#defineclr_wdt0x0e//清除WDT内容#definextal_32k0x14//外32K晶振#defineRC_256K0x18//内部RC振荡器作为时钟#defineext_RC0x1c//外部RC作为时钟#definebias_4com0x28//4com输出#defineirq_en0x88//允许IRQ输出#definef10xa0//时基/WDT时钟输出1HZvoid_delay(unsignedintx);voidcms1621_init(void);voidcms1621_diver(unsignedcharcont,unsignedchartemp);对使用的相关端口进行了定义,程序员要按照硬件电路设计0102申明相关函数1.LCD模块e7d195523061f1c01ef2b70529884c179423570dbaad84926380ABC1F97BAEF0C8FC051856578EAB7874501A1FFE158C4981707381814BCC4D9A8E3554438DEE4FBCF5A5B4D2A8B0989AB57E8BAC65EB4C7ADE47CB0CAEE0501E4A226B4263409BF6D490A639D9B9ED09071C131A40B4F721A3CABF56865E37DAC04C7C9B262B2670CBBEB096AEE5D9F6218CBA6315071621驱动LCD程序开发初始化函数调用1621的初始化函数voidMCU_init(void){
unsignedchari=0; P1=0x00; P1M0=0x00; P1M1=0x00; P3=0x00; P3M0=0xC0; P3M1=0x00; P5=0x00; P5M0=0x20; P5M1=0x00; LED1=LEDON; LED2=LEDOFF; cms1621_init(); AUXR|=0x80; //定时器时钟1T模式 TMOD&=0xF0; //设置定时器模式 TL0=0x9A; //设置定时初值 TH0=0xFA; //设置定时初值 TF0=0; //清除TF0标志 TR0=1; //定时器0开始计时 ET0=1; EA=1;}1.LCD模块e7d195523061f1c01ef2b70529884c179423570dbaad84926380ABC1F97BAEF0C8FC051856578EAB7874501A1FFE158C4981707381814BCC4D9A8E3554438DEE4FBCF5A5B4D2A8B0989AB57E8BAC65EB4C7ADE47CB0CAEE0501E4A226B4263409BF6D490A639D9B9ED09071C131A40B4F721A3CABF56865E37DAC04C7C9B262B2670CBBEB096AEE5D9F6218CBA6315071621驱动LCD程序开发LCD显示函数按照显示内容与1621通信传递显示数据voidDsp_LCD(void){ unsignedchari;
for(i=0;i<8;i++)dsp_buf2[i]=0;
//显示驱动把显示缓冲的内容送入显示
dsp_numerical_1(Dsp_Num[0]); dsp_numerical_2(Dsp_Num[1]); dsp_numerical_3(Dsp_Num[2]); dsp_numerical_4(Dsp_Num[3]);
for(i=0;i<8;i++) dsp_buf[i]=dsp_buf2[i]; CS_1621=0; _delay(20);
cms1621_diver(3,write_data);
cms1621_diver(6,0);
for(i=0;i<5;i++)
cms1621_diver(8,dsp_buf[i]);//dsp_buf[i] for(i=0;i<8;i++)
cms1621_diver(8,0); for(i=0;i<3;i++) cms1621_diver(8,dsp_buf[i+5]); CS_1621=1; }1.LCD模块e7d195523061f1c01ef2b70529884c179423570dbaad84926380ABC1F97BAEF0C8FC051856578EAB7874501A1FFE158C4981707381814BCC4D9A8E3554438DEE4FBCF5A5B4D2A8B0989AB57E8BAC65EB4C7ADE47CB0CAEE0501E4A226B4263409BF6D490A639D9B9ED09071C131A40B4F721A3CABF56865E37DAC04C7C9B262B2670CBBEB096AEE5D9F6218CBA631507字符式LCD显示字符式LCD往往自带驱动芯片,液晶可以和控制芯片直接连接编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极LCD16022.OLED模块开发e7d195523061f1c01ef2b70529884c179423570dbaad84926380ABC1F97BAEF0C8FC051856578EAB7874501A1FFE158C4981707381814BCC4D9A8E3554438DEE4FBCF5A5B4D2A8B0989AB57E8BAC65EB4C7ADE47CB0CAEE0501E4A226B4263409BF6D490A639D9B9ED09071C131A40B4F721A3CABF56865E37DAC04C7C9B262B2670CBBEB096AEE5D9F6218CBA631507有机发光二极管(OLED)自发光、广视角、高对比度、较低耗电、极高反应速度一般通过I2C或者SPI与嵌入式控制芯片连接通信,也可以和普通I/O相连2.OLED模块开发e7d195523061f1c01ef2b70529884c179423570dbaad84926380ABC1F97BAEF0C8FC051856578EAB7874501A1FFE158C4981707381814BCC4D9A8E3554438DEE4FBCF5A5B4D2A8B0989AB57E8BAC65EB4C7ADE47CB0CAEE0501E4A226B4263409BF6D490A639D9B9ED09071C131A40B4F721A3CABF56865E37DAC04C7C9B262B2670CBBEB096AEE5D9F6218CBA631507名称用途GND电源地VCC电源正(3~5.5V)D0(SCLK)OLED的D0脚,在SP或IIC通信中为时钟引脚D1(SDA)OLED的D1脚,在SPI或IIC通信中为数据引脚RESOLED的RES#脚,用来复位(低电平复位)DCOLED的D/C#E脚,数据和命令控制引脚CSOLED的CS#脚,也就是片选引脚7PINOLED128642.OLED模块开发e7d195523061f1c01ef2b70529884c179423570dbaad84926380ABC1F97BAEF0C8FC051856578EAB7874501A1FFE158C4981707381814BCC4D9A8E3554438DEE4FBCF5A5B4D2A8B0989AB57E8BAC65EB4C7ADE47CB0CAEE0501E4A226B4263409BF6D490A639D9B9ED09071C131A40B4F721A3CABF56865E37DAC04C7C9B262B2670CBBEB096AEE5D9F6218CBA6315071使用OLED供应商提供的模块程序2根据头文件提供的函数声明,即可编写2.OLED模块开发e7d195523061f1c01ef2b70529884c179423570dbaad84926380ABC1F97BAEF0C8FC051856578EAB7874501A1FFE158C4981707381814BCC4D9A8E3554438DEE4FBCF5A5B4D2A8B0989AB57E8BAC65EB4C7ADE47CB0CAEE0501E4A226B4263409BF6D490A639D9B9ED09071C131A40B4F721A3CABF56865E37DAC04C7C9B262B2670CBBEB096AEE5D9F6218CBA631507#ifndefSSD1306_H#defineSSD1306_H#include"STC8A8K64D4.h"#include<string.h>#include<stdlib.h>//数据类型简化宏定义#ifndefuint8#defineuint8unsignedchar#endif#ifndefuint16#defineuint16unsignedint#endif#ifndefuint32#defineuint32unsignedlongint#endif/*OLEDI/O端口定义*/#defineOLED_SCLKP14//SCL#defineOLED_SDINP13//SDA#defineOLED_RSTP12//RES#defineOLED_DCP11//DC#defineOLED_CSP10//CS/*OLEDCommand端口操作*/#defineOLED_CS_Clr()OLED_CS=0#defineOLED_CS_Set()OLED_CS=1#defineOLED_RST_Clr()OLED_RST=0#defineOLED_RST_Set()OLED_RST=1#defineOLED_DC_Clr()OLED_DC=0#defineOLED_DC_Set()OLED_DC=1#defineOLED_SCLK_Clr()OLED_SCLK=0#defineOLED_SCLK_Set()OLED_SCLK=1#defineOLED_SDIN_Clr()OLED_SDIN=0#defineOLED_SDIN_Set()OLED_SDIN=1对常见数据类型如unsignedchar进行了简写的宏定义,进一步提高了代码可读性010203对相关端口操作进行了宏定义对OLED使用的相关端口进行了定义,程序员要按照硬件电路设计对相应端口宏定义2.OLED模块开发e7d195523061f1c01ef2b70529884c179423570dbaad84926380ABC1F97BAEF0C8FC051856578EAB7874501A1FFE158C4981707381814BCC4D9A8E3554438DEE4FBCF5A5B4D2A8B0989AB57E8BAC65EB4C7ADE47CB0CAEE0501E4A226B4263409BF6D490A639D9B9ED09071C131A40B4F721A3CABF56865E37DAC04C7C9B262B2670CBBEB096AEE5D9F6218CBA631507/*OLEDPixel*/#defineWIDTH128#defineHEIGHT64#definePAGES8/*OLEDBrightness*/#defineBRIGHTNESS_MIN1#defineBRIGHTNESS_MAX25/*OLEDDriver*/voidOLED_Init(void);//初始化voidOLED_Write_Command(uint8dat);//写命令voidOLED_Clear(void);//清除缓存内容voidOLED_Display(void);//将缓存内容显示到屏幕上voidOLED_Set_Pos(uint8x,uint8y);
//设置内存位置x:0-127,y:0-63voidOLED_WR_Byte(uint8dat,uint8cmd);//写数据voidOLED_DrawChar(uint8x,uint8y,uint8chr);//绘制字符至缓存voidOLED_DrawString(uint8*p);
//绘制字符串至缓存voidOLED_DrawNum(uint32num,uint8len);
//绘制数字至缓存voidOLED_DrwCHS_16x16(uint8chs_no);
//绘制16x16汉字至缓存voidOLED_DrawPixel(uint8x,uint8y);
//绘制一个像素至缓存voidOLED_DrawHLine(uint8x,uint8y,uint8w);//绘制水平线至缓存voidOLED_DrawVLine(uint8x,uint8y,uint8w);//绘制垂直线至缓存voidOLED_DrawLine(uint8x0,uint8y0,uint8x1,uint8y1);//绘制两点线段voidOLED_DrawBMP(uint8x0,uint8y0,uint8x1,uint8y1,uint8*BMP,uint16len);//绘制图片至缓存voidOLED_SetFontWidth(uint8w);//设置ASCII字符宽度voidOLED_Reverse(biti);//反显i=0正常显示i=1反显voidOLED_Overlap(biti);//绘图模式i=0覆盖i=1叠加voidDelay50ms();
//延时函数#endif声明了模块函数2.OLED模块开发e7d195523061f1c01ef2b70529884c179423570dbaad84926380ABC1F97BAEF0C8FC051856578EAB7874501A1FFE158C4981707381814BCC4D9A8E3554438DEE4FBCF5A5B4D2A8B0989AB57E8BAC65EB4C7ADE47CB0CAEE0501E4A226B4263409BF6D490A639D9B9ED09071C131A40B4F721A3CABF56865E37DAC04C7C9B262B2670CBBEB096AEE5D9F6218CBA631507#include<STC8A8K64D4.h>#include<ssd1306.h>#include<bmp.h>/*********常量定义区********/voidMCU_init(void);voidmain(){/****初始化区****/unsignedchari=0,j=0;MCU_init();/******主循环*******/while(1){for(i=0;i<=10;i++)
{OLED_Set_Pos(8,30)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅游行业市场现状及发展趋势
- 青岛农业大学海都学院《软件工程理论与实践》2023-2024学年第一学期期末试卷
- 青岛农业大学《无机化学实验(二)》2023-2024学年第一学期期末试卷
- 青岛理工大学《舆情监测与危机应对》2023-2024学年第一学期期末试卷
- 青岛酒店管理职业技术学院《花式篮球》2023-2024学年第一学期期末试卷
- 拼多多平台消费者心理分析
- 新材料技术在各领域的应用前景汇报
- 土木施工课程设计基距
- 商业计划书撰写要点及注意事项解析
- 大班篮球赛课程设计
- 2024网络课程录制合同
- 人教版四年级上册数学第六单元《除数是两位数的除法》测试卷(综合卷)
- 2024年行政执法人员执法资格知识考试题库(附含答案)
- 2024年九年级语文中考专题复习现代文阅读(含答案)
- 人教版(2024)七年级上册数学第5章单元测试卷(含答案)
- 情商与智慧人生学习通超星期末考试答案章节答案2024年
- 巨量-营销科学(初级)认证培训考试题库(含答案)
- 干部履历表(中共中央组织部2015年制)
- (完整版)认知功能成套测验操作手册
- 最新快递公司劳动合同模板
- [高一政史地]关于绍兴老地名的研究性学习结题报告
评论
0/150
提交评论