压力传感器程序(共8页).doc

上传人:飞****2 文档编号:13411998 上传时间:2022-04-29 格式:DOC 页数:8 大小:19.50KB
返回 下载 相关 举报
压力传感器程序(共8页).doc_第1页
第1页 / 共8页
压力传感器程序(共8页).doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《压力传感器程序(共8页).doc》由会员分享,可在线阅读,更多相关《压力传感器程序(共8页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上#include#include#define uint unsigned int#define uchar unsigned char#define ADC_POWER 0x80 #define ADC_FLAG 0x10#define ADC_START 0x08#define ADC_SPEEDLL 0x00 /540个时钟周期转换一次#define ADC_SPEEDL 0x20 /360个时钟周期转换一次#define ADC_SPEEDH 0x40 /180个时钟周期转换一次#define ADC_SPEEDHH 0x60 /90个时钟周期转换一次sbit

2、 lcden=P34;sbit rs=P35;sbit wr=P36;sbit dula=P26;sbit wela=P27;uchar code table= Voltage value;uchar code table1= mV;uchar t;float AD_val;/*延时函数*/void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);/*写指令*/void write_com(uchar com)rs=0;wr=0;P0=com;lcden=0;delay(5);lcden=1;delay(5);lcden=0;/*写数据

3、*/void write_date(uchar date)rs=1;wr=0;P0=date;lcden=0;delay(5);lcden=1;delay(5);lcden=0;/*初始化液晶*/void lcd_init()uchar i,j;wela=0;dula=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);for(i=0;i14;i+)write_date(tablei);delay(10);write_com(0x80+0x40);for(j=0;j16;j+)write_date(table1j)

4、;delay(10);/* 分离小数*/void fenli(uchar add,float num) uchar ge,bai,shi,ge1;num=num*1000;ge=(uint)num/1000;bai=(uint)num%1000/100;shi=(uint)num%100/10;ge1=(uint)num%10;write_com(0x80+0x40+add);write_date(0x30+ge);write_date(0x20+14);write_date(0x30+bai);write_date(0x30+shi);write_date(0x30+ge1);/* 初始化A

5、D*/void AD_init()P1ASF=0x04;ADC_RES=0;ADC_RESL=0;ADC_CONTR|= ADC_POWER|ADC_SPEEDHH;delay(2); /* 读AD值*/uint get_AD(uchar ch)uint AD_date;ch&=0x07;ADC_CONTR=ADC_POWER|ADC_START|ADC_SPEEDHH|ch;_nop_();_nop_();_nop_();_nop_();while(!(ADC_CONTR&ADC_FLAG);ADC_CONTR&=0x82;AD_date=ADC_RES*4+(ADC_RESL&0x03);

6、return AD_date;/* AD_val平均值*/float AD_work(uchar ch)uchar i;float AD_val;for(i=0;i100;i+)AD_val+=get_AD(ch);AD_val/=100;AD_val=(AD_val*5)/1024;return AD_val;/* 初始化T0定时器*/void T0_init()TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;EA=1;ET0=1;TR0=1;/* 主函数*/void main()AD_init();T0_init();lcd_init();while(1)AD_val=AD_work(2);if(t=10)t=0;fenli(9,AD_val);/* T0定时器中断*/void timer0() interrupt 1TH0=(65535-50000)/256;TL0=(65535-50000)%256;t+;专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁