首页 [汇总]液体压力传感器C语言程序

[汇总]液体压力传感器C语言程序

举报
开通vip

[汇总]液体压力传感器C语言程序[汇总]液体压力传感器C语言程序 #include #include #include #include #define uchar unsigned char #define uint unsigned int #define BUSY 0x80 //常量定义 #define DATAPORT P0 //ADC0832的引脚 sbit ADCS =P3^5; //ADC0832 chip seclect sbit ADDI =P3^7; //ADC0832 k in sbit ADDO =...

[汇总]液体压力传感器C语言程序
[汇总]液体压力传感器C语言程序 #include #include #include #include #define uchar unsigned char #define uint unsigned int #define BUSY 0x80 //常量定义 #define DATAPORT P0 //ADC0832的引脚 sbit ADCS =P3^5; //ADC0832 chip seclect sbit ADDI =P3^7; //ADC0832 k in sbit ADDO =P3^7; //ADC0832 k out sbit ADCLK =P3^6; //ADC0832 clock signal sbit LCM_RS=P2^0; sbit LCM_RW=P2^1; sbit LCM_EN=P2^2; uchar ad_data; //采样值存储 sbit Alarm_led_red =P1^5; //超过压力 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 量程最大值红色led报警定义 sbit Alarm_led_green=P1^6; //低于压力表量程最小值绿色led报警定义 //adc采样值存储单元 char press_data; //标度变换存储单元 unsigned char ad_alarm; //报警值存储单元 unsigned char press_bai=0; //显示值百位 unsigned char press_shi=0; //显示值十位 unsigned char press_ge=0; //显示值个位 unsigned char press_dot=0; //显示值十分位 uchar code str0[]={"Press: . kpa "}; uchar code str1[]={" Check BY Jack "}; void delay(uint); void lcd_wait(void); void delay_LCM(uint); //LCD延时子程序 void initLCM( void); //LCD初始化子程序 void lcd_wait(void); //LCD检测忙子程序 void WriteCommandLCM(uchar WCLCM,uchar BusyC); //写指令到ICM子函数 void WriteDataLCM(uchar WDLCM); //写数据到LCM子函数 void DisplayOneChar(uchar X,uchar Y,uchar DData); //显示指定坐标的一个字符子函数 void DisplayListChar(uchar X,uchar Y,uchar code *DData); //显示指定坐标的一串字符子函数 void display(void); //系统显示子函数 uchar Adc0832(unsigned char channel); void alarm(void); void data_pro(void); /**********main funcation************/ void main(void) { delay(500); //系统延时500ms启动 initLCM( ); WriteCommandLCM(0x01,1); //清显示屏 DisplayListChar(0,0,str0); DisplayListChar(0,1,str1); while(1) { ad_data =Adc0832(0); //采样值存储单元初始化为0 alarm(); data_pro(); display(); } } /*********延时K*1ms,12.000mhz**********/ void delay(uint k) { uint i,j; for(i=0;i>1)&0x1; _nop_(); _nop_(); ,形成下降沿3 ADCLK=0;//拉低CLK端 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 } void data_pro(void) { unsigned int temp; float press; if(14=243) //如果当前压力值大于115kpa, { Alarm_led_red=0; } //则启动red led报警 else { Alarm_led_red=1; } //关闭red led 报警 if(ad_data<=14) //如果当前压力值小于16kpa { Alarm_led_green=0; } //则启动green led报警 else { Alarm_led_green=1; } //关闭green led 报警 } 本程序是以51单片机的压力传感器处理的C语言程序,输入15~115kPA压力信号,输出00h~ffh数字信号(adc0832),在LCD上显示实际的压力值,如果超限则报警,线性区间标度变换公式:y=(115-15)/(243-13)*X+15kpa 。
本文档为【[汇总]液体压力传感器C语言程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_963767
暂无简介~
格式:doc
大小:28KB
软件:Word
页数:0
分类:生活休闲
上传时间:2018-01-06
浏览量:10