资源简介
89C51与电能计芯片CSD5463进行SPI通讯,并能通过12864液晶屏实时显示功率、电压、电流和功率因数等
代码片段和文件信息
//头文件
#include
#include
#include
#define uint unsigned int
#define uchar unsigned char
typedef bit bool;
typedef unsigned char uint8; /* defined for unsigned 8-bits integer variable 无符号8位整型变量 */
typedef signed char int8; /* defined for signed 8-bits integer variable 有符号8位整型变量 */
typedef unsigned int uint16; /* defined for unsigned 16-bits integer variable 无符号16位整型变量 */
typedef signed int int16; /* defined for signed 16-bits integer variable 有符号16位整型变量 */
typedef unsigned long uint32; /* defined for unsigned 32-bits integer variable 无符号32位整型变量 */
typedef signed long int32; /* defined for signed 32-bits integer variable 有符号32位整型变量 */
typedef float fp32; /* single precision floating point variable (32bits) 单精度浮点数(32位长度) */
uint16 MeasureData[20];
/*****************************************************************************/
sbit LCM_cs = P3^5; //RS
sbit LCM_std = P3^6; //SID
sbit LCM_sclk = P3^4; //SCLK
sbit LCM_psb = P3^7; //H=并口; L=串口;
sbit LCM_rst = P2^4; //Reset Signal 低电平有效 sbit LCM_rst = P2^0;
//sbit beep = P2^5;
//sbit p2_4 = P2^6; //定义背光控制口
char abc;
char aabbccddee;
char ffgghhiijj;
char iqT=125;
uchar code tab1[]={
“电压 “
“PF “
“电流 “
“功率 “
};
/****************************************************************************/
uchar r[3]={0x000x000x00};
/******************************************************************
接口定义
******************************************************************/
sbit SCLK=P1^1; //ck
sbit MOSI=P1^0; //DI
sbit MISO=P1^2; //DO //这个定义对吗?
sbit INT=P3^2;
sbit CS=P1^3;
sbit RST=P1^4; //RST
#define CS5463_VScale 525 //计算电压比例220V*250mv/110mv=500V
#define CS5463_IScale (250/10) //计算电流比例
static uint8 RX_Buff[4]; //CS5463读写缓冲区
uint8 sta; //芯片状态
#define READ_MASK 0xBF //读寄存器时的屏蔽码,与(写)地址相与
#define CMD_SYNC0 0XFE //结束串口重新初始化
#define CMD_SYNC1 0XFF //开始串口重新初始化
#define REG_CONFR 0x40 //配置
#define REG_CYCCONT 0x4A //一个计算周期的A/D转换数
#define REG_STATUSR 0x5E //状态
#define REG_MODER 0x64 //操作模式
#define REG_MASKR 0x74 //中断屏蔽
#define REG_CTRLR 0x78 //控制
#define CMD_STARTC 0XE8 //执行连续计算周期
#define REG_VRMSR 0X18 //VRMS
#define REG_IRMSR 0X16 //IRMS
#define REG_Pactive 0X14 //Pactive
/*************************************************************
** 函数名称:Delay
** 函数功能:延时
** 函数参数:j
** 返回值:无
** 创建时间:2009-4-23
** 第一次修改时间:无
**************************************************************/
void Delay(uint8 j)
{
uint8 i;
for(;j>0;j--)
{
for(i=0;i<255;i--);
}
}
/*******************************************
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-05-31 11:16 12864-CS5463-STC89S52源代码修改版2\
文件 28022 2018-05-31 11:08 12864-CS5463-STC89S52源代码修改版2\12864-CS5463
文件 39734 2018-05-31 11:08 12864-CS5463-STC89S52源代码修改版2\12864-CS5463.LST
文件 35630 2018-05-31 11:08 12864-CS5463-STC89S52源代码修改版2\12864-CS5463.M51
文件 33072 2018-05-31 11:08 12864-CS5463-STC89S52源代码修改版2\12864-CS5463.OBJ
文件 21337 2018-05-05 17:07 12864-CS5463-STC89S52源代码修改版2\12864-CS5463.c
文件 11203 2018-05-31 11:08 12864-CS5463-STC89S52源代码修改版2\12864-CS5463.hex
文件 72 2018-05-31 11:08 12864-CS5463-STC89S52源代码修改版2\12864-CS5463.lnp
文件 568 2018-05-31 11:08 12864-CS5463-STC89S52源代码修改版2\12864-CS5463.plg
文件 58758 2018-05-31 11:16 12864-CS5463-STC89S52源代码修改版2\12864-CS5463.uvopt
文件 13432 2017-02-07 17:42 12864-CS5463-STC89S52源代码修改版2\12864-CS5463.uvproj
文件 58756 2018-05-31 11:08 12864-CS5463-STC89S52源代码修改版2\12864-CS5463_uvopt.bak
文件 13251 2017-02-07 15:13 12864-CS5463-STC89S52源代码修改版2\12864-CS5463_uvproj.bak
文件 6376 2009-05-07 14:37 12864-CS5463-STC89S52源代码修改版2\STARTUP.A51
文件 14051 2018-05-31 11:08 12864-CS5463-STC89S52源代码修改版2\STARTUP.LST
文件 749 2018-05-31 11:08 12864-CS5463-STC89S52源代码修改版2\STARTUP.OBJ
相关资源
- FP5139 DC-DC升降压
- C8051F020ADC转化程序(C)
- 如何在TMCL软件中通过SPI快速配置TMC
- 基于51单片机和Proteus仿真的波形发生
- VDM51——VDM51.dll
- 单片机C51-电子钟1 LCD1602显示 上电正常
- 单片机C51-键盘 定时扫描
- 用51单片机解析GPS数据的源代码程序
- 单片机控制GSM模块TC35的方法
- C8051F120最小系统的原理图,PCB图
- 分享一个51单片机做的简易示波器
- 51与触摸屏modbus通讯
- 51单片机空闲和掉电模式应用带程序
- 利用51单片机计数器测频率最简程序
- 单片机课程设计 出租车计费
- 51单片机驱动继电器例程+pretues仿真
- 51单片机A4988驱动源码
- 51单片机ADC0832_1602 proteus仿真源程序加
- 51单片机ADC0832电压测量液晶1602显示的
- 51单片机 MPU6050读取并通过串口输出
- nrf24L01双向通信程序51单片机
- 12位AD转换器TLC2543与51系列单片机接口
- protel99AT89C51库
- 基于AT89C51单片机的电子计价秤的设计
- C51源程序集锦C51源程序集锦
- 联想G31T-LM 最新版BIOS 51KT57A直接上L5
- C8051F驱动程序
- MC8051_IPcore实验教程.part2.rar
- 51单片机用433M无线模块控制程序
- 基于AT89S52的红外巡线小车源码
评论
共有 条评论