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

QQ登錄

只需一步,快速開(kāi)始

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

基于51單片機(jī)的廚房定時(shí)器仿真+源代碼錯(cuò)誤

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
單片機(jī)廚房定時(shí)器仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)廚房定時(shí)器源程序如下:
  1. #include<reg52.h>
  2. sbit fmq = P2^5; //鳳鳴器
  3. sbit mo_shi= P3^2;
  4. sbit jia=P3^3;
  5. sbit jian=P3^4;
  6. sbit qi_dong=P3^5;
  7. unsigned char code xianshi[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
  8.                               0xf8,0x80,0x90};
  9. unsigned char code kongzhi[]={0x0e,0x0d,0x0b,0x07};
  10. char fen = 1, miao = 0, ting_zhi = 1,mo=0;

  11. void delay(unsigned int time)
  12. {
  13. unsigned int i;
  14. for(i = 0; i<time; i++);
  15. }
  16. void main()
  17. {
  18. TMOD=1;
  19. TH0=-5000/256;
  20. TL0=-5000%256;
  21. TR0=1;
  22. EA=1;
  23. ET0=1;

  24. P0 = 0;
  25. P2 = 0xff;
  26. while(1)        //按鍵控制
  27.          {
  28.          if(jia==0)
  29.            {
  30.             fmq=1;
  31.             ting_zhi = 1;
  32.             if(mo==1)
  33.                   {
  34.                    fen += 10;
  35.                    if((fen/10)>5) fen = fen%10;
  36.                   }
  37.                 if(mo==2)
  38.                   {
  39.                if((fen%10)==9) fen -= 9;
  40.                    else fen++;
  41.                   }

  42.                 if(mo==3)
  43.                   {
  44.                    miao += 10;
  45.                    if((miao/10)>5)  miao=miao%10;
  46.                   }
  47.             if(mo==4)
  48.                   {
  49.                   if((miao%10)==9)
  50.                    miao -= 9;
  51.                   else   miao++ ;
  52.                   }
  53.                 delay(15000);
  54.            }
  55.            
  56.          if(jian==0)
  57.            {
  58.             fmq=1;
  59.                    ting_zhi = 1;
  60.             if(mo==1)
  61.                   {
  62.                   if((fen/10)==0) fen = fen + 50;
  63.                     else          fen = fen - 10;
  64.                   }
  65.                  
  66.                 if(mo==2)
  67.                 {
  68.                 if((fen%10)!=0) fen--;
  69.                   else          fen+=9;
  70.                                  
  71.                 }
  72.                 if(mo==3)
  73.                   {
  74.                    if((miao/10)==0) miao = miao + 50;
  75.                     else          miao = miao - 10;
  76.                   }
  77.                  
  78.                 if(mo==4)
  79.                   {
  80.                          if((miao%10)==0) miao+=9;
  81.                     else miao--;
  82.                   }
  83.                 delay(15000);
  84.                
  85.            }
  86.            if(mo_shi==0)
  87.               {
  88.                ting_zhi = 1;
  89.                    mo++;               
  90.                if(mo>=5) mo=0;        
  91.                    if(mo<5)  ;
  92.                    delay(15000);
  93.                   }
  94.            if(qi_dong==0)
  95.            {
  96.             mo=0;
  97.                 if(fen!=0||miao!=0)
  98.                   {
  99.                    ting_zhi = 0;
  100.                   }
  101.            }            
  102.         }
  103. }

  104. void LU_int()interrupt 1
  105. {
  106. static unsigned char c=0,v=0; //初值
  107. TH0=-5000/256;                //5ms
  108. TL0=-5000%256;

  109. P2 = P2|0x0f;        //0xff;        //xx(1)x 1111        fmq

  110. switch(v)      //判斷
  111.          {
  112.          case 0: if(mo!=1)P0=xianshi[fen/10];
  113.                             else{
  114.                                         if(c<100) P0=xianshi[fen/10]; //前0.5s 模式閃爍
  115.                                           else    P0=0xff;                    //后0.5s
  116.                                }
  117.                            break;

  118.          case 1: if(mo!=2)P0=xianshi[fen%10]&0x7f;
  119.                             else{
  120.                                         if(c<100) P0=xianshi[fen%10]&0x7f;
  121.                                           else    P0=0xff&0x7f;                    
  122.                                };
  123.                            break;//0111 1111
  124.          case 2: if(mo!=3)P0=xianshi[miao/10];
  125.                             else{
  126.                                         if(c<100) P0=xianshi[miao/10];
  127.                                           else    P0=0xff;                    
  128.                                };
  129.                            break;
  130.          case 3: if(mo!=4)P0=xianshi[miao%10];
  131.                             else{
  132.                                         if(c<100) P0=xianshi[miao%10];
  133.                                           else    P0=0xff;                    
  134.                                };
  135.                            break;
  136.         }
  137. P2 = (P2&0xf0)|kongzhi[v];
  138.                            
  139. if(fen==0&&miao==0&&mo==0&&ting_zhi==0)  //定時(shí)到點(diǎn)
  140.         {
  141. ……………………

  142. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
廚房模式定時(shí)器.zip (63.48 KB, 下載次數(shù): 73)




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

使用道具 舉報(bào)

7#
ID:868426 發(fā)表于 2021-5-11 22:09 | 只看該作者
為什么程序沒(méi)有反應(yīng)呢,就顯示01.00
回復(fù)

使用道具 舉報(bào)

6#
ID:328014 發(fā)表于 2020-7-2 13:50 | 只看該作者
20點(diǎn)02分 發(fā)表于 2020-7-2 09:12
就只有代碼,其他的都打不開(kāi)

Proteus仿真是dsn文件啊 所以你要安裝Proteus7.5才行哦
回復(fù)

使用道具 舉報(bào)

5#
ID:715720 發(fā)表于 2020-7-2 09:12 | 只看該作者
就只有代碼,其他的都打不開(kāi)
回復(fù)

使用道具 舉報(bào)

地板
ID:656094 發(fā)表于 2019-12-6 16:38 | 只看該作者
不錯(cuò)很實(shí)用
回復(fù)

使用道具 舉報(bào)

板凳
ID:651428 發(fā)表于 2019-12-6 13:57 | 只看該作者
能不能弄完整的程序
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:373898 發(fā)表于 2018-7-18 10:38 | 只看該作者
謝謝版主,幫上大忙了
回復(fù)

使用道具 舉報(bào)

樓主
ID:373787 發(fā)表于 2018-7-18 08:58 | 只看該作者
謝謝,正需要這個(gè)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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