标题: stc8单片机驱动并口ssd1306有关刷新速度的问题 [打印本页]

作者: 624353765    时间: 2020-12-19 09:59
标题: stc8单片机驱动并口ssd1306有关刷新速度的问题
单片机使用的是STC8A8K,oled12864驱动芯片是ssd1306z,使用8080并口与单片机相连。
单片机时钟设置成27MHZ是无法点亮屏幕,当设置成18MHZ时可以点亮屏幕并显示正常,我想知道在27MHZ的速度下是否能正常驱动ssd1306.

驱动代码
  1. #include <STC8.h>
  2. #include "51GUI.h"
  3. #include "SSD1306.h"
  4. #include "EEPROM.h"

  5. sbit RW=P0^1;
  6. sbit DC=P0^2;
  7. sbit RST=P0^3;
  8. sbit CS=P0^4;

  9. xdata unsigned char SSD1306_data[8][128];

  10. void SPI_WriteByte(char dat){
  11. #ifdef set_spi
  12.         SPDAT=dat;
  13.         while(!(SPSTAT&0x80));
  14.         SPSTAT=0xC0;
  15. #else
  16.         RW=0;
  17.         P1=dat;
复制代码




作者: gxslxxm    时间: 2020-12-19 15:09
无论软件还是硬件spi 都要看你输出的数据速度 。 ssd1306 识别是有要求的。
作者: 18701931930    时间: 2020-12-19 16:25
类似的问题我也遇到过,OLED显示屏是I2C接口的,单片机是STC8H
IO模拟I2C通信,系统频率最高12MHZ,再高就不正常了,加延时都不行。
然后用STC8H的硬件I2C,系统频率33.1776MHZ都没问题。
献上代码:参考

STC8H系列硬件I2C(OLED显示).zip

205.08 KB, 下载次数: 29






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1