久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1604|回復: 0
打印 上一主題 下一主題
收起左側

這個程序改成c51的怎么改

[復制鏈接]
跳轉到指定樓層
樓主
ID:321415 發表于 2018-5-5 18:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include<at89s53.h>
  2. #include<absacc.h>
  3. #define uchar unsigned char
  4. #define CO XBYTE[0x9fff]
  5. #define yanw XBYTE[0xafff]
  6. sbit R=P1^0;
  7. sbit Y=P1^1;
  8. sbit G=P1^2;
  9. sbit ring=P1^3;
  10. bit flag=0;    //檢測一氧化碳還是煙霧的標志位,0為一氧化碳;1為煙霧
  11. uchar result; //AD轉換后的結果
  12. uchar Cmax=0x20,Ymax=0x30;/*Cmax為一氧化碳的下限值,Ymax為煙霧濃度的上限值,如果超出了這兩個值,則報警器發出
  13.                        報警信號 */
  14. uchar times=0;
  15. delay()
  16. {
  17.    uchar i,j;
  18.    for(i=200;i--;i>0)
  19.      for(j=10;j--;j>0);
  20. }   
  21. main()                    
  22. {  P1=0xFF;
  23.    TCON=0X00;
  24.    PCON=0X00;
  25.    TMOD=0X21;
  26.    TH0=0X3C;
  27.    TL0=0XB0;
  28.    TH1=0xe6;
  29.    TL1=0xe6;
  30.    SCON=0X40;
  31.    IE=0X93;
  32.    TR0=1;
  33.    TR1=1;
  34.    while(1)
  35.    {if(flag==0)
  36.      {
  37.       
  38.       if(result>Cmax)   
  39.           { R=0;
  40.              Y=1;
  41.              G=0;
  42.              ring=1;
  43.            }
  44.          
  45.         else if(result<=Cmax)      
  46.           { R=1;
  47.             Y=0;
  48.             G=0;
  49.             ring=0;
  50.           }
  51.    
  52.       }
  53.       
  54.             
  55.     else if(flag==1)
  56.      {
  57.       
  58.         if(result>Ymax)   
  59.           {  R=0;
  60.              Y=0;
  61.              G=1;
  62.              ring=1;
  63.            }
  64.         else if(result<=Ymax)         
  65.           {  R=1;
  66.              Y=0;
  67.              G=0;
  68.              ring=0;
  69.            }
  70.      }
  71.    }
  72. }
  73. void tn() interrupt 4   
  74. {
  75.   if(TI==1)
  76.      TI=0;
  77. }
  78. /* 綠色燈亮即 P1。0為低電平則正常,
  79.   紅色燈亮即P1。1為低電平則一氧化碳濃度超出范圍,并蜂鳴器響
  80.   黃色燈亮即P1。2為低電平則煙霧濃度超出范圍,并蜂鳴器響
  81. */
  82. void end0809() interrupt 0
  83. {
  84.     enable=1;
  85.      _nop_();
  86.      _nop_();
  87.      result=P0;
  88.      enable=0;
  89. ACC=flag;
  90.     SBUF=ACC;
  91.     delay();
  92.     ACC=result;
  93.     SBUF=ACC;
  94.    
  95. }   
  96. void t0() interrupt 1
  97. {
  98.   TH0=0X3C;
  99.   TL0=0XB0;
  100.   if(times==0)   times++;
  101.   else
  102.      {
  103.        times=0;
  104.        if(flag==0)
  105.         {
  106.            
  107.            ada=0;
  108.            adb=0;
  109.            
  110. }
  111.       else        
  112. {
  113.            ada=1;
  114.            adb=0;
  115.           }
  116.     start=0;                        
  117.      _nop_();
  118.      _nop_();   
  119.      _nop_();
  120.      start=1;
  121.      _nop_();
  122.      _nop_();
  123.      start=0;
  124.       
  125. flag=~flag;
  126. }
  127. 2. 上位PC機程序
  128. #include<stdio.h>
  129. #include<dos.h>
  130. #define port 0x03f8
  131. main()
  132. {
  133.   unsigned int result,n=0;
  134.   unsigned int flag,i,j,k;
  135.   char ch;
  136.   struct date d;
  137.   struct time t;
  138.   clrscr();
  139.   outportb(port+3,0x80);
  140.   outportb(port,0x60);
  141.   outportb(port+1,0x00);
  142.   outportb(port+3,0x03);
  143.   outportb(port+4,0x03);
  144.   outportb(port+2,0x0f);
  145.   outportb(port+1,0x00);
  146. printf("\n\n*****type*****chroma(PPM)*******state*********time**************address********");
  147.   for(;;)
  148. {
  149.     if(n==0)
  150.       {
  151.         while(!(inportb(port+5)&0x20));
  152.          flag=inportb(port);
  153.          n++;
  154.        }
  155.       else
  156.        {
  157.         while(!(inportb(port+5)&0x20));
  158.          result=inportb(port);
  159.          n=0;
  160.         if(flag==0)
  161.           {   
  162.            getdate(&d);
  163.            gettime(&t);
  164.            if(result>90)
  165.               {
  166. printf("\n\n     co%11d          dangerous%9d.%d.%d--%d:%d:%d      1",result,d.da_year,d.da_mon,d.da_day,t.ti_hour,t.ti_min,t.ti_sec);
  167.               }
  168.            else
  169.              {
  170. printf("\n\n     co%11d         natural%13d.%d.%d--%d:%d:%d      1",result,d.da_year,d.da_mon,d.da_day,t.ti_hour,t.ti_min,t.ti_sec);
  171.               }
  172.           }
  173.       else
  174.           {
  175.            getdate(&d);
  176.            gettime(&t);
  177.            if(result>90)
  178.                {
  179.          printf("\n\n      flog%11d           dangerous%9d.%d.%d--%d:%d:%d       1",result,d.da_year,d.da_mon,d.da_day,t.ti_hour,t.ti_min,t.ti_sec+1);
  180.                 }
  181.            else
  182.                 {
  183.         printf("\n\n      flog%9d            natural%10d.%d.%d--%d:%d:%d      1",result,d.da_year,d.da_mon,d.da_day,t.ti_hour,t.ti_min,t.ti_sec+1);
  184.                 }
  185.           }
  186.        }
  187.    }
  188. }
復制代碼


新建 Microsoft Word 2007 文檔.docx

14.88 KB, 下載次數: 2

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

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产做a爱片久久毛片 | 欧美激情一区二区三区 | 天天曰夜夜 | 日韩中文在线观看 | 亚洲成人精品 | 亚洲国产精品99久久久久久久久 | 国产精品久久九九 | 自拍偷拍亚洲视频 | 天天碰夜夜操 | 欧美日韩综合 | 亚洲一区 中文字幕 | 久久精品女人天堂av | 超碰人人人 | 精品少妇一区二区三区日产乱码 | 亚洲成人国产 | 人人九九精 | 激情三区 | 亚洲综合视频 | 中文字幕国产精品 | 黄色网址大全在线观看 | 色吊丝2288sds中文字幕 | 91色视频在线观看 | 成人免费视频观看视频 | 激情五月婷婷综合 | 91深夜福利视频 | 婷婷开心激情综合五月天 | 国产一区二区久久久 | 亚洲欧美网站 | 亚洲在线一区二区 | 亚洲一区二区中文字幕 | 欧美视频三区 | 天天射中文| 国产精品大片 | 色.com| 国产精品1区2区 | 亚洲成人av在线 | 91最新入口 | 红桃视频一区二区三区免费 | 成av在线| 一区二区中文 | 欧美一级片黄色 |