📄 lcd.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 + -