版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、word在proteus下按照下面的图画出电路图,再将所有程序用keil C编译后生成hex文件导入proteus即可仿真成功!我的另一个文档是关于此的课程设计,欢送下载!基于MPX4115的数字压力测量仪 步骤:1在Proteus软件画出电路图 2用keil C 软件写出C程序,并生成.hex文件,导入到单片机当中,进行仿真,观察结果。压力测试仪系统描述; 输入 15-115kPA压力信号 输出 00h-ffh数字信号adc0832 在LED上显示实际的压力值,如果超限那么报警线性区间标度变换公式: y=(115-15)/(243-13)*X+15kpa 单位:*/#include <
2、reg51.H> #include "intrins.h"#define uint unsigned int#define uchar unsigned char/ADC0832的引脚sbit ADCS =P20; /ADC0832 chip seclectsbit ADDI =P37; /ADC0832 k insbit ADDO =P37; /ADC0832 k outsbit ADCLK =P36; /ADC0832 clock signalunsigned char dispbitcode8=0xf7,0xfb,0xfd,0xfe,0xef,0xdf,0xbf
3、,0x7f; /位扫描unsigned char dispcode11=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff; /共阳数码管字段码unsigned char dispbuf4;uint temp;uchar getdata; /获取ADC转换回来的值void delay_1ms(void) /12mhz delay 1.01ms unsigned char x,y; x=3; while(x-) y=40; while(y-); void display(void) /数码管显示函数 char k; for(k=0;k&l
4、t;4;k+) P1 = dispbitcodek; P0 = dispcodedispbufk; if(k=1) /加上数码管的dp小数点 P0&=0x7f; delay_1ms(); /*读ADC0832函数*/采集并返回unsigned int Adc0832(unsigned char channel) /AD转换,返回结果 uchar i=0; uchar j; uint dat=0; uchar ndat=0; if(channel=0)channel=2; if(channel=1)channel=3; ADDI=1; _nop_(); _nop_(); ADCS=0;/
5、拉低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;/控制命令结束
6、 _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&g
7、t;>=1; ADCS=1;/拉低CS端 ADCLK=0;/拉低CLK端 ADDO=1;/拉高数据端,回到初始状态 dat<<=8; dat|=ndat; return(dat); /return ad kvoid main(void) while(1) unsigned int temp; float press; getdata=Adc0832(0); if(14<getdata<243) /当压力值介于15kpa到115kpa之间时,遵循线性变换 int vary=getdata;/y=(115-15)/(243-13)*X+15kpapress=(10.0/23.0)*vary)+9.3;/测试时补偿值为9.3temp=(int)(press*10); /放大10倍,便于后面的计算dispbuf3=temp/1000; /取压力值百位dispbuf2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初级西药职称考试题库及答案
- 全国科技经费投入统计调查制度
- 住院三级查房制度
- 企业的相关制度
- 企业产品成本核算制度
- 人事四项制度
- 物流园奖惩制度范本大全
- 异地恋情侣间奖惩制度
- 业务接洽人员奖惩制度
- 为防止财务资料外泄或丢失制定严格的资料查阅和备份制度
- 无人机产品更新评估研究报告
- 生物药物概论课件
- 全氟己基辛烷滴眼液-临床用药解读
- 2025年共青团团校考试入团考试题库(附答案)
- 石材工厂管理方案(3篇)
- 虚拟仿真模型管理办法
- 第三单元 名著导读《骆驼祥子》知识清单及练习-统编版语文七年级下册
- 社工考试冲刺培训课件
- GB 15760-2025金属切削机床安全防护通用技术规范
- 矿井通风安全毕业论文
- 笔石古生态位分析-洞察及研究
评论
0/150
提交评论