找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 2132|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于單片機的自動售貨機程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:276416 發(fā)表于 2018-11-30 12:30 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
分享交流
#include<reg52.h>
voiddelay_s(unsigned int t);
voiddelay_ms(unsigned int t);
voidUART_Init(void);
voidSpeech(unsigned char*text,unsigned char length);
voidinit_lcd(void);
voidch_disp_any(unsigned char line,unsigned char row,unsigned char num,unsignedchar chn);
#define ch P0
#define led P1
sbit take=P2^0;
sbit back=P2^1;
void main()
{
unsigned char money,i,key,x[3];
init_lcd();
UART_Init();
while(1)
{
  ks:led=0xff;
     ch_disp_any (1,1,16,"所選商品:    ");
        ch_disp_any(2,1,16,"應(yīng)投金額:    ");
        ch_disp_any (3,1,16,"實投金額:    ");
        ch_disp_any (4,1,16,"所選商品:    ");
        while(ch==0xff);
        delay_ms(50);
        switch(ch)                                                                                                                                    
        {
        case 0xfe:money=35;led=0xfe;ch_disp_any (1,6,4,"七喜");ch_disp_any (2,6,6,"3.5元");Speech("七喜3.5 元請投幣",16);break;
        case 0xfd:money=40;led=0xfd;ch_disp_any (1,6,4,"可樂");ch_disp_any(2,6,6,"4.0 元");Speech("可樂4.0 元請投幣",16);break;
        case 0xfb:money=45;led=0xfb;ch_disp_any (1,6,4,"牛奶");ch_disp_any(2,6,6,"4.5 元");Speech("牛奶4.5 元請投幣",16);break;
        case 0xf7:money=60;led=0xf7;ch_disp_any (1,6,4,"銳澳");ch_disp_any(2,6,6,"6.0 元");Speech("銳澳6.0 元請投幣",16);break;
        case 0xef:money=30;led=0xef;ch_disp_any (1,6,4,"芬達");ch_disp_any(2,6,6,"3.0 元");Speech("芬達3.0 元請投幣",16);break;
        case 0xdf:money=50;led=0xdf;ch_disp_any (1,6,4,"雪碧");ch_disp_any(2,6,6,"5.0 元");Speech("雪碧5.0 元請投幣",16);break;
        case 0xbf:money=75;led=0xbf;ch_disp_any (1,6,4,"酸奶");ch_disp_any(2,6,6,"7.5 元");Speech("酸奶7.5 元請投幣",16);break;
        case 0x7f:money=20;led=0x7f;ch_disp_any (1,6,4,"白水");ch_disp_any(2,6,6,"2.0 元");Speech("白水2.0 元請投幣",16);break;
        default:break;
        }
  toubi:
     do{i=Keyboard();} while(i>100);
        if(i==100)    goto ks;
        if(i<90)
       {key=i;
          x[0]=key/10+'0';
              x[1]='.';
              x[2]=key%10+'.';
              ch_disp_any (3,6,3,x);ch_disp_any(3,8,4,"元");
              Speech("實投",4);Speech(x,4);Speech("元",4);
              }
        do{i=Keyboard();}while((i!=100)&&(i!=90));
        if(i==100)
         {
              if(key==money)
              {
               ch_disp_any (4,6,6,"請取物");
               Speech("請取物",6);
               take=0;delay_s(2);take=1;
               goto ks;
              }
              else
              {
               ch_disp_any (4,1,16,"退幣:   元");
               ch_disp_any (4,3,3,x);
               Speech("退幣",4);Speech(x,4);Speech("元",2);
               back=0;delay_s(2);back=1;
               ch_disp_any (3,1,16,"實投金額:      ");
               ch_disp_any (4,1,16,"購物狀態(tài):請取物");
               goto toubi;
         }
      }
        if(i==90)
         {
               ch_disp_any (4,1,16,"退幣:  元");
               ch_disp_any (4,3,3,x);
               Speech("退幣",4);Speech(x,4);Speech("元",4);
               back=0;delay_s(2);back=1;
               ch_disp_any (3,1,16,"實投金額:      ");
               ch_disp_any (4,1,16,"購物狀態(tài):請取物");
               goto toubi;
         }
      }
}



自助售貨機.docx

16.07 KB, 下載次數(shù): 15, 下載積分: 黑幣 -5

1

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

使用道具 舉報

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

本版積分規(guī)則

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

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

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