單片機技術與應用項目式教程 課件 項目5 醫院呼叫系統設計_第1頁
單片機技術與應用項目式教程 課件 項目5 醫院呼叫系統設計_第2頁
單片機技術與應用項目式教程 課件 項目5 醫院呼叫系統設計_第3頁
單片機技術與應用項目式教程 課件 項目5 醫院呼叫系統設計_第4頁
單片機技術與應用項目式教程 課件 項目5 醫院呼叫系統設計_第5頁
已閱讀5頁,還剩40頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《單片機技術與應用項目式教程》—動態數碼管顯示醫院呼叫系統背景:1)、2022年春節,廣西百色疫情突然爆發,誰也預料不到這次疫情如此來勢洶洶,僅僅幾天時間就感染了二百六十多人。2)、廣西百色疫情,醫護人員騎電動車下鄉做核酸檢測。最美逆行者:動態數碼管顯示1、本任務學習要求及知識要點:1)、掌握數碼管構造及掌握數碼管顯示原理方法。2)、正確使用數碼管位選和段選原理,查表顯示方法,實現動態顯示。2、數碼管內部構造及基本工作原理:1)、數碼管的內部構造:動態數碼管顯示2)、數碼管的工作原理及實物形態:字符段hgfedcba數據位D7D6D5D4D3D2D1D0狀態10000000圖1圖2圖3LED數碼管字形段碼表顯示字形共陽極字段碼共陰極字段碼顯示字形共陽極字段碼共陰極字段碼00C0H3FH990H6FH10F9H06HA88H77H20A4H5BHB83H7CH30B0H4FHC0C6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF8EH71H70F8H07H熄滅0FFH00H880H7FH

動態數碼管顯示3)、數碼管與單片連接示意圖:3.單片機驅動數碼管動態顯示的實現匯編語言代碼:動態數碼管顯示MAIN:MOVR0,#05HMOVR1,#10HMOVR2,#04HMOVDPTR,#TABLOOP:MOVA,R1MOVP2,ARRAMOVR1,AMOVA,R0MOVCA,@A+DPTRMOVP0,ALCALLDEL5MSINCR0DJNZR2,LOOPSJMPMAIN開始程序初始化送位選數據指向下一位顯示數據送段碼數據是否4位LED顯示是否已完成?C語言代碼:動態數碼管顯示for(a=0;a<4;a++){P2=wm[a];P0=dm[dat[a]];delay1ms();P2=0xff;}3.單片機驅動數碼管動態顯示的實現開始程序初始化送位選數據送段碼數據、顯示指向下一位延時消隱是否4位LED顯示是否已完成?謝謝觀看!《單片機技術與應用項目式教程》—按鍵控制按鍵控制1、本任務學習要求及知識要點:1)、了解按鍵的連接方式,檢測方法。2)、了解矩陣鍵盤的工作原理,理解識別方法,理解行掃描,列掃描的方法。3)、掌握矩陣鍵盤和89C51單片機連接,識別、并讀出鍵值。2、識別方法:1)、將行線置1設為輸入狀態,將列線設置為0,檢測行線是否有按鍵按下。2)、檢測到有按鍵按下后,執行消除抖動延時,執行鍵值查找。

1行線置1列線置0

2檢測是否有鍵按下

3執行消抖

處理

4

執行鍵值查找

5

顯示鍵值按鍵控制3、按鍵與單片連接示意圖:按鍵控制4、按鍵控制主程序流程圖否判斷列,讀取鍵值送數碼管顯示,返回到讀行狀態是延時消抖P1.0~1.3置0,P1.4~1.7置1,準備讀取列狀態開始P1.0~1.3置1,P1.4~1.7置0,準備讀取行狀態判斷是否有鍵按下否否否判斷P1.0是否為0判斷P1.1是否為0判斷P1.2是否為0判斷P1.3是否為0判斷列,讀取鍵值送數碼管顯示,返回到讀行狀態是判斷列,讀取鍵值送數碼管顯示,返回到讀行狀態是判斷列,讀取鍵值送數碼管顯示,返回到讀行狀態是按鍵控制5.按鍵控制的實現(按鍵檢測部分代碼)匯編語言代碼:MAIN:MOVP1,#0FHMOVA,P1CJNEA,#0FH,NEXT1SJMPMAINNEXT1:ACALLDEL20MS

1行線置1列線置0

2檢測是否有鍵按下

3執行消抖

處理

1行線置1列線置0

2檢測是否有鍵按下

3執行消抖

處理按鍵控制5.1、按鍵控制的實現(按鍵檢測部分代碼)C語言代碼:voidkey_scan(){unsignedcharhang,lie;unsignedcharkey_num=0;P1=0x0f;hang=P1;if(hang!=0x0f){delay(5);/**********************列判斷,鍵值讀取部分***********************/}}

1行線置1列線置0

2檢測是否有鍵按下

3執行消抖

處理

1行線置1列線置0

2檢測是否有鍵按下

3執行消抖

處理謝謝觀看!《單片機技術與應用項目式教程》—串行通信串行通信1、本任務學習要求及知識要點:1)、掌握單片機的通訊原理,了解相關寄存器設置。2)、掌握通信波特率設置。3)、掌握單片機與虛擬終端的使用。2、串行通訊相關寄存器:SCON、PCON、IE、TMOD3、了解串行通信工作方式及波特率的設置:SCOND7D6D5D4D3D2D1D0符號位地址位各位含義如下:SM0SM1工作方式功能描述波特率00方式0同步移位寄存器f/1201方式110位移位收發器由定時器控制10方式211位移位收發器f/32或f/6411方式311位移位收發器由定時器控制1)、SM0、SM1:串行口工作方式控制位,對應了四種工作方式如下:SM09FSM19ESM29DREN9CTB89BRB89ATI99RI982)、SM2:多機通信控制位,主要用于方式2和方式3。若SM2為1,則允許多機通信,即一個主機和多個從機通信。當從機接收數據的第9位(D8位即RB8)為1時,數據才裝入SBUF,并將串行口接收中斷標志位RI置1,向CPU申請中斷。

當從機接收數據的第9位(D8位即RB8)為0時,不對串行口的接收標志位RI置位,信息丟失。若SM2為0,則不屬于多機通信。

當接收到一幀數據后,不管第9位數據是0還是1,都要置RI為1,并將收到的數據裝入SBUF中。

以上是工作在方式2和方式3的情況。串口工作在方式0時,SM2必須置為0;而工作在方式1時,只有接收到有效停止位時,RI才置為1,以便接收下一幀數據。3)、REN:允許接收控制位。當REN=1時,允許接收;當REN=0時,禁止接收。此位由軟件置1清04)、TB8:發送數據的第9位。用于方式2和方式3中,在方式0和方式1中此位未用。多機通信協議中規定:發送數據的第9位(D8位即RB8)為1,說明本幀為地址幀,發送數據的第9位(D8位即RB8)為0,說明本幀為數據幀。TB8還有另一個功能就是做奇偶數據校驗位。此位由軟件置1或清零。5)、RB8:接收數據的第9位。用于方式2和方式3中,在方式0和方式1中此位未用。與TB8類似,它可以約定做接收到的地址/數據標志位,還可以約定做接收到的奇偶校驗位。在多機通信的方式2和方式3中,SM2=1時,若RB8=1,說明接收到的數據為地址幀,反之為數據幀。在方式1中若SM2=0(不是多機通信情況)時,RB8中裝入的是接收到的停止位。6)、TI:發送中斷標志位,表示發送完成。

在一幀數據發送結束時TI被置1,向CPU表示數據發送緩沖器SBUF已空,讓CPU可以準備發送下一幀數據。串口發送中斷被相應后,TI不會自動復位,必須用軟件清0。7)、RI接收中斷標志位,表示接收數據就緒。在接收到一幀有效數據后,由硬件將RI置1去申請中斷,表示一幀數據已接收完畢,并裝入了SBUF中,要求CPU響應中斷取走數據。RI同樣不能自動清0,必須用軟件置0。單片機復位后,串行口控制寄存器SCON中的所有位均清“0”。串行通信7)、RI接收中斷標志位,表示接收數據就緒。在接收到一幀有效數據后,由硬件將RI置1去申請中斷,表示一幀數據已接收完畢,并裝入了SBUF中,要求CPU響應中斷取走數據。RI同樣不能自動清0,必須用軟件置0。單片機復位后,串行口控制寄存器SCON中的所有位均清“0”。PCOND7D6D5D4D3D2D1D0位符號SMOD-------GF1GF0PDIDL電源控制寄存器PCON:PCON不可位尋址,它的字節地址是87H,PCON的低四位是掉電方式控制位。只有它的最高位SMOD與串口的工作有關,用于串口波特率控制;若SMOD=1,在串行口工作在方式1、2、3的條件下,波特率提高一倍;若SMOD=0;在串行口工作在方式1、2、3的條件下,波特率不變。單片機復位時SMOD=0。串行通信4、工作方式及波特率的設置:1)、工作方式:89C51單片機可以設置四種工作模式:8位、10位、11位三種幀格式。方式0:以8位數據為一幀傳輸,不設起始停止位,先發送或接收最低位。

D0D1D2D3D4D5D6D7

方式1:以10位數據為一幀傳輸,設有1個起始位“0”、8個數據位和1個停止位“1”。

起始D0D1D2D3D4D5D6D7停止

方式2和3:以11位數據為一幀傳輸,設有1個起始位“0”、8個數據位、一個附加第9位、和1停止位“1”。附加位的第9位(D8)由軟件置1或清0,發送時在TB8中,接收時在RB8中。

起始D0D1D2D3D4D5D6D7D8停止

串行通信2)、波特率的設置。串行口T1串行口工作方式波特率fSMODC/`T工作方式定時器初值方式01Mbit/s

無關

方式2375kbit/s

1無關無關無關187.5kbit/s12MHz0

62.5kbit/s

1

FFH

19.2kbit/s

1

FDH

9.6kbit/s

FDH方式1或方式34.8kbit/s

2FAH

2.4kbit/s11.0592MHz00

FAH

1.2kbit/s

E8H

137.5bit/s

1DH

110bit/s12MHz

1FEEBH串行通信IED7D6D5D4D3D2D1D0位符號EA----ESET1EX1ET0EX0位地址AF----ACABAAA9A8各位含義如下:1)、EA——中斷允許總控制位。EA=0:總中斷禁止,禁止所有中斷;EA=1:中斷總允許。2)、ET0(ET1)——定時器/計數器中斷允許控制位。ET0(ET1)=0:禁止定時器/計數器中斷;ET0(ET1)=1:允許定時器/計數器中斷。串行通信TMOD(89H)T1T0D7D6D5D4D3D2D1D0GATEC/

TM1M0GATEC/

TM1M0各位含義如下:1)、GATE——門控位。

GATE=0:表示只要用軟件將TCON中的運行控制位TR0(或TR1)置為1,即可啟動定時器/計數器0或定時器/計數器1。GATE=1:表示只有在

引腳為高電平,并且用軟件將運行控制位TR0(或TR1)置為1的前提條件下才可以啟動定時器/計數器0或定時器/計數器1。串行通信2)、C/

T——定時/計數方式選擇位。C/

T=0:即滿足

T有效,設置為定時方式(Timer),對內部機器周期進行計數。C/

T=1:即滿足C有效,設置為計數方式(Counter),通過T0(P3.4)或T1(P3.5)引腳對外部脈沖信號進行計數。3)、M1M0——工作方式選擇位。M1M0=00:為工作方式0,作13位計數器用,TL0(或TL1)只用低5位參與分頻,TH0(或TH1)用了全部的8位。M1M0=01:為工作方式1,作16位計數器用,TL0、TH0(或TL1、TH1)全用。M1M0=10:為工作方式2,2個8獨立的8位計數器用,當溢出時TH0(TH1)將存放的值自動重裝入TL0(或TL1)。M1M0=11:為工作方式3,僅適用于定時器/計數器0,定時器/計數器1失效,作用兩個8位的計數器用。串行通信5、串行通信單片連接示意圖:串行通信6、串行通信程序流程圖:設置串行口工作方式設置波特率發送數據數據送緩存消除發送標志否否接收完成?發送完?串行通信開始1)串行通信程序實現部分代碼:匯編語言“部分”源代碼:MAIN:MOVSCON,#50HMOVTMOD,#20HORLPCON,#80HMOVTL1,#0F3HMOVTH1,#0F3HSETBTR1SETBESSETBEASJMP$URT_INT:CLREACLRRIPUSHDPLPUSHDPHPUSHACCMOVA,SBUFMOVSBUF,AJNBTI,$CLRTIPOPACCPOPDPHPOPDPLSETBEARETIEND串行通信設置串行口工作方式設置波特率發送數據數據送緩存消除發送標志否否接收完成?發送完?開始1)串行通信程序實現部分代碼:C語言“部分”源代碼:SCON=0x50;TMOD=0x20;PCON=0x00;TH1=0xfd;TL1=0xfd;TI=0;RI=0;TR1=1;EA=1;ES=1;while(1);voidSerial()interrupt4{if(RI==1){RI=0;dat=SBUF;SBUF=dat;elseif(TI==1)TI=0;}}串行通信設置串行口工作方式設置波特率發送數據數據送緩存消除發送標志否否接收完成?發送完?開始謝謝觀看!《單片機技術與應用項目式教程》—雙機通信雙機通信1、本任務學習要求及知識要點:1)、掌握單片機的通訊原理,了解相關寄存器設置。2)、掌握通信波特率設置。3)、掌握單片機(主機)發送數據的方法、掌握(從機)接收數據后的操作。2、串行通訊相關寄存器:SCON、PCON、IE、TMOD雙機通信3、了解串行通信工作方式及波特率的設置:SCOND7D6D5D4D3D2D1D0符號位地址位各位含義如下:SM0SM1工作方式功能描述波特率00方式0同步移位寄存器f/1201方式110位移位收發器由定時器控制10方式211位移位收發器f/32或f/6411方式311位移位收發器由定時器控制1)、SM0、SM1:串行口工作方式控制位,對應了四種工作方式如下:SM09FSM19ESM29DREN9CTB89BRB89ATI99RI982)、SM2:多機通信控制位,主要用于方式2和方式3。若SM2為1,則允許多機通信,即一個主機和多個從機通信。當從機接收數據的第9位(D8位即RB8)為1時,數據才裝入SBUF,并將串行口接收中斷標志位RI置1,向CPU申請中斷。

當從機接收數據的第9位(D8位即RB8)為0時,不對串行口的接收標志位RI置位,信息丟失。若SM2為0,則不屬于多機通信。

當接收到一幀數據后,不管第9位數據是0還是1,都要置RI為1,并將收到的數據裝入SBUF中。

以上是工作在方式2和方式3的情況。串口工作在方式0時,SM2必須置為0;而工作在方式1時,只有接收到有效停止位時,RI才置為1,以便接收下一幀數據。3)、REN:允許接收控制位。當REN=1時,允許接收;當REN=0時,禁止接收。此位由軟件置1清04)、TB8:發送數據的第9位。用于方式2和方式3中,在方式0和方式1中此位未用。多機通信協議中規定:發送數據的第9位(D8位即RB8)為1,說明本幀為地址幀,發送數據的第9位(D8位即RB8)為0,說明本幀為數據幀。TB8還有另一個功能就是做奇偶數據校驗位。此位由軟件置1或清零。5)、RB8:接收數據的第9位。用于方式2和方式3中,在方式0和方式1中此位未用。與TB8類似,它可以約定做接收到的地址/數據標志位,還可以約定做接收到的奇偶校驗位。在多機通信的方式2和方式3中,SM2=1時,若RB8=1,說明接收到的數據為地址幀,反之為數據幀。在方式1中若SM2=0(不是多機通信情況)時,RB8中裝入的是接收到的停止位。6)、TI:發送中斷標志位,表示發送完成。

在一幀數據發送結束時TI被置1,向CPU表示數據發送緩沖器SBUF已空,讓CPU可以準備發送下一幀數據。串口發送中斷被相應后,TI不會自動復位,必須用軟件清0。7)、RI接收中斷標志位,表示接收數據就緒。在接收到一幀有效數據后,由硬件將RI置1去申請中斷,表示一幀數據已接收完畢,并裝入了SBUF中,要求CPU響應中斷取走數據。RI同樣不能自動清0,必須用軟件置0。單片機復位后,串行口控制寄存器SCON中的所有位均清“0”。雙機通信7)、RI接收中斷標志位,表示接收數據就緒。在接收到一幀有效數據后,由硬件將RI置1去申請中斷,表示一幀數據已接收完畢,并裝入了SBUF中,要求CPU響應中斷取走數據。RI同樣不能自動清0,必須用軟件置0。單片機復位后,串行口控制寄存器SCON中的所有位均清“0”。PCOND7D6D5D4D3D2D1D0位符號SMOD-------GF1GF0PDIDL電源控制寄存器PCON:PCON不可位尋址,它的字節地址是87H,PCON的低四位是掉電方式控制位。只有它的最高位SMOD與串口的工作有關,用于串口波特率控制;若SMOD=1,在串行口工作在方式1、2、3的條件下,波特率提高一倍;若SMOD=0;在串行口工作在方式1、2、3的條件下,波特率不變。單片機復位時SMOD=0。雙機通信4、工作方式及波特率的設置:1)、工作方式:89C51單片機可以設置四種工作模式:8位、10位、11位三種幀格式。方式0:以8位數據為一幀傳輸,不設起始停止位,先發送或接收最低位。

D0D1D2D3D4D5D6D7

方式1:以10位數據為一幀傳輸,設有1個起始位“0”、8個數據位和1個停止位“1”。

起始D0D1D2D3D4D5D6D7停止

方式2和3:以11位數據為一幀傳輸,設有1個起始位“0”、8個數據位、一個附加第9位、和1停止位“1”。附加位的第9位(D8)由軟件置1或清0,發送時在TB8中,接收時在RB8中。

起始D0D1D2D3D4D5D6D7D8停止

雙機通信2)、波特率的設置。串行口T1串行口工作方式波特率fSMODC/`T工作方式定時器初值方式01Mbit/s

無關

方式2375kbit/s

1無關無關無關187.5kbit/s12MHz0

62.5kbit/s

1

FFH

19.2kbit/s

1

FDH

9.6kbit/s

FDH方式1或方式34.8kbit/s

2FAH

2.4kbit/s11.0592MHz00

FAH

1.2kbit/s

E8H

137.5bit/s

1DH

110bit/s12MHz

1FEEBH雙機通信IED7D6D5D4D3D2D1D0位符號EA----ESET1EX1ET0EX0位地址AF----ACABAAA9A8各位含義如下:1)、EA——中斷允許總控制位。EA=0:總中斷禁止,禁止所有中斷;EA=1:中斷總允許。2)、ET0(ET1)——定時器/計數器中斷允許控制位。ET0(ET1)=0:禁止定時器/計數器中斷;ET0(ET1)=1:允許定時器/計數器中斷。雙機通信TMOD(89H)T1T0D7D6D5D4D3D2D1D0GATEC/

TM1M0GATEC/

TM1M0各位含義如下:1)、GATE——門控位。

GATE=0:表示只要用軟件將TCON中的運行控制位TR0(或TR1)置為1,即可啟動定時器/計數器0或定時器/計數器1。GATE=1:表示只有在

引腳為高電平,并且用軟件將運行控制位TR0(或TR1)置為1的前提條件下才可以啟動定時器/計數器0或定時器/計數器1。雙機通信2)、C/

T——定時/計數方式選擇位。C/

T=0:即滿足

T有效,設置為定時方式(Timer),對內部機器周期進行計數。C/

T=1:即滿足C有效,設置為計數方式(Counter),通過T0(P3.4)或T1(P3.5)引腳對外部脈沖信號進行計數。3)、M1M0——工作方式選擇位。M1M0=00:為工作方式0,作13位計數器用,TL0(或TL1)只用低5位參與分頻,TH0(或TH1)用了全部的8位。M1M0=01:為工作方式1,作16位計數器用,TL0、TH0(或TL1、TH1)全用。M1M0=10:為工作方式2,2個8獨立的8位計數器用,當溢出時TH0(TH1)將存放的值自動重裝入TL0(或TL1)。M1M0=11:為工作方式3,僅適用于定時器/計數器0,定時器/計數器1失效,作用兩個8位的計數器用。雙機通信5、雙機通信單片連接示意圖:雙機通信6、雙機通信程序流程圖:開始設置串行口工作方式設置波特率發送數據數據送緩存消除發送標志否否接收完成?發送完?雙機通信1)雙機通信程序實現,“串行通信設置及數據發送”部分代碼:匯編語言“部分”源代碼:MAIN:MOVSCON,#50HMOVTMOD,#20HORLPCON,#80HMOVTL1,#0F3HMOVTH1,#0F3HSETBTR1SETBESSETBEASJMP$開始設置串行口工作方式設置波特率發送數據打開中斷、中斷返回否發送完?URT_INT:CLRRIPUSHDPLPUSHDPHPUSHACCMOVSBUF,AJNBTI,$CLRTIPOPACC

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論