2301_80142937 2023-12-03 00:45 采纳率: 77.8%
浏览 8

0.96寸OLED显示屏幕往哪接啊

这是自己手焊的51最小系统
放上STC89C52芯片之后,显示屏要怎么连啊
还有,放上芯片后,接哪里录入程序啊

img

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-12-03 02:03
    关注

    【相关推荐】



    • 看下这篇博客,也许你就懂了,链接:stc89c52rc转移到面包板,使用oled屏
    • 除此之外, 这篇博客: 7脚0.96寸OLED使用方法及程序中的 如何显示一个字符 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
      1. 0.96寸OLED分辨率是128X64,即X轴上有128个点Y轴上有64个点。

      2. 此显示屏一次控制Y轴方向上8个点的显示,所以把y轴方向上分为了八个页,(0-7)

      3. 在设定好显示光标位置后给显示屏发送8位数据,显示屏就会从左到右从上到下开始显示

      4. 要注意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


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 12月3日

悬赏问题

  • ¥100 有偿寻云闪付SDK转URL技术
  • ¥30 基于信创PC发布的QT应用如何跨用户启动后输入中文
  • ¥20 非root手机,如何精准控制手机流量消耗的大小,如20M
  • ¥15 远程安装一下vasp
  • ¥15 自己做的代码上传图片时,报错
  • ¥15 Lingo线性规划模型怎么搭建
  • ¥15 关于#python#的问题,请各位专家解答!区间型正向化
  • ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
  • ¥50 comsol温度场仿真无法模拟微米级激光光斑
  • ¥15 上传图片时提交的存储类型