附件里面是protues 仿真和主程。不会...不知道主程序错没...求帮忙看下,帮忙解决下,小女子谢谢,留言qq:564356706。谢谢~!
0
|
|
|
|
想了想,一个小女子!帮看看仿真吧!
我就看仿真了哈!有短路情况!EOC这里,99.99%可能是程序问题!这里用读就可以了,不要给定了!
|
|
|
|
|
自动的...非人工
|
|
|
|
|
主程序 没有错误 没有警告 所以一直认为没有错 能帮看下咩~~~
|
|
|
|
|
语句对了 算法错了 怎么整,?抓到一个大神,求帮忙
|
|
|
|
|
仅仅是LCD亮了
功能是:1检测到瓦斯时就会显示其浓度。2采用模拟系统,设定阈值为某值,当瓦斯浓度达到这一值时,蜂鸣器响同时灯亮给工作人员信号。3设备出现故障或者需要调整时,按复位键实现初始化。
|
|
|
|
|
是咩~~~~
|
|
|
|
|
问题解决了没,我也是这个毕设,下载了你这个,找我同学帮下忙,解决了发给你,你要是解决了也给我发一个,谢谢了,QQ643291764
|
|
|
|
|
#include
#include
#define uchar unsigned char //¶¨ÒåÊý¾ÝÀàÐÍ
#define uint unsigned int
bit flag; //±ê־λ
/**************1602ÏÔʾ×Ö·û***************/
uchar code table[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39}; //1602ÏÔʾÊý×é
uchar code tab[]="Shenyangligong University"; //1602ÏÔʾ×Ö·û
uchar code table1[]="Gas strength0.5%";
/**************1602¿ØÖƶ˿ڹܽŶ¨Òå***************/
***it lcdrs=P3^0;
***it lcdrw=P3^1;
***it lcden=P3^2;
***it start=P3^4;
/**************AD0809¿ØÖƶ˿ڶ¨Òå***************/
***it eoc=P3^3;
***it oe=P3^5;
***it CLK=P3^6;
***it P0_7=P0^7;
/**************ÆäËû±äÁ¿***************/
uchar shi,ge,shi1,bai1,num;
uint temp;
uchar count;//·äÃùÆ÷³£Á¿
/**************ϵͳÑÓʱ³£Á¿***************/
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
/**************·äÃùÆ÷ÑÓʱ(500HZ)***************/
void dely500(void)
{
unsigned char i;
for(i=250;i>0;i--)
{
_nop_();
}
}
/**************1602ÃüÁÊý***************/
void write_com(uchar com)
{
lcdrs=0;
P1=com;
delay(1);
lcden=1;
delay(1);
lcden=0;
}
/**************1602Êý¾Ýº¯Êý***************/
void write_data(uchar date)
{
lcdrs=1;
P1=date;
delay(1);
lcden=1;
delay(1);
lcden=0;
}
/**************ϵͳ³õʼ»¯***************/
void init()
{
oe=0;
lcden=0;
lcdrw=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
write_com(0x80);
temp=0;
TMOD=0x01;
TH0=(65536-500)/256;
TL0=(65536-500)%256;
EA=1;
ET0=1;
TR0=1;
}
/**************1602ÏÔʾº¯Êý***************/
void voltage(uchar ge,uchar shi,uchar bai1)
{
shi=temp/1000;
ge=temp%1000/100;
shi1=temp%100/10;
bai1=temp%10;
write_com(0x80);
for(num=0;num<16;num++)
{
write_data(tab[num]);
}
write_com(0xc0);
for(num=0;num<6;num++)
{
write_data(table1[num]);
}
write_com(0xc7);
write_data(table[shi]);
delay(1);
write_com(0xc8);
write_data(table[ge]);
delay(1);
write_com(0xc9);
write_data('.');
delay(1);
write_com(0xca);
write_data(table[shi1]);
delay(1);
write_com(0xcb);
write_data(table[bai1]);
delay(1);
write_com(0xcc);
for(num=0;num<2;num++)
{
write_data(table1[num]);
}
/*AD¿ØÖƳÌÐò*/
start=0;
start=1;
start=0;
while(!eoc);
oe=1;
temp=P2;
oe=0;
temp=(temp*2*1*98.039216/100);//AD²ÉÑù»»Ëã
/*****·äÃùÆ÷±¨¾¯³ÌÐò*******/
/**Íß˹±¬Õ¨Å¨¶È£º5%¡ª¡ª16%£¬±¾ÀýÖвÉÓÃ5%¡ª¡ª15%**/
if(temp>=200)
{
for(count=200;count>0;count--)
{
P0_7=~P0_7;
dely500();
}
for(count=200;count>0;count--)
{
P0_7=~P0_7;
dely500();
dely500();
}
}
}
/**************ÖжÏ***************/
void timer0() interrupt 1
{
TH0=(65536-500)/256;
TL0=(65536-500)%256;
CLK=~CLK; //CLK°´Î»È¡·´,´úÌæÁË·½²¨Âö³å
}
void main()
{
init();
while(1)
{
voltage(ge,shi,bai1);
}
}
你能帮我看看吗 是不是 P0_7=~P0_7 有问题?
|
|
|
|
|
不要控制哈!这气氛很好!一直下去!
欢迎各位来到proteus板块!
|
|
|
|
|