STC点亮OLED显示与菜单操作指南

版权申诉
0 下载量 109 浏览量 更新于2024-12-09 收藏 10KB ZIP 举报
资源摘要信息:"OLED显示技术是一种先进的显示技术,广泛应用于各种电子设备。OLED,全名为有机发光二极管(Organic Light-Emitting Diode),是一种能够自行发光的显示技术。OLED屏幕具有亮度高、对比度强、色彩鲜艳、视角宽广、响应速度快等特点,已成为新一代显示技术的代表。 在OLED显示技术中,SSD1306是一种常用的OLED控制器,它可以驱动128x64像素的单色OLED显示屏。SSD1306控制器广泛应用在各种便携式设备中,如智能手表、手机、平板电脑、GPS导航仪等。 STC是一种常见的单片机品牌,STC单片机可以通过编程点亮OLED屏幕。在STC单片机点亮OLED屏幕的过程中,首先需要编写代码初始化OLED屏幕,然后通过I2C或SPI通信协议向OLED屏幕发送数据,从而显示出图像或者文字。 OLED菜单模式是一种交互式界面,用户可以通过操作菜单,对OLED显示屏进行各种设置。例如,用户可以调整OLED显示屏的亮度、对比度、颜色等参数,也可以在OLED显示屏上浏览各种信息。 在本资源中,OLED.zip文件包含了一系列关于OLED显示技术的资料,包括OLED显示、OLED屏菜单、OLED显示、oled stc、oled 菜单等相关知识,对于学习和使用OLED显示技术具有重要的参考价值。"

一句句的解释void Write_IIC_Byte(unsigned char IIC_Byte) { unsigned char i; unsigned char m,da; da=IIC_Byte; OLED_SCLK_Clr(); for(i=0;i<8;i++) { m=da; // OLED_SCLK_Clr(); m=m&0x80; if(m==0x80) {OLED_SDIN_Set();} else OLED_SDIN_Clr(); da=da<<1; OLED_SCLK_Set(); OLED_SCLK_Clr(); } } /********************************************** // IIC Write Command **********************************************/ void Write_IIC_Command(unsigned char IIC_Command) { IIC_Start(); Write_IIC_Byte(0x78); //Slave address,SA0=0 IIC_Wait_Ack(); Write_IIC_Byte(0x00); //write command IIC_Wait_Ack(); Write_IIC_Byte(IIC_Command); IIC_Wait_Ack(); IIC_Stop(); } /********************************************** // IIC Write Data **********************************************/ void Write_IIC_Data(unsigned char IIC_Data) { IIC_Start(); Write_IIC_Byte(0x78); //D/C#=0; R/W#=0 IIC_Wait_Ack(); Write_IIC_Byte(0x40); //write data IIC_Wait_Ack(); Write_IIC_Byte(IIC_Data); IIC_Wait_Ack(); IIC_Stop(); } void OLED_WR_Byte(unsigned dat,unsigned cmd) { if(cmd) { Write_IIC_Data(dat); } else { Write_IIC_Command(dat); } } /******************************************** // fill_Picture ********************************************/ void fill_picture(unsigned char fill_Data) { unsigned char m,n; for(m=0;m<8;m++) { OLED_WR_Byte(0xb0+m,0); //page0-page1 OLED_WR_Byte(0x00,0); //low column start address OLED_WR_Byte(0x10,0); //high column start address for(n=0;n<128;n++) { OLED_WR_Byte(fill_Data,1); } } } /***********************Delay****************************************/ void Delay_50ms(unsigned int Del_50ms) { unsigned int m; for(;Del_50ms>0;Del_50ms--) for(m=6245;m>0;m--); } void Delay_1ms(unsigned int Del_1ms) { unsigned char j; while(Del_1ms--) { for(j=0;j<123;j++); } }

209 浏览量