国产久操视频-国产久草视频-国产久热精品-国产久热香蕉在线观看-青青青青娱乐-青青青青在线成人视99

  • 方案介紹
    • 1.主要功能:
    • 2.仿真
    • 3.程序
    • 4.設(shè)計報告
    • 2 總體設(shè)計方案
    • 5.設(shè)計資料內(nèi)容清單
  • 附件下載
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

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

2024/08/29
2099
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

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

共1個文件

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

仿真圖proteus 7.8及以上

程序編譯器:keil 4/keil 5

編程語言:C語言

設(shè)計編號:S0034

1.主要功能:

設(shè)計要求

采用51單片機(jī)作為核心控制器

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

2、從機(jī)通過串行通信方式完成排隊(duì)職號功能;

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

任務(wù)安排

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

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

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

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

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

2.仿真

開始仿真

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

img

3.程序

img

叫號機(jī)代碼

#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;//清除接收中斷標(biāo)志位
	num1=i;
}

取號機(jī)代碼

#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;//清除接收中斷標(biāo)志位
	num2=i;
}

4.設(shè)計報告

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

img

部分內(nèi)容

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

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

另一個方面,伴隨著服務(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è)計一套排隊(duì)抽號的服務(wù)系統(tǒng),可以很好的解決因排隊(duì)引起的種種問題。

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

1.2 設(shè)計目的

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

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

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

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

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

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

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

2、從機(jī)通過串行通信方式完成排隊(duì)職號功能;

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

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

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

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

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

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

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

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

2 總體設(shè)計方案

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

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

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

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

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

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

img

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

見文章開頭視頻

img

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

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
MOCD207M 1 onsemi 8-pin SOIC Dual-Channel Phototransistor Output Optocoupler, 3000-TUBE

ECAD模型

下載ECAD模型
$1.26 查看
9DBV0441AKLFT 1 Integrated Device Technology Inc VFQFPN-32, Reel

ECAD模型

下載ECAD模型
$4.96 查看
AFBR-5972Z 1 Foxconn Transceiver, 635nm Min, 675nm Max, 100Mbps(Tx), 100Mbps(Rx), Panel Mount, ROHS COMPLIANT PACKAGE
$150.74 查看

相關(guān)推薦

方案定制

去合作
方案開發(fā)定制化,2000+方案商即時響應(yīng)!
兰州市| 昌平区| 高邮市| 眉山市| 延津县| 临汾市| 裕民县| 奎屯市| 万安县| 元朗区| 五指山市| 漳平市| 临猗县| 绥棱县| 黔江区| 尉犁县| 阳江市| 区。| 阿荣旗| 城固县| 格尔木市| 蕲春县| 阿城市| 井陉县| 泰宁县| 普陀区| 甘谷县| 舞钢市| 望城县| 闽清县| 措勤县| 彝良县| 方城县| 新营市| 茂名市| 怀仁县| 长沙县| 黄浦区| 宿迁市| 临桂县| 竹北市|