这是自己手焊的51最小系统
放上STC89C52芯片之后,显示屏要怎么连啊
还有,放上芯片后,接哪里录入程序啊
0.96寸OLED显示屏幕往哪接啊
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注 【相关推荐】
- 看下这篇博客,也许你就懂了,链接:stc89c52rc转移到面包板,使用oled屏
- 除此之外, 这篇博客: 7脚0.96寸OLED使用方法及程序中的 如何显示一个字符 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
-
0.96寸OLED分辨率是128X64,即X轴上有128个点Y轴上有64个点。
-
此显示屏一次控制Y轴方向上8个点的显示,所以把y轴方向上分为了八个页,(0-7)
-
在设定好显示光标位置后给显示屏发送8位数据,显示屏就会从左到右从上到下开始显示
-
要注意x的范围是(0-127)y的范围是(0-7)
代码实现如下:
void OLED_ShowChar(u8 x,u8 y,u8 chr)
{
u8 c=0,i=0;c = chr - ' '; //得到偏移后的值 if(x>Max_Column-1) //当显示的字符超过x轴范围在下一行显示
{
x = 0;
y = y+2;
}if(SIZE == 16) //当字体是16时,在y轴方向上是16位x轴方向上是8位 { OLED_Set_Pos(x,y); //设置光标位置 for(i=0;i<8;i++) //先打印上半部分,比如一个|,先打印它的上半部分 { OLED_WR_Byte(F8X16[c*16+i],OLED_DATA); } OLED_Set_Pos(x,y+1); //y的页加一 for(i=0;i<8;i++) { OLED_WR_Byte(F8X16[c*16+i+8],OLED_DATA); } } else //6X8字体 { OLED_Set_Pos(x,y+1); for(i=0;i<6;i++) { OLED_WR_Byte(F6x8[c*6][i],OLED_DATA); } }
}
有空再写显示原理。
可以直接看程序代码,注释很详尽。如果是用的其它STM32单片机只需要改以下三个部分就可以用了。因为用的是IO口模拟时序。
// 方法如下:
// 1. 改一下启动文件startup_stm32f10x_md.h 看芯片使用什么样的启动文件
// 2. 从新在配置选项中选一下芯片型号。
// 3. 在配置选项中的C\C++下把宏定义STM32F10X_MD,USE_STDPERIPH_DRIVER,改一下。附一下百度网盘的下载链接,有问题可以讨论。
工程代码:链接:https://pan.baidu.com/s/1xeYccevLzTRP9lFE7LzKGw
提取码:1111 -
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^解决 无用评论 打赏 举报
悬赏问题
- ¥100 有偿寻云闪付SDK转URL技术
- ¥30 基于信创PC发布的QT应用如何跨用户启动后输入中文
- ¥20 非root手机,如何精准控制手机流量消耗的大小,如20M
- ¥15 远程安装一下vasp
- ¥15 自己做的代码上传图片时,报错
- ¥15 Lingo线性规划模型怎么搭建
- ¥15 关于#python#的问题,请各位专家解答!区间型正向化
- ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
- ¥50 comsol温度场仿真无法模拟微米级激光光斑
- ¥15 上传图片时提交的存储类型