⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd.c

📁 MSP430单片机常用模块与综合系统实例精讲 的:“程序代码”、“实例插图”、“电路图”3个文件夹。以及MSP430F14X系列单片机的官方源码"CODE-MSP430F14X" 其中各个文件夹主要
💻 C
字号:
#include <msp430x42x.h>

#include "lcd.h"

// LCD 定义
//h为小数点控制
#define h       0x80
#define e       0x40                            //  AAAA
#define g       0x20                            // F    B
#define f       0x10                            // F    B
#define d       0x08                            //  GGGG
#define c       0x04                            // E    C
#define b       0x02                            // E    C
#define a       0x01                            //  DDDD  h

const char LCD_Tab[] = {
  a + b + c + d + e + f,                        // 显示 "0"
  b + c,                                        // 显示 "1"
  a + b + d + e + g,                            // 显示 "2"
  a + b + c + d + g,                            // 显示 "3"
  b + c + f + g,                                // 显示 "4"
  a + c + d + f +g,                             // 显示 "5"
  a + c + d + e + f + g,                        // 显示 "6"
  a + b + c,                                    // 显示 "7"
  a + b + c + d + e + f + g,                    // 显示 "8"
  a + b + c + d + f + g,                        // 显示 "9"
  0x00                                          // 显示 黑
};

#undef a
#undef b
#undef c
#undef d
#undef e
#undef f
#undef g

void dispTime(char *pBuf,int len)
{
    //本程序只显示小时、分钟、秒
    int temp;
    char hi;
    char lo;
    char pTime[3];
    
    if(len == 7)
    {
        //年月日格式的时间信息
        //小时
        pTime[0] = pBuf[4];
        //分钟
        pTime[1] = pBuf[5];
        //秒
        pTime[2] = pBuf[6];
    } 
    else if(len == 3)
    {
        //只含小时、分钟、秒的时间
        //小时
        pTime[0] = pBuf[0];
        //分钟
        pTime[1] = pBuf[1];
        //秒
        pTime[2] = pBuf[2];
    }
      
    //指向LCD显示存储器
    char *pLCD = (char *)&LCDM7;
    
    //秒
    temp = pTime[2];
    hi = (temp >> 4) & 0x0f;
    lo = temp & 0x0f;
    //秒的低字节
    *pLCD = LCD_Tab[lo];
    //指针移动
    pLCD += 1;
    //秒的高字节
    *pLCD = LCD_Tab[hi] | h;
    //指针移动
    pLCD += 1;
    
    //分钟
    temp = pTime[1];
    hi = (temp >> 4) & 0x0f;
    lo = temp & 0x0f;
    //分钟的低字节
    *pLCD = LCD_Tab[lo];
    //指针移动
    pLCD += 1;
    //分钟的高字节
    *pLCD = LCD_Tab[hi] | h;
    //指针移动
    pLCD += 1;
    
    //小时
    temp = pTime[0];
    hi = (temp >> 4) & 0x0f;
    lo = temp & 0x0f;
    //小时的低字节
    *pLCD = LCD_Tab[lo];
    //指针移动
    pLCD += 1;
    //小时的高字节
    *pLCD = LCD_Tab[hi];
    //指针移动
    pLCD += 1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -