找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1124|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

求一個(gè)可以適配程序的仿真電路!急求

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:413401 發(fā)表于 2018-10-22 15:09 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
include <AT89C51.h>
#define unchar unsigned char
#define uint unsigned int
uchar Tem1,Tem2,Smok1,Smok2;
uchar Tem=3.6,Smok=4.6;  //設(shè)定溫度煙霧報(bào)警閾值
uchar a,a1,a2,b,b1,b2;
void caiji_wenyan();
void delay_10ms(uint i);  //程序聲明
void panduan );
void baojing();
void main()
{
P10=0;P20=0;WR=1;RD=1;
P0=0XFa;P23=1;P24=1;P25=1;P26=0;   //初始化
while(1)                          //主程序
  {
   caiji _wenyan ();       //第一次采集溫度煙霧信號(hào)
  Tem2=Tem1;Smok2=Smok1;   
   delay_10ms(5);           //延時(shí)50ms,讓ADC0809準(zhǔn)備好第二次數(shù)據(jù)轉(zhuǎn)換
   caiji _wenyan();         //第二次采集溫度煙霧信號(hào)
   panduan();               //將轉(zhuǎn)換的數(shù)據(jù)與設(shè)定的報(bào)警閾值比較
   baojing();               //報(bào)警程序
   delay_10ms(1500);        //系統(tǒng)隔15s對(duì)現(xiàn)場(chǎng)判斷
   };
}


void caiji_wenyan()
{
P0=0XF8;               //選通IN-0,轉(zhuǎn)換溫度信號(hào)
WR=0;
if(EOC=1) {RD=0;Tem1=P0}; //當(dāng)ADC0809轉(zhuǎn)換結(jié)束,AT89C51打開AD的三態(tài)門,AD輸出數(shù)據(jù)
else RD=1;                //否則,AD繼續(xù)轉(zhuǎn)換
delay_10ms(1);
P0=0XF9;             //選通IN-1,轉(zhuǎn)換煙霧信號(hào)
WR=0;
if(EOC=1){RD=0;Smok1=P0};
else RD=1;
}

void delay_10ms(uint i)    //10ms延時(shí)程序
{
while(i--)
  {
   uchar i,j,k;
   for(i=5;i>0;i--)
   for(j=4;j>0;j--)
   for(k=248;k>0;k--);
   }
}

void panduan()
{
if(Tem1<Tem)a1=1;     //當(dāng)采集的溫度高于閾值置1,否則,置0
  else a1=0;
if(Tem2<Tem) a2=1;
  else a2=0;
if(Smok1<Smok)b1=1;   //當(dāng)采集的煙霧濃度高于閾值置1,否則,置0
  else b1=0;
if(Smok2<Smok) b2=1;
  else b2=0;
}

baojing()
{
if(a1=a2&&b1=b2)        //兩次采集數(shù)據(jù)的標(biāo)志位相同
  {
   a=a1;
   b=b1;
   if(a=1&&b=1){P23=0;P10=1;P26=1};  //溫度煙霧標(biāo)志位都是1,發(fā)生火災(zāi)
   if(a=1&&b=0){P24=0;P10=1;P26=1};  
   if(a=0&&b=1){P24=0;P10=1;P26=1};  //溫度煙霧標(biāo)志位只有一個(gè)1,異常
   if(a=0&&b=0)P26=0;                //溫度煙霧標(biāo)志位都為0,正常
  };
else{P25=0;P10=1;P26=1}        //兩次采集

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2018-10-22 15:32 | 只看該作者
根據(jù)經(jīng)驗(yàn)  求程序仿真的帖子一般不會(huì)有人回答(網(wǎng)站也不提倡),樓主還是自行在51hei搜索答案吧,在24小時(shí)必答區(qū)一看就知道怎么提問才有人回答.
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表