找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4360|回复: 3
收起左侧

SSD1306-128x64和SSD1327-128x128 STM32驱动代码和电路图

[复制链接]
ID:492097 发表于 2019-3-16 17:10 | 显示全部楼层 |阅读模式
本人本月开发的两块屏幕的驱动和电路原理图;
用了1月
附件中SSD1306和SSD1327的DEMON和原理图;
用Cadence做的原理图;
自都是自己原创;
0.png
STM32单片机源程序如下:
  1. #include "stm32f10x.h"
  2. #include "delay.h"
  3. #include "InitGPIO.h"
  4. #include "Led.h"
  5. #include "Key.h"
  6. #include "exti.h"
  7. #include "iwdg.h"
  8. #include "timer.h"
  9. #include "usart.h"        
  10. #include "OLED.h"
  11. #include "128_LCD.h"
  12. #include "IIC.h"
  13. #include "SPI.h"

  14. /***********&&&&牢记初始化函数&&&&***********/
  15. int main(void)
  16. {        
  17.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);                                        //抢占优先级设置(012)不超过三位;
  18.         uart_init(115200);                                        //串口初始化
  19.         
  20.         
  21.         InitGPIO();
  22.   delay_init();
  23.         SPI2_Init();
  24.         SPI2_SetSpeed(SPI_BaudRatePrescaler_2);        
  25.         
  26. //        IIC_Init();

  27. //        OLED_Init();
  28. //        OLED1305_Init();
  29. //        timer2_Init(4999,7199);                //TIM=500ms溢出时间
  30. //        timer3_Init(287,499);                //TIM=500ms溢出时间
  31.    LCD_Init();
  32. //        TIM3_PWM_Init(899,0);                                //不分频,PWM频率=72000000/900=80KHz
  33.         
  34. //        IWDG_Init(4,625);  //独立看门狗 最大溢出时间为1s
  35. //        EXTIX_Init();                 //外部中断1
  36. //        delay_ms(500);
  37. // WWDG_Init(0x7f,0x5f,WWDG_Prescaler_8);   //0x5f上窗口,下窗口0x3f固定的,到达0x4f开启中断执行;0x7f给定
  38. //        OLCD_Clean();
  39.   u16 i=0;
  40.   while(1)
  41.         {
  42. //                Key_up();
  43. //                Led2 = 0;        
  44.                 OLCD_Drive = 1;
  45.                 OLED_display_string_5x8(0,0,0,"5*7ASCII~!@#$%^&*()-+");
  46.                 delay_ms(10);
  47.     OLED_display_string_5x8(8,0,0,   "abcdefgABCDEFG1234567");
  48.                 delay_ms(10);
  49.                 for(i=0;i<256;i++)
  50.                 {
  51.                         LCD_SetContrast(i);
  52.                         delay_ms(10);
  53.                 }
  54.                
  55. //                SPI2_ReadWriteByte(0x77);
  56.                 Led2 = !Led2;
  57. //   OLED_Clear(0xff);
  58.         }
  59. }

  60. /***************************************
  61.                 //        u16 led0pwmval = 0;
  62.                 //        u8 dir = 1;
  63.                 delay_ms(10);
  64.                 if(dir) led0pwmval++;
  65.                 else led0pwmval--;
  66.                
  67.                 if(led0pwmval>300) dir = 0;
  68.                 if(led0pwmval==0)  dir = 1;
  69.                 TIM_SetCompare2(TIM3,led0pwmval);                        //PWM占空比装载值
  70. ****************************************/
复制代码

所有资料51hei提供下载:
STM32-OLED2x128_12864.7z (1.54 MB, 下载次数: 160)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:96552 发表于 2019-9-5 23:19 | 显示全部楼层
刚好要用,非常感谢!哈哈哈
回复

使用道具 举报

ID:607969 发表于 2019-9-6 10:40 | 显示全部楼层
给我提供了很好地帮助,感谢楼主
回复

使用道具 举报

ID:607969 发表于 2019-9-6 18:09 | 显示全部楼层
下载以后无法开打,是为什么呀
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表