哺乳期吃辣椒对宝宝有什么影响| 血常规24项能查出什么病| 中宫是什么意思| 什么是胃炎| 五点是什么时辰| 梦见自己生男孩是什么意思| 月经量多吃什么药调理| 韩信点兵什么意思| 总想小便是什么原因| 入心是什么意思| 湿气重是什么原因造成的| 粘米粉是什么米做的| 直采是什么意思| 出是什么意思| 脖子肿大是什么病的症状| 肱骨头小囊变什么意思| 广州机场叫什么名字| 千山暮雪结局是什么| 杀鸡吓什么| 紫色和蓝色混合是什么颜色| 名媛是什么意思| 年终奖是什么意思| 什么是交感神经| 梦见下雪了是什么意思| cpc什么意思| 看颈椎挂什么科| 家里进黄鼠狼是什么预兆| 骨折吃什么恢复快| 虱子用什么药可以根除| 献血前吃什么东西最好| 五个月宝宝可以吃什么水果| 什么叫糖类抗原| 最早的春联是写在什么上面的| 猪下水是什么| 甘之如饴什么意思| 金铃子是什么昆虫| 蒲公英叶和根的功效有什么不同| 7月20号什么星座| 舌苔厚白应该吃什么| 1月22日什么星座| 心跳过缓吃什么药| 安乐死是什么| 斯里兰卡说什么语言| 小日子是什么意思| 吃汉堡为什么要配可乐| 白色属于五行属什么| 什么是跳蛋| 野生甲鱼吃什么| 定力是什么意思| 葬爱家族是什么意思| 胡萝卜吃多了有什么坏处| 混社会的人一般干什么| 胰岛素是什么| 殉葬是什么意思| 做梦梦见考试是什么意思| 什么是静脉曲张| 为什么剪指甲不会疼| canon什么牌子| 男性尿频尿急是什么原因| 龚自珍是什么朝代的| 来减一笔是什么字| 婴儿老打嗝是什么原因| 1953年属什么生肖| 土字旁有什么字| 做hpv检查前要注意什么| 当志愿者有什么好处| 寓教于乐什么意思| 膝关节疼痛挂什么科| 牙龈痛吃什么药| 男人吃四环素治什么病| 输血前四项检查是什么| 水痘开始痒了说明什么| 德比什么意思| 失眠是什么引起的| 照烧是什么意思| 祖师香是什么意思| 兰州大学什么专业最好| 胆固醇高是什么原因引起的| 军长什么级别| 容易脸红的人是什么原因| 吃什么对脾胃好| 药店加盟需要什么条件| 49年属什么生肖| 口腔溃疡吃什么菜| 白细胞低有什么危险| 开除公职是什么意思| 水饮是什么意思| 刘备是个什么样的人| 血红蛋白浓度偏高是什么意思| 蛋白质偏高是什么原因| 毛骨鱼是什么鱼| 什么是静脉| 17年属什么生肖| 胃窦炎是什么原因引起的| 胃反酸什么原因| 肚子胀气是什么原因| 心悸症状是什么感觉| 胰腺炎挂什么科室| 求租是什么意思| 嫖娼什么意思| 草朋刀是什么字| 心颤是什么症状| 鞋子上eur是什么意思| 心气虚吃什么中成药| 小暑是什么季节| 胎盘老化对胎儿有什么影响| 甲胎蛋白增高说明什么| 脑袋疼是什么原因| 低血压吃什么好的最快女性| 包虫病是什么症状| 基因突变是什么病| 文笔是什么意思| 男性左下腹疼痛是什么原因| 植物神经紊乱看什么科| 水晶粉是什么粉| 月经多是什么原因| 插入阴道是什么感觉| 帕罗西汀是什么药| 需要是什么意思| 吃黄瓜有什么好处| 狗狗体内驱虫用什么药最好| 氯雷他定为什么比西替利嗪贵| 吃什么补钙| 扁桃体发炎是什么原因| 百草霜是什么| 属狗什么命| 百合是什么意思| 案例是什么意思| 78什么意思| 小腿疼痛挂什么科| 挽留是什么意思| 1935年属什么生肖属相| 什么床不能睡觉| nk是什么| 望尘莫及是什么意思| 女人吃猪肝有什么好处| 侍郎是什么官| 佳字属于五行属什么| 99年属什么| 频繁打哈欠是什么原因| 三点水一个前读什么| 四十岁月经量少是什么原因| 什么鲸鱼最大| 心脏彩超挂什么科| 燕麦长什么样子图片| 阿佛洛狄忒是什么神| apc是什么意思| 月经推迟一个月不来什么原因| 黑头发有什么好处脑筋急转弯| 1979年是什么命| 74年属什么生肖| 95年猪五行属什么| 氯读什么拼音| 相合是什么意思| 癌胚抗原是什么意思| 缩影是什么意思| 看见壁虎是什么兆头| 两个人在一起的意义是什么| 素肉是什么| 1月16日是什么星座| 九月十二号是什么星座| 晚饭吃什么最健康| 失眠为什么开奥氮平片| 挂妇科门诊都检查什么| 为什么一紧张就拉肚子| 幕后是什么意思| 面部神经痉挛吃什么药| 游泳前一定要做好什么运动| 阴道黑是什么原因| b型血rh阳性是什么意思| 火六局是什么意思| 晚上吃什么能减肥| 晚上10点属于什么时辰| 脚底长水泡是什么原因| 前额白发是什么原因| 女人为什么喜欢坏男人| 3p 什么意思| 小狗不能吃什么| 眉尾上方有痣代表什么| 茭白是什么植物| 什么心什么目| 16是什么意思| 什么是前置胎盘| 一片冰心在玉壶是什么意思| 猴的守护神是什么菩萨| 蓝色衬衫配什么裤子| 女人梦见狼是什么预兆| 懦弱什么意思| 梦见蛇是什么意思啊| 隔天是什么意思| 益精是什么意思| 老是想咳嗽是什么原因| 财运亨通是什么意思| 桃花是什么颜色| 冬天手脚冰凉是什么原因怎么调理| 单活胎是什么意思| 什么是糖尿病| 刚开始怀孕会有什么症状| 小孩子打呼噜是什么原因| 阿尔茨海默病吃什么药| 什么是有机食品和无机食品| 踏实是什么意思| 电解工是干什么的| 老人经常便秘有什么好办法| 努尔哈赤是什么意思| 过敏性皮炎用什么药| 南乳是什么| 鼻孔流血是什么原因| 什么是横纹肌溶解症| 一什么凳子| 什么生日的人有佛缘| 尿葡萄糖阴性什么意思| 枕头底下放剪刀有什么说法| msgm是什么品牌| 阑尾炎吃什么药效果好| 蓝色和红色混合是什么颜色| 外阴白斑是什么症状| 太妃糖为什么叫太妃糖| iu什么意思| 小壁虎进家有什么预兆| ipa啤酒是指什么| 黑客帝国4什么时候上映| 做梦梦见猪是什么意思| 装模作样是什么生肖| 喉咙痒吃什么药好| 日语为什么怎么说| 孕妇做糖筛是检查什么| 卷饼里面配什么菜好吃| 42天产后检查都检查什么项目| 六月是什么生肖| 加拿大货币叫什么| 痛风什么蔬菜不能吃| hcg是什么意思| 阿胶什么时候吃效果最好| 肺结节吃什么好| 晚上胃疼是什么原因| 手指头发红是什么原因| 什么是象形字| 苡是什么意思| 一建什么时候报名| 什么叫收缩压和舒张压| 11月21日什么星座| 什么人不宜吃海参| 三黄鸡为什么那么便宜| 文号是什么| 右胸痛什么原因| 国标舞是什么舞| 属鸡的守护神是什么菩萨| 怀孕早期有什么症状| 等边三角形又叫什么三角形| 预防肺结核吃什么药| 06年属什么| 什么是黑天鹅事件| 孕妇血糖高可以吃什么水果| 桜什么意思| ec50是什么意思| 魁拔4什么时候上映| 西铁城是什么档次的表| 甘草长什么样子图片| 反式脂肪是什么意思| 化验血常规能查出什么| 望洋兴叹什么意思| 前列腺钙化是什么病| 脚肿挂什么科室| 百度
这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 ? 论坛首页 ? DIY与开源设计 ? 电子DIY ? 功率监测与控制系统DIY-03 实现OLED屏幕显示信息

共2条 1/1 1 跳转至

功率监测与控制系统DIY-03 实现OLED屏幕显示信息

助工
2025-08-04 11:48:36     打赏
百度 在昨天的比赛上布拉切全场比赛出战分钟21投11中投篮命中率52%,其中三分球7投2中投篮命中率28%,拿下了31分8篮板4失误的全面数据。


1. 任务目标

2. OLED 介绍

3. STM32 I2C配置

    3.1 选用 I2C1

    3.2   STM32CubeMX 工程配置

    3.3 PB8 配置为SCL

    3.4 PB9 配置为 SDA

4. PCtoLCD 汉字取模软件

5. 流程图

6. 关键代码

    6.1 主函数

    6.2 I2C 初始化

    6.3 OLED 接口函数

        6.3.1   Oled_Write_Data() 实现

        6.3.2   Oled_Write_Cmd() 实现

    6.4 OLED   API

        6.4.1   OLED_Init() 初始化

        6.4.2   OLED_Fill() 刷屏

        6.4.3   OLED_ShowStr()

        6.4.4   OLED_ShowCN()

7. 实操演示


1. 任务目标

 

实现OLED屏幕显示信息

 

2. OLED 介绍

 

此款 OLED Seeed Studio 出品的 Grove 接口的 0.96英寸 OLED 显示屏,驱动IC SSD1315.

OLED Display 0.96''  SSSD1315 V1.1 分辨率 128x64

供电为 3.3V 或者 5V,通信接口为 I2C


image.png


考虑到电流表 INA219 也是 I2C 通信接口,在STM32开发板上使用同一组I2C硬件,OLEDINA219配置不同的器件地址,就可以一个I2C控制器驱动两个I2C器件。

 

此开发板有 Arduino 接口,恰好把 Seeed Base Shield 扩展板接上。


image.png



 

3. STM32 I2C配置

 

3.1 选用 I2C1

信号

STM32F411 管脚

丝印

SCL

PB8

CN10.3 或者 Arduino.D15

SDA

PB9

CN10.5 或者 Arduino.D14


image.png



Nucleo-F411RE 管脚分配

参考两个文档

?        UM1724.pdf》,查看其中的 6.12 ST morpho connector 管脚和 6.10 Extension connections Figure19. NUCLEO-F411RE

?        mb1136-default-c04_schematic.pdfPage5Extension connectors

 

3.2 STM32CubeMX 工程配置

 

?        Connecity 中选择 I2C1

?        在右侧使能 i2c

?        配置 I2C 参数为 Standard Mode, 速率 100KHz,地址为7比特,主要的从器件地址为 0x78


image.png


 

3.3 PB8 配置为SCL


image.png



 

3.4 PB9 配置为 SDA


image.png



 

4. PCtoLCD 汉字取模软件

此次任务在OLED上展示中文字符如下:

 

电子产品世界

得捷

你好

功率检测

系统控制

电压电流

 

所有取模的文字:

电子产品世界得捷你好功率监测系统控制电压流

 

PCtoLCD2002 软件配置如下:

?        点阵格式:阴码

?        取模方式:列行式

?        取模走向:逆向(低位在前)

?        自定义格式:C51格式,且行前缀、行后缀都为空。


image.png

image.png

 

在输入框输入文字后点击生成字模,拷贝到工程中即可。


5. 流程图


image.png

6. 关键代码

 

6.1 主函数

 

?        HAL库初始化

?        时钟初始化

?        硬件初始化,如GPIOTIMUARTI2C

?        OLED初始化,清屏

?        显示界面,界面切换,死循环



int main(void)
{
    /* USER CODE BEGIN 1 */

    /* USER CODE END 1 */

    /* MCU Configuration--------------------------------------------------------*/

    /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
    HAL_Init();

    /* USER CODE BEGIN Init */

    /* USER CODE END Init */

    /* Configure the system clock */
    SystemClock_Config();

    /* USER CODE BEGIN SysInit */

    /* USER CODE END SysInit */

    /* Initialize all configured peripherals */
    MX_GPIO_Init();
    MX_USART2_UART_Init();
    MX_TIM1_Init();
    MX_I2C1_Init();

    /* USER CODE BEGIN 2 */

    printf("\r\n");
    printf("\t\t EEPW_2025_DIY1_Task2_OLED \r\n");
    printf("\t\t Build: %s %s \r\n", __DATE__, __TIME__);
    printf("\r\n");

    HAL_TIM_Base_Start_IT(&htim1);

    OLED_Init();

    /* USER CODE END 2 */

    /* Infinite loop */
    /* USER CODE BEGIN WHILE */
    while (1) {
        screen_00_welcome();
        HAL_Delay(1000 * 3);
        screen_01_welcome();
        HAL_Delay(1000 * 3);
        screen_02_diy_power_monitor();
        HAL_Delay(1000 * 5);
        /* USER CODE END WHILE */

        /* USER CODE BEGIN 3 */
        // HAL_Delay(2000);
    }
    /* USER CODE END 3 */
}


6.2 I2C 初始化

 

这里的初始化代码是 STM32CubeMX 生成的,初始化参数来自界面配置的参数。

 

?        函数 MX_I2C1_Init() 先保存 I2C 参数到 hi2c1 结构体上,调用 HAL_I2C_Init() 初始化硬件

?        函数 HAL_I2C_MspInit() HAL_I2C_Init() 函数调用,初始化 I2C1 管脚,配置为复用功能


void MX_I2C1_Init(void)
{

  /* USER CODE BEGIN I2C1_Init 0 */

  /* USER CODE END I2C1_Init 0 */

  /* USER CODE BEGIN I2C1_Init 1 */

  /* USER CODE END I2C1_Init 1 */
  hi2c1.Instance = I2C1;
  hi2c1.Init.ClockSpeed = 100000;
  hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2;
  hi2c1.Init.OwnAddress1 = 240;
  hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
  hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
  hi2c1.Init.OwnAddress2 = 0;
  hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
  hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
  if (HAL_I2C_Init(&hi2c1) != HAL_OK)
  {
    Error_Handler();
  }
  /* USER CODE BEGIN I2C1_Init 2 */

  /* USER CODE END I2C1_Init 2 */

}

void HAL_I2C_MspInit(I2C_HandleTypeDef* i2cHandle)
{

  GPIO_InitTypeDef GPIO_InitStruct = {0};
  if(i2cHandle->Instance==I2C1)
  {
  /* USER CODE BEGIN I2C1_MspInit 0 */

  /* USER CODE END I2C1_MspInit 0 */

    __HAL_RCC_GPIOB_CLK_ENABLE();
    /**I2C1 GPIO Configuration
    PB8     ------> I2C1_SCL
    PB9     ------> I2C1_SDA
    */
    GPIO_InitStruct.Pin = OLED_SCL_Pin|OLED_SDA_Pin;
    GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
    GPIO_InitStruct.Pull = GPIO_NOPULL;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
    GPIO_InitStruct.Alternate = GPIO_AF4_I2C1;
    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

    /* I2C1 clock enable */
    __HAL_RCC_I2C1_CLK_ENABLE();
  /* USER CODE BEGIN I2C1_MspInit 1 */

  /* USER CODE END I2C1_MspInit 1 */
  }
}


6.3 OLED 接口函数

 

OLED 接口层,主要实现两个函数,其他的 OLED API都是依赖这两个函数

?        Oled_Write_Data() 发送数据到 OLED IC

?        Oled_Write_Cmd() 发送命令到 OLED IC


6.3.1 Oled_Write_Data() 实现

 

这里直接调用 HAL API OLED 发送数据


void Oled_Write_Data(uint8_t data)
{
    HAL_I2C_Mem_Write(&HI2CX, OLED_ID, OLED_WR_DATA, I2C_MEMADD_SIZE_8BIT, &data, 1, 0x100);
}


6.3.2 Oled_Write_Cmd() 实现

 

这里直接调用 HAL API OLED 发送命令


void Oled_Write_Cmd(uint8_t cmd)
{
    HAL_I2C_Mem_Write(&HI2CX, OLED_ID, OLED_WR_CMD, I2C_MEMADD_SIZE_8BIT, &cmd, 1, 0x100);
}


6.4 OLED API

 

这里仅列举几个常用的 API 实现。

 

6.4.1 OLED_Init() 初始化

 

OLED 上电后需要发送命令配置参数


void OLED_Init(void)
{
    /* 设置显示打开/关闭
     * AE--->显示打开
     * AF--->显示关闭(休眠模式)
     */
    Oled_Write_Cmd(0xAE);

    /* ================== 基本命令表 ===================*/
    /* 设置对比度
     * 0~255:数值越大 亮度越亮
     */
    Oled_Write_Cmd(0x81);
    Oled_Write_Cmd(0xFF);

    /* 使能全屏显示
     * A4--->恢复到RAM内容显示
     * A5--->忽略RAM内容显示
     */
    Oled_Write_Cmd(0xA4);

    /* 设置显示模式
     * A6--->正常显示:0灭1亮
     * A7--->逆显示:1灭0亮
     */
    Oled_Write_Cmd(0xA6);

    /* ================== 滚动命令表 ===================*/
    /* 滚动使能/失能
     * 2E--->失能
     * 2F--->使能
     */
    Oled_Write_Cmd(0x2E);

    /* 七字节命令: 连续水平滚动设置 */

    /* 左/右水平滚动设置
     * 26--->右水平滚动
     * 27--->左水平滚动
     */
    Oled_Write_Cmd(0x26);
    /* 虚拟字节 */
    Oled_Write_Cmd(0x00);
    /* 设置滚动起始页地址 */
    Oled_Write_Cmd(0x00);
    /* 设置滚动间隔 */
    Oled_Write_Cmd(0x03);
    /* 设置滚动结束地址 */
    Oled_Write_Cmd(0x07);
    /* 虚拟字节 */
    Oled_Write_Cmd(0x00);
    Oled_Write_Cmd(0xFF);

    /* =============== 寻址设置命令表 ==================*/

    /* 双字节命令:寄存器寻址模式 */
    Oled_Write_Cmd(0x20);

    /* 10:页寻址模式
     * 01:垂直寻址模式
     * 00:水平寻址模式
     */
    Oled_Write_Cmd(0x10);
    /* 单字节命令:设置页寻址的起始页地址 */
    Oled_Write_Cmd(0xB0);
    /* 单字节命令:设置页寻址的起始列地址低位 */
    Oled_Write_Cmd(0x00);
    /* 单字节命令:设置页寻址的起始列地址高位 */
    Oled_Write_Cmd(0x10);

    /*=============== 硬件配置命令表 ==================*/

    /* 设置显示开始线
     * 0x40~0x7F对应0~63
     */
    Oled_Write_Cmd(0x40);

    /* 设置列重映射
     * A0:addressX--->segX
     * A1:addressX--->seg(127-X)
     */
    Oled_Write_Cmd(0xA1);

    /* 设置多路复用比 */
    Oled_Write_Cmd(0xA8);
    Oled_Write_Cmd(0x3F);

    /* 设置COM输出扫描方向
     * C0:COM0--->COM63(从上往下扫描)
     * C8:COM63--->COM0(从下往上扫描)
     */
    Oled_Write_Cmd(0xC8);

    /* 双字节命令:设置COM显示偏移量 */
    Oled_Write_Cmd(0xD3);
    Oled_Write_Cmd(0x00); /* COM不偏移 */

    /* 双字节命令:配置COM重映射 */
    Oled_Write_Cmd(0xDA);
    Oled_Write_Cmd(0x12);

    /* 双字节命令:设置预充期 */
    Oled_Write_Cmd(0xD9);
    Oled_Write_Cmd(0x22); /* 阶段一2个无效DCLK时钟/阶段二2个无效DCLK时钟 */

    /* 设置VCOMH取消选择电平
     * 00:0.65xVcc
     * 20:0.77xVcc
     * 30:0.83xVcc
     */
    Oled_Write_Cmd(0xDB);
    Oled_Write_Cmd(0x20);

    /* 双字节命令:设置电荷泵 */
    Oled_Write_Cmd(0x8d);
    Oled_Write_Cmd(0x14);

    Oled_Write_Cmd(0xAF);
}


6.4.2 OLED_Fill() 刷屏

 

m 表示page 地址,数值0~7n 表示列地址,数值 0~127

填充的数据 fill_data,设置为0,则屏幕为黑色;设置为1,则屏幕白色;设置为其他值,屏幕显示条纹。



void OLED_Fill(uint8_t fill_data) // 全屏填充
{
    unsigned char m, n;
    for (m = 0; m < 8; m++) {
        Oled_Write_Cmd(0xb0 + m); // page0-page1
        Oled_Write_Cmd(0x00);     // low column start address
        Oled_Write_Cmd(0x10);     // high column start address
        for (n = 0; n < 128; n++) {
            Oled_Write_Data(fill_data);
        }
    }
}


6.4.3 OLED_ShowStr()

 

这里支持两种字体大小,分别是 6x8 8x16 大小。


/**
 * @brief 显示 ASCII 字符,有 6x8 和 8x16 字体大小可以选择
 *
 * @param x 起始点坐标 x [0, 127]
 * @param y 起始点坐标 y [0, 7]
 * @param ch 要显示的字符串
 * @param textsize 1 表示字体大小 6x8; 2 表示字体大小 8x16
 */
void OLED_ShowStr(uint16_t x, uint16_t y, uint8_t ch[], ascii_font_e font)
{
    uint8_t c = 0, i = 0, j = 0;
    switch (font) {
        case ASCII_FONT_6X8: {
            while (ch[j] != '\0') {
                c = ch[j] - 32;
                if (x > 126) {
                    x = 0;
                    y++;
                }
                OLED_SetPos(x, y);
                for (i = 0; i < 6; i++)
                    Oled_Write_Data(FONT_ASCII_6x8[c][i]);
                x += 6;
                j++;
            }
            break;
        }

        case ASCII_FONT_8X16: {
            while (ch[j] != '\0') {
                c = ch[j] - 32;
                if (x > 120) {
                    x = 0;
                    y++;
                }
                OLED_SetPos(x, y);
                for (i = 0; i < 8; i++)
                    Oled_Write_Data(FONT_ASCII_8x16[c * 16 + i]);
                OLED_SetPos(x, y + 1);
                for (i = 0; i < 8; i++)
                    Oled_Write_Data(FONT_ASCII_8x16[c * 16 + i + 8]);
                x += 8;
                j++;
            }
            break;
        }

        default:
            break;
    }
}


6.4.4 OLED_ShowCN()

 

这里只支持一种中文字体大小,16x16


/**
 * @brief 显示 oled_codetab.h 中的汉字,16x16 点阵
 *
 * @param x 起始坐标 x [0, 127]
 * @param y 起始坐标 y [0, 7]
 * @param n 汉字在 16x16 点阵中的索引,下标从0开始
 */
void OLED_ShowCN(uint16_t x, uint16_t y, uint16_t index)
{
    unsigned char wm = 0;
    unsigned int adder = 32 * index;

    OLED_SetPos(x, y);
    for (wm = 0; wm < 16; wm++) {
        Oled_Write_Data(FONT_CN_16x16[adder]);
        adder += 1;
    }
    OLED_SetPos(x, y + 1);
    for (wm = 0; wm < 16; wm++) {
        Oled_Write_Data(FONT_CN_16x16[adder]);
        adder += 1;
    }
}


7. 实操演示

 

显示中文欢迎界面


image.png

 

显示英文欢迎界面


image.png

显示功率检测界面,其中的电压、电流和功率数值是预设值,并非实际测量的。


image.png


VID_20250614_161146 00_00_00-00_00_30.gif





关键词: OLED    

专家
2025-08-04 08:46:03     打赏
2楼

谢谢分享


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]
神器积分换什么最划算 ckd5期是什么意思 民考民是什么意思 什么是先天之本 惹上官司是犯了什么煞
marni是什么牌子 肝功七项查的是什么 目赤是什么症状 帕金森病是什么原因引起的 云南小黄姜有什么功效
肠胃炎引起的发烧吃什么药 从容的反义词是什么 什么是阳光抑郁症 中国四大发明是什么 用鸡蛋滚脸有什么好处
司马迁属什么生肖 北京友谊医院擅长什么 腿困是什么原因引起的 ac疫苗是预防什么的 什么芒果最好吃
金银花泡水喝有什么好处hcv7jop9ns0r.cn 农历7月20日是什么星座hcv9jop0ns8r.cn 盗墓笔记讲了什么naasee.com 过敏输液输什么药好hcv8jop8ns2r.cn 隐翅虫吃什么hcv9jop3ns6r.cn
定坤丹什么时候吃最好wmyky.com 耿耿于怀什么意思hcv9jop6ns5r.cn 手足口病是什么病毒hcv8jop6ns5r.cn 五六点是什么时辰hcv9jop0ns4r.cn 呕吐是什么原因引起的hcv8jop2ns1r.cn
sdnn是什么意思huizhijixie.com 腋臭是什么原因引起的hcv8jop7ns0r.cn 三保是什么hcv9jop5ns8r.cn 容祖儿老公叫什么名字hcv9jop8ns0r.cn 女性黄体期是什么时候hcv7jop6ns0r.cn
atc是什么意思hcv7jop9ns9r.cn 艾地苯醌片治什么病hcv7jop6ns5r.cn 属鼠的和什么属相最配hcv8jop5ns5r.cn 汇总压缩是什么意思hcv9jop2ns4r.cn 戊午五行属什么hcv8jop1ns1r.cn
百度