芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

HC32F460开发板的RTC电子时钟芯片破解

HC32F460内部配有RTC功能,这里我们为它配上OLED屏显示,这样它就构成一个RTC电子时钟。
所用的OLED屏就是随板子自带的,该OLED屏的原理图见图1所示。
芯片破解
芯片破解


本想以I2C通讯来驱动OLED屏,但将其移到RTC的程序中,比较难协调,最终还是以模拟I2C的方式来轻松地将两者结合在一起。
由于SDASCL 仍占用原位置,故定义其输出高低电平的语句如下:
#define OLED_SCLK_Set()   PORT_SetBits(PortD, Pin00)
#define OLED_SCLK_Clr()   PORT_ResetBits(PortD, Pin00)


#define OLED_SDIN_Set()   PORT_SetBits(PortD, Pin01)
#define OLED_SDIN_Clr()   PORT_ResetBits(PortD, Pin01)


所用的字符显示函数为:
  1. void OLED_ShowString(uint8_t x,uint8_t y,uint8_t *chr,uint8_t Char_Size)
  2. {
  3.         unsigned char j=0;
  4.         while (chr[j]!='\0')
  5.         {
  6.                     OLED_ShowChar(x,y,chr[j],Char_Size);
  7.                     x+=8;
  8.                     if(x>120){x=0;y+=2;}
  9.                     j++;
  10.         }
  11. }

复制代码


所用的数值显示函数为:

  1. void OLED_ShowNum(uint8_t x,uint8_t y,uint32_t num,uint8_t len,uint8_t size2)
  2. {              
  3. uint8_t t,temp;
  4. uint8_t enshow=0;                                                   
  5. for(t=0;t<len;t++)
  6. {
  7. temp=(num/oled_pow(10,len-t-1))%10;
  8. if(enshow==0&&t<(len-1))
  9. {
  10. if(temp==0)
  11. {
  12. OLED_ShowChar(x+(size2/2)*t,y,' ',size2);
  13. continue;
  14. }else enshow=1;
  15. }
  16. OLED_ShowChar(x+(size2/2)*t,y,temp+'0',size2);
  17. }
  18. }



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信