|
基于51單片機(jī)的餐飲管理設(shè)計(jì) NRF2401加LCD12864
發(fā)送端原理圖:
0.png (47.25 KB, 下載次數(shù): 61)
下載附件
2017-11-11 08:38 上傳
接收端原理圖:
0.png (60.66 KB, 下載次數(shù): 52)
下載附件
2017-11-11 08:38 上傳
發(fā)送端單片機(jī)源程序如下:
- /*****************************************
- *****************************************/
- #include"reg52.h"
- #include"Allhead.h"
- sbit LCD_RS=P3^5;
- sbit LCD_RW=P3^6;
- sbit LCD_EN=P3^4;
- sbit LCD_PSB=P3^7;
- sbit wela=P2^6;
- sbit dula=P2^7;
- sbit k1=P1^0;
- sbit k2=P1^1;
- sbit k3=P1^2;
- sbit k4=P3^3;
- sbit led2=P0^0;
- unchar code dis1[]={"----請(qǐng)您點(diǎn)菜----"};
- unchar code dis2[]={"魚香肉絲 7 元"};
- unchar code dis3[]={"宮保雞丁 8 元"};
- unchar code dis4[]={"回鍋肉 10元"};
- unchar code dis5[]={"京醬肉絲 8 元"};
- unchar code dis6[]={"紅燒肉 9 元"};
- unchar code dis7[]={"------已點(diǎn)------"};
- unchar code dis8[]={"------結(jié)賬------"};
- unchar code dis9[]={"共計(jì)"};
- unchar code dis10[]={"元"};
- unchar k=1,j=1,u=1,n=0,m=0;
- char TxDate[4],sum=0;
- void lcd_display3();
- /*********************主函數(shù)***************************/
- void delay_1ms(unint x)
- {
- unint i,j;
- for(j=0;j<x;j++)
- for(i=0;i<110;i++);
- }
- void write_cmd(unchar cmd)
- {
- LCD_RS=0;
- LCD_RW=0;
- LCD_EN=0;
- P0=cmd;
- delay_1ms(5);
- LCD_EN=1;
- delay_1ms(5);
- LCD_EN=0;
- }
- void write_dat(unchar dat)
- {
- LCD_RS=1;
- LCD_RW=0;
- LCD_EN=0;
- P0=dat;
- delay_1ms(5);
- LCD_EN=1;
- delay_1ms(5);
- LCD_EN=0;
- }
- void lcd_pos(unchar X,unchar Y)
- {
- unchar pos;
- if(X==0)
- {X=0X80;}
- else if(X==1)
- {X=0X90;}
- else if(X==2)
- {X=0X88;}
- else if(X==3)
- {X=0X98;}
- pos=X+Y;
- write_cmd(pos);
-
- }
- /************屏幕顯示***************/
- void lcd_display() //點(diǎn)菜界面
- {
- unchar i;
- lcd_pos(0,0);
- i=0;
- while(dis1[i]!='\0')
- {
- write_dat(dis1[i]);
- i++;
- }
- if(u==1) //第一頁
- {
- lcd_pos(1,1);
- i=0;
- while(dis2[i]!='\0')
- {
- write_dat(dis2[i]);
- i++;
- }
- lcd_pos(2,1);
- i=0;
- while(dis3[i]!='\0')
- {
- write_dat(dis3[i]);
- i++;
- }
- lcd_pos(3,1);
- i=0;
- while(dis4[i]!='\0')
- {
- write_dat(dis4[i]);
- i++;
- }
- }
- else if(u==2) //第二頁
- {
- lcd_pos(1,1);
- i=0;
- while(dis3[i]!='\0')
- {
- write_dat(dis3[i]);
- i++;
- }
- lcd_pos(2,1);
- i=0;
- while(dis4[i]!='\0')
- {
- write_dat(dis4[i]);
- i++;
- }
- lcd_pos(3,1);
- i=0;
- while(dis5[i]!='\0')
- {
- write_dat(dis5[i]);
- i++;
- }
-
- }
- else if(u==3) //第三頁
- {
- lcd_pos(1,1);
- i=0;
- while(dis4[i]!='\0')
- {
- write_dat(dis4[i]);
- i++;
- }
- lcd_pos(2,1);
- i=0;
- while(dis5[i]!='\0')
- {
- write_dat(dis5[i]);
- i++;
- }
- lcd_pos(3,1);
- i=0;
- while(dis6[i]!='\0')
- {
- write_dat(dis6[i]);
- i++;
- }
-
- }
- }
- void lcd_display2() //看菜界面
- {
- unchar i;
- lcd_pos(0,0);
- i=0;
- while(dis7[i]!='\0')
- {
- write_dat(dis7[i]);
- i++;
- }
- lcd_pos(1,0);
- i=0;
- switch(TxDate[0])
- {
- case 1 :
- while(dis2[i]!='\0')
- {
- write_dat(dis2[i]);
- i++;
- }break;
- case 2 :
- while(dis3[i]!='\0')
- {
- write_dat(dis3[i]);
- i++;
- }break;
- case 3 :
- while(dis4[i]!='\0')
- {
- write_dat(dis4[i]);
- i++;
- }break;
- case 4 :
- while(dis5[i]!='\0')
- {
- write_dat(dis5[i]);
- i++;
- }break;
-
- case 5 :
- while(dis6[i]!='\0')
- {
- write_dat(dis6[i]);
- i++;
- }break;
- default : break;
- }
- lcd_pos(2,0);
- i=0;
- switch(TxDate[1])
- {
- case 1 :
- while(dis2[i]!='\0')
- {
- write_dat(dis2[i]);
- i++;
- }break;
- case 2 :
- while(dis3[i]!='\0')
- {
- write_dat(dis3[i]);
- i++;
- }break;
- case 3 :
- while(dis4[i]!='\0')
- {
- write_dat(dis4[i]);
- i++;
- }break;
- case 4 :
- while(dis5[i]!='\0')
- {
- write_dat(dis5[i]);
- i++;
- }break;
-
- case 5 :
- while(dis6[i]!='\0')
- {
- write_dat(dis6[i]);
- i++;
- }break;
- default : break;
- }
- lcd_pos(3,0);
- i=0;
- switch(TxDate[2])
- {
- case 1 :
- while(dis2[i]!='\0')
- {
- write_dat(dis2[i]);
- i++;
- }break;
- case 2 :
- while(dis3[i]!='\0')
- {
- write_dat(dis3[i]);
- i++;
- }break;
- case 3 :
- while(dis4[i]!='\0')
- {
- write_dat(dis4[i]);
- i++;
- }break;
- case 4 :
- while(dis5[i]!='\0')
- {
- write_dat(dis5[i]);
- i++;
- }break;
-
- case 5 :
- while(dis6[i]!='\0')
- {
- write_dat(dis6[i]);
- i++;
- }break;
- default : break;
- }
-
- }
- void lcd_display3() //算賬
- {
- char a,b;
- unchar i;
- sum = 0;
-
- lcd_pos(0,0);
- i=0;
- while(dis8[i]!='\0')
- {
- write_dat(dis8[i]);
- i++;
- }
- switch(TxDate[0])
- {
- case 1 :
- sum=sum+7;break;
- case 2 :
- sum=sum+8;break;
- case 3 :
- sum=sum+10;break;
- case 4 :
- sum=sum+8;break;
-
- case 5 :
- sum=sum+9;break;
- default : break;
- }
- switch(TxDate[1])
- {
- case 1 :
- sum=sum+7;break;
- case 2 :
- sum=sum+8;break;
- case 3 :
- sum=sum+10;break;
- case 4 :
- sum=sum+8;break;
-
- case 5 :
- sum=sum+9;break;
- default : break;
- }
- switch(TxDate[2])
- {
- case 1 :
- sum=sum+7;break;
- case 2 :
- sum=sum+8;break;
- case 3 :
- sum=sum+10;break;
- case 4 :
- sum=sum+8;break;
-
- case 5 :
- sum=sum+9;break;
- default : break;
- }
- a=sum/10;
- b=sum%10;
- lcd_pos(1,0);
- i=0;
- while(dis9[i]!='\0')
- {
- write_dat(dis9[i]);
- i++;
- }
- write_dat(a+0x30);
- write_dat(b+0x30);
- i=0;
- while(dis10[i]!='\0')
- {
- write_dat(dis10[i]);
- i++;
- }
- }
- void lcd_init()
- {
- LCD_PSB=1;
- write_cmd(0x30);
- delay_1ms(5);
- write_cmd(0x0C);
- delay_1ms(5);
- write_cmd(0x01);
- delay_1ms(5);
- }
- /***************鍵盤掃描************/
- void keyscan()
- {
- if(k1==0)//向下移動(dòng)光標(biāo)鍵
- {
- delay_1ms(1);
- if(k1==0)
- {
- k++;
- j++;
- if(k>3)
- {
- k=3;
- u++;
- if(u==4)
- {
- u=1;
- }
- }
- if(j==6)
- {
- k=1;
- j=1;
- }
- while(!k1);
- write_cmd(0x01);
- delay_1ms(1);
- }
- }
- if(k2==0)//向上移動(dòng)光標(biāo)鍵
- {
- delay_1ms(1);
- if(k2==0)
- {
- k--;
- j--;
- if(k<1)
- {
- k=1;
- u--;
- if(u==0)
- {
- u=3;
- }
- }
- if(j==0)
- {
- k=3;
- j=5;
- }
- while(!k2);
- write_cmd(0x01);
- delay_1ms(1);
- }
- }
- if(k3==0)//選菜
- {
- delay_1ms(10);
- if(k3==0)
- {
- if(m==0)
- {
- TxDate[n]=j;
- n++;
-
- }
- else
- {
- NRFSetTxMode(TxDate);//發(fā)送菜單
- while(CheckACK()); //檢測(cè)是否發(fā)送完畢
- while(!k3);
- delay_1ms(5);
- }
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
0.png (4.97 KB, 下載次數(shù): 58)
下載附件
2017-11-11 08:39 上傳
所有資料51hei提供下載:
基于單片機(jī)的餐飲管理系統(tǒng)設(shè)計(jì).rar
(181.91 KB, 下載次數(shù): 91)
2017-11-10 23:09 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|