国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于51單片機(jī)的雙機(jī)串口通信排隊(duì)叫號系統(tǒng)(LCD顯示)設(shè)計(jì)

這篇具有很好參考價(jià)值的文章主要介紹了基于51單片機(jī)的雙機(jī)串口通信排隊(duì)叫號系統(tǒng)(LCD顯示)設(shè)計(jì)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1 開發(fā)環(huán)境

仿真圖:proteus8.9以上

程序代碼:KEIL4/KEIL5

原理圖:AD

設(shè)計(jì)編號:A0006

視頻講解

基于51單片機(jī)的雙機(jī)串口通信排隊(duì)叫號系統(tǒng)(LCD顯示)設(shè)計(jì)

2 功能說明介紹

結(jié)合實(shí)際情況,基于51單片機(jī)設(shè)計(jì)一個(gè)排隊(duì)叫號系統(tǒng)設(shè)計(jì)。該系統(tǒng)應(yīng)滿足的功能要求為:

由51單片機(jī)、按鍵模塊、LCD1602液晶屏、蜂鳴器呼叫模塊構(gòu)成

具體功能:

1、主機(jī)通過按鍵完成叫號,LCD1602液晶顯示屏顯示被叫的號碼及服務(wù)的柜臺號;同時(shí),蜂鳴器響,以提醒顧客接收服務(wù);

2、從機(jī)按下按鍵實(shí)現(xiàn)取號,并通過串行通信方式實(shí)現(xiàn)排隊(duì)取號功能;

3、從機(jī)還可以實(shí)時(shí)顯示自己的排隊(duì)號及及當(dāng)前正在等待的人數(shù)。

3 仿真圖

AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS16位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫的只讀程序存儲器和128 bytes的隨機(jī)存取數(shù)據(jù)存儲器,期間采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用16位中央處理器和Flash存儲單元,功能強(qiáng)大的AT89C51單片機(jī)可靈活應(yīng)用于各種控制領(lǐng)域。

AT89C51提供以下標(biāo)準(zhǔn)功能:4k字節(jié)Flash閃速存儲器,128字節(jié)內(nèi)部RAM,32個(gè)I/O口線,兩個(gè)1 6位定時(shí)/計(jì)數(shù)器,一個(gè)5向量兩級中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。

本系統(tǒng)中央控制器采用的單片機(jī)AT89C51,復(fù)位電路采用上電復(fù)位電路。外接的晶振為12MHz晶振。

51單片機(jī)餐飲叫號,51單片機(jī)設(shè)計(jì),51單片機(jī),單片機(jī),嵌入式硬件

當(dāng)前仿真情況為:取號機(jī)取了三個(gè)號,叫號器的柜臺2叫第一個(gè)號。叫號過程有蜂鳴器提示。

51單片機(jī)餐飲叫號,51單片機(jī)設(shè)計(jì),51單片機(jī),單片機(jī),嵌入式硬件

4 程序

工程文件使用Keil4/keil5打開。

代碼分為取號機(jī)代碼和叫號機(jī)代碼,分別編譯產(chǎn)生hex加載到對應(yīng)的單片機(jī)中。

代碼

51單片機(jī)餐飲叫號,51單片機(jī)設(shè)計(jì),51單片機(jī),單片機(jī),嵌入式硬件

叫號機(jī)主函數(shù)

#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char 
#define uint unsigned int 
sbit RS=P2^0;     //1:數(shù)據(jù)輸入,0:指令輸入 
sbit RW=P2^1;    //1: 讀出,0:寫入 
sbit E=P2^2;      //1:有效,0:無效
sbit key0=P1^0; 
sbit key1=P1^1; 
sbit key2=P1^2; 
sbit key3=P1^3; 
sbit key4=P1^4; 
sbit key5=P1^5;
sbit key6=P1^6; 
sbit key7=P1^7; 
sbit BEEP=P2^6;
uint sev=0; 
uint sev1=0; 
uint sev2=0; 
uint sev3=0; 
uint sev4=0;
uint m=0,i=0;
uint jhao=1,qhao=0,dhao=0;                              //排隊(duì)叫號                                 //窗口消的號碼 
uint jz=0;
uchar data test[]="Hello!";                    //初始顯示的字符 
uchar data prompt2[]="No.00 come to No";     //1062第一行顯示的字符 
uchar data prompt3[]="0.window,Please!";     //1062第二行顯示的字符 
uchar data prompt8[]="00 is left"; 
uchar data prompt9[]="All is 00"; 
uchar data prompt10[]="W1 - 00"; 
uchar data prompt11[]="W2 - 00";
uchar data prompt12[]="W3 - 00"; 
uchar data prompt13[]="W4 - 00"; 
                                  
void intCon()  
{    
	  EA=0;   	   //關(guān)總中斷
	  SCON=0x50;   //0101 0000,SM0 SM1=01表示選擇工作方式1;SM2 REN=01表示串行口多機(jī)通訊控制位,串行口允許接收(從外部接收數(shù)據(jù))
	  PCON=0X00;   //電源控制寄存器 最高位為SMOD,為0,表示波特率不加倍,為1,表示波特率加倍
	  TMOD=0x20;   //0010 0000,GATE=0,以運(yùn)行控制位TR啟動定時(shí)器;采用定時(shí)1工作方式2
	  TH1=0xfd;    //波特率9600=2^smod*(11.05926*10^6)/(32*12*(2^8-X))
	  TL1=0xfd;  
	  TR1=1;  		 //計(jì)數(shù)器工作
  } 
//
 void delay(int n)       //延時(shí)子程序 
{ 
int k,j;  
 for(k=0;k<=n;k++)  
 for(j=0;j<=10;j++); 
} 
void delay1s(int n)     //延時(shí)子程序
 { 
int k,j;  
 for(k=0;k<=n;k++)  
 for(j=0;j<=120;j++); 
}  
void SPEAKER(uint x)   //蜂鳴器程序
 {   
for(i=0;i<=200;i++)    
 {        
delay(x);  
 BEEP=~BEEP;  
 }     
 BEEP=1; }
 /**************LCD程序**********/
 void delay1ms(unsigned int ms)   //延時(shí)的時(shí)間
{ 
uint k,j;  
 for(k=0;k<ms;k++)   
 for(j=0;j<100;j++); 
}
 void LCD_w_com(unsigned com)  // 寫入指令 
 {  
RW=0;  
RS=0;
E=1;  
P0=com; 
delay1ms(40);  
E=0; 
RW=1;
} 
void LCD_w_dat(uchar dat)   // 寫入數(shù)據(jù) 
{ 

 RW=0; 
 RS=1;  
E=1; 
P0=dat; 
delay1ms(40); 
E=0;  
RW=1; 
}  
void gotoxy(unsigned x,unsigned y)  {  
 if(x==1)  
LCD_w_com(0x80+y); 
 else 
LCD_w_com(0xC0+y); 
} 
void clear_LCD(void) 
{ 
LCD_w_com(0x01);       //清屏指令  
LCD_w_com(0x02);      // 光標(biāo)歸位
} 
void init_LCD(void)      // 初始化LCD 
{  
LCD_w_com(0x38);     // LCD為兩行顯示             
LCD_w_com(0x0c);     // 顯示字符  關(guān)閉光標(biāo) 
LCD_w_com(0x06);     // 輸入方式設(shè)置 
 gotoxy(1,0); 
 for(i=0;i<=5;i++)  
{  
 LCD_w_dat(test[i]); 
 } 
} 
/*********叫號機(jī) 按一次一號鍵變量+1最大為10*************/   
void key()
{         
  if(qhao>jhao)     
{       
 SPEAKER(11); 
     delay(200);    
SPEAKER(15); 
clear_LCD();      

sev++;   
prompt2[3]=(jhao+1)/10+'0';               
prompt2[4]=(jhao+1)%10+'0';      
prompt3[0]=jz+'0';                
gotoxy(1,0);      
for(m=0;m<=15;m++)      
{      
LCD_w_dat(prompt2[m]);      
}      
gotoxy(2,0);      
for(m=0;m<=15;m++)      
{
LCD_w_dat(prompt3[m]);     
 }         
 jhao++; 
}
}

void k5()
{
clear_LCD();  
dhao=qhao-jhao;
prompt8[0]=dhao/10+'0';  
prompt8[1]=dhao%10+'0';  
gotoxy(1,0);  
for(m=0;m<=9;m++)  
{  
LCD_w_dat(prompt8[m]);     
}       
}

void k6()
 {     
clear_LCD();   
prompt9[7]=(sev)/10+'0';   
prompt9[8]=(sev)%10+'0';   
gotoxy(1,0);   
for(m=0;m<=8;m++)   
{   
LCD_w_dat(prompt9[m]); 
}  
}

void k7()
{
clear_LCD();        
prompt10[5]=sev1/10+'0';    
prompt10[6]=sev1%10+'0';    
prompt11[5]=sev2/10+'0';    
prompt11[6]=sev2%10+'0';    
prompt12[5]=sev3/10+'0';    
prompt12[6]=sev3%10+'0';    
prompt13[5]=sev4/10+'0';    
prompt13[6]=sev4%10+'0';     
gotoxy(1,0);    
for(m=0;m<=6;m++)    
{    
LCD_w_dat(prompt10[m]);    
}        
gotoxy(1,8);    
for(m=0;m<=6;m++)    
{    
LCD_w_dat(prompt11[m]);    
}    
gotoxy(2,0);    
for(m=0;m<=6;m++)    
{    
LCD_w_dat(prompt12[m]);    
} 
 gotoxy(2,8);    
for(m=0;m<=6;m++)    
{    
LCD_w_dat(prompt13[m]);    
}    
} 

 //矩陣鍵盤掃描函數(shù)
void matrixkeyscan()
{	
	unsigned char temp;	
	P1=0xff; //先向P1 口寫1;端口讀狀態(tài)
	P1=0xf0; //列送di電平,行送gao電平
	temp=P1;
	if(temp!=0xf0)//判斷是否有鍵按下,若有鍵按下則temp不等于0xf0
	{
		delay(10);	// 防抖動
		if(temp!=0xf0)  
		{
			P1=0xef;  //掃描第一行
			temp=P1;
			switch(temp)
			{
		 		case(0xe7):{jz=1;sev1++; key();} ;break; //第一行第一列
				case(0xeb):{jz=2;sev2++; key();} ;break; //第一行第二列
				case(0xed):{jz=3;sev3++; key();} ;break;  //第一行第三列
				case(0xee):{jz=4;sev4++; key();} ;break;  //第一行第四列
			    
             }
			P1=0xdf;
			temp=P1;
			switch(temp)   //掃描第二行
			{
				case(0xd7):k5();break;	//第二行第一列

				case(0xdb):k6();break;	//第二行第二列

				case(0xdd):k7();break;	//第二行第三列
				
			}
		}
	}
} 
void main() 
{ 
    //intCon(); 
    clear_LCD();   
    init_LCD(); 
		jhao=0;
   while(1)  //一直執(zhí)行
  {   
      
    matrixkeyscan(); 
	  SBUF=jhao;  //叫號送發(fā)送存儲器  
	  while(!TI);  	//若一幀數(shù)據(jù)發(fā)送完畢,則TI=1,在將 TI置為0,讓其處于接收狀態(tài)  
	  TI=0;     
      if(RI)   //若接收完一幀數(shù)據(jù),則RI=1
	  {    
	    RI=0;  //將RI置0,讓其處于接收狀態(tài)  
	    qhao=SBUF;//取號數(shù)從接收存儲器中取得  
	  }	  
   } 
}

叫號機(jī)主程序流程圖如下圖所示。

51單片機(jī)餐飲叫號,51單片機(jī)設(shè)計(jì),51單片機(jī),單片機(jī),嵌入式硬件

取號機(jī)部分代碼:

unsigned long qhao=1,dhao=1,jhao=0;    //分別為取到的人數(shù),等待的人數(shù) 叫到的人數(shù) 
void intCon() 
 {  
	 EA=0;	   //關(guān)總中斷
	 SCON=0x50;    //0101 0000,SM0 SM1=01表示選擇工作方式1;SM2 REN=01表示串行口多機(jī)通訊控制位,串行口允許接收(從外部接收數(shù)據(jù))
	 PCON=0X00;   //電源控制寄存器 最高位為SMOD,為0,表示波特率不加倍,為1,表示波特率加倍
	 TMOD=0x20;   	//0010 0000,GATE=0,以運(yùn)行控制位TR啟動定時(shí)器;采用定時(shí)1工作方式2
	 TH1=0xfd;    //波特率為9600bit/s
	 TL1=0xfd;  
 	 TR1=1;  	 //計(jì)數(shù)器工作
 } 
void delay(int n)   //延時(shí)程序 
{ 
int k,j;   
for(k=0;k<=n;k++)   
for(j=0;j<=10;j++); 
} 
void delay1s(int n)   //延時(shí)程序 
{
 int k,j;   
for(k=0;k<=n;k++)   
for(j=0;j<=120;j++); 
}       
  /**************LCD程序**********/
 void delay1ms(unsigned int ms)   //延時(shí)的時(shí)間
{ 
uint k,j;  
 for(k=0;k<ms;k++)   
 for(j=0;j<100;j++); 
}
 void LCD_w_com(unsigned com)  // 寫入指令 
 {  
RW=0;  
RS=0;
E=1;  
P0=com; 
delay1ms(40);  
E=0; 
RW=1;
} 
void LCD_w_dat(uchar dat)   // 寫入數(shù)據(jù) 
{ 

	RW=0; 
	RS=1;  
	E=1; 
	P0=dat; 
	delay1ms(40); 
	E=0;  
	RW=1; 
}  
void gotoxy(unsigned x,unsigned y)  {  
 if(x==1)  
LCD_w_com(0x80+y); 
 else 
LCD_w_com(0xC0+y); 
} 
void clear_LCD(void) 
{ 
LCD_w_com(0x01);       //清屏指令  
LCD_w_com(0x02);      // 光標(biāo)歸位
} 
void init_LCD(void)      // 初始化LCD 
{  
LCD_w_com(0x38);     // LCD為兩行顯示             
LCD_w_com(0x0c);     // 顯示字符  關(guān)閉光標(biāo) 
LCD_w_com(0x06);     // 輸入方式設(shè)置 
 gotoxy(1,0); 
 for(i=0;i<=7;i++)  
{  
 LCD_w_dat(test[i]); 
 } 
} 

// 判斷取號鍵被按下
void panduan_01() 	
{  
   if(K1==0)  
    { delay(10);    //防抖
      if(K1==0)   
			{    
          if(qhao>99)  
					{
						EA=0;  
						delay1s(5000);      
						clear_LCD();      
						gotoxy(1,2);   
					for(m=0;m<=11;m++)   
					{    
						LCD_w_dat(prompt4[m]);      
					}    
					gotoxy(2,0);   
					for(m=0;m<=15;m++)   
					{    
						LCD_w_dat(prompt5[m]);  //提示隊(duì)列已滿      
					}     
					} 	
					else
					{
						clear_LCD();     
						prompt1[11]=(qhao)/10+'0';       
						prompt1[12]=(qhao)%10+'0';    
						qhao++;    
						gotoxy(1,0);  
						for(m=0;m<=13;m++)   
						{   
							LCD_w_dat(prompt1[m]); //"Your No.is 00!"; 
						}   
					} 
					dhao=qhao-jhao;    //等待的人數(shù)=人數(shù)-叫的人 
					prompt8[0]=(dhao-1)/10+'0';  
					prompt8[1]=(dhao-1)%10+'0';  
					gotoxy(2,0);				
					for(m=0;m<=9;m++)  
					{  
						LCD_w_dat(prompt8[m]);     
					} 
			}
	}
	 while(K1==0);   
	
}
//判斷等待的人數(shù)鍵被按下 ,按下顯示等待的人數(shù),松開后顯示取到的號碼 
void panduan_02() 
{   
   if(K2==0)  
    { delay(10);   //防抖
      if(K2==0)   
			{ 
					dhao=qhao-jhao;    //等待的人數(shù)=人數(shù)-叫的人
					clear_LCD();  
					prompt8[0]=dhao/10+'0';  
					prompt8[1]=dhao%10+'0';  
					gotoxy(2,0);				
				for(m=0;m<=9;m++)  
				{  
					LCD_w_dat(prompt8[m]);     
				}    

	   }  
	 }   
	
}  
void main(void) 
{ 
    clear_LCD();       
		init_LCD();
    intCon(); 
		jhao=0;
    while(1)  
     {   
		if(K1==0)  
	    panduan_01();
			SBUF=qhao;		//取號送發(fā)送存儲器
		while(!TI);   	//若一幀數(shù)據(jù)發(fā)送完畢,則TI=1,在將 TI置為0,讓其處于接收狀態(tài)
		TI=0;
		if(RI) //若接收完一幀數(shù)據(jù),則RI=1  
	    {    
		    RI=0; //將RI置0,讓其處于接收狀態(tài)   
		    jhao=SBUF;  //叫號數(shù)從接收存儲器中取得  
	    }		
		 if(K2==0)	   
				panduan_02();  	   
	   } 	   
}

取號機(jī)取號程序流程:

51單片機(jī)餐飲叫號,51單片機(jī)設(shè)計(jì),51單片機(jī),單片機(jī),嵌入式硬件

5 原理圖

原理圖由AD繪制,原理圖和仿真圖有出入,原理圖需要電源,電源開關(guān)模塊。此設(shè)計(jì)資料詳細(xì),硬件手冊資料圖片詳細(xì),不對硬件調(diào)試負(fù)責(zé),做實(shí)物需要一定的基本功。主控芯片可以換為STC89C51/STC89C52

51單片機(jī)餐飲叫號,51單片機(jī)設(shè)計(jì),51單片機(jī),單片機(jī),嵌入式硬件

如圖3.1是本系統(tǒng)的硬件設(shè)計(jì)方案,具體地,主機(jī)及從機(jī)硬件電路由以下模塊構(gòu)成:

(1)單片機(jī)最小系統(tǒng)。用于驅(qū)動和控制其他模塊,以實(shí)現(xiàn)整體功能,其以AT89C51單片機(jī)為核心芯片,并輔以復(fù)位電路和晶振電路。

(2)按鍵模塊。主機(jī)按鍵由四個(gè)矩陣按鍵構(gòu)成,代表不同的柜臺;從機(jī)按鍵由一個(gè)按鍵構(gòu)成,用于顧客取號;

(3)顯示模塊。主機(jī)通過LCD1602液晶顯示屏顯示被叫的號碼及服務(wù)的柜臺號; 從機(jī)通過LCD1602液晶顯示屏顯示自己的排隊(duì)號;

(4)蜂鳴器模塊。用以提醒顧客接收服務(wù);

51單片機(jī)餐飲叫號,51單片機(jī)設(shè)計(jì),51單片機(jī),單片機(jī),嵌入式硬件

(5)電源模塊。用于整個(gè)系統(tǒng)的供電。

6 視頻講解

代碼講解+仿真講解+仿真演示+原理圖講解

7 設(shè)計(jì)報(bào)告

排隊(duì)論(又稱隨機(jī)服務(wù)系統(tǒng))是研究系統(tǒng)由于隨機(jī)因素的干擾而出現(xiàn)排隊(duì)(或擁塞)現(xiàn)象的規(guī)律的一門學(xué)科,它適用于一切服務(wù)系統(tǒng),包括公共服務(wù)系統(tǒng)、通信系統(tǒng)、計(jì)算機(jī)系統(tǒng)等。可以說,凡是出現(xiàn)擁塞現(xiàn)象的系統(tǒng),都屬于隨機(jī)服務(wù)系統(tǒng)。一個(gè)對象通過擁塞系統(tǒng)接受服務(wù)必須經(jīng)過三個(gè)環(huán)節(jié),即到達(dá)、排隊(duì)等候處理、接受服務(wù)和離去。例如在醫(yī)院中,排隊(duì)流程如下:患者在掛號的同時(shí)領(lǐng)取排隊(duì)號碼,然后到候診區(qū)候診;當(dāng)為前一患者完成診斷后,醫(yī)生通過本系統(tǒng)呼叫隊(duì)列中下一位患者,患者就可直接到空閑診室行排隊(duì)等候服務(wù)。

另一個(gè)方面,伴隨著服務(wù)行業(yè)業(yè)務(wù)量不斷增長,業(yè)務(wù)種類日益增多,排隊(duì)等候已成為人們經(jīng)常面臨的實(shí)際問題。在銀行,醫(yī)院,電信,稅務(wù),工商等營業(yè)大廳里,前擁后擠,雜亂無章的排隊(duì)等候,已是司空見慣的現(xiàn)象,影響了服務(wù)質(zhì)量。因此,改善服務(wù)質(zhì)量,樹立良好的企業(yè)形象,解決客戶勞累的排隊(duì)現(xiàn)象,創(chuàng)造人性化服務(wù)環(huán)境已成為急需解決的問題。設(shè)計(jì)一套排隊(duì)抽號的服務(wù)系統(tǒng),可以很好的解決因排隊(duì)引起的種種問題。

本系統(tǒng)通過AT89C51單片機(jī)直接擴(kuò)展獨(dú)立鍵盤,完成排隊(duì)取號流程,單片機(jī)控制LCD1602顯示排隊(duì)等待情況,控制蜂鳴器發(fā)聲完成叫號功能。該系統(tǒng)有良好的人機(jī)交互界面,模擬排隊(duì)管理,科學(xué)地處理各種排隊(duì)情況,操作簡便,控制靈活,顯示清晰,制作成本低,性價(jià)比較高。

7.1 設(shè)計(jì)目的

(1)鞏固和加深對單片機(jī)原理和接口技術(shù)知識的理解;

(2)培養(yǎng)根據(jù)課題需要選學(xué)參考書籍、查閱手冊和文獻(xiàn)資料的能力;

(3)學(xué)會方案論證的比較方法,拓寬知識,初步掌握工程設(shè)計(jì)的基本方法;

(4)掌握常用儀器、儀表的正確使用方法,學(xué)會軟、硬件的設(shè)計(jì)和調(diào)試方法;

(5) 能按課程設(shè)計(jì)的要求編寫課程設(shè)計(jì)報(bào)告,能正確反映設(shè)計(jì)和實(shí)驗(yàn)成果,能用計(jì)算機(jī)繪制電路圖、仿真圖和流程圖。

7.2 設(shè)計(jì)要求及內(nèi)容

(1)主機(jī)通過按鍵完成叫號,LCD1602液晶顯示屏顯示被叫的號碼及服務(wù)的柜臺號;同時(shí),蜂鳴器響,以提醒顧客接收服務(wù);

(2)從機(jī)按下按鍵實(shí)現(xiàn)取號,并通過串行通信方式實(shí)現(xiàn)排隊(duì)取號功能;

(3)從機(jī)還可以實(shí)時(shí)顯示自己的排隊(duì)號。

7.3 本文結(jié)構(gòu)安排

本文圍繞著基于51單片機(jī)的排隊(duì)叫號系統(tǒng)展開設(shè)計(jì),以排隊(duì)叫號需求為出發(fā)點(diǎn),首先明確了研究背景與意義,介紹了設(shè)計(jì)目的,并論述了設(shè)計(jì)要求及設(shè)計(jì)內(nèi)容,接下來的幾章將具體展開相關(guān)設(shè)計(jì)與研究:

第二章介紹系統(tǒng)總體方案及相關(guān)理論知識,重點(diǎn)闡述了系統(tǒng)功能需求和系統(tǒng)方案論證,接著簡要介紹了系統(tǒng)硬件及軟件基本知識。

第三章重點(diǎn)展開硬件系統(tǒng)設(shè)計(jì),首先明確主機(jī)及從機(jī)硬件電路設(shè)計(jì)的思路及框架。接著依次介紹了:單片機(jī)最小系統(tǒng)、按鍵電路、LCD1602顯示電路、蜂鳴器提醒電路、電源電路等。通過對以上重點(diǎn)電路的介紹,強(qiáng)化了硬件電路設(shè)計(jì)的細(xì)節(jié)和重點(diǎn)。

第四章展開軟件系統(tǒng)設(shè)計(jì),通過對軟件設(shè)計(jì)進(jìn)行需求分析,明確軟件設(shè)計(jì)的目的與需求,進(jìn)一步通過程序流程圖展示設(shè)計(jì)思路及框架。接著依次介紹了主函數(shù)流程、從機(jī)取號流程、主機(jī)叫號程序流程、蜂鳴器提醒流程。

第五章介紹仿真實(shí)現(xiàn)步驟,特別是仿真電路實(shí)現(xiàn)的流程和仿真測試,完美實(shí)現(xiàn)了設(shè)計(jì)需求及目標(biāo)。

第六章總結(jié)全文,總結(jié)本文所做的工作及貢獻(xiàn),并根據(jù)存在的問題展望此課題今后的研究方向。

51單片機(jī)餐飲叫號,51單片機(jī)設(shè)計(jì),51單片機(jī),單片機(jī),嵌入式硬件

資料清單下載鏈接

見文章視頻

51單片機(jī)餐飲叫號,51單片機(jī)設(shè)計(jì),51單片機(jī),單片機(jī),嵌入式硬件

本資料下載鏈接:文章來源地址http://www.zghlxwxcb.cn/news/detail-763924.html

到了這里,關(guān)于基于51單片機(jī)的雙機(jī)串口通信排隊(duì)叫號系統(tǒng)(LCD顯示)設(shè)計(jì)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 51單片機(jī)串口通信

    51單片機(jī)串口通信

    串口通信(serial communication)是指外設(shè)和計(jì)算機(jī)間通過數(shù)據(jù)信號線、地線等按位進(jìn)行傳輸數(shù)據(jù)的一種通信方式,屬于串行通信方式。 接口標(biāo)準(zhǔn):常用RS-232和RS-485 RS-232C有一種9針的非標(biāo)準(zhǔn)連接器口,簡稱DB9。串口通信使用的大多都是DB9接口。在串口通信中,通常我們只使用2、

    2024年02月05日
    瀏覽(26)
  • 51單片機(jī)-串口通信

    51單片機(jī)-串口通信

    目錄 1.什么是通信 1.1.通信的概念 1.2.傳送方式 1.3.同步方式 1.4.傳送方向 1.5.校驗(yàn)方式 2.單片機(jī)串口介紹 2.1.硬件電路 2.2.電平標(biāo)準(zhǔn) 2.3.常見接口 2.4.內(nèi)部結(jié)構(gòu) 2.5.相關(guān)寄存器 2.6.工作模式(模式1) 2.7.如何配置串口中斷 3.實(shí)際應(yīng)用 3.1.單片機(jī)向電腦發(fā)送數(shù)據(jù) 3.2.電腦向單片機(jī)發(fā)送

    2024年02月01日
    瀏覽(24)
  • 51單片機(jī)學(xué)習(xí)--串口通信

    51單片機(jī)學(xué)習(xí)--串口通信

    首先需要配置寄存器: 下面這里SCON配0x40和0x50都可以,因?yàn)闀簳r(shí)還不需要接受信息,所以REN置1置0都可 在main中調(diào)用SendByte函數(shù),每按下一次復(fù)位鍵,接收緩沖區(qū)就會收到一個(gè)11 這就是單向發(fā)送的一個(gè)簡單實(shí)例,接下來實(shí)現(xiàn)每隔一秒發(fā)送一個(gè)遞增的數(shù)據(jù),只需要添加一個(gè)全局變

    2024年02月14日
    瀏覽(25)
  • 51單片機(jī)(串口通信、藍(lán)牙)

    51單片機(jī)(串口通信、藍(lán)牙)

    串行接口簡稱串口,也稱 串行通信接口 或串行通訊接口(通常指COM接口),是采用串行通信方 式的擴(kuò)展接口。串行接口(Serial Interface)是指 數(shù)據(jù)一位一位地順序傳送。 其特點(diǎn)是通信線路簡 單,只要一對傳輸線就可以實(shí)現(xiàn) 雙向通信( 可以直接利用電話線作為傳輸線),從

    2024年02月15日
    瀏覽(24)
  • 51單片機(jī) | 串口通信實(shí)驗(yàn)

    51單片機(jī) | 串口通信實(shí)驗(yàn)

    ??這一節(jié)我們就來學(xué)習(xí) 51 單片機(jī)的串口通信。開發(fā)板上集成了 1 個(gè)串口通信電路,是 USB 轉(zhuǎn)串口模塊,它既可下載程序也可實(shí)現(xiàn)串口通信功能。本節(jié)要實(shí)現(xiàn)的功能是: 51 單片機(jī)通過串口( UART )實(shí)現(xiàn)與 PC 機(jī)對話, 51 單片機(jī)的串口收到 PC 機(jī)發(fā)來的數(shù)據(jù)后原封不動的返回給

    2024年02月04日
    瀏覽(27)
  • 51單片機(jī)(八)串口通信

    51單片機(jī)(八)串口通信

    ?? 專欄簡介:本專欄記錄了從零學(xué)習(xí)單片機(jī)的過程,其中包括51單片機(jī)和STM32單片機(jī)兩部分;建議先學(xué)習(xí)51單片機(jī),其是STM32等高級單片機(jī)的基礎(chǔ);這樣再學(xué)習(xí)STM32時(shí)才能融會貫通。 ?? 專欄適用人群 :適用于想要從零基礎(chǔ)開始學(xué)習(xí)入門單片機(jī),且有一定C語言基礎(chǔ)的的童鞋

    2024年02月05日
    瀏覽(28)
  • [物聯(lián)網(wǎng)工程]基于Protues仿真平臺的C51/2單片機(jī)藍(lán)牙串口通信控制繼電器實(shí)驗(yàn)

    目錄 實(shí)驗(yàn)?zāi)康?實(shí)驗(yàn)內(nèi)容 仿真部分 實(shí)戰(zhàn)部分 環(huán)境搭建 軟件下載 仿真實(shí)驗(yàn)過程 模擬電路仿真 打開Proteus并創(chuàng)建新項(xiàng)目 繪制仿真電路圖 程序?qū)崿F(xiàn) 程序編寫 程序?qū)?運(yùn)行仿真 真實(shí)設(shè)備實(shí)戰(zhàn) 硬件連接 程序?qū)崿F(xiàn) 程序編寫 程序?qū)?運(yùn)行驗(yàn)證 總結(jié)拓展 掌握AT89C51藍(lán)牙通信的工作原

    2024年03月20日
    瀏覽(37)
  • 132、仿真-基于51單片機(jī)主從串口通信家用防盜報(bào)警器設(shè)計(jì)(程序+Proteus仿真+流程圖等)

    132、仿真-基于51單片機(jī)主從串口通信家用防盜報(bào)警器設(shè)計(jì)(程序+Proteus仿真+流程圖等)

    畢設(shè)幫助、開題指導(dǎo)、技術(shù)解答(有償)見文未 目錄 一、設(shè)計(jì)功能 二、Proteus仿真圖?編輯 三、程序源碼 資料包括: 需要完整的資料可以點(diǎn)擊下面的名片加下我,找我要資源壓縮包的百度網(wǎng)盤下載地址及提取碼。 方案選擇 單片機(jī)的選擇 方案一:STM32系列單片機(jī)控制,該型號

    2024年02月16日
    瀏覽(26)
  • 【51單片機(jī)】串口通信&&使用串口通信控制LED燈

    【51單片機(jī)】串口通信&&使用串口通信控制LED燈

    ??專欄【51單片機(jī)】 ??喜歡的詩句:更喜岷山千里雪 三軍過后盡開顏。 ??音樂分享【Promise】 ??大一同學(xué)小吉,歡迎并且感謝大家指出我的問題?? 目錄 ??串口通信 ??代碼? ???串口初始化 ?分析? ??????確定T1的工作方式 ??TMOD=0X20;? ??????確定T1的初值 ??

    2024年02月17日
    瀏覽(57)
  • 【51單片機(jī)系列】proteus仿真單片機(jī)的串口通信

    【51單片機(jī)系列】proteus仿真單片機(jī)的串口通信

    本文參考:https://zhuanlan.zhihu.com/p/425809292。 在proteus之外使用串口軟件和單片機(jī)通信。通過在proteus設(shè)計(jì)一個(gè)單片機(jī)接收PC發(fā)送的數(shù)據(jù),并將接收的數(shù)據(jù)發(fā)送出去,利用軟件【Configure Virtual Serial Port Driver】創(chuàng)建一對虛擬串口,利用軟件【串口助手】向單片機(jī)發(fā)送數(shù)據(jù)。 proteus仿真

    2024年01月17日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包