资源简介
LTC6802-1监测锂电池程序,与STM32F103V进行通信,LCD显示12个电池电压
代码片段和文件信息
#include “lcd.h“
#include “font.h“
#include “delay.h“
#include “spi.h“
//LCD的画笔颜色和背景色
u16 POINT_COLOR=0x0000; //画笔颜色
u16 BACK_COLOR=0xFFFF; //背景色
//管理LCD重要参数
_lcd_dev lcddev;
/**********************************************************************************
*** 函数功能:模拟SPI初始化函数
*** 输入参数:void
*** 输出备注:void
*** 函数说明:无
***********************************************************************************/
//void SPI_LCD_Init(void)
//{
// RCC->APB2ENR|=1<<2; //使能GPIOA时钟
// GPIOA->CRL&=0X000FFFFF; //配置PA5、PA7为输出,PA6为输入
// GPIOA->CRL|=0X38300000;
// GPIOA->BRR=1<<5; //输出低
// GPIOA->BRR=1<<7; //输出低
// GPIOA->BSRR|=1<<6;
//}
/**********************************************************************************
*** 函数功能:模拟SPI读写函数
*** 输入参数:ch:发送的值
*** 输出备注:void
*** 函数说明:无
***********************************************************************************/
//u8 SPI_LCD_ReadWrite(u8 ch)
//{
// u8 idate;
//
// for(i=8;i>0;i--)
// {
// SCK=0; //时钟低
// //下降沿写数据
// if(0x80&ch)
// MOSI=1;
// else
// MOSI=0;
//
// SCK=1; //时钟高
// //上升沿读数据
// if(MISO)
// date|=1<<(i-1);
// else
// date&=~(1<<(i-1));
// ch<<=1;
// }
// SCK=0;
//// MOSI=1;
// return date;
//}
//写寄存器函数
//regval:寄存器值
void LCD_WR_REG(u16 regval)
{
SPILCD_CS=0; //LCD_CS=0
SPILCD_DC=0;
SPI_LCD_ReadWrite(regval&0x00FF);
SPILCD_DC=1; //LCD_CS=1
}
//写LCD数据
//data:要写入的值
void LCD_WR_DATA(u16 data)
{
SPILCD_CS=0; //LCD_CS=0
SPILCD_DC=1;
SPI_LCD_ReadWrite(data>>8);
SPI_LCD_ReadWrite(data);
SPILCD_CS=1; //LCD_CS=1
}
void LCD_WR_DATA8(u8 da) //写8位数据
{
SPILCD_CS=0; //LCD_CS=0
SPILCD_DC=1;
SPI_LCD_ReadWrite(da);
SPILCD_CS=1; //LCD_CS=1
}
//写寄存器
//LCD_Reg:寄存器地址
//LCD_RegValue:要写入的数据
void LCD_WR_REG_DATA(u8 LCD_Reg u16 LCD_RegValue)
{
LCD_WR_REG(LCD_Reg);
LCD_WR_DATA(LCD_RegValue);
}
//开始写GRAM
void LCD_WriteRAM_Prepare(void)
{
LCD_WR_REG(lcddev.wramcmd);
}
//当mdk -O1时间优化时需要设置
//延时i
void opt_delay(u8 i)
{
while(i--);
}
//LCD开启显示
void LCD_DisplayOn(void)
{
}
//LCD关闭显示
void LCD_DisplayOff(void)
{
}
//设置光标位置
//Xpos:横坐标
//Ypos:纵坐标
void LCD_SetCursor(u16 Xpos u16 Ypos)
{
LCD_WR_REG(lcddev.setxcmd);
LCD_WR_DATA8(Xpos>>8);
LCD_WR_DATA8(Xpos&0XFF);
LCD_WR_REG(lcddev.setycmd);
LCD_WR_DATA8(Ypos>>8);
LCD_WR_DATA8(Ypos&0XFF);
}
//画点
//xy:坐标
//POINT_COLOR:此点的颜色
void LCD_DrawPoint(u16 xu16 y)
{
LCD_SetCursor(xy); //设置光标位置
LCD_WriteRAM_Prepare(); //开始写入GRAM
LCD_WR_DATA(POINT_COLOR);
}
//初始化lcd
void LCD_Init(void)
{
// SPI_LCD_Init();
RCC->APB2ENR |=1<<2; //使能PA时钟
// RCC->APB2ENR |=1<<3; //使能PB时钟
// RCC->APB2ENR |=1<<4; //使能PC时钟
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-05-01 22:11 HARDWARE\
目录 0 2018-05-01 22:11 HARDWARE\LCD\
文件 96976 2016-07-27 11:10 HARDWARE\LCD\font.h
文件 16178 2016-07-27 05:00 HARDWARE\LCD\lcd.c
文件 4073 2016-07-26 23:20 HARDWARE\LCD\lcd.h
目录 0 2018-05-01 22:11 HARDWARE\LED\
文件 250 2018-04-30 15:11 HARDWARE\LED\LED.C
文件 157 2018-04-30 15:11 HARDWARE\LED\LED.h
目录 0 2018-05-01 22:11 HARDWARE\LTC6802SPI\
文件 10310 2018-04-30 15:07 HARDWARE\LTC6802SPI\LTC6802spi.c
文件 1593 2018-04-30 03:47 HARDWARE\LTC6802SPI\LTC6802spi.h
目录 0 2018-05-01 22:11 HARDWARE\spi\
文件 2533 2016-04-26 01:25 HARDWARE\spi\spi.c
文件 174 2016-04-26 01:25 HARDWARE\spi\spi.h
文件 399 2014-02-27 18:41 keilkilll.bat
目录 0 2018-06-17 20:11 OUTPUT\
文件 235509 2018-04-30 15:40 OUTPUT\delay.crf
文件 637 2018-04-30 15:40 OUTPUT\delay.d
文件 250412 2018-04-30 15:40 OUTPUT\delay.o
文件 19 2018-04-30 15:14 OUTPUT\ExtDll.iex
文件 247371 2018-04-30 15:40 OUTPUT\lcd.crf
文件 738 2018-04-30 15:40 OUTPUT\lcd.d
文件 286672 2018-04-30 15:40 OUTPUT\lcd.o
文件 234838 2018-04-30 15:40 OUTPUT\led.crf
文件 615 2018-04-30 15:40 OUTPUT\led.d
文件 249212 2018-04-30 15:40 OUTPUT\led.o
文件 240235 2018-04-30 15:40 OUTPUT\ltc6802spi.crf
文件 755 2018-04-30 15:40 OUTPUT\ltc6802spi.d
文件 258848 2018-04-30 15:40 OUTPUT\ltc6802spi.o
文件 233311 2018-04-30 15:40 OUTPUT\spi.crf
文件 577 2018-04-30 15:40 OUTPUT\spi.d
............此处省略47个文件信息
评论
共有 条评论