加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

51單片機雙機串口數(shù)碼管顯示排隊叫號仿真設(shè)計( proteus仿真+程序+報告+講解視頻)

08/29 12:49
1817
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗、收獲成長和認同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
實物圖
相關(guān)方案
  • 方案介紹
    • 1.主要功能:
    • 2.仿真
    • 3.程序
    • 4.設(shè)計報告
    • 2 總體設(shè)計方案
    • 5.設(shè)計資料內(nèi)容清單
  • 相關(guān)文件
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

51單片機雙機串口數(shù)碼管顯示排隊叫號仿真設(shè)計( proteus仿真+程序+報告+講解視頻)

仿真圖proteus 7.8及以上

程序編譯器:keil 4/keil 5

編程語言:C語言

設(shè)計編號:S0034

1.主要功能:

設(shè)計要求

采用51單片機作為核心控制器

1、主機通過按鍵完成叫號,數(shù)碼管顯示被叫的號碼,蜂嗚器響,提醒顧客接受服務(wù);

2、從機通過串行通信方式完成排隊職號功能;

3、從機顯示隊列中排在其前面的顧客數(shù);

任務(wù)安排

組員1:多機通信程序設(shè)計

組員2:數(shù)碼管顯示程序設(shè)計功能

組員3:根據(jù)組員1和組員2的子程序完成設(shè)計所需功能程序設(shè)計

從機顯示隊列中排在其前面的顧客數(shù);

以下為本設(shè)計資料展示圖:

2.仿真

開始仿真

點擊開始按鍵后,開始仿真后先取號,點一次取號鍵領(lǐng)取一個號碼。當前是六號,前面還有5個人排隊,正在辦理業(yè)務(wù)的是01號。

img

3.程序

img

叫號機代碼

#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int
sbit k1=P3^4;//按鈕
sbit k2=P3^5;//休息
sbit beep=P2^3;//蜂鳴器
sbit duan=P2^6;
sbit wei=P2^7;//數(shù)碼管
uint beep_time=0;
uchar mode=0;//模式
//數(shù)碼管編碼
uchar code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar num1=0;//號碼
uchar num2=0;//叫號數(shù)字 

//延時
void delay(uint i)
{
	while(i--);
}
//主函數(shù)
void main()
{
	uchar k=0;
	SCON=0X50;			//設(shè)置為工作方式1
	TMOD=0X21;			//設(shè)置計數(shù)器工作方式2
	TH1=0XFD;			
	TL1=0XFD;
	ES=1;						//打開接收中斷
	TR1=1;					//打開計數(shù)器

	TH0=(65536-1000)/256;
	TL0=(65536-1000)%256;	
	ET0=1;//打開定時器0中斷允許
	EA=1;//打開總中斷
	TR0=1;//打開定時器
	while(1)
	{
		//叫號
		if(!k1 &&(k!=1))
		{
			k=1;
			if(num2<num1)
			{
			 	mode=1;
				num2++;
				SBUF=num2;while(!TI);TI=0;
			 	beep_time=1000;
			}
			else
				mode=0;
			 
		}
		//休息 
		if(!k2 &&(k!=2))
		{
			 k=2;
			 mode=0;
		} 
		//顯示
		if(mode>0)
		{
			P0=0;duan=1;delay(1);duan=0;//消隱
			P0=0xfe;wei=1;delay(1);wei=0;//位選
			P0=smgduan[num2/10];duan=1;delay(1);duan=0;//數(shù)據(jù)
			delay(50);
			P0=0;duan=1;delay(1);duan=0;//消隱
			P0=0xfd;wei=1;delay(1);wei=0;//位選
			P0=smgduan[num2%10];duan=1;delay(1);duan=0;//數(shù)據(jù)
			delay(50);
		}
		else
		{
			P0=0x40;duan=1;delay(1);duan=0;//減號
			P0=0;wei=1;delay(1);wei=0;//位選
		}
		if(k1 && k2)
			k=0;
	}
}
//定時器0中斷
void Timer0() interrupt 1
{
	if(beep_time>0)//蜂鳴器響
	{
		beep_time--;
		beep=!beep;
	}
	else
		beep=1;
	TH0=(65536-1000)/256;
	TL0=(65536-1000)%256;
}
//串口中斷
void Usart() interrupt 4
{
	uchar i;

	i=SBUF;//出去接收到的數(shù)據(jù)
	RI = 0;//清除接收中斷標志位
	num1=i;
}

取號機代碼

#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int
sbit k1=P3^4;//按鈕
sbit beep=P2^3;//蜂鳴器
sbit duan=P2^6;
sbit wei=P2^7;//數(shù)碼管
uint beep_time=0;
uint time=0;
//數(shù)碼管編碼
uchar code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar num1=0;//號碼
uchar num2=0;//叫號數(shù)字 

//延時
void delay(uint i)
{
	while(i--);
}
//主函數(shù)
void main()
{
	uchar k=0;
	SCON=0X50;			//設(shè)置為工作方式1
	TMOD=0X21;			//設(shè)置計數(shù)器工作方式2
	TH1=0XFD;			
	TL1=0XFD;
	ES=1;						//打開接收中斷
	TR1=1;					//打開計數(shù)器

	TH0=(65536-1000)/256;
	TL0=(65536-1000)%256;	
	ET0=1;//打開定時器0中斷允許
	EA=1;//打開總中斷
	TR0=1;//打開定時器
	while(1)
	{
		//拿號
		if(!k1 &&(k!=1))
		{
			 k=1;
			 num1++;
			 SBUF=num1;while(!TI);TI=0;
			 beep_time=500;
			 time=5000;
		} 
		//顯示
		if(time>0)
		{
			P0=0;duan=1;delay(1);duan=0;//消隱
			P0=0xfe;wei=1;delay(1);wei=0;//位選
			P0=smgduan[num1/10];duan=1;delay(1);duan=0;//數(shù)據(jù)
			delay(50);
			P0=0;duan=1;delay(1);duan=0;//消隱
			P0=0xfd;wei=1;delay(1);wei=0;//位選
			P0=smgduan[num1%10];duan=1;delay(1);duan=0;//數(shù)據(jù)
			delay(50);

			P0=0;duan=1;delay(1);duan=0;//消隱
			P0=0xef;wei=1;delay(1);wei=0;//位選
			P0=smgduan[(num1-num2)/10];duan=1;delay(1);duan=0;//數(shù)據(jù)
			delay(50);
			P0=0;duan=1;delay(1);duan=0;//消隱
			P0=0xdf;wei=1;delay(1);wei=0;//位選
			P0=smgduan[(num1-num2)%10];duan=1;delay(1);duan=0;//數(shù)據(jù)
			delay(50);
		}
		else
		{
			P0=0x40;duan=1;delay(1);duan=0;//減號
			P0=0;wei=1;delay(1);wei=0;//位選
		}
		if(k1)
			k=0;
	}
}

//串口中斷
void Usart() interrupt 4
{
	uchar i;

	i=SBUF;//出去接收到的數(shù)據(jù)
	RI = 0;//清除接收中斷標志位
	num2=i;
}

4.設(shè)計報告

報告格式規(guī)范,字數(shù)6584,含各種框圖。

img

部分內(nèi)容

1.1 設(shè)計背景與意義

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

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

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

1.2 設(shè)計目的

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

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

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

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

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

1.3 設(shè)計要求及內(nèi)容

1、主機通過按鍵完成叫號,數(shù)碼管顯示被叫的號碼,蜂嗚器響,提醒顧客接受服務(wù);

2、從機通過串行通信方式完成排隊職號功能;

3、從機顯示隊列中排在其前面的顧客數(shù);

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

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

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

第三章重點展開硬件系統(tǒng)設(shè)計,首先明確叫號機及取號機硬件電路設(shè)計的思路及框架。接著依次介紹了:單片機最小系統(tǒng)、按鍵電路、數(shù)碼管顯示電路、蜂鳴器提醒電路、電源電路等。通過對以上重點電路的介紹,強化了硬件電路設(shè)計的細節(jié)和重點。

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

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

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

2 總體設(shè)計方案

2.1 系統(tǒng)需求及方案設(shè)計

為了實現(xiàn)基于51單片機的排隊叫號系統(tǒng)的設(shè)計,本文將實現(xiàn)以下設(shè)計需求:

(1)取號機可實時進行取號,較好的現(xiàn)實中的取號情況;

(2)直接、清晰明了的顯示顧客排隊號;

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

(4)操作簡單、功能完善、精確度高。

img

5.設(shè)計資料內(nèi)容清單

見文章開頭視頻

img

  • 設(shè)計資料獲取聯(lián)系方式.doc

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
CC430F5137IRGZ 1 Texas Instruments 16-Bit ultra-low-power CC430 Sub 1 GHz wireless MCU with 12-Bit ADC, 32kB Flash and 4kB RAM 48-VQFN -40 to 85

ECAD模型

下載ECAD模型
$7.53 查看
S29AL016J70TFI020 1 Cypress Semiconductor Flash, 1MX16, 70ns, PDSO48, TSOP-48
$10.3 查看
LAN8720AI-CP-ABC 1 Microchip Technology Inc Ethernet Transceiver

ECAD模型

下載ECAD模型
$1.26 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜