基于单片机电容测量仪仿真设计-学习笔记
仿真电路:

/* 预处理区 */
#include<reg52.h> //加载"reg52.h"头文件
#include<math.h> //加载"math.h"头文件
/* 宏定义 */
#define unchar unsigned char //无符号字符型
#define unint unsigned int //无符号整型
#define N 10 //延时参数
/* 数组常量定义 */
unchar code row1[] = ">>Capacitance:<<"; //液晶输出的第一行显示编码
unchar code row2[] = {"0123456789"}; //液晶的0~9编码
unchar code tip_1[] = "Please lini cap"; //液晶输出行
unchar code tip_2[] = "then push'start'"; //液晶输出行
/* 位定义 */
sbit lcd_rs = P2 ^ 0; //液晶的数据命令选择端
sbit lcd_rw = P2 ^ 1; //液晶的读写选择端
sbit lcd_en = P2 ^ 2; //液晶的使能端
sbit show = P1 ^ 0; //开始按键
sbit clear = P1 ^ 1; //清屏按键
sbit led = P1 ^ 2; //电源灯
/* 变量定义 */
unint flag = 0; //标志位
double count = 0; //计数
double final = 0; //高电平时间
double cx = 0; //电容数值
unint w1, w2, w3, w4, i; //变量定义 百位,十位,个位,十分位,循环计数位。
/* 自定义函数声明 */
void init(); //初始化函数
void delay(unint); //延时函数
void write_com(unchar); //液晶写指令
void write_data(unchar);//液晶写数据
void firstline(); //液晶第一行显示
void display(); //电容大小输出函数
void tip(); //初始显示函数
void chose(); //判断按键函数

浙公网安备 33010602011771号