欢迎来到天天文库
浏览记录
ID:52691924
大小:36.50 KB
页数:8页
时间:2020-03-29
《压力传感器程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include<12c5a60s2.h>#include#defineuintunsignedint#defineucharunsignedchar#defineADC_POWER0x80#defineADC_FLAG0x10#defineADC_START0x08#defineADC_SPEEDLL0x00//540个时钟周期转换一次#defineADC_SPEEDL0x20//360个时钟周期转换一次#defineADC_SPEEDH0x40//180个时钟周期转换一次#defineADC_SPEEDHH0x60//90个时
2、钟周期转换一次sbitlcden=P3^4;sbitrs=P3^5;sbitwr=P3^6;sbitdula=P2^6;sbitwela=P2^7;ucharcodetable[]="Voltagevalue";ucharcodetable1[]="mV";uchart;floatAD_val;/**************************延时函数**************************/voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}/***********
3、***************写指令**************************/voidwrite_com(ucharcom){rs=0;wr=0;P0=com;lcden=0;delay(5);lcden=1;delay(5);lcden=0;}/**************************写数据**************************/voidwrite_date(uchardate){rs=1;wr=0;P0=date;lcden=0;delay(5);lcden=1;delay(5);lcden=0;}/*****
4、*********************初始化液晶**************************/voidlcd_init(){uchari,j;wela=0;dula=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);for(i=0;i<14;i++){write_date(table[i]);delay(10);}write_com(0x80+0x40);for(j=0;j<16;j++){write_date(table1[j]);delay(10);}}/
5、****************************分离小数****************************/voidfenli(ucharadd,floatnum){ucharge,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(0
6、x30+bai);write_date(0x30+shi);write_date(0x30+ge1);}/*****************************初始化AD*****************************/voidAD_init(){P1ASF=0x04;ADC_RES=0;ADC_RESL=0;ADC_CONTR
7、=ADC_POWER
8、ADC_SPEEDHH;delay(2);}/**************************读AD值**************************/uintget_AD(ucha
9、rch){uintAD_date;ch&=0x07;ADC_CONTR=ADC_POWER
10、ADC_START
11、ADC_SPEEDHH
12、ch;_nop_();_nop_();_nop_();_nop_();while(!(ADC_CONTR&ADC_FLAG));ADC_CONTR&=0x82;AD_date=ADC_RES*4+(ADC_RESL&0x03);returnAD_date;}/**************************AD_val平均值**************************/floatAD_work(ucharc
13、h){uchari;floatAD_val;for(i=0;i<100;i++)AD_val+
此文档下载收益归作者所有