资源简介
056 货车超重监测系统 51单片机 仿真
代码片段和文件信息
//线性区间标度变换公式: y=(115-15)/(243-13)*X+15kpa
#include
#include
#include
#define R24C04ADD 0xA1
#define W24C04ADD 0xA0
//ADC0832的引脚
sbit ADCS =P2^2; //ADC0832 chip seclect
sbit ADDI =P2^4; //ADC0832 k in
sbit ADDO =P2^4; //ADC0832 k out
sbit ADCLK =P2^3; //ADC0832 clock signal
sbit SDA = P2 ^ 1; //数据线
sbit SCL = P2 ^ 0; //时钟线
bit bAck; //应答标志 当bbAck=1是为正确的应答
unsigned char dispbitcode[8]={0xf70xfb0xfd0xfe0xef0xdf0xbf0x7f}; //位扫描
unsigned char dispcode[11]={0xC00xF90xA40xB00x990x920x820xF80x800x900xff}; //共阳数码管字段码
unsigned char dispbuf[4];
unsigned int temp;
unsigned char getdata; //获取ADC转换回来的值
void delay_1ms(void) //12mhz delay 1.01ms
{
unsigned char xy;
x=3;
while(x--)
{
y=40;
while(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();
}
}
/************
读ADC0832函数
************/
//采集并返回
unsigned int Adc0832(unsigned char channel) //AD转换,返回结果
{
unsigned char i=0;
unsigned char j;
unsigned int dat=0;
unsigned char ndat=0;
if(channel==0)channel=2;
if(channel==1)channel=3;
ADDI=1;
_nop_();
_nop_();
ADCS=0;//拉低CS端
_nop_();
_nop_();
ADCLK=1;//拉高CLK端
_nop_();
_nop_();
ADCLK=0;//拉低CLK端形成下降沿1
_nop_();
_nop_();
ADCLK=1;//拉高CLK端
ADDI=channel&0x1;
_nop_();
_nop_();
ADCLK=0;//拉低CLK端形成下降沿2
_nop_();
_nop_();
ADCLK=1;//拉高CLK端
ADDI=(channel>>1)&0x1;
_nop_();
_nop_();
ADCLK=0;//拉低CLK端形成下降沿3
ADDI=1;//控制命令结束
_nop_();
_nop_();
dat=0;
for(i=0;i<8;i++)
{
dat|=ADDO;//收数据
ADCLK=1;
_nop_();
_nop_();
ADCLK=0;//形成一次时钟脉冲
_nop_();
_nop_();
dat<<=1;
if(i==7)dat|=ADDO;
}
for(i=0;i<8;i++)
{
j=0;
j=j|ADDO;//收数据
ADCLK=1;
_nop_();
_nop_();
ADCLK=0;//形成一次时钟脉冲
_nop_();
_nop_();
j=j<<7;
ndat=ndat|j;
if(i<7)ndat>>=1;
}
ADCS=1;//拉低CS端
ADCLK=0;//拉低CLK端
ADDO=1;//拉高数据端回到初始状态
dat<<=8;
dat|=ndat;
return(dat); //return ad k
}
//启动I2C总线,即发送起始条件
void StartI2C()
{
SDA = 1; //发送起始条件数据信号
_nop_();
SCL = 1;
_nop_(); //起始建立时间大于4.7us
_nop_();
_nop_();
_nop_();
_nop_();
SDA = 0; //发送起始信号
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
SCL = 0; //时钟操作
_nop_();
_nop_();
}
//结束I2C总线,即发送I2C结束条件
void StopI2C()
{
SDA = 0; //发送结束条件的数据信号
_nop_();
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 420 2019-05-27 17:14 说明.txt
文件 102192 2012-04-06 11:25 056 货车超重监测系统\Last Loaded 电子地秤.DBK
文件 7536 2012-04-06 15:49 056 货车超重监测系统\MCU.c
文件 6376 2005-03-22 15:22 056 货车超重监测系统\STARTUP.A51
文件 18528 2012-04-06 11:38 056 货车超重监测系统\电子地秤
文件 102216 2012-04-06 16:40 056 货车超重监测系统\电子地秤.DSN
文件 5115 2012-04-06 11:38 056 货车超重监测系统\电子地秤.hex
文件 22007 2012-04-06 11:38 056 货车超重监测系统\电子地秤.M51
文件 1013 2012-04-06 15:22 056 货车超重监测系统\电子地秤.Opt
文件 21514 2019-05-26 01:23 056 货车超重监测系统\电子地秤.pdsprj
文件 328 2019-05-26 01:23 056 货车超重监测系统\电子地秤.pdsprj.ANOOP.PC1.workspace
文件 885 2019-05-27 17:40 056 货车超重监测系统\电子地秤.PWI
文件 2147 2012-04-05 16:06 056 货车超重监测系统\电子地秤.Uv2
目录 0 2019-05-27 17:40 056 货车超重监测系统
----------- --------- ---------- ----- ----
290277 14
相关资源
- 030 矩阵键盘 电子琴 仿真 51单片机
- 025 四路定时开关 51单片机仿真
- 014 电流表 仿真 51单片机 proteus仿真
- 基于51单片机的16X16点阵电子琴
- 并行干扰抵消器的设计与仿真
- 步进电机运行源代码及protues仿真
- Flexsim快餐店仿真案列
- 微信小程序源代码-模仿共享单车ofo
- 郑州大学07级随机信号处理仿真
- Protues仿真的一个dac0832做的DA转换输出
- Multisim11激活码.zip
- 基于Proteus的7107仿真
- 光敏电阻测试数码管显示
- 同轴-矩形波导仿真HFSS
- 数电病房呼叫系统完整仿真资料
- 课程设计 51单片机电机PID调速打包k
- 51单片机+Nokia5110 实现点菜收银系统
- DTN网络仿真工具ONE1.4.1
- 自动循迹小车仿真
- 用51单片机产生PWM控制直流小电机
- 基于51单片机DHT11温湿度检测和串口通
- 基于51单片机的16*16点阵显示汉字
- 51单片机舵机角度控制程序
- 基于51单片机的测量放大电路,简单实
- 12864液晶屏控制器为ks0108的proteus仿真
- 18 8×8LED点阵屏仿电梯数字滚动显示
- v2v信道仿真与特性研究
- s7_200仿真器3.0中文版.rar
- 扩频通信系统仿真.zip
- 计算机硬件课程设计 算法逻辑单元
评论
共有 条评论