压力传感器程序.doc

上传人:美****子 文档编号:58014000 上传时间:2022-11-06 格式:DOC 页数:9 大小:17.50KB
返回 下载 相关 举报
压力传感器程序.doc_第1页
第1页 / 共9页
压力传感器程序.doc_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《压力传感器程序.doc》由会员分享,可在线阅读,更多相关《压力传感器程序.doc(9页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

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 lcden=P34;sb

2、it 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;写数据void write_date(uchar d

3、ate)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);delay(10); 分离小数void fenli(uc

4、har 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); 初始化ADvoid AD_init()P1ASF=0x04;ADC_RES=0

5、;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);return AD_date; AD_val平均值float AD_work(uch

6、ar 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+;第 9 页

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

当前位置:首页 > 应用文书 > 文案大全

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com