标题:
基于单片机的压力监测装置设计 protues仿真及源程序
[打印本页]
作者:
51黑ff
时间:
2016-9-12 12:42
标题:
基于单片机的压力监测装置设计 protues仿真及源程序
protues中没有电阻应变片,就自己给了2mv的直流电压作为信号.
0.png
(37.25 KB, 下载次数: 56)
下载附件
2016-9-12 12:38 上传
单片机的压力监测装置设计的仿真工程文件及完整的程序请下载:
仿真图和程序.zip
(103.36 KB, 下载次数: 82)
2016-9-12 12:38 上传
点击文件名下载附件
下载积分: 黑币 -5
源程序:
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit rs=P2^0;
sbit rd=P2^1;
sbit lcden=P2^2;
sbit OE=P2^6;
sbit EOC=P2^5;
sbit START=P2^4;
sbit CLK=P2^3;
void delay(uint ms);
void write_com(uchar com);
void write_date(uchar date);
void ADC_read();
void display();
uchar Tab[]={"volt:0.00 "};
void init();
void key_scan();
uint volt;
int key_down;
uchar code table[]={ 7,8,9,0,4,5,6,0,1,2,3,0,0,0,0,0};
uchar code table1[]={7,8,9,0x2f-0x30,
4,5,6,0x58-0x30,
1,2,3,0x2d-0x30,
0x01-0x30,0,0x3d-0x30,0x2b-0x30};
void main()
{ init();
while(1)
{
ADC_read();
display();
}
}
void delay(uint ms)
{ uchar j;
while(ms--)
{
for(j=0;j<120;j++);
}
}
void ADC_read()
{
START=0;
START=1;
START=0;
while(EOC==0);
OE=1;
//P1=0xff;
volt=P3;
delay(4);
OE=0;
volt=volt*1.96;
}
void write_com(uchar com)
{
rs=0;
rd=0;
lcden=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_date(uchar date)
{
rs=1;
rd=0;
lcden=0;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void init()
{
uchar num;
TMOD=0x02;
TH0=256-255;
TL0=256-255;
TR0=1;
ET0=1;
EA=1;
lcden=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
write_com(0x80);
delay(5);
write_com(0x80);
for(num=0;num<15;num++)
{
write_date(Tab[num]);
delay(5);
}
}
void display(){
//uchar a,b,c,d;
int num;
Tab[5]=volt/100+0x30;
Tab[7]=volt%100/10+0x30;
Tab[8]=volt%10+0x30;
////Tab[5]=0x38;
//Tab[6]=0x38;
///Tab[8]=0x38;
//Tab[9]=0x38;
write_com(0x80);
for(num=0;num<15;num++)
{
write_date(Tab[num]);
delay(5);
}
}
void t0()interrupt 1
{
CLK=~CLK;
}
void key_scan()
{
uchar hang,lie,key,buff;
int i;
P2=0xf0;
if((P2&0xf0)!=0xf0)
{
key_down=1;
delay(5);
if((P2&0xf0)!=0xf0)
{
hang=0xfe;
while((hang&0x10)!=0)
{
P2=hang;
if((P2&0xf0)!=0xf0)
{
lie=P2|0x0f;
buff=((~hang)+(~lie));
switch(buff)
{ case 0x11: key=0;break;
case 0x21: key=1;break;
case 0x41: key=2;break;
case 0x81: key=3;break;
case 0x12: key=4;break;
case 0x22: key=5;break;
case 0x42: key=6;break;
case 0x82: key=7;break;
case 0x14: key=8;break;
case 0x24: key=9;break;
case 0x44: key=10;break;
case 0x84: key=11;break;
case 0x18: key=12;break;
case 0x28: key=13;break;
case 0x48: key=14;break;
case 0x88: key=15;break;
}
}
else hang=(hang<<1)|0x01;
}
}
}
}
复制代码
作者:
admin
时间:
2016-9-12 12:54
51黑论坛有你更精彩!!!
作者:
zhangheng_94
时间:
2018-3-7 14:43
51黑论坛有你更精彩!!!
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1