3342|1

3226

帖子

0

TA的资源

五彩晶圆(中级)

楼主
 

【沁恒CH582】3配备零功耗LCD段码屏 [复制链接]

 

CH582M本身是蓝牙方面的应用,特点就是低功耗,为此我给它配了一个几乎是零功耗的LCD段码屏。

LCD段码屏有静态驱动动态驱动
静态驱动:只有一个公共端COM,每个像素都是单独电极引出。优点是和动态驱动相比显示效果好一些,缺点是引脚多。
动态驱动:2个及以上的公共端COM,每个电极至少控制2个以上的像素,需要时间分割扫描方式驱动。
我采用的就是静态驱动的LCD段码屏。可以显示3个“8”和2个“.”,一共需要24个IO进行控制。

单纯的显示只需要COM和SEG相互为相反电平就可以,不显示为相同的电平。

用这个简单的段码屏显示后面的试验的数据。

#include "CH58x_common.h"

__attribute__((aligned(4)))   UINT32 CapBuf[100];
UINT8V capFlag = 0;


void main()
{
  UINT8 i;

  SetSysClock( CLK_SOURCE_PLL_60MHz );

  GPIOB_SetBits( GPIO_Pin_20 );
  GPIOB_ModeCfg( GPIO_Pin_20, GPIO_ModeOut_PP_5mA );
  GPIOB_SetBits( GPIO_Pin_22 );
  GPIOB_ModeCfg( GPIO_Pin_22, GPIO_ModeOut_PP_5mA );
  GPIOB_SetBits( GPIO_Pin_10 );
  GPIOB_ModeCfg( GPIO_Pin_10, GPIO_ModeOut_PP_5mA );
  GPIOB_SetBits( GPIO_Pin_12 );
  GPIOB_ModeCfg( GPIO_Pin_12, GPIO_ModeOut_PP_5mA );
  GPIOB_SetBits( GPIO_Pin_19 );
  GPIOB_ModeCfg( GPIO_Pin_19, GPIO_ModeOut_PP_5mA );
  GPIOB_SetBits( GPIO_Pin_0 );
  GPIOB_ModeCfg( GPIO_Pin_0, GPIO_ModeOut_PP_5mA );
  GPIOB_SetBits( GPIO_Pin_2 );
  GPIOB_ModeCfg( GPIO_Pin_2, GPIO_ModeOut_PP_5mA );
  GPIOB_SetBits( GPIO_Pin_1 );
  GPIOB_ModeCfg( GPIO_Pin_1, GPIO_ModeOut_PP_5mA );
  GPIOB_SetBits( GPIO_Pin_3 );
  GPIOB_ModeCfg( GPIO_Pin_3, GPIO_ModeOut_PP_5mA );
  GPIOB_SetBits( GPIO_Pin_5 );
  GPIOB_ModeCfg( GPIO_Pin_5, GPIO_ModeOut_PP_5mA );
  GPIOB_SetBits( GPIO_Pin_7 );
  GPIOB_ModeCfg( GPIO_Pin_7, GPIO_ModeOut_PP_5mA );
  GPIOB_SetBits( GPIO_Pin_11 );
  GPIOB_ModeCfg( GPIO_Pin_11, GPIO_ModeOut_PP_5mA );
  GPIOB_SetBits( GPIO_Pin_13 );
  GPIOB_ModeCfg( GPIO_Pin_13, GPIO_ModeOut_PP_5mA );
  GPIOB_SetBits( GPIO_Pin_15 );
  GPIOB_ModeCfg( GPIO_Pin_15, GPIO_ModeOut_PP_5mA );
  GPIOA_SetBits( GPIO_Pin_5 );
  GPIOA_ModeCfg( GPIO_Pin_5, GPIO_ModeOut_PP_5mA );
  GPIOA_SetBits( GPIO_Pin_0 );
  GPIOA_ModeCfg( GPIO_Pin_0, GPIO_ModeOut_PP_5mA );
  GPIOA_SetBits( GPIO_Pin_2 );
  GPIOA_ModeCfg( GPIO_Pin_2, GPIO_ModeOut_PP_5mA );
  GPIOA_SetBits( GPIO_Pin_15 );
  GPIOA_ModeCfg( GPIO_Pin_15, GPIO_ModeOut_PP_5mA );
  GPIOA_SetBits( GPIO_Pin_13 );
  GPIOA_ModeCfg( GPIO_Pin_13, GPIO_ModeOut_PP_5mA );
  GPIOA_SetBits( GPIO_Pin_11 );
  GPIOA_ModeCfg( GPIO_Pin_11, GPIO_ModeOut_PP_5mA );
  GPIOA_SetBits( GPIO_Pin_7 );
  GPIOA_ModeCfg( GPIO_Pin_7, GPIO_ModeOut_PP_5mA );
  GPIOA_SetBits( GPIO_Pin_9 );
  GPIOA_ModeCfg( GPIO_Pin_9, GPIO_ModeOut_PP_5mA );
  GPIOB_SetBits( GPIO_Pin_8 );
  GPIOB_ModeCfg( GPIO_Pin_8, GPIO_ModeOut_PP_5mA );
  GPIOB_SetBits( GPIO_Pin_16 );
  GPIOB_ModeCfg( GPIO_Pin_16, GPIO_ModeOut_PP_5mA );

  GPIOB_InverseBits( GPIO_Pin_20 );

  TMR0_TimerInit( FREQ_SYS / 30 );                  // 设置定时时间 ms
  TMR0_ITCfg( ENABLE, TMR0_3_IT_CYC_END );          // 开启中断
  PFIC_EnableIRQ( TMR0_IRQn );

  while( 1 )
    ;
}

__INTERRUPT
__HIGH_CODE
void TMR0_IRQHandler( void )        // TMR0 定时中断
{
  if ( TMR0_GetITFlag( TMR0_3_IT_CYC_END ) )
  {
    TMR0_ClearITFlag( TMR0_3_IT_CYC_END );      // 清除中断标志
    GPIOB_InverseBits( GPIO_Pin_20 );
    GPIOB_InverseBits( GPIO_Pin_22 );
    GPIOB_InverseBits( GPIO_Pin_10 );
    GPIOB_InverseBits( GPIO_Pin_12 );
    GPIOB_InverseBits( GPIO_Pin_19 );
    GPIOB_InverseBits( GPIO_Pin_0 );
    GPIOB_InverseBits( GPIO_Pin_2 );
    GPIOB_InverseBits( GPIO_Pin_1 );
    GPIOB_InverseBits( GPIO_Pin_3 );
    GPIOB_InverseBits( GPIO_Pin_5 );
    GPIOB_InverseBits( GPIO_Pin_7 );
    GPIOB_InverseBits( GPIO_Pin_11 );
    GPIOB_InverseBits( GPIO_Pin_13 );
    GPIOB_InverseBits( GPIO_Pin_15 );
    GPIOA_InverseBits( GPIO_Pin_5 );
    GPIOA_InverseBits( GPIO_Pin_0 );
    GPIOA_InverseBits( GPIO_Pin_2 );
    GPIOA_InverseBits( GPIO_Pin_15 );
    GPIOA_InverseBits( GPIO_Pin_13 );
    GPIOA_InverseBits( GPIO_Pin_11 );
    GPIOA_InverseBits( GPIO_Pin_7 );
    GPIOA_InverseBits( GPIO_Pin_9 );
    GPIOB_InverseBits( GPIO_Pin_8 );
    GPIOB_InverseBits( GPIO_Pin_16 );

  }
}

最新回复

这个可以呀,等待你更加精采的作品。  详情 回复 发表于 2022-3-14 13:09
点赞 关注
 
 

回复
举报

7047

帖子

11

TA的资源

版主

沙发
 
这个可以呀,等待你更加精采的作品。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表