ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:20KB ,
资源ID:10755645      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10755645.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(12864的OLED简单显示程序.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

12864的OLED简单显示程序.docx

1、12864的OLED简单显示程序OLED12864程序. 哥瞎写的/*_OLED12864.c_*/#include stm32f4xx.h#include oled12864.h#include codetab.h#define DEFAULT_PRT_START_ROW 2/默认显示字符串的起始行数#define DEFAULT_PRT_END_ROW 7 /默认显示字符串的中止行数u8 default_prt_nowrow;u8 oled_buf8128;/*延时函数*/void oled12864_delay(int n_count) while(n_count) n_count-;

2、/*LCD全屏*/void oled12864_fill_full(unsigned char bmp_dat) unsigned char y,x; OLED12864_CS = 0;/使能片选 for(y=0;y8;y+) oled12864_wr_cmd(0xb0+y); oled12864_wr_cmd(0x01); oled12864_wr_cmd(0x10); for(x=0;xX_WIDTH;x+) /oled12864_delay(10000); oled12864_wr_data(bmp_dat); OLED12864_CS = 1;/*LCD复位*/void oled128

3、64_cls(void) unsigned char y,x; OLED12864_CS = 0;/使能片选 for(y=0;y8;y+) oled12864_wr_cmd(0xb0+y); oled12864_wr_cmd(0x01); oled12864_wr_cmd(0x10); for(x=0;xX_WIDTH;x+) oled12864_wr_cmd(0); OLED12864_CS = 1;/*LCD初始化*/void oled12864_init(void) /manual_spi_init(); OLED12864_CS = 0;/使能片选 /MAN_SPI_SCL=1; /M

4、AN_SPI_SDA = 1; OLED12864_DC = 1; OLED12864_RST = 0; oled12864_delay(400000); OLED12864_RST = 1; /从上电到下面开始初始化要有足够的时间,即等待RC复位完毕 oled12864_wr_cmd(0xae);/-turn off oled panel oled12864_wr_cmd(0x00);/-set low column address oled12864_wr_cmd(0x10);/-set high column address oled12864_wr_cmd(0x3f);/-set st

5、art line address Set Mapping RAM Display Start Line (0x000x3F) oled12864_wr_cmd(0x81);/-set contrast control register oled12864_wr_cmd(0xcf); / Set SEG Output Current Brightness oled12864_wr_cmd(0xa0);/-Set SEG/Column Mapping 0xa0左右反置 0xa1正常 oled12864_wr_cmd(0xc0);/Set COM/Row Scan Direction 0xc0上下反

6、置 0xc8正常 oled12864_wr_cmd(0xa6);/-set normal display oled12864_wr_cmd(0xa8);/-set multiplex ratio(1 to 64) oled12864_wr_cmd(0x3f);/-1/64 duty oled12864_wr_cmd(0xd3);/-set display offset Shift Mapping RAM Counter (0x000x3F) oled12864_wr_cmd(0x00);/-not offset oled12864_wr_cmd(0xd5);/-set display cloc

7、k divide ratio/oscillator frequency oled12864_wr_cmd(0x80);/-set divide ratio, Set Clock as 100 Frames/Sec oled12864_wr_cmd(0xd9);/-set pre-charge period oled12864_wr_cmd(0xf1);/Set Pre-Charge as 15 Clocks & Discharge as 1 Clock oled12864_wr_cmd(0xda);/-set com pins hardware configuration oled12864_

8、wr_cmd(0x12); oled12864_wr_cmd(0xdb);/-set vcomh oled12864_wr_cmd(0x40);/Set VCOM Deselect Level oled12864_wr_cmd(0x20);/-Set Page Addressing Mode (0x00/0x01/0x02) oled12864_wr_cmd(0x02);/ oled12864_wr_cmd(0x8d);/-set Charge Pump enable/disable oled12864_wr_cmd(0x14);/-set(0x10) disable oled12864_wr

9、_cmd(0xa4);/ Disable Entire Display On (0xa4/0xa5) oled12864_wr_cmd(0xa6);/ Disable Inverse Display On (0xa6/a7) oled12864_wr_cmd(0xaf);/-turn on oled panel oled12864_fill_full(0x02); /初始清屏 oled12864_set_pos(0,0); default_prt_nowrow = DEFAULT_PRT_START_ROW; OLED12864_CS = 1;/无x,y值审查/white为1,black为0v

10、oid oled12864_draw_point(u8 x, u8 y, u8 white_black) u8 tmp1,tmp2; static u8 pre_x,pre_y; tmp2 = (y%8); tmp2 = 1 = 3; if(white_black) tmp1 = oled_bufyx;/取得当前值 tmp1 |= tmp2; else tmp1 = oled_bufyx; tmp1 &= (!tmp2); oled_bufyx = tmp1;/放一个86字符串/注意column是0128,row是07void oled12864_put_86char(char column6

11、, char row ,char *ch) char ncount = 0; char c; char max_ncount = (X_WIDTH - column6) / 6; while(chncount != 0 & ncount DEFAULT_PRT_END_ROW) default_prt_nowrow = DEFAULT_PRT_START_ROW; oled12864_put_86char(0,default_prt_nowrow,-);/oled内容按oled_buf刷新void oled12864_refresh(void) unsigned char y,x; u16 u

12、16Tmp; int nCount; OLED12864_CS = 0;/使能片选 for(y=0;y8;y+) oled12864_set_pos(0, y); OLED12864_DC_DATA; OLED12864_CS = 0;/使能片选 for(x=0;xSR & 0x0080 );/等待BSY变成0 for(nCount=0;nCountDR = u16Tmp; /oled12864_wr_data( oled_bufyx ); OLED12864_CS = 1;/*_OLED12864.h_*/#ifndef _OLED12864_H_#define _OLED12864_H_#

13、include stm32f4_bitband.h#include manual_SPI.h#define OLED12864_DC PAout(8)#define OLED12864_DC_H GPIOA-BSRRL = 1BSRRH = 1BSRRL = 1BSRRH = 1BSRRL = 1BSRRH = 1BSRRL = 1BSRRH = 1ODRvoid _inline oled12864_wr_data( u8 data ) OLED12864_8080_DATA = data; OLED12864_DC_H;/写数据信号 /OLED12864_CS = 0; OLED12864_

14、WR_L;/写信号 OLED12864_WR_H; /OLED12864_CS = 1; OLED12864_DC_H;/*OLED写命令*/void _inline oled12864_wr_cmd( u8 data ) OLED12864_8080_DATA = data; OLED12864_DC_L;/写命令信号 /OLED12864_CS = 0; OLED12864_WR_L;/写信号 OLED12864_WR_H; /OLED12864_CS = 1; OLED12864_DC_H;#endif#ifdef OLED_MANUAL_SPI/*oled写数据*/void _inli

15、ne oled12864_wr_data( u8 data ) OLED12864_CS_L;/拉低CS OLED12864_DC = OLED_HIGH; manual_spi_sendbyte( data );/*OLED写命令*/void _inline oled12864_wr_cmd( u8 data ) OLED12864_CS_L;/拉低CS OLED12864_DC = OLED_LOW; manual_spi_sendbyte( data ); OLED12864_CS_H;/拉低CS#endif#ifdef OLED_SPI/*oled写数据*/void _inline o

16、led12864_wr_data( u8 data ) int n; OLED12864_CS_L; OLED12864_DC = OLED_HIGH; SPI1-DR = data; /while(SPI1-SR & 0x0080);/等待BSY变成0 for(n=0;nDR = data; /while(SPI1-SR & 0x0080);/等待BYS变成0 for(n=0;n 4) | 0x10 ); oled12864_wr_cmd( x & 0x0f );/*LCD全屏*/void oled12864_fill_full(unsigned char bmp_dat);/*LCD复位*

17、/void oled12864_cls(void);/*LCD初始化*/void oled12864_init(void);/*画点,无x,y值审查*/void oled12864_draw_point(u8 x, u8 y, u8 white_black);/放一个86字符串void oled12864_put_86char(char column6, char row ,char *ch);/按照默认方式显示一行数据,并清空下一行void oled12864_printf(char *ch);/oled内容按oled_buf刷新void oled12864_refresh(void);#e

18、ndif/*_codetab.h_*/#ifndef _CODETAB_H_#define _CODETAB_H_/*6*8的点阵*/const unsigned char F6x86 = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,/ sp0x00, 0x00, 0x00, 0x2f, 0x00, 0x00,/ !0x00, 0x00, 0x07, 0x00, 0x07, 0x00,/ 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14,/ #0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12,/ $0x00, 0x62, 0x6

19、4, 0x08, 0x13, 0x23,/ %0x00, 0x36, 0x49, 0x55, 0x22, 0x50,/ &0x00, 0x00, 0x05, 0x03, 0x00, 0x00,/ 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00,/ (0x00, 0x00, 0x41, 0x22, 0x1c, 0x00,/ )0x00, 0x14, 0x08, 0x3E, 0x08, 0x14,/ *0x00, 0x08, 0x08, 0x3E, 0x08, 0x08,/ +0x00, 0x00, 0x00, 0xA0, 0x60, 0x00,/ ,0x00, 0x08,

20、0x08, 0x08, 0x08, 0x08,/ -0x00, 0x00, 0x60, 0x60, 0x00, 0x00,/ .0x00, 0x20, 0x10, 0x08, 0x04, 0x02,/ /0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E,/ 00x00, 0x00, 0x42, 0x7F, 0x40, 0x00,/ 10x00, 0x42, 0x61, 0x51, 0x49, 0x46,/ 20x00, 0x21, 0x41, 0x45, 0x4B, 0x31,/ 30x00, 0x18, 0x14, 0x12, 0x7F, 0x10,/ 40x00, 0x

21、27, 0x45, 0x45, 0x45, 0x39,/ 50x00, 0x3C, 0x4A, 0x49, 0x49, 0x30,/ 60x00, 0x01, 0x71, 0x09, 0x05, 0x03,/ 70x00, 0x36, 0x49, 0x49, 0x49, 0x36,/ 80x00, 0x06, 0x49, 0x49, 0x29, 0x1E,/ 90x00, 0x00, 0x36, 0x36, 0x00, 0x00,/ :0x00, 0x00, 0x56, 0x36, 0x00, 0x00,/ ;0x00, 0x08, 0x14, 0x22, 0x41, 0x00,/ 0x00, 0x14, 0x14, 0x14, 0x14, 0x14,/ =0x00, 0x00, 0x41, 0x22, 0x14, 0x08,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1