欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    12864的OLED简单显示程序.docx

    • 资源ID:5423474       资源大小:20KB        全文页数:26页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    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,


    注意事项

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

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开