基于单片机三路信号故障诊断仿真设计(毕设课设资料)
022【毕设课设】基于单片机三路信号故障诊断仿真设计,注:统一每路信号大于8则表示触发机构。灵敏度控制已经调节好,不需要调节。只需改变传感器信号大小调节来故障显示,包含ABC三路传感器,液晶实时采集三路传感器。
【资源下载】下载地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
#include <reg52.h> /* 包含头文件 */
#include <math.h>
#include "uart.h"
#include "display.h"
#define uint unsigned int
#define uchar unsigned char /* 宏定义 */
sbit ale = P2 ^ 6;
sbit start = P2 ^ 7;
sbit eoc = P3 ^ 2;
sbit oe = P3 ^ 3; /* 定义adc0809的控制引脚 */
sbit adda = P2 ^ 0;
sbit addb = P2 ^ 1;
sbit addc = P2 ^ 2; /* adc0809的地址引脚 */
sbit key1 = P3 ^ 4;
sbit key2 = P3 ^ 5;
unsigned long voltdata[8];
uint realvolt, i, j, k, l, t, sum, a[5]; /* 定义全局变量 */
unsigned char CH;
uchar add; /* 地址变量 */
uchar TxBuf[8]; /* 四个显示的位 */
unsigned char t0Count;
unsigned char flagAu = 1;
uchar flag = 0;
/*
* 函数说明
*/
void addselect() /* 量程选择 */
{
CH++; /* 通道号加 */
if ( CH > 7 ) /* 最大到5 符号&:按位与符号,二进制的对应位如果都为1,那么结果的对应位就为1,否则为0 */
CH = 0; /* 清零,一共三个通道0 1 2 对应二进制是0000.0001.0010 */
adda = CH & 0x01; /* 将通道对应的二进制0101&0001,结果就是0001,赋值给adda(引脚只能接受最低位的数据,只有1和0),那么adda引脚就是高电平 */
addb = (CH & 0x02) >> 1;