• 大小: 19KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-15
  • 语言: 其他
  • 标签: STM8L  

资源简介

STM8L驱动LCD 和显示函数 CPU是STM8L152

资源截图

代码片段和文件信息

/**********************************************************************************
//概述: 
//作者:      时间: 2013-03-22  17:47   地点:日晞科技研发部
//CPU型号:    系统主频:
//版本号:
***********************************************************************************/
/**********************************************************************************
文件包含区
***********************************************************************************/
#include “driver-PCB.h“
#include “time.h“
#include “stm8l15x.h“
#include “logic.h“
#include “LCD.h“
/**********************************************************************************
常量定义区
***********************************************************************************/

/**********************************************************************************
公共变量定义去
***********************************************************************************/
const unsigned char LCD_SEG[10] = {0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f};
/**********************************************************************************
私有变量定义区
***********************************************************************************/

/**********************************************************************************
外部变量声明区
***********************************************************************************/
/**********************************************************************************
测试变量定义区
***********************************************************************************/

/**********************************************************************************
功能代码定义区
***********************************************************************************/

/*************************************************
  Function:       // 
  Description:    // 
  Input:          // LCD初始化
                  // 
  Output:         // 
  Return:         // 
  Others:         // 
*************************************************/
void LCD_init ( void )
{
  /* Enable LCD/RTC clock */
  CLK_PeripheralClockConfig(CLK_Peripheral_RTC ENABLE);
  CLK_PeripheralClockConfig(CLK_Peripheral_LCD ENABLE);
  
  #ifdef USE_LSE
    CLK_RTCClockConfig(CLK_RTCCLKSource_LSE CLK_RTCCLKDiv_1);
  #else
    CLK_RTCClockConfig(CLK_RTCCLKSource_LSI CLK_RTCCLKDiv_1);
  #endif
  
  /* Initialize the LCD */
  LCD_Init(LCD_Prescaler_1 LCD_Divider_31 LCD_Duty_1_4 
                                    LCD_Bias_1_4 LCD_VoltageSource_External);
  
  /* Mask register
  For declare the segements used.
  in the Discovery we use 0 to 23 segments. */
  LCD_PortMaskConfig(LCD_PortMaskRegister_0 0xfe);    //seg1~seg7
  LCD_PortMaskConfig(LCD_PortMaskRegister_1 0xff);    //seg8~seg15
  LCD_PortMaskConfig(LCD_PortMaskRegister_2 0x00);
  
  /* To set contrast to mean value */
  LCD_ContrastConfig(LCD_Contrast_3V3);
  
  LCD_DeadTimeConfig(LCD_DeadTime_1);
  LCD_PulseOnDurationConfig(LCD_PulseOnDuration_7);
  
  /* Enable LCD peripher

评论

共有 条评论