欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 51單片機(jī)食堂自助打飯系統(tǒng)程序與電路原理圖 [打印本頁(yè)]

作者: qq492690882    時(shí)間: 2023-4-20 20:22
標(biāo)題: 51單片機(jī)食堂自助打飯系統(tǒng)程序與電路原理圖
兩個(gè)板,一號(hào)板一個(gè)顯示屏十一個(gè)按鍵,二號(hào)板一個(gè)顯示屏一個(gè)LED兩個(gè)按鍵,一個(gè)類似傳送帶的部分。一號(hào)板通過(guò)顯示屏顯示物品用按鍵選擇,確認(rèn)后二號(hào)板LED亮,顯示屏顯示物品準(zhǔn)備中狀態(tài),按下二號(hào)板按鍵燈滅,按另一個(gè)按鍵物品傳送出去。

十一個(gè)按鍵,上一頁(yè) 下一頁(yè) 確認(rèn)選擇 取消選擇 確認(rèn) ,剩下六個(gè)是對(duì)應(yīng)顯示屏的六個(gè)物品按哪個(gè)選哪個(gè)

制作出來(lái)的實(shí)物圖如下:

電路原理圖如下:


點(diǎn)菜端一共  11個(gè)按鍵
左邊的  5個(gè)按鍵是功能按鍵

    上一頁(yè)
       選擇      付    取消
    下一頁(yè)
右邊的6個(gè)按鍵是菜品按鍵

菜品 1   菜品 2  菜品 3
菜品 4   菜品 5  菜品 6
開(kāi)機(jī)的時(shí)候顯示

點(diǎn)菜端系統(tǒng)
可通過(guò)按鍵更改桌號(hào)
當(dāng)前桌號(hào) 【01】號(hào)
按【ok】確定

確定桌號(hào)后點(diǎn)

進(jìn)入點(diǎn)菜環(huán)節(jié)
界面顯示菜單  選取時(shí)在后面做好標(biāo)記

附件包含點(diǎn)菜端和廚房端的程序和電路

單片機(jī)源程序如下:
  1. #include "main.h"

  2. int t0_time,t0_time_5ms,t0_time_50ms;
  3. int price;
  4. unsigned char table_num=1,Dishes_num;
  5. short mod,set_f,menu_f;
  6. char menu_b[7],Uart_dat[9];
  7.   char code  menu[7][13] =        {
  8.           {"魚(yú)香肉絲 15 "},//1
  9.           {"番茄炒蛋 15 "},
  10.           {"紅燒牛肉 30 "},
  11.           {"糖醋排骨 30 "},
  12.           {"清炒白菜 10 "},
  13.           {"紫菜蛋湯 10 "}
  14.         };
  15.    


  16. void display()
  17. {
  18.   char cose_temp[17] = 0;
  19.   int i;
  20.                    switch (mod)
  21.                 {
  22.                         case 0:        //在等待模式下顯示
  23.                                   LCD12864_display_string(0,1,"  后廚端系統(tǒng)    ");
  24.                                   LCD12864_display_string(0,2,"暫無(wú)菜品....");
  25.                                   LCD12864_display_string(0,3,"                ");
  26.                                   LCD12864_display_string(0,4,"                ");
  27.                                  

  28.                         break;

  29.                         case 1 ://菜品信息界面
  30.                                         LCD12864_display_string(0,1,"桌號(hào)");
  31.                                         LCD12864_display_string(4,1,"總量");
  32.                                         cose_temp[0] = ':';
  33.                                         cose_temp[1] = table_num/10%10 + '0';
  34.                                     cose_temp[2] = table_num/1%10 + '0';
  35.                                         cose_temp[3] = ' ';
  36.                                     cose_temp[4] = '\0';
  37.                                         LCD12864_display_string(2,1,cose_temp);
  38.                                         cose_temp[1] = Dishes_num/10%10 + '0';
  39.                                     cose_temp[2] = Dishes_num/1%10 + '0';
  40.                                         LCD12864_display_string(6,1,cose_temp);

  41.                                         if(Dishes_num<3)
  42.                                         {
  43.                                                 for(i=0;i<Dishes_num;i++)
  44.                                                 {
  45.                                                         LCD12864_display_string(1,i+2,menu[menu_b[i]]);
  46.                                                 }
  47.                                                 LCD12864_display_string(0,4,"  ==沒(méi)有了哦==  ");        
  48.                                         }
  49.                                         else
  50.                                         {
  51.                                                 if(menu_f == 0)         //顯示第一頁(yè)
  52.                                                 {
  53.                                                         for(i=0;i<3;i++)
  54.                                                         {
  55.                                                                 LCD12864_display_string(1,i+2,menu[menu_b[i]]);
  56.                                                         }        
  57.                                                 }
  58.                                                 else  //顯示第二頁(yè)
  59.                                                 {
  60.                                                         for(i=3;i<Dishes_num;i++)
  61.                                                         {
  62.                                                                 LCD12864_display_string(1,i-1,menu[menu_b[i]]);
  63.                                                         }
  64.                                                         if((Dishes_num-3)<3) LCD12864_display_string(0,Dishes_num-1,"  ==沒(méi)有了哦==  ");
  65.                                                 }
  66.                                         }
  67.                                        

  68.                         break;
  69.                         
  70.                         case 2:        //結(jié)算界面
  71.                                         LCD12864_display_string(0,1,"桌號(hào)");
  72.                                         LCD12864_display_string(4,1,"總量");
  73.                                         cose_temp[0] = ':';
  74.                                         cose_temp[1] = table_num/10%10 + '0';
  75.                                     cose_temp[2] = table_num/1%10 + '0';
  76.                                         cose_temp[3] = ' ';
  77.                                     cose_temp[4] = '\0';
  78.                                         LCD12864_display_string(2,1,cose_temp);
  79.                                         cose_temp[1] = Dishes_num/10%10 + '0';
  80.                                     cose_temp[2] = Dishes_num/1%10 + '0';
  81.                                         LCD12864_display_string(6,1,cose_temp);

  82.                                         LCD12864_display_string(0,3,"====出餐成功====");
  83.                                         LCD12864_display_string(0,4,"==等侯客戶取餐==");
  84.                                         led = 0;
  85.                                         while(cgq==0)
  86.                                         {
  87.                                                 Motor(100,10,1);
  88.                                         }
  89.                                         led = 1;
  90.                                         LCD12864_display_string(0,3,"====取餐成功====");
  91.                                         LCD12864_display_string(0,4,"==即將返回首頁(yè)==");
  92.                                         Delay1ms(3000);
  93.                                         mod = 0;
  94.                         break;
  95.                 }
  96. }





  97. void main()
  98. {
  99.          init();//開(kāi)機(jī)初始化
  100.          led = 1;
  101.         ClrScreen();//清屏               
  102.         LCD12864_display_string(0,1,"》》歡迎使用《《");
  103.         Delay1ms(500);
  104.         LCD12864_display_string(0,2,"==智能點(diǎn)菜系統(tǒng)==");
  105.         Delay1ms(500);
  106.         LCD12864_display_string(0,4,"姓名:某某某    ");
  107.         Delay1ms(500);
  108.         LCD12864_display_string(0,3,"1636100103");
  109.         Delay1ms(1000);
  110.         ClrScreen();                          //清除屏幕顯示
  111.         while(1)
  112.          {

  113.                 key_scan();
  114.                 display();
  115.                
  116.          }
  117.         
  118. }

  119. void t0() interrupt 1 using 1           //這個(gè)是定時(shí)中斷函數(shù)
  120. {
  121.         TL0 = 0x20;                //設(shè)置定時(shí)初值
  122.         TH0 = 0xD1;                //設(shè)置定時(shí)初值
  123.     t0_time++;
  124.                
  125.         if(5 == t0_time)//5ms
  126.         {
  127.                 t0_time = 0;
  128.                 t0_time_5ms++;
  129. //======此處為5毫秒執(zhí)行一次======
  130.                   


  131.                                          
  132. //================================
  133.                 if(8 == t0_time_5ms)
  134.                 {
  135.                         t0_time_5ms = 0;
  136.                         t0_time_50ms++;
  137. //=====此處為50毫秒執(zhí)行一次=======
  138.                           
  139. //================================
  140.                         if(2 == t0_time_50ms)        //此處為一秒進(jìn)入一次
  141.                         {
  142.                                 t0_time_50ms = 0;

  143.                         }
  144.                 }        
  145.         }

  146. }
復(fù)制代碼

Keil代碼與電路圖下載: 程序和原理圖.7z (264.71 KB, 下載次數(shù): 29)





歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1