资源简介
这是我们课程的一个大作业,基于网络上的气压计设计完成,将网络版的AD转换器替换成了ADC0808,并加入了简单的过压报警功能,调试成功~

代码片段和文件信息
#include
#include “intrins.h“
#define uint unsigned int
#define uchar unsigned char
#define OUTPORT P2
sbit EOC=P3^0;
sbit START=P3^1;
sbit pd =P1^7;
unsigned char dispbitcode[8]={0xf70xfb0xfd0xfe0xef0xdf0xbf0x7f}; //位扫描
unsigned char dispcode[11]={0xC00xF90xA40xB00x990x920x820xF80x800x900xff}; //共阳数码管字段码
unsigned char dispbuf[4];
uint temp;
uchar getdata; //获取ADC转换回来的值
void delay_1ms(void) //12mhz delay 1.01ms
{
unsigned char xy;
x=3;
while(x--)
{
y=40;
while(y--);
}
}
void delayms(int z)
{
int xy;
for(x=z;z>0;z--)
{
for(y=114;y>0;y--);
}
}
void display(void) //数码管显示函数
{
char k;
for(k=0;k<4;k++)
{
P1 = dispbitcode[k];
P0 = dispcode[dispbuf[k]];
if(k==1) //加上数码管的dp小数点
P0&=0x7f;
delay_1ms();
}
}
unsigned int Adc0808()//unsigned char channel)
{
unsigned int uiResult;
//if(channel==0);
START=1; //启动AD转换。
START=0;
while(EOC==0); //等待转换结束。
uiResult=OUTPORT; //出入转换结果。
//uiResult=(uiResult*200)/51; //处理运算结果。
return uiResult;
}
void main(void)
{
while(1)
{ unsigned int temp;
float press;
getdata=Adc0808();
if(14 {
int vary=getdata; //y=(115-15)/(243-13)*X+15kpa
press=((10.0/23.0)*vary)+9.3; //测试时补偿值为9.3
temp=(int)(press*10); //放大10倍,便于后面的计算
dispbuf[3]=temp/1000; //取压力值百位
dispbuf[2]=(temp%1000)/100; //取压力值十位
dispbuf[1]=((temp%1000)%100)/10; //取压力值个位
dispbuf[0]=((temp%1000)%100)%10; //取压力值十分位
display();
}
if(press>100)
{
pd=0;
delayms(90);
display();
delayms(90);
display();
delayms(90);
display();
delayms(90);
display();
delayms(90);
display();
delayms(90);
display();
pd=1;
delayms(90);
display();
delayms(90);
display();
delayms(90);
display();
delayms(90);
display();
delayms(100);
display();
delayms(90);
display();
}
if(press<=100)
{
pd=1;
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7993 2013-11-03 15:35 气压计设计\000
文件 4376 2013-11-03 15:35 气压计设计\000.hex
文件 40 2013-11-03 15:35 气压计设计\000.lnp
文件 11442 2013-11-03 15:35 气压计设计\000.M51
文件 1074 2013-11-03 15:35 气压计设计\000.opt.bak
文件 4129 2013-11-03 15:35 气压计设计\000.plg
文件 2171 2013-11-03 15:35 气压计设计\000.Uv2.bak
文件 56359 2013-11-03 15:35 气压计设计\000.uvopt
文件 13417 2013-11-03 15:35 气压计设计\000.uvproj
文件 1072 2013-11-03 15:35 气压计设计\000_Opt.Bak
文件 2171 2013-11-03 15:35 气压计设计\000_Uv2.Bak
文件 56538 2013-11-03 15:35 气压计设计\000_uvopt.bak
文件 2635 2013-11-03 15:35 气压计设计\MAIN.c
文件 6433 2013-11-03 15:35 气压计设计\MAIN.LST
文件 7047 2013-11-03 15:35 气压计设计\MAIN.OBJ
文件 6376 2013-11-03 15:35 气压计设计\STARTUP.A51
文件 14064 2013-11-03 15:35 气压计设计\STARTUP.LST
文件 758 2013-11-03 15:35 气压计设计\STARTUP.OBJ
文件 132221 2013-11-03 15:35 气压计设计\气压计\Last Loaded 气压计.DBK
文件 131472 2013-11-03 15:42 气压计设计\气压计\气压计.DSN
文件 743 2013-11-13 18:40 气压计设计\气压计\气压计.PWI
目录 0 2013-11-13 18:40 气压计设计\气压计
目录 0 2013-11-03 15:35 气压计设计
----------- --------- ---------- ----- ----
462531 23
相关资源
- 激光位移传感器的特点及应用解析
- 位移传感器应用全面解析
- 单片机与温度传感器DS18B20的程序设计
- 毕业论文之温度传感器DS18B20(源码
- stm32 ds18b20 温度传感器 测试通过
- HX711 称重传感器 C程序
- ADNS-3080光流传感器测试程序Arduino
- 28335写的用spi读取传感器数据并用CA
- SCA60角度检测传感器模块程序
- 基于能量和距离的无线传感器网络分
- 无线传感器网络基于分簇的路由协议
- ADXL362中文说明手册
- 传感器应用七十二变
- 在各城市的窄带物联网中传感器起到
- 基于PIC的TCP/IP网络协议和zigbee无线传
- 传感器应用领域的扩大发展强劲
- 物联网中无线传感器节点和RFID数据融
- 用于无线传感器网络应用的超声波传
- 有关面向工业物联网的无线传感器网
- 物联网无线传感器网络的7大特点
- 传感器在潜水设备的应用
- 旋转活塞式流量计的测量原理
- 基于ARM7 PWM定时器的图像传感器时序信
- IEEE 802.15.4的CC2530无线数据收发设计
- IEEE 802.15.4的CC2530无线数据收发设计
- 蓝牙无线抄表传感器的设计
- 低功耗蓝牙无线传感器
- 智能传感器的蓝牙协议栈与SoC结构设
- 智能传感器的蓝牙协议栈与SoC结构解
- 电动车用霍耳位置传感器芯片的使用
评论
共有 条评论