版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第二章片內(nèi)資源2023/6/221第一頁,共一百五十一頁,編輯于2023年,星期五
①51子系列有2個(gè)可編程的定時(shí)器/計(jì)數(shù)器:定時(shí)器/計(jì)數(shù)器0與定時(shí)器/計(jì)數(shù)器1,可由程序選擇作為定時(shí)器用或作為計(jì)數(shù)器用,定時(shí)時(shí)間或計(jì)數(shù)值也可由程序設(shè)定。
②每個(gè)定時(shí)器/計(jì)數(shù)器都具有4種工作方式,可用程序選擇。
③任一定時(shí)器/計(jì)數(shù)器在定時(shí)時(shí)間到或計(jì)數(shù)值到時(shí),可由程序安排產(chǎn)生中斷請求信號或不產(chǎn)生中斷請求信號。
④52子系列有3個(gè)可編程定時(shí)器/計(jì)數(shù)器,增加了定時(shí)器/計(jì)數(shù)器2。定時(shí)器/計(jì)數(shù)器2有3種工作方式,可用程序選擇。定時(shí)器/計(jì)數(shù)器的主要特性第二頁,共一百五十一頁,編輯于2023年,星期五2.4.1定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)定時(shí)器/計(jì)數(shù)器0、1的結(jié)構(gòu)框圖第三頁,共一百五十一頁,編輯于2023年,星期五2.4.1定時(shí)器/計(jì)數(shù)器0、1的結(jié)構(gòu)定時(shí)器/計(jì)數(shù)器0、1的結(jié)構(gòu)框圖第四頁,共一百五十一頁,編輯于2023年,星期五1.16位加法計(jì)數(shù)器工作方法:作計(jì)數(shù)器用時(shí),加法計(jì)數(shù)器對芯片引腳T0(P3.4)或T1(P3.5)上輸入的脈沖計(jì)數(shù)。每輸入一個(gè)脈沖,加法計(jì)數(shù)器增加1。加法計(jì)數(shù)溢出時(shí)可向CPU發(fā)出中斷請求信號
作定時(shí)器用時(shí),加法計(jì)數(shù)器對內(nèi)部機(jī)器周期脈沖Tcy計(jì)數(shù)。定時(shí)器/計(jì)數(shù)器0、1的結(jié)構(gòu)框圖(P3.5)(P3.4)第五頁,共一百五十一頁,編輯于2023年,星期五2.工作方式控制寄存器TMOD
TMOD用來選擇定時(shí)器/計(jì)數(shù)器0、1的工作方式,低4位用于定時(shí)器/計(jì)數(shù)器0,高4位用于定時(shí)器/計(jì)數(shù)器1。定時(shí)器/計(jì)數(shù)器0、1的結(jié)構(gòu)框圖第六頁,共一百五十一頁,編輯于2023年,星期五2.工作方式控制寄存器TMOD
(1)定時(shí)器/計(jì)數(shù)器功能選擇位C/T:C/T=1為計(jì)數(shù)器方式,C/T=0為定時(shí)器方式。
(2)定時(shí)器/計(jì)數(shù)器工作方式選擇位M1、M0:定時(shí)器/計(jì)數(shù)器4種工作方式的選擇由M1、M0的值決定。GATEC/TM1M0GATEC/TM1M0T1T0TMOD89H第七頁,共一百五十一頁,編輯于2023年,星期五
(2)定時(shí)器/計(jì)數(shù)器工作方式選擇位M1、M0:定時(shí)器/計(jì)數(shù)器4種工作方式的選擇由M1、M0的值決定。第八頁,共一百五十一頁,編輯于2023年,星期五
(3)門控制位GATE:如果GATE=1,定時(shí)器/計(jì)數(shù)器0的工作受芯片引腳INT0(P3.2)控制,定時(shí)器/計(jì)數(shù)器1的工作受芯片引腳INT1(P3.3)控制;如果GATE=0,定時(shí)器/計(jì)數(shù)器的工作與INT0、INT1引腳無關(guān)。一般情況下GATE=0。GATEC/TM1M0GATEC/TM1M0T1T0TMOD89H
例:定時(shí)器T1為定時(shí)器方式,工作在方式0,非門控方式,定時(shí)器T0為計(jì)數(shù)器方式,工作在方式1,非門控方式,TMOD的值應(yīng)該設(shè)置為多少?TMOD=00000101B=05H第九頁,共一百五十一頁,編輯于2023年,星期五3.定時(shí)器/計(jì)數(shù)器控制寄存器TCON作用:TCON高4位用于控制定時(shí)器0、1的運(yùn)行,低4位用于控制外部中斷,與定時(shí)器/計(jì)數(shù)器無關(guān)。定時(shí)器/計(jì)數(shù)器0、1的結(jié)構(gòu)框圖第十頁,共一百五十一頁,編輯于2023年,星期五3.定時(shí)器/計(jì)數(shù)器控制寄存器TCON
(1)定時(shí)器/計(jì)數(shù)器1運(yùn)行控制位TR1(TCON.6):TR1=1時(shí)定時(shí)器/計(jì)數(shù)器1工作,TR1=0則停止工作。TRl由軟件置1或清零。(2)定時(shí)器/計(jì)數(shù)器1溢出中斷標(biāo)志TF1(TCON.7)
定時(shí)器/計(jì)數(shù)器1計(jì)數(shù)溢出時(shí)由硬件自動(dòng)置TF1=1,在中斷允許的條件下,便向CPU發(fā)出定時(shí)器/計(jì)數(shù)器1的中斷請求信號,CPU響應(yīng)后TFl由硬件自動(dòng)清零。在中斷屏蔽條件下,TF1可作查詢測試用。
TF1TR1TF0TR0IE1IT1IE0IT0D7D6D5D4D3D2D1D0TCON88H第十一頁,共一百五十一頁,編輯于2023年,星期五3.定時(shí)器/計(jì)數(shù)器控制寄存器TCON
(3)定時(shí)器/計(jì)數(shù)器0運(yùn)行控制位TR0(TCON.4):TR0=1時(shí)定時(shí)器/計(jì)數(shù)器0工作,TR0=0則停止工作。TR0由軟件置1或清零。
(4)定時(shí)器/計(jì)數(shù)器0溢出中斷標(biāo)志TF0(TCON.5)
定時(shí)器/計(jì)數(shù)器0計(jì)數(shù)溢出時(shí)由硬件自動(dòng)置TF0=1,在中斷允許的條件下,便向CPU發(fā)出定時(shí)器/計(jì)數(shù)器0的中斷請求信號,CPU響應(yīng)后TF0由硬件自動(dòng)清零。在中斷屏蔽條件下,TF0可作查詢測試用。
TF1TR1TF0TR0IE1IT1IE0IT0D7D6D5D4D3D2D1D0TCON88H第十二頁,共一百五十一頁,編輯于2023年,星期五運(yùn)行控制:是否為門控方式工作方式選擇:方式0~方式3工作狀態(tài)選擇:定時(shí)器或計(jì)數(shù)器狀態(tài)
定時(shí)器/計(jì)數(shù)器1工作方式0結(jié)構(gòu)圖
Tcy2.4.2定時(shí)器/計(jì)數(shù)器的四種工作方式第十三頁,共一百五十一頁,編輯于2023年,星期五一、定時(shí)器/計(jì)數(shù)器0、1的工作狀態(tài)選擇(C/T)定時(shí)器/計(jì)數(shù)器工作狀態(tài)選擇Tcy
1.計(jì)數(shù)器工作狀態(tài)(C/T=1)
:計(jì)數(shù)脈沖來自相應(yīng)的外部輸入引腳,定時(shí)器T0的計(jì)數(shù)脈沖來自P3的第四個(gè)引腳(P3.4),定時(shí)器T1的計(jì)數(shù)脈沖來自P3的第五個(gè)引腳(P3.5)。當(dāng)定時(shí)器/計(jì)數(shù)器運(yùn)行時(shí),引腳上的輸入計(jì)數(shù)脈沖由1到0的跳變,可以使對應(yīng)的定時(shí)器的加1寄存器對增1。2.4.3定時(shí)器/計(jì)數(shù)器的四種工作方式第十四頁,共一百五十一頁,編輯于2023年,星期五定時(shí)器/計(jì)數(shù)器工作狀態(tài)選擇Tcy2.定時(shí)器工作狀態(tài)(C/T=0)
:本質(zhì)上仍是定時(shí)器的加1寄存器對進(jìn)行加1運(yùn)算。振蕩器產(chǎn)生的內(nèi)部時(shí)鐘脈沖經(jīng)12分頻后作為計(jì)數(shù)脈沖,所以計(jì)數(shù)頻率為振蕩頻率的1/12。當(dāng)采用12MHz的晶體時(shí),計(jì)數(shù)頻率為1MHz。由于內(nèi)部時(shí)鐘周期是相當(dāng)精確的頻率固定的脈沖,所以通過設(shè)定寄存器對的初值,在定時(shí)器方式時(shí),可以獲得相當(dāng)精確的定時(shí)。第十五頁,共一百五十一頁,編輯于2023年,星期五二、定時(shí)器/計(jì)數(shù)器0、1的運(yùn)行控制
方法:定時(shí)器/計(jì)數(shù)器的運(yùn)行控制(啟動(dòng)和停止)是由TMOD中的GATE位,TCON中的TRi(i=0或1)位以及從芯片引腳INTi(i=0或1)上引入的外部信號通過上圖的邏輯電路實(shí)現(xiàn)的。
定時(shí)器/計(jì)數(shù)器1運(yùn)行控制S2第十六頁,共一百五十一頁,編輯于2023年,星期五
原理:(1)當(dāng)定時(shí)器1的GATE=0時(shí),定時(shí)器1運(yùn)行控制由TR1的一個(gè)條件確定,而TR1可用軟件置位或清零,從而可以利用程序控制定時(shí)器的啟動(dòng)和停止運(yùn)行。
定時(shí)器/計(jì)數(shù)器1運(yùn)行控制二、定時(shí)器/計(jì)數(shù)器0、1的運(yùn)行控制第十七頁,共一百五十一頁,編輯于2023年,星期五二、定時(shí)器/計(jì)數(shù)器0、1的運(yùn)行控制
原理:(2)當(dāng)定時(shí)器1的GATE=1時(shí),“或”門的輸出電平取決于INT1引腳的信號電平,所以“與”門輸出的電平?jīng)Q定于TR1和INT1兩個(gè)條件。
定時(shí)器或計(jì)數(shù)器運(yùn)行控制第十八頁,共一百五十一頁,編輯于2023年,星期五三、定時(shí)器/計(jì)數(shù)器0、1的4種工作方式第十九頁,共一百五十一頁,編輯于2023年,星期五三、定時(shí)器/計(jì)數(shù)器0、1的4種工作方式
設(shè)置條件:M1=0、M0=0
方式0為:13位定時(shí)器/計(jì)數(shù)器,TH1是高8位加法計(jì)數(shù)器,TLl是低5位加法計(jì)數(shù)器(只用5位,其高3位未用)。1.工作方式0
定時(shí)器/計(jì)數(shù)器1工作方式0結(jié)構(gòu)圖
第二十頁,共一百五十一頁,編輯于2023年,星期五1.工作方式0計(jì)數(shù)范圍:1~8192
THl、TLl從初值開始加法計(jì)數(shù),直至溢出,所以設(shè)置的初值不同,定時(shí)時(shí)間或計(jì)數(shù)值也不同。注意:加法計(jì)數(shù)器TH1溢出后,必須用程序重新對THl、TLl設(shè)置初值,否則下一次TH1、TLl將從0開始加法計(jì)數(shù)。初值設(shè)置范圍:0~8191(0~213-1)定時(shí)范圍:(1~8192)Tcy例已知振蕩器振蕩頻率fosc為12MHz,要求定時(shí)器/計(jì)數(shù)器0產(chǎn)生1ms定時(shí),試編寫初始化程序。計(jì)數(shù)值:8192-X定時(shí)時(shí)間:(8192-X)Tcy第二十一頁,共一百五十一頁,編輯于2023年,星期五(2)初始化程序的編寫:在C51中加入<reg51.h>頭文件,然后在主函數(shù)中寫如下語句:TH0=0xE0;定時(shí)器/計(jì)數(shù)器0寫入初值TL0=0x18;同上TMOD=0x00;T0設(shè)為定時(shí)器、工作方式0TR0=1;啟動(dòng)定時(shí)器/計(jì)數(shù)器0TH0=E0HTL0=18H解:(1)TH0TL0初值的計(jì)算與TMOD方式字的確定:
由于Tcy=1us,故有T=(8192-X)Tcy=(8192-X)×1us=1000us得X=7192=1C18H=00011100
0001
1000BTMOD=00H第二十二頁,共一百五十一頁,編輯于2023年,星期五2.工作方式1設(shè)置條件:M1=0、M0=1方式1為:16位定時(shí)器/計(jì)數(shù)器,TH1是高8位加法計(jì)數(shù)器,TLl是低8位加法計(jì)數(shù)器。
定時(shí)器/計(jì)數(shù)器1工作方式1結(jié)構(gòu)圖
第二十三頁,共一百五十一頁,編輯于2023年,星期五2.工作方式1計(jì)數(shù)范圍:1~65536
THl、TLl從初值開始加法計(jì)數(shù),直至溢出,所以設(shè)置的初值不同,定時(shí)時(shí)間或計(jì)數(shù)值也不同。注意:加法計(jì)數(shù)器TH1溢出后,必須用程序重新對THl、TLl設(shè)置初值,否則下一次TH1、TLl將從0開始加法計(jì)數(shù)。初值設(shè)置范圍:0~65535(0~216-1)定時(shí)范圍:(1~65536)Tcy例已知振蕩器振蕩頻率fosc為12MHz,要求定時(shí)器/計(jì)數(shù)器0產(chǎn)生50ms定時(shí),試編寫初始化程序。計(jì)數(shù)值:65536-X定時(shí)時(shí)間:(65536-X)Tcy第二十四頁,共一百五十一頁,編輯于2023年,星期五(2)初始化程序的編寫:
在C51中加入<reg51.h>頭文件,然后在主函數(shù)中寫如下語句:TH0=0x3C;定時(shí)器/計(jì)數(shù)器0寫入初值TL0=0xB0;同上TMOD=0x01;T0設(shè)為定時(shí)器工作方式1TR0=1,啟動(dòng)定時(shí)器/計(jì)數(shù)器0TH0=3CHTL0=B0H解:(1)TH0TL0初值的計(jì)算與TMOD方式字的確定:
由于Tcy=1us,故有T=(65536-x)Tcy=(65536-x)×1us=50000us得X=15536=3CB0HTMOD=01H第二十五頁,共一百五十一頁,編輯于2023年,星期五解:方波的周期用定時(shí)器T1產(chǎn)生,根據(jù)(2n-x)×Tcy=(216-x)×1μs=50ms,所以x=65536-50000=15536=3CB0H即TH1=3CH,TL1=B0H或者通過計(jì)算得出TH1=15536/256,TL1=15536%256已知晶振頻率fosc=12MHz,要求定時(shí)器1產(chǎn)生100ms的方波信號,定時(shí)器1工作于方式1,編寫在P2.0引腳上產(chǎn)生100ms的方波程序。
在T1中設(shè)置初值為15536,在初值的基礎(chǔ)上進(jìn)行加1計(jì)數(shù),每隔50ms計(jì)數(shù)溢出1次,CPU響應(yīng)中斷后,在中斷服務(wù)程序中對P2.0引腳信號取反。第二十六頁,共一百五十一頁,編輯于2023年,星期五
#include<reg51.h>#defineuintunsignedintsbitfangbo=P2^0;voiddelay(uintz);//延時(shí)子程序voidmain(){
TMOD=0x10;//設(shè)置T1為定時(shí)器模式//,工作在方式1TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;//開總中斷ET1=1;//允許T1中斷
TR1=1;// 啟動(dòng)T1while(1); }voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidtimer1()interrupt3{
TH1=(65536-50000)/256;TL1=(65536-50000)%256;fangbo=~fangbo;
}第二十七頁,共一百五十一頁,編輯于2023年,星期五3.工作方式2
設(shè)置條件:M1=1、M0=0
方式2為:自動(dòng)重新裝入初值(自動(dòng)重裝載)的8位定時(shí)器/計(jì)數(shù)器。TL1作為8位加法計(jì)數(shù)器使用,TH1作為初值寄存器用。TH1、TL1的初值都由軟件預(yù)置。
定時(shí)器/計(jì)數(shù)器1工作方式2結(jié)構(gòu)圖
第二十八頁,共一百五十一頁,編輯于2023年,星期五3.工作方式2計(jì)數(shù)范圍:1~256TLl從初值開始加法計(jì)數(shù),溢出時(shí):
(1)置位TF1;(2)發(fā)出重裝載信號,將THl中初值自動(dòng)送入TLl,使TL1從初值開始重新計(jì)數(shù)。注意:重新裝入初值后,TH1的內(nèi)容保持不變。初值設(shè)置范圍:0~255(0~28-1)定時(shí)范圍:(1~256)Tcy
工作方式2特別適用于定時(shí)控制。例已知振蕩器振蕩頻率fosc為12MHz,要求定時(shí)器/計(jì)數(shù)器0要求每隔200us產(chǎn)生一定時(shí)控制信號。計(jì)數(shù)值:256-X定時(shí)時(shí)間:(256-X)Tcy第二十九頁,共一百五十一頁,編輯于2023年,星期五(2)初始化程序:
在C51中加入<reg51.h>頭文件,然后在主函數(shù)中寫如下語句:TL0=0x38;定時(shí)器/計(jì)數(shù)器0寫入初值TH0=0x38;同上TMOD=0x02;T0設(shè)為定時(shí)器工作方式2TR0=1;啟動(dòng)定時(shí)器/計(jì)數(shù)器0TH0=38HTL0=38H解:(1)TH0TL0初值的計(jì)算與TMOD方式字的確定:
由于Tcy=1us,故有T=(256-x)Tcy=(256-x)×1us=200us得X=56=38HTMOD=02H第三十頁,共一百五十一頁,編輯于2023年,星期五4.工作方式3
設(shè)置條件:M1=1、M0=1
方式3:工作方式3僅對定時(shí)器/計(jì)數(shù)器0有意義。TL0、TH0成為兩個(gè)獨(dú)立的8位加法計(jì)數(shù)器。如把定時(shí)器/計(jì)數(shù)器1設(shè)置為工作方式3,相當(dāng)于TR1=0,即定時(shí)器/計(jì)數(shù)器1實(shí)際將停止工作。
定時(shí)器/計(jì)數(shù)器0工作方式3結(jié)構(gòu)圖
第三十一頁,共一百五十一頁,編輯于2023年,星期五4.工作方式3
說明:定時(shí)器/計(jì)數(shù)器0采用工作方式3后,51子系列就具有3個(gè)定時(shí)器/計(jì)數(shù)器,即8位定時(shí)器/計(jì)數(shù)器TL0,8位定時(shí)器TH0和16位定時(shí)器/計(jì)數(shù)器1(TH1、TL1)。定時(shí)器/計(jì)數(shù)器1雖然還可以選擇為方式0、方式1或方式2,但由于TR1和TF1被TH0借用,不能產(chǎn)生溢出中斷請求,所以只用作串行口的波特率發(fā)生器。第三十二頁,共一百五十一頁,編輯于2023年,星期五定時(shí)器/計(jì)數(shù)器0已預(yù)置初值為156,且選定用方式2的計(jì)數(shù)器方式,現(xiàn)在T0引腳上輸入周期為1ms脈沖,問:(1)此時(shí)定時(shí)器/計(jì)數(shù)器0的實(shí)際用途是什么?(2)在什么情況下,定時(shí)器/計(jì)數(shù)器0溢出?
解:(1)實(shí)際用作定時(shí)器,但采用外部時(shí)鐘脈沖(2)滿100ms定時(shí)器/計(jì)數(shù)器0將溢出。
第三十三頁,共一百五十一頁,編輯于2023年,星期五設(shè)計(jì)一個(gè)秒表,使它從0~59s計(jì)數(shù),并使LED數(shù)碼管左邊兩個(gè)顯示數(shù)字0~59,假設(shè)晶振頻率fosc=12MHz,定時(shí)器/計(jì)數(shù)器選用T0。
解:利用51單片機(jī)的定時(shí)器0,使其50ms中斷一次,中斷20次時(shí),秒加1。初值與中斷服務(wù)程序中,TH0、TL0的值設(shè)置為:TH0=0x3C;定時(shí)器/計(jì)數(shù)器0寫入初值TL0=0xB0;同上;
模式寄存器的值為:
TMOD=0x01;T0設(shè)為定時(shí)器工作方式1
第三十四頁,共一百五十一頁,編輯于2023年,星期五程序如下:
#include<reg51.h>#defineuintunsignedint#defineucharunsignedcharuchartemp,aa,shi,ge;ucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//共陽極數(shù)碼管碼表voiddisplay(ucharshi,ucharge);//顯示子程序voiddelay(uintz);//延時(shí)子程序voidinit();第三十五頁,共一百五十一頁,編輯于2023年,星期五voidmain(){ init();//初始化子程序 while(1) { if(aa==20) { aa=0; temp++; if(temp==60) { temp=0; } shi=temp/10; ge=temp%10;
} display(shi,ge); }}第三十六頁,共一百五十一頁,編輯于2023年,星期五voiddelay(uintz){ uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}voiddisplay(ucharshi,ucharge){
P2=0x01;//送入十位數(shù)碼管位選信號,顯示數(shù)字 P1=table[shi];//送入十位數(shù)碼管的段選信號 delay(5); P2=0x02;//送入個(gè)位數(shù)碼管位選信號,顯示數(shù)字 P1=table[ge];//送入個(gè)位數(shù)碼管的段選信號 delay(5);
}第三十七頁,共一百五十一頁,編輯于2023年,星期五voidinit(){ temp=0; TMOD=0x01;//設(shè)置T0為定時(shí)器模式,工作在方式1 TH0=(65536-50000)/256; TL0=(65536-50000)%256;EA=1;//開總中斷 ET0=1;//允許T0中斷 TR0=1;// 啟動(dòng)T0}voidtimer0()interrupt1{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa++; }第三十八頁,共一百五十一頁,編輯于2023年,星期五2.5并行I/O端口8051單片機(jī)共有4個(gè)8位雙向I/O口,共32口線。每位均有自己的鎖存器(SFR),輸出驅(qū)動(dòng)器和輸入緩沖器。第三十九頁,共一百五十一頁,編輯于2023年,星期五多路開關(guān)功能:用于控制選通I/O方式還是地址/數(shù)據(jù)輸出方式方式控制:由內(nèi)部控制信號產(chǎn)生數(shù)據(jù)輸出鎖存器,用于數(shù)據(jù)位的鎖存兩個(gè)三態(tài)的數(shù)據(jù)輸入緩沖器(BUF1和BUF2)。推拉式I/O驅(qū)動(dòng)器:由兩只場效應(yīng)管(FET)組成,上面的場效應(yīng)管構(gòu)成上拉電路。2.5.1P0端口BUF2BUF1QQDCVcc控制AD0P0R1
P0R2D0P0WP0口1位的內(nèi)部結(jié)構(gòu)讀鎖存器讀引腳鎖存器內(nèi)部總線寫鎖存器地址/數(shù)據(jù)P00多路開關(guān)10字節(jié)地址80H,位地址80H~87H。第四十頁,共一百五十一頁,編輯于2023年,星期五2.5.1P0端口BUF2BUF1QQDCVcc控制AD0P0R1
P0R2D0P0WP0口內(nèi)部結(jié)構(gòu)讀鎖存器讀引腳鎖存器內(nèi)部總線寫鎖存器地址/數(shù)據(jù)P00多路開關(guān)10說明:1、當(dāng)CPU發(fā)出的控制信號為0時(shí),P0口做雙向I/O口,為漏極開路(三態(tài))2、當(dāng)CPU發(fā)出的控制信號為1時(shí),P0口為地址/數(shù)據(jù)復(fù)用總線(用于口擴(kuò)展)第四十一頁,共一百五十一頁,編輯于2023年,星期五2.5.1P0端口BUF2BUF1QQDCVcc控制AD0P0R1
P0R2D0P0WP0口內(nèi)部結(jié)構(gòu)讀引腳鎖存器內(nèi)部總線寫鎖存器地址/數(shù)據(jù)P00多路開關(guān)103、
P0作輸入/輸出口的使用(1)P0作輸出口使用來自CPU的“寫入”脈沖加在D鎖存器的C端,內(nèi)部總線上的數(shù)據(jù)寫入D鎖存器,并向端口引腳P0.x輸出。注意:由于輸出電路是漏極開路(因?yàn)檫@時(shí)上拉場效應(yīng)管截止),必須外接上拉電阻才能有高電平輸出。讀鎖存器第四十二頁,共一百五十一頁,編輯于2023年,星期五2.5.1P0端口BUF2BUF1QQDCVcc控制AD0P0R1
P0R2D0P0WP0口內(nèi)部結(jié)構(gòu)讀引腳鎖存器內(nèi)部總線寫鎖存器地址/數(shù)據(jù)P00多路開關(guān)103、
P0作輸入/輸出口的使用(1)P0作輸出口使用來自CPU的“寫入”脈沖加在D鎖存器的C端,內(nèi)部總線上的數(shù)據(jù)寫入D鎖存器,并向端口引腳P0.x輸出。注意:由于輸出電路是漏極開路(因?yàn)檫@時(shí)上拉場效應(yīng)管截止),必須外接上拉電阻才能有高電平輸出。(2)P0作輸入口使用區(qū)分“讀引腳”和“讀鎖存器”?!白x引腳”信號把下方緩沖器打開,引腳上的狀態(tài)經(jīng)緩沖器讀入內(nèi)部總線;
讀鎖存器第四十三頁,共一百五十一頁,編輯于2023年,星期五2.5.1P0端口BUF2BUF1QQDCVcc控制AD0P0R1
P0R2D0P0WP0口內(nèi)部結(jié)構(gòu)讀引腳鎖存器內(nèi)部總線寫鎖存器地址/數(shù)據(jù)P00多路開關(guān)103、
P0作輸入/輸出口的使用(1)P0作輸出口使用來自CPU的“寫入”脈沖加在D鎖存器的C端,內(nèi)部總線上的數(shù)據(jù)寫入D鎖存器,并向端口引腳P0.x輸出。注意:由于輸出電路是漏極開路(因?yàn)檫@時(shí)上拉場效應(yīng)管截止),必須外接上拉電阻才能有高電平輸出。(2)P0作輸入口使用區(qū)分“讀引腳”和“讀鎖存器”?!白x引腳”信號把下方緩沖器打開,引腳上的狀態(tài)經(jīng)緩沖器讀入內(nèi)部總線;“讀鎖存器”信號打開上面的緩沖器把鎖存器Q端的狀態(tài)讀入內(nèi)部總線。讀鎖存器第四十四頁,共一百五十一頁,編輯于2023年,星期五執(zhí)行“MOVA,P0”時(shí)讀引腳信號有效。說明:執(zhí)行“ANLP0,#0FH”時(shí)讀鎖存器信號有效。第四十五頁,共一百五十一頁,編輯于2023年,星期五2.5.2P1端口P1口內(nèi)部結(jié)構(gòu)如下圖所示。輸出部分有內(nèi)部上拉電阻R*約為20K。其他部分與P0端口使用相類似(讀引腳時(shí)先寫入1)。寫數(shù)據(jù)讀端口字節(jié)地址90H,位地址90H~97H。第四十六頁,共一百五十一頁,編輯于2023年,星期五P1口只作通用的I/O口使用,在電路結(jié)構(gòu)上與P0口有兩點(diǎn)區(qū)別:(1)因?yàn)橹粋魉蛿?shù)據(jù),不再需要多路轉(zhuǎn)接開關(guān)MUX。(2)由于P1口用來傳送數(shù)據(jù),因此輸出電路中有上拉電阻,這樣電路的輸出不是三態(tài)的。因此:(1)P1口作為輸出口使用時(shí),外電路無需再接上拉電阻。(2)P1口作為輸入口使用時(shí),應(yīng)先向其鎖存器先寫入“1”,使輸出驅(qū)動(dòng)電路的FET截止,所以P1口是準(zhǔn)雙向口。第四十七頁,共一百五十一頁,編輯于2023年,星期五字節(jié)地址為A0H,位地址A0H~A7H。
2.5.3P2端口P2口的位結(jié)構(gòu)的電路原理圖說明:1、P2可以作為通用的I/O,也可以作為高8位地址輸出輸出。2、當(dāng)控制信號為1時(shí)P2口輸出地址信息,此時(shí)單片機(jī)完成外部的取指操作或?qū)ν獠繑?shù)據(jù)存儲(chǔ)器16位地址的讀寫操作。3、當(dāng)控制信號為0時(shí),作為普通I/O口使用時(shí)用法和P1口類似。10第四十八頁,共一百五十一頁,編輯于2023年,星期五P3口的字節(jié)地址為B0H,位地址為B0H~B7H。P3口的第二功能定義,應(yīng)熟記。表2-5P3口的第二功能定義
口引腳第二功能
P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 INT0*(外部中斷0) P3.3 INT1*(外部中斷1) P3.4 T0(定時(shí)器0外部計(jì)數(shù)輸入) P3.5 T1(定時(shí)器1外部計(jì)數(shù)輸入) P3.6 WR*(外部數(shù)據(jù)存儲(chǔ)器寫選通) P3.7 RD*(外部數(shù)據(jù)存儲(chǔ)器讀選通)
2.5.4P3端口第四十九頁,共一百五十一頁,編輯于2023年,星期五圖2-10P2口的位結(jié)構(gòu)的電路原理第五十頁,共一百五十一頁,編輯于2023年,星期五第二功能信號有輸出和輸入兩類:(1)作通用的I/O輸出,“第二輸出功能”線應(yīng)保持高電平,與非門開通,使鎖存器Q端輸出暢通。作第二功能信號輸出,鎖存器預(yù)先置“1”,使與非門對“第二輸出功能”信號的輸出是暢通的。(2)作第二功能信號輸入,在口線引腳的內(nèi)部增加了一個(gè)緩沖器,輸入的信號就從這個(gè)緩沖器的輸出端取得。而作為通用I/O輸入,仍取自三態(tài)緩沖器的輸出端。
P3口無論作哪種輸入,鎖存器輸出和“第二輸出功能”線都應(yīng)保持高電平。第五十一頁,共一百五十一頁,編輯于2023年,星期五使用中應(yīng)注意的問題:(1)P0~P3口都是并行I/O口,但P0口和P2口,還可用來構(gòu)建系統(tǒng)的數(shù)據(jù)總線和地址總線,所以在電路中有一個(gè)MUX,以進(jìn)行轉(zhuǎn)換。而P1口和P3口無構(gòu)建系統(tǒng)的數(shù)據(jù)總線和地址總線的功能,因此,無需轉(zhuǎn)接開關(guān)MUX。由于P0口可作為地址/數(shù)據(jù)復(fù)用線使用,需傳送系統(tǒng)的低8位地址和8位數(shù)據(jù),因此MUX的一個(gè)輸入端為“地址/數(shù)據(jù)”信號。而P2口僅作為高位地址線使用,不涉及數(shù)據(jù),所以MUX的一個(gè)輸入信號為“地址”。2.5.5P0~P3端口功能總結(jié)第五十二頁,共一百五十一頁,編輯于2023年,星期五(2)在4個(gè)口中只有P0口是一個(gè)真正的雙向口,P1~P3口都是準(zhǔn)雙向口。原因:P0口作數(shù)據(jù)總線使用時(shí),為保證數(shù)據(jù)正確傳送,需解決芯片內(nèi)外的隔離問題,即只有在數(shù)據(jù)傳送時(shí)芯片內(nèi)外才接通;不進(jìn)行數(shù)據(jù)傳送時(shí),芯片內(nèi)外應(yīng)處于隔離狀態(tài)。為此,P0口的輸出緩沖器應(yīng)為三態(tài)門。在P0口中輸出三態(tài)門是由兩只場效應(yīng)管(FET)組成,所以是一個(gè)真正的雙向口。而P1~P3口,上拉電阻代替P0口中的場效應(yīng)管,輸出緩沖器不是三態(tài)的-準(zhǔn)雙向口第五十三頁,共一百五十一頁,編輯于2023年,星期五(3)P3口的口線具有第二功能,為系統(tǒng)提供一些控制信號。因此在P3口電路增加了第二功能控制邏輯。這是P3口與其它各口的不同之處。第五十四頁,共一百五十一頁,編輯于2023年,星期五引腳功能分類圖第五十五頁,共一百五十一頁,編輯于2023年,星期五仿真電路如下圖,編寫使P2口所接的流水燈從左到右點(diǎn)亮的程序2.5.58051系列單片機(jī)內(nèi)部并行口的應(yīng)用
第五十六頁,共一百五十一頁,編輯于2023年,星期五#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintvoidDelayMS(uintx){ uchari; while(x--) { for(i=120;i>0;i--); }}voidmain(){ P0=0xFE; while(1) { P0=_crol_(P0,1); DelayMS(150); }}第五十七頁,共一百五十一頁,編輯于2023年,星期五2.6串行輸入/輸出接口1.并行通信與串行通信在實(shí)際應(yīng)用中,不但計(jì)算機(jī)與外部設(shè)備之間常常要進(jìn)行信息交換,而且計(jì)算機(jī)之間也需要交換信息,所有這些信息的交換均稱為“通信”。通信的基本方式分為并行通信和串行通信兩種。2.6.1基本概念第五十八頁,共一百五十一頁,編輯于2023年,星期五
并行通信是構(gòu)成1組數(shù)據(jù)的各位同時(shí)進(jìn)行傳送,例如8位數(shù)據(jù)或16位數(shù)據(jù)并行傳送。其特點(diǎn)是傳輸速度快,但當(dāng)距離較遠(yuǎn)、位數(shù)又多時(shí)導(dǎo)致了通信線路復(fù)雜且成本高。
串行通信是數(shù)據(jù)一位接一位地順序傳送。其特點(diǎn)是通信線路簡單,只要一對傳輸線就可以實(shí)現(xiàn)通信(如電話線),從而大大地降低了成本,特別適用于遠(yuǎn)距離通信。缺點(diǎn)是傳送速度慢。第五十九頁,共一百五十一頁,編輯于2023年,星期五通信的兩種基本方式(a)并行通信;(b)串行通信第六十頁,共一百五十一頁,編輯于2023年,星期五
(1)種類:串行通信可分為異步傳送和同步傳送兩種基本方式。
①異步傳送方式在傳送時(shí),數(shù)據(jù)是以一個(gè)字符為單位進(jìn)行傳送的。它用一個(gè)起始位表示字符的開始,用停止位表示字符的結(jié)束。異步傳送的特點(diǎn)是數(shù)據(jù)在線路上的傳送不連續(xù)。異步傳送的字符格式如下頁圖所示。2.串行通信的種類和數(shù)據(jù)傳送方向第六十一頁,共一百五十一頁,編輯于2023年,星期五串行異步傳送的字符格式一個(gè)字符由起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位4個(gè)部分組成。起始位為0信號占1位;其后接著的就是數(shù)據(jù)位,它可以是5位、6位、7位或8位,傳送時(shí)低位在先、高位在后;再后面的1位為奇偶校驗(yàn)位,可要也可以不要;最后是停止位,它用信號1來表示字符的結(jié)束,可以是1位、1位半或2位。第六十二頁,共一百五十一頁,編輯于2023年,星期五例如,采用串行異步通信方式傳送ASCII碼字符‘5’,規(guī)定為7位數(shù)據(jù)位,1位偶校驗(yàn)位,1位停止位,無空閑位。由于‘5’的ASCII碼為35H,其對應(yīng)7位數(shù)據(jù)位為0110101,如按低位在前、高位在后順序排列應(yīng)為1010110。前面加1位起始位,后面配上偶校驗(yàn)位1位0,最后面加1位停止位1,因此傳送的字符格式為0101011001,其對應(yīng)的波形如下頁圖所示。第六十三頁,共一百五十一頁,編輯于2023年,星期五傳送ASCII碼字符‘5’的波形圖第六十四頁,共一百五十一頁,編輯于2023年,星期五在串行異步傳送中,CPU與外設(shè)之間事先必須約定:
a)字符格式。雙方要事先約定字符的編碼形式、奇偶校驗(yàn)形式及起始位和停止位的規(guī)定。例如用ASCII碼通信,有效數(shù)據(jù)為7位,加1個(gè)奇偶校驗(yàn)位、1個(gè)起始位和1個(gè)停止位共10位。當(dāng)然停止位也可大于1位。
b)波特率(Baudrate)。
波特率就是數(shù)據(jù)的傳送速率,即每秒鐘傳送的二進(jìn)制位數(shù),單位為位/秒。它與字符的傳送速率(字符/秒)之間存在如下關(guān)系:波特率=位/字符×字符/秒=位/秒
要求發(fā)送端與接收端的波特率必須一致。第六十五頁,共一百五十一頁,編輯于2023年,星期五
例:假設(shè)字符傳送的速率為120字符/秒,而每1個(gè)字符為10位,那么傳送的波特率為多少?10位/字符×120字符/秒=1200位/秒=1200波特每1位二進(jìn)制位的傳送時(shí)間Td就是波特率的倒數(shù),例如上例中Td=1/1200=0.833ms第六十六頁,共一百五十一頁,編輯于2023年,星期五在異步傳送中,每1個(gè)字符都要用起始位和停止位作為字符開始和結(jié)束的標(biāo)志,占用了一定的時(shí)間。為了提高傳送速度,有時(shí)就去掉這些標(biāo)志,而采用同步傳送,即1次傳送1組數(shù)據(jù)。在這1組數(shù)據(jù)的開始處要用同步字符SYN來加以指示,如下頁圖所示。第六十七頁,共一百五十一頁,編輯于2023年,星期五同步傳送示意圖第六十八頁,共一百五十一頁,編輯于2023年,星期五串行通信的數(shù)據(jù)傳送方向有3種形式。
①單工方式如下頁圖(a)所示,A端為發(fā)送站,B端為接收站,數(shù)據(jù)僅能從A站發(fā)至B站。②半雙工方式如下頁圖(b)所示,數(shù)據(jù)既可從A站發(fā)送到B站,也可以由B站發(fā)送到A站。不過在同一時(shí)間只能作1個(gè)方向的傳送。
③全雙工方式如下頁圖(c)所示,每個(gè)站(A、B)既可同時(shí)發(fā)送,也可同時(shí)接收。
(2)數(shù)據(jù)傳送方向第六十九頁,共一百五十一頁,編輯于2023年,星期五串行通信的三種方式(a)單工方式;(b)半雙工方式;(c)全雙工方式第七十頁,共一百五十一頁,編輯于2023年,星期五MCS-51單片機(jī)內(nèi)部有1個(gè)功能很強(qiáng)的全雙工串行口,可同時(shí)發(fā)送和接收數(shù)據(jù)。它有4種工作方式,可供不同場合使用。波特率由軟件設(shè)置,通過片內(nèi)的定時(shí)/計(jì)數(shù)器產(chǎn)生。接收、發(fā)送均可工作在查詢方式或中斷方式,使用十分靈活。2.6.2串行口功能和結(jié)構(gòu)第七十一頁,共一百五十一頁,編輯于2023年,星期五串行口內(nèi)部結(jié)構(gòu)如上圖,兩個(gè)物理上獨(dú)立的接收和發(fā)送緩沖器,可同時(shí)收、發(fā)數(shù)據(jù)。兩個(gè)緩沖器共用一個(gè)特殊功能寄存器字節(jié)地址:SBUF(99H)。
控制寄存器共兩個(gè):特殊功能寄存器SCON和PCON。第七十二頁,共一百五十一頁,編輯于2023年,星期五(1)串行口數(shù)據(jù)緩沖器SBUFSBUF是兩個(gè)在物理上獨(dú)立的接收、發(fā)送緩沖器,可同時(shí)發(fā)送、接收數(shù)據(jù)。兩個(gè)緩沖器只用一個(gè)字節(jié)地址99H,可通過指令對SBUF的讀寫來區(qū)別是對接收緩沖器的操作還是對發(fā)送緩沖器的操作。CPU寫SBUF,就是修改發(fā)送緩沖器;讀SBUF,就是讀接收緩沖器。串行口對外也有兩條獨(dú)立的收發(fā)信號線RXD(P3.0)和TXD(P3.1),因此可以同時(shí)發(fā)送、接收數(shù)據(jù),實(shí)現(xiàn)全雙工傳送。第七十三頁,共一百五十一頁,編輯于2023年,星期五(2)串行口控制寄存器SCONSCON寄存器用來控制串行口的工作方式與狀態(tài),它可以位尋址。在復(fù)位時(shí)所有位被清0,字節(jié)地址為98H。SCON的格式為:第七十四頁,共一百五十一頁,編輯于2023年,星期五SM0、SM1——串行口4種工作方式的選擇位
SM0SM1方式 功能說明
000移位寄存器方式(用于擴(kuò)展并行I/O口)0118位異步收發(fā),波特率可變(由定時(shí)器控制)1029位異步收發(fā),波特率為fosc/64或fosc/321139位異步收發(fā),波特率可變(由定時(shí)器控制)第七十五頁,共一百五十一頁,編輯于2023年,星期五SM2——多機(jī)通信控制位
用于方式2或方式3中。當(dāng)串行口以方式2或方式3接收時(shí),如果SM2=1,只有當(dāng)接收到的第9位數(shù)據(jù)(RB8)為“1”時(shí),才將接收到的前8位數(shù)據(jù)送入SBUF,并置“1”RI,產(chǎn)生中斷請求;當(dāng)接收到的第9位數(shù)據(jù)(RB8)為“0”時(shí),則將接收到的前8位數(shù)據(jù)丟棄。如果SM2=0,則不論第9位數(shù)據(jù)是“1”還是“0”,都將前8位數(shù)據(jù)送入SBUF中,并置“1”RI,產(chǎn)生中斷請求。在方式1時(shí),如果SM2=1,則只有收到停止位時(shí)才會(huì)激活RI。在方式0時(shí),SM2必須為0。第七十六頁,共一百五十一頁,編輯于2023年,星期五
REN——允許串行接收位由軟件置“1”或清“0”。
REN=1
允許串行口接收數(shù)據(jù)。
REN=0
禁止串行口接收數(shù)據(jù)。
TB8——發(fā)送的第9位數(shù)據(jù)方式2和3時(shí),TB8是要發(fā)送的第9位數(shù)據(jù),可作為奇偶校驗(yàn)位使用,也可作為地址幀或數(shù)據(jù)幀的標(biāo)志。=1為地址幀,=0為數(shù)據(jù)幀
RB8——接收到的第9位數(shù)據(jù)方式2和3時(shí),RB8存放接收到的第9位數(shù)據(jù)。在方式1,如果SM2=0,RB8是接收到的停止位。在方式0,不使用RB8。第七十七頁,共一百五十一頁,編輯于2023年,星期五TI——發(fā)送中斷標(biāo)志位
串行完一幀信息,由硬件置“1”,TI必須由軟件清“0”。RI——接收中斷標(biāo)志位
方式0時(shí),接收完第8位數(shù)據(jù)時(shí),RI由硬件置1。其它工作方式,串行接收到停止位時(shí),該位置“1”。RI=1,表示一幀數(shù)據(jù)接收完畢,并申請中斷,CPU從接收SBUF取走數(shù)據(jù)。該位狀態(tài)也可軟件查詢。RI必須由軟件清“0”。第七十八頁,共一百五十一頁,編輯于2023年,星期五(3)電源控制寄存器PCONPCON單元地址為97H,不能位尋址。其內(nèi)容如下:SMODGF1GF0PDIDLD7D6D5D4D3D2D1D0
PCON87H最高位SMOD為串行口波特率選擇位,當(dāng)SMOD=1時(shí),方式1、2、3的波特率加倍。第七十九頁,共一百五十一頁,編輯于2023年,星期五串行口有4種工作方式,它是由SCON中的SM0、SM1來定義的,如下所示。SM0、SM1——串行口4種工作方式的選擇位
SM0SM1方式 功能說明
000移位寄存器方式(用于擴(kuò)展I/O口),波特率為fosc/120118位異步收發(fā),波特率可變(由定時(shí)器控制)1029位異步收發(fā),波特率為fosc/64或fosc/321139位異步收發(fā),波特率可變(由定時(shí)器控制)第八十頁,共一百五十一頁,編輯于2023年,星期五同步移位寄存器輸入/輸出方式,常用于外接移位寄存器,以擴(kuò)展并行I/O口。8位數(shù)據(jù)為一幀,不設(shè)起始位和停止位,先發(fā)送或接收最低位。波特率固定為fosc/12。幀格式如下: 1.方式0圖7-4方式0幀格式第八十一頁,共一百五十一頁,編輯于2023年,星期五1.方式0發(fā)送當(dāng)CPU執(zhí)行一條將數(shù)據(jù)寫入發(fā)送緩沖器SBUF的指令時(shí),產(chǎn)生一個(gè)正脈沖,串行口即把SBUF中的8位數(shù)據(jù)以fosc/12的固定波特率從RXD引腳串行輸出,低位在先,TXD引腳輸出同步移位脈沖,發(fā)送完8位數(shù)據(jù)置“1”中斷標(biāo)志位TI。時(shí)序如圖7-5所示。方式0發(fā)送時(shí)序第八十二頁,共一百五十一頁,編輯于2023年,星期五2.方式0接收
REN=1,接收數(shù)據(jù),REN=0,禁止接收。REN=1,允許接收。向串口的SCON寫入控制字(置為方式0,并置“1”REN位,同時(shí)RI=0)時(shí),產(chǎn)生一個(gè)正脈沖,串行口即開始接收數(shù)據(jù)。RXD為數(shù)據(jù)輸入端,TXD為移位脈沖信號輸出端,接收器也以fosc/12的固定波特率采樣RXD引腳的數(shù)據(jù)信息,當(dāng)收到8位數(shù)據(jù)時(shí)置“1”RI,一幀數(shù)據(jù)接收完,可進(jìn)行下一幀數(shù)據(jù)的接受,時(shí)序如下:方式0接收時(shí)序第八十三頁,共一百五十一頁,編輯于2023年,星期五方式0下,SCON中的TB8、RB8位沒有用到,發(fā)送或接收完8位數(shù)據(jù)由硬件置“1”TI或RI,CPU響應(yīng)中斷。TI或RI須由用戶軟件清“0”,可用如下指令:
CLRTI ;TI位清“0” CLRRI ;RI位清“0”方式0時(shí),SM2位必須為0。第八十四頁,共一百五十一頁,編輯于2023年,星期五例:仿真電路如下圖:第八十五頁,共一百五十一頁,編輯于2023年,星期五#include<reg51.h>sbitclk=P1^0;voiddelay(intN) //延時(shí)子程序(晶振12M){inti,j;for(i=0;i<N;i++)for(j=0;j<i;j++);}voidmain(){intxx;while(1){clk=0; clk=1;//發(fā)送移位脈沖 SCON=0x10;//允許串行口接收數(shù)據(jù) while(RI==0) //等待發(fā)送 {;} xx=SBUF; //讀取數(shù)據(jù) RI=0; //清除接收中斷標(biāo)志 P2=xx; delay(200); }}第八十六頁,共一百五十一頁,編輯于2023年,星期五SM0、SM1=01方式1一幀數(shù)據(jù)為10位,1個(gè)起始位(0),8個(gè)數(shù)據(jù)位,1個(gè)停止位(1),先發(fā)送或接收最低位。幀格式如下:方式1波特率=(2SMOD/32)×定時(shí)器T1的溢出率SMOD為PCON寄存器的最高位的值(0或1)。2方式1
方式1幀格式第八十七頁,共一百五十一頁,編輯于2023年,星期五(1).方式1發(fā)送數(shù)據(jù)由TXD輸出。一幀信息為10位,1位起始位0,8位數(shù)據(jù)位(先低位)和1位停止位1。當(dāng)執(zhí)行一條數(shù)據(jù)寫發(fā)送緩沖器SBUF的指令,就啟動(dòng)發(fā)送。圖中TX時(shí)鐘的頻率就是發(fā)送的波特率。發(fā)送開始時(shí),內(nèi)部發(fā)送控制信號變?yōu)橛行?。將起始位向TXD輸出,此后,每經(jīng)過一個(gè)TX時(shí)鐘周期,便產(chǎn)生一個(gè)移位脈沖,并由TXD輸出一個(gè)數(shù)據(jù)位。8位數(shù)據(jù)位全部發(fā)送完畢后,置“1”TI。方式1發(fā)送數(shù)據(jù)的時(shí)序,如下圖所示。方式1發(fā)送數(shù)據(jù)時(shí)的時(shí)序第八十八頁,共一百五十一頁,編輯于2023年,星期五(2).方式1接收
數(shù)據(jù)從RXD(P3.0)腳輸入。當(dāng)檢測到起始位的負(fù)跳變時(shí),開始接收數(shù)據(jù)。定時(shí)控制信號有兩種:接收移位時(shí)鐘(RX時(shí)鐘,頻率和波特率相同)和位檢測器采樣脈沖(頻率是RX時(shí)鐘的16倍,1位數(shù)據(jù)期間,有16個(gè)采樣脈沖),當(dāng)采樣到RXD端從1到0的跳變時(shí)就啟動(dòng)檢測器,接收的值是3次連續(xù)采樣(第7、8、9個(gè)脈沖時(shí)采樣)進(jìn)行表決以確認(rèn)是否是真正的起始位(負(fù)跳變)的開始。當(dāng)一幀數(shù)據(jù)接收完,須同時(shí)滿足兩個(gè)條件,接收才真正有效。⑴RI=0,即上一幀數(shù)據(jù)接收完成時(shí),RI=1發(fā)出的中斷請求已被響應(yīng),SBUF中的數(shù)據(jù)已被取走,說明“接收SBUF”已空。⑵SM2=0或收到的停止位=1(方式1時(shí),停止位已進(jìn)入RB8),則收到的數(shù)據(jù)裝入SBUF和RB8(RB8裝入停止位),且置“1”中斷標(biāo)志RI。若這兩個(gè)條件不同時(shí)滿足,收到的數(shù)據(jù)將丟失。第八十九頁,共一百五十一頁,編輯于2023年,星期五方式1接收數(shù)據(jù)時(shí)的時(shí)序第九十頁,共一百五十一頁,編輯于2023年,星期五9位異步通信接口。每幀數(shù)據(jù)均為11位,1位起始位0,8位數(shù)據(jù)位(先低位),1位可程控的第9位數(shù)據(jù)和1位停止位。幀格式如下:3方式2方式2波特率=(2SMOD/64)×fosc
第九十一頁,共一百五十一頁,編輯于2023年,星期五發(fā)送前,先根據(jù)通訊協(xié)議由軟件設(shè)置TB8(例如,雙機(jī)通訊時(shí)的奇偶校驗(yàn)位或多機(jī)通訊時(shí)的地址/數(shù)據(jù)的標(biāo)志位)。方式2發(fā)送數(shù)據(jù)波形如圖所示。(1).方式2發(fā)送方式2、3發(fā)送數(shù)據(jù)時(shí)序波形第九十二頁,共一百五十一頁,編輯于2023年,星期五SM0、SM1=10,且REN=1。數(shù)據(jù)由RXD端輸入,接收11位信息。當(dāng)位檢測到RXD從1到0的負(fù)跳變,并判斷起始位有效后,開始收一幀信息。在接收器完第9位數(shù)據(jù)后,需滿足兩個(gè)條件,才能將接收到的數(shù)據(jù)送入SBUF。(1)RI=0,意味著接收緩沖器為空。(2)SM2=0或接收到的第9位數(shù)據(jù)位RB8=1時(shí)。當(dāng)上述兩個(gè)條件滿足時(shí),接收到的數(shù)據(jù)送入SBUF(接收緩沖器),第9位數(shù)據(jù)送入RB8,并置“1”RI。若不滿足兩個(gè)條件,接收的信息將被丟棄。方式2接收數(shù)據(jù)的時(shí)序如圖所示。
(2).方式2接收
第九十三頁,共一百五十一頁,編輯于2023年,星期五方式2接收數(shù)據(jù)的時(shí)序第九十四頁,共一百五十一頁,編輯于2023年,星期五
SM0、SM1=11,串口為方式3。波特率可變的9位異步通訊方式,除波特率外,方式3和方式2相同。方式3的時(shí)序見方式2。
方式3波特率=(2SMOD/32)×定時(shí)器T1的溢出率4方式3第九十五頁,共一百五十一頁,編輯于2023年,星期五要保證主機(jī)與所選擇的從機(jī)實(shí)現(xiàn)可靠地通訊,SCON中的SM2位就是滿足這一條件而設(shè)置的多機(jī)通訊控制位。原理:在串行口以方式2(或方式3)接收時(shí),若SM2=1,表示置多機(jī)通訊功能位,這時(shí)有兩種可能:(1)接收到的第9位數(shù)據(jù)為1時(shí),數(shù)據(jù)才裝入SBUF,并置中斷標(biāo)志RI=1向CPU發(fā)出中斷請求;(2)接收到的第9位數(shù)據(jù)為0時(shí),則不產(chǎn)生中斷標(biāo)志,信息將拋棄。2.6.3多機(jī)通訊第九十六頁,共一百五十一頁,編輯于2023年,星期五若SM2=0,則接收的第9位數(shù)據(jù)不論是0還是1,都產(chǎn)生RI=1中斷標(biāo)志,接收到的數(shù)據(jù)裝入SBUF中。應(yīng)用上述特性,便可實(shí)現(xiàn)MCS-51的多機(jī)通訊。
設(shè)多機(jī)系統(tǒng)中有一主機(jī)和3個(gè)8031從機(jī),如下圖。主機(jī)的RXD與從機(jī)的TXD相連,主機(jī)TXD與從機(jī)的RXD端相連。從機(jī)地址分別為00H、01H、02H。
第九十七頁,共一百五十一頁,編輯于2023年,星期五多機(jī)通訊工作過程:(1)從機(jī)串行口編程為方式2或方式3接收,且置“1”SM2和REN位,使從機(jī)只處于多機(jī)通訊且接收地址幀的狀態(tài)。(2)主機(jī)先將從機(jī)地址(即準(zhǔn)備接收數(shù)據(jù)的從機(jī))發(fā)給各從機(jī),主機(jī)發(fā)出的地址信息的第9位為1,各從機(jī)接收到的第9位信息RB8為1,且由于SM2=1,則置“1”RI,各從機(jī)響應(yīng)中斷,執(zhí)行中斷程序。在中斷服務(wù)子程序中,判主機(jī)送來的地址是否和本機(jī)地址相符合,相符則該從機(jī)清“0”SM2位,準(zhǔn)備接收主機(jī)的數(shù)據(jù)或命令;若不符,則保持SM2=1狀態(tài)。第九十八頁,共一百五十一頁,編輯于2023年,星期五(3)接著主機(jī)發(fā)送數(shù)據(jù)幀,此時(shí)各從機(jī)串行口接收到的RB8=0,只有地址相符合的從機(jī)系統(tǒng)(即已清“0”SM2位的從機(jī))才能激活RI,從而進(jìn)入中斷,在中斷程序中接收主機(jī)的數(shù)據(jù)(或命令);
其它的從機(jī)因SM2=1,又RB8=0不激活中斷標(biāo)志RI,不能進(jìn)入中斷,接收的數(shù)據(jù)丟失。前圖所示的多機(jī)系統(tǒng)是主從式,由主機(jī)控制多機(jī)之間的通訊,從機(jī)和從機(jī)的通訊只能經(jīng)主機(jī)才能實(shí)現(xiàn)。第九十九頁,共一百五十一頁,編輯于2023年,星期五2.6.4波特率的制定方法方式0、方式2的波特率是固定的;方式1、方式3波特率由定時(shí)器T1的溢出率來確定。(1)波特率的定義波特率的定義?。對于定時(shí)器的不同工作方式,波特率的范圍不一。第一百頁,共一百五十一頁,編輯于2023年,星期五(a)方式0波特率=時(shí)鐘頻率fosc×1/12,不受SMOD位的值的影響。若fosc=12MHz,波特率為fosc/12即1Mb/s。(b)方式2波特率=(2SMOD/64)×fosc若fosc=12MHz:SMOD=0波特率=187.5kb/s;
SMOD=1波特率=375kb/s
(c)方式1或方式3時(shí),波特率為:
波特率=(2SMOD/32)×T1的溢出率
第一百零一頁,共一百五十一頁,編輯于2023年,星期五實(shí)際設(shè)定波特率時(shí),T1常設(shè)置為方式2定時(shí)(自動(dòng)裝初值)這種方式不僅操作方便,也可避免因軟件重裝初值而帶來的定時(shí)誤差。此時(shí):第一百零二頁,共一百五十一頁,編輯于2023年,星期五例: 設(shè)串行接口工作于工作方式3,SMOD=0,f=11.059MHz,定時(shí)器/計(jì)數(shù)器1工作于定時(shí)器方式2(自動(dòng)重裝載方式),TLl、THl的初值為FDH,試計(jì)算波特率。因?yàn)槎〞r(shí)器/計(jì)數(shù)器1的定時(shí)時(shí)間為:T=(256-253)×12/(11.059×106) 其溢出速率:1/T=11.059×106/[(256-253)×12]=307194.4 所以波特率為:20×307194.4/32=9599.83≈9600(位/秒)第一百零三頁,共一百五十一頁,編輯于2023年,星期五舉例:串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)串行數(shù)據(jù)由RXD發(fā)送給串并轉(zhuǎn)換芯片74164,TXD則用于輸出移位時(shí)鐘脈沖,74164將串行輸入的1字節(jié)轉(zhuǎn)換為并行數(shù)據(jù),并將轉(zhuǎn)換的數(shù)據(jù)通過8只LED顯示出來。本例串口工作模式0,即移位寄存器I/O模式。第一百零四頁,共一百五十一頁,編輯于2023年,星期五#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharvoidDelay(uintx){ uchari; while(x--) { for(i=0;i<120;i++); }}voidmain(){ ucharc=0x80; SCON=0x00; TI=1; while(1) { c=_crol_(c,1); SBUF=c; while(TI==0); TI=0; Delay(400); }}第一百零五頁,共一百五十一頁,編輯于2023年,星期五舉例:甲機(jī)通過串口控制乙機(jī)LED閃爍甲單片機(jī)負(fù)責(zé)向外發(fā)送控制命令字符“A”、“B”、“C",或者停止發(fā)送,乙機(jī)根據(jù)所接收到的字符完成LED1閃爍、LED2閃爍、雙閃爍、或停止閃爍。第一百零六頁,共一百五十一頁,編輯于2023年,星期五舉例:單片機(jī)之間雙向通信甲機(jī)向乙機(jī)發(fā)送控制命令字符,甲機(jī)同時(shí)接收乙機(jī)發(fā)送的數(shù)字,并顯示在數(shù)碼管上。乙機(jī)接收到甲機(jī)發(fā)送的信號后,根據(jù)相應(yīng)信號控制LED完成不同閃爍動(dòng)作。第一百零七頁,共一百五十一頁,編輯于2023年,星期五第一百零八頁,共一百五十一頁,編輯于2023年,星期五補(bǔ)充:中斷的基本概念CPU執(zhí)行程序時(shí),由于發(fā)生了某種隨機(jī)的事件(外部或內(nèi)部的),引起CPU暫時(shí)中斷正在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行一段特殊的服務(wù)程序(稱為中斷服務(wù)程序或中斷處理程序),以處理該事件,該事件處理完后又返回被中斷的程序繼續(xù)執(zhí)行,這一過程稱為中斷。2.7中斷系統(tǒng)實(shí)時(shí)測控時(shí),單片機(jī)應(yīng)能及時(shí)地響應(yīng)和處理單片機(jī)外部事件或內(nèi)部事件所提出的中斷請求。第一百零九頁,共一百五十一頁,編輯于2023年,星期五中斷流程圖主程序斷點(diǎn)繼續(xù)執(zhí)行主程序執(zhí)行中斷服務(wù)子程序外設(shè)中斷請求中斷響應(yīng)返回主程序中斷方式優(yōu)點(diǎn):大大地提高了CPU的工作效率。第一百一十頁,共一百五十一頁,編輯于2023年,星期五中斷源中斷源——引起CPU中斷的事件。例如:外設(shè)——請求輸入輸出數(shù)據(jù),報(bào)告故障等事件——掉電、硬件故障、軟件錯(cuò)誤、非法操作、定時(shí)時(shí)間到等中斷源分為:外部中斷、內(nèi)部中斷內(nèi)部中斷:CPU內(nèi)部執(zhí)行程序時(shí)自身產(chǎn)生的中斷外部中斷:CPU以外的設(shè)備、部件產(chǎn)生的中斷第一百一十一頁,共一百五十一頁,編輯于2023年,星期五中斷過程五個(gè)步驟:中斷請求中斷判優(yōu)(有時(shí)還要進(jìn)行中斷源識別)中斷響應(yīng)中斷服務(wù)中斷返回第一百一十二頁,共一百五十一頁,編輯于2023年,星期五1.中斷請求中斷源發(fā)出中斷請求信號,送到CPU。中斷請求信號應(yīng)保持到中斷被處理為止;CPU響應(yīng)中斷后,中斷請求信號應(yīng)及時(shí)撤銷。第一百一十三頁,共一百五十一頁,編輯于2023年,星期五2中斷判優(yōu)多個(gè)中斷源產(chǎn)生中斷,CPU首先為誰服務(wù)? ——中斷優(yōu)先級排隊(duì)問題。第一百一十四頁,共一百五十一頁,編輯于2023年,星期五MCS—51系列單片機(jī)處理中斷優(yōu)先權(quán)有三條原則:①正在進(jìn)行的中斷過程不能被新的同級或低優(yōu)先級的中斷請求所中斷,一直到該中斷服務(wù)程序結(jié)束,返回了主程序且執(zhí)行了主程序中的一條指令后,CPU才響應(yīng)新的中斷請求。
②正在進(jìn)行的低優(yōu)先級中斷服務(wù)程序能被高優(yōu)先級中斷請求所中斷,實(shí)現(xiàn)二級中斷嵌套。③CPU同時(shí)接收到幾個(gè)中斷請求時(shí),首先響應(yīng)優(yōu)先權(quán)最高的中斷請求。
第一百一十五頁,共一百五十一頁,編輯于2023年,星期五3.中斷響應(yīng)①CPU正在處理同級或高優(yōu)先級的中斷。②現(xiàn)行的機(jī)器周期不是所執(zhí)行指令的最后一個(gè)機(jī)器周期。③正在執(zhí)行的指令是RETI或訪問IE、IP的指令。CPU在執(zhí)行RETI或訪問IE、IP的指令后,至少需要再執(zhí)行一條其他指令后才會(huì)響應(yīng)中斷請求。
MCS-51的CPU在每個(gè)機(jī)器周期的S5P2期間順序采樣各中斷請求標(biāo)志位,如有置位,且下列三種情況都不存在,那么,在下一周期的S1期間響應(yīng)中斷。否則,采樣的結(jié)果被取消。三種情況是:第一百一十六頁,共一百五十一頁,編輯于2023年,星期五①根據(jù)中斷請求源的優(yōu)先級高低,使相應(yīng)的優(yōu)先級狀態(tài)觸發(fā)器置1。②保護(hù)斷點(diǎn),即把程序計(jì)數(shù)器PC的內(nèi)容推入堆棧保存。③清相應(yīng)的中斷請求標(biāo)志位IE0、IE1、TF0或TF1。CPU響應(yīng)中斷后,由硬件執(zhí)行如下功能:④把被響應(yīng)的中斷服務(wù)程序的入口地址送入PC,從而轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序執(zhí)行。
4.中斷服務(wù)
第一百一十七頁,共一百五十一頁,編輯于2023年,星期五中斷服務(wù)程序入口地址0003H單元:外部中斷0中斷服務(wù)程序的入口地址000BH單元:定時(shí)器/計(jì)數(shù)器0溢出中斷服務(wù)程序的入口地址00013H單元:外部中斷1中斷服務(wù)程序的入口地址0001BH單元:定時(shí)器/計(jì)數(shù)器1溢出中斷服務(wù)程序的入口地址0023H單元:串行口中斷服務(wù)程序的入口地址0002BH單元:定時(shí)器/計(jì)數(shù)器2溢出中斷服務(wù)程序的入口地址第一百一十八頁,共一百五十一頁,編輯于2023年,星期五中斷請求的撤除(1)對于定時(shí)器/計(jì)數(shù)器0、1的中斷請求及跳變觸發(fā)方式的外部中斷0、1,CPU在響應(yīng)中斷后用硬件清除了相應(yīng)的中斷請求標(biāo)志TF0、TF1、IE0、IE1,即自動(dòng)撤除了中斷請求。(2)對于串行接口中斷及定時(shí)器/計(jì)數(shù)器2中斷,CPU響應(yīng)中斷后沒有用硬件清除中斷標(biāo)志位,必須由用戶編制的中斷服務(wù)程序來清除相應(yīng)的中斷標(biāo)志。
CPU響應(yīng)中斷請求后,在中斷返回(執(zhí)行RETI)前,必須撤除請求,否則會(huì)錯(cuò)誤地再一次引起中斷過程。第一百一十九頁,共一百五十一頁,編輯于2023年,星期五5.中斷返回中斷服務(wù)程序的最后一條指令必須是中斷返回指令RETI。CPU執(zhí)行該指令時(shí),先將相應(yīng)的優(yōu)先級狀態(tài)觸發(fā)器清零,然后從堆棧中彈出棧頂?shù)膬蓚€(gè)字節(jié)到PC,從而返回到斷點(diǎn)處。第一百二十頁,共一百五十一頁,編輯于2023年,星期五2.7.1MCS-51中斷系統(tǒng)功能5個(gè)(52子系列為6個(gè))中斷源2個(gè)中斷優(yōu)先級,可實(shí)現(xiàn)二級中斷嵌套每一個(gè)中斷源的優(yōu)先級可用程序設(shè)定第一百二十一頁,共一百五十一頁,編輯于2023年,星期五
中斷系統(tǒng)結(jié)構(gòu)示意圖
第一百二十二頁,共一百五十一頁,編輯于2023年,星期五2.7.2中斷請求源中斷系統(tǒng)結(jié)構(gòu)示意圖
1.外部中斷0、1
外部中斷請求有兩種觸發(fā)方式:電平觸發(fā)及跳變觸發(fā),由TCON的IT0位及IT1位選擇。IT0(IT1)=0:電平觸發(fā)IT0(IT1)=1:跳變觸發(fā)
注意:CPU響應(yīng)中斷后,由硬件自動(dòng)清除IE0或IE1
第一百二十三頁,共一百五十一頁,編輯于2023年,星期五中斷系統(tǒng)結(jié)構(gòu)示意圖
2.定時(shí)器/計(jì)數(shù)器0、1溢出中斷
定時(shí)器/計(jì)數(shù)器計(jì)數(shù)溢出時(shí),由硬件分別置TF0=1或TF1=1,向CPU申請中斷
注意:CPU響應(yīng)中斷后,由硬件自動(dòng)清除TF0或TF1
第一百二十四頁,共一百五十一頁,編輯于2023年,星期五中斷系統(tǒng)結(jié)構(gòu)示意圖
3.串行接口中斷串行接口發(fā)送了一幀信息,便由硬件置TI=1、向CPU申請中斷。串行接口接收了一幀信息,便由硬件置RI=1,向CPU申請中斷。注意:CPU響應(yīng)中斷后必須用軟件清除TI和RI第一百二十五頁,共一百五十一頁,編輯于2023年,星期五2.7.3中斷控制中斷系統(tǒng)結(jié)構(gòu)示意圖
中斷屏蔽觸發(fā)器中斷允許觸發(fā)器上述兩個(gè)觸發(fā)器由中斷允許寄存器IE來設(shè)置
1.中斷允許控制第一百二十六頁,共一百五十一頁,編輯于2023年,星期五中斷允許寄存器IE格式IE的每一位都可由軟件置1或清零。且1:中斷允許,0:中斷屏蔽。(1)CPU中斷允許位EAEA=1時(shí)CPU中斷允許,EA=0時(shí)CPU屏蔽一切中斷請求。
(2)串行接口中斷允許位ESES=1時(shí)允許串行接口中斷,ES=0時(shí)禁止串行接口申請中斷。第一百二十七頁,共一百五十一頁,編輯于2023年,星期五(3)T/C1中斷允許位ETlET1=1時(shí)允許T/C1申請中斷,ET1=0時(shí)禁止T/C1中斷。
(4)外部中斷1中斷允許位EX1EX1=1時(shí)允許外部中斷1申請中斷,EX1=0時(shí)禁止中斷。(5)定時(shí)器/計(jì)數(shù)器0中斷允許位ET0ET0=1允許定時(shí)器/計(jì)數(shù)器申請中斷,ET0=0時(shí)禁止中斷。(6)外部中斷0中斷允許位EX0EX0=l時(shí)允許外部中斷0申請中斷,EX0=0禁止外部中斷0申請中斷。第一百二十八頁,共一百五十一頁,編輯于2023年,星期五MCS-51復(fù)位后,IE清0,所有中斷請求被禁止。若使某一個(gè)中斷源被允許中斷,除了IE相應(yīng)的位的被置“1”,還必須使EA位=1。例:
EA=1;
ET0=1;第一百二十九頁,共一百五十一頁,編輯于2023年,星期五例若允許片內(nèi)2個(gè)定時(shí)器/計(jì)數(shù)器中斷,禁止其它中斷源的中斷請求。編寫設(shè)置IE的相應(yīng)程序段。(1)用位操作指令來編寫如下程序段:
ES=0;禁止串行口中斷 EX1=0;禁止外部中斷1中斷 EX0=0;禁止外部中斷0中斷ET0=1;允許定時(shí)器/計(jì)數(shù)器T0中斷ET1=1;允許定時(shí)器/計(jì)數(shù)器T1中斷EA=1;CPU開中斷(2)用字節(jié)操作指令來編寫:IE=0x8AH;第一百三十頁,共一百五十一頁,編輯于2023年,星期五中斷系統(tǒng)結(jié)構(gòu)示意圖
優(yōu)先權(quán)選擇由中斷優(yōu)先級寄存器IP控制工作。
2.中斷優(yōu)先級寄存器IP兩個(gè)中斷優(yōu)先級,可實(shí)現(xiàn)兩級中斷嵌套。第一百三十一頁,共一百五十一頁,編輯于2023年,星期五可歸納為下面兩條基本規(guī)則:(1)低優(yōu)先級可被高優(yōu)先級中斷,反之則不能。(2)同級中斷不會(huì)被它的同級中斷源所中斷。若CPU正在執(zhí)行高優(yōu)先級的中斷,則不能被任何中斷源所中斷。第一百三十二頁,共一百五十一頁,編輯于2023年,星期五中斷優(yōu)先級寄存器IP,其字節(jié)地址為B8H。IP各個(gè)位的含義:(1)PS——串行口中斷優(yōu)先級控制位
1:高優(yōu)先級中斷;
0:低優(yōu)先級中斷。(2)PT1——定時(shí)器T1中斷優(yōu)先級控制位
1:高優(yōu)先級中斷;
0:低優(yōu)先級中斷。(3)PX1——外部中斷1中斷優(yōu)先級控制位
1:高優(yōu)先級中斷;
0:低優(yōu)先級中斷。第一百三十三頁,共一百五十一頁,編輯于2023年,星期五中斷優(yōu)先級寄存器IP,其字節(jié)地址為B8H。(4)PT
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024個(gè)人車位租賃合同范本
- 智能決策支持系統(tǒng)在數(shù)字化農(nóng)業(yè)中的持續(xù)優(yōu)化與升級
- 蘇州科技大學(xué)天平學(xué)院《消費(fèi)者行為學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024店鋪?zhàn)赓U合同樣本
- 光學(xué)儀器在海洋能源中的應(yīng)用案例考核試卷
- 建筑物拆除風(fēng)險(xiǎn)分析考核試卷
- 住宅電氣安裝工程管理考核試卷
- 人事行政培訓(xùn)工作滿意度與員工福利考核試卷
- 制鞋業(yè)的市場在線銷售與電子商務(wù)策略案例分析報(bào)告考核試卷
- 個(gè)人抵押房屋借款合同
- 健康管理的四大關(guān)鍵飲食、運(yùn)動(dòng)、休息、心理
- 住院醫(yī)師規(guī)范化培訓(xùn)臨床操作技能床旁教學(xué)指南(2021年版)全面解讀
- 教學(xué)查房-胃癌
- 幼兒園大班《種植》教案分享帶動(dòng)畫
- 2023超星爾雅-大學(xué)生創(chuàng)新基礎(chǔ)-馮林全部答案
- 趙珍珠《商業(yè)銀行-金融企業(yè)會(huì)計(jì)》第二版課后參考答案 (第二到十一章)
- 大班科學(xué)《紅薯現(xiàn)形記》課件
- GB/T 43336-2023舵輪控制系統(tǒng)通用技術(shù)條件
- JGJT294-2013 高強(qiáng)混凝土強(qiáng)度檢測技術(shù)規(guī)程
- 2022-2023學(xué)年天津市某中學(xué)高三上學(xué)期第二次月考英語試題(解析版)
- 揚(yáng)州某校2023-2024蘇教版五年級上冊數(shù)學(xué)期中課堂練習(xí)及答案
評論
0/150
提交評論