完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一、OLED简介
1、简介 2、模型 3、参数 4、接口 二、STM32F103的IIC接口实现 1、任务要求: (1)显示自己的学号和姓名; (2)显示AHT20的温度和湿度; (3)上下或左右的滑动显示长字符,比如“Hello,欢迎来到重庆交通大学物联网205实训室!”或者歌词、诗词。(最好使用硬件刷屏模式) 2、代码获取 3、打开百度网盘下载的文件解压后 打开工程后如图 4、代码修改 (1)打开oledfont.h文件(HARDWARE文件夹里面) (2)字模生成 打开文件包里的PCtoLCD2002软件 先进行设置 生成需要的字模块 (3)把生成的模块复制到oledfont.h文件相应的地方 5、植入AHT20温湿度模块 (1)AHT20工程库分享 (2)解压后把HARDWARE里面这两个文件夹复制到OLED文件夹模块里面HARDWARE文件夹下 (3)添加到oled工程 (4)添加头文件路径 (5)重定义函数修改(改myiic.c和temhum.c文件里的) void IIC_Start(void)改为void IIC_Start1(void)temhum.c里面引用的这三个函数都要修改! 6、控制硬件ssd1306实现字体滑动 (2)有参数可知,该OLED自带ssd1306硬件 (3)在ssd1306初始化函数里面加滑动函数 在该函数最后面加 OLED_WR_Byte(0x2e,OLED_CMD);//关滚动 OLED_WR_Byte(0x2A,OLED_CMD);//29向右,2a向左 OLED_WR_Byte(0x00,OLED_CMD);//A:空字节 OLED_WR_Byte(0x00,OLED_CMD);//B:水平起始页 OLED_WR_Byte(0x00,OLED_CMD);//C:水平滚动速度 OLED_WR_Byte(0x01,OLED_CMD);//D:水平结束页 OLED_WR_Byte(0x2f,OLED_CMD);//开滚动 注意:发送开始滚屏(2f)前要先传输好显示数据,如果在滚屏的时候传输显示数据RAM中的内容可能被损坏。7、main.c函数修改 (1)名字、学号输出代码模块 OLED_ShowCHinese(36,3,0);//鲜 OLED_ShowCHinese(56,3,1);//露 OLED_ShowString(16,6,"631807030226",16); delay_ms(5000); OLED_Clear(0); (2)温湿度输出模块 AHT20_Read_CTdata(CT_data); //²»¾¹ýCRCУÑ飬ֱ½Ó¶ÁÈ¡AHT20µÄζȺÍʪ¶ÈÊý¾Ý hum = CT_data[0]*100*10/1024/1024; //¼ÆËãµÃµ½Êª¶ÈÖµ£¨·Å´óÁË10±¶£© tem = CT_data[1]*200*10/1024/1024-500;//¼ÆËãµÃµ½Î¶ÈÖµ£¨·Å´óÁË10±¶£© OLED_ShowCHinese(0,2,0);//ʪ OLED_ShowCHinese(16,2,1);//¶È OLED_ShowCHinese(32,2,0);//: OLED_ShowNum(48,2,hum/10,2,16); OLED_ShowChar(62,2,'%',16); OLED_ShowCHinese(0,4,0);//ΠOLED_ShowCHinese(16,4,1);//¶È OLED_ShowCHinese(32,4,0);//: OLED_ShowNum(48,4,tem/10,2,16); OLED_ShowChar(62,4,'C',16); delay_ms(5000); OLED_Clear(0); (3)滑动字模块 OLED_ShowCHinese(0,3,2); OLED_ShowCHinese(16,3,3); OLED_ShowCHinese(32,3,4); OLED_ShowCHinese(48,3,5); OLED_ShowCHinese(64,3,6); OLED_ShowCHinese(80,3,7); OLED_ShowCHinese(96,3,8); OLED_ShowCHinese(112,3,9); OLED_ShowCHinese(128,3,10); OLED_ShowCHinese(144,3,11); OLED_ShowCHinese(160,3,12); OLED_ShowCHinese(176,3,13); OLED_ShowCHinese(192,3,14); delay_ms(5000); OLED_Clear(0); 注意定义数组和变量8、连接oled和stm32核心板(IIC接口),再通过串口转接线连接电脑,烧录即可。 |
|
|
|
只有小组成员才能发言,加入小组>>
3280 浏览 9 评论
2958 浏览 16 评论
3460 浏览 1 评论
9004 浏览 16 评论
4052 浏览 18 评论
1115浏览 3评论
573浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
571浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2303浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1860浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 18:15 , Processed in 1.461888 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号