




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、一:中斷的分類。1.INT0外部中斷0,由P3.2口引入 interrupt 02.INT1外部中斷1,由P3.3口引入interrupt 23.T0定時器/計(jì)數(shù)器0中斷,由T0計(jì)數(shù)器計(jì)滿回零引起。interrupt 14. T1定時器/計(jì)數(shù)器1中斷,由T1計(jì)數(shù)器計(jì)滿回零引起。interrupt 35. T2定時器/計(jì)數(shù)器2中斷,由T2計(jì)數(shù)器計(jì)滿回零引起。(52單片機(jī)特有)6.TI/ RI串行口中斷,串行端口完成一幀字符發(fā)送接收后引起。interrupt 4二:關(guān)于中斷的使用。接下來將練習(xí)外部中斷0 (包括電平觸發(fā)和跳變沿觸發(fā))T0定時器中斷 (包括方式一和方式二)這兩種中斷的使用。三:總論。
2、1. 要想使用中斷,只要經(jīng)過設(shè)置中斷方式開啟中斷就可以了。其實(shí)就是對幾個特殊功能寄存器的設(shè)置。第一步:設(shè)置工作方式寄存器 TMOD(對于定時器中斷來說的,外部中斷不需要)第二步:設(shè)置控制寄存器 TCON第三步:設(shè)置中斷允許寄存器,開啟相應(yīng)的中斷。四:相關(guān)寄存器介紹。1 定時器/計(jì)數(shù)器工作方式寄存器TMOD。TMOD共有8位,其高四位用來設(shè)置定時器1,低四位用來設(shè)置定時器0.1.GATE門控制位 GATE=0 定時器/計(jì)數(shù)器的啟動僅受TCON寄存器中TRX來控制 ,受和外部中斷引腳電平狀態(tài)共同控制2.C/T定時器和計(jì)數(shù)器模式選擇位。=0時定時器,=1計(jì)數(shù)器。3.M1 M0 工作方式選擇位。M1M
3、0 0 0 13位定時器/計(jì)數(shù)器 0 1 16位定時器/計(jì)數(shù)器 方式一10 8位初值自動重裝的定時器/計(jì)數(shù)器 二綜上:使用定時器T0工作方式1時設(shè)置為 TMOD=0x01 使用定時器T0工作方式2時設(shè)置為 TMOD=0x022. 定時器/計(jì)數(shù)器控制寄存器 TCON低四位用于外部中斷;高四位用于定時器/計(jì)數(shù)器(1)關(guān)于外部中斷0IE0:外部中斷0中斷請求標(biāo)志位。IT0:外部中斷0觸發(fā)方式控制位。當(dāng)IT0=0時,為電平觸發(fā)方式。 (默認(rèn)為0,因此使用外部中斷就開EA,開EX0)當(dāng)IT0=1時,為跳變沿觸發(fā)方式(下降沿有效)。【當(dāng)?shù)谝粋€機(jī)器周期采樣到INT0為低電平時,IE0置1。IE0=1,表示外
4、部中斷0正在向CPU申請中斷。當(dāng)cpu相應(yīng)中斷,轉(zhuǎn)向中斷服務(wù)時,IE0由硬件清0.】(仔細(xì)研究下這玩意,嘗試查詢法)IE1與IT1 外部中斷1,與此用法相同。TF0:定時/計(jì)數(shù)器T0溢出中斷請求標(biāo)志位。【當(dāng)定時器0計(jì)滿溢出時,由硬件使TF0置1,并且申請進(jìn)入中斷,進(jìn)入中斷服務(wù)程序后,此位由硬件自動清零。需要注意的是,如果使用定時器的中斷,那么該位完全不用人為去操作。但是如果使用軟件查詢方式的話,當(dāng)查詢到該位置1后,需由軟件清0】TR0:定時器0運(yùn)行控制位。 TR0=1;啟動定時器0,軟件清0關(guān)閉定時器0 TR1,TF1是關(guān)于定時器1的,具體用法與定時器0同。以上便是對定時器的設(shè)置。接下來設(shè)置中
5、斷允許寄存器。§ EA , 全局中斷允許(總允許)位。§ EX0,外部中斷0允許位,EX0=1;開中斷。=0;關(guān)中斷。EX1外部中斷1允許位;§ ET0,定時/計(jì)數(shù)器T0中斷允許位; ET1,定時/計(jì)數(shù)器T1§ ES,串行口中斷允許位;IE是中斷允許寄存器,其值為82時,二進(jìn)制為1000 0010,IE.7位為1表示CPU開放中斷,IE.1位也為1,表示允許定時器T0溢出中斷綜上所述,便完成了對各種中斷的設(shè)置和開啟關(guān)閉。再加上一個中斷子函數(shù)就OK了。備注:外部中斷0 interrupt 0 定時器中斷0 interrupt 1 外部中斷1 interru
6、pt 2 定時器中斷1 interrupt 3 串口中斷 interrupt 4接下來是實(shí)戰(zhàn):1.首先是外部中斷0 (電平觸發(fā)方式)#include<reg52.h>#define uchar unsigned charsbit d=P10;uchar i;void main()/首先TMOD不是關(guān)于外部中斷的,不需設(shè)置EA=1;/然后是TCON寄存器,TR0默認(rèn)0,也不許設(shè)置EX0=1;/所以只需開總中斷,開外部中斷就可以了。while(1);void ser() interrupt 0EX0=0;/進(jìn)入后就關(guān)閉中斷,防止中斷程序還未執(zhí)行完畢就在此進(jìn)入中斷i+; /實(shí)際測試時最好
7、加個延時,防止持續(xù)的低電平使單片機(jī)持續(xù)進(jìn)入中斷if(i=1) /類似于按鍵消抖d=0;if(i=2)d=1;EX0=1; 2.然后是外部中斷0 (跳變沿觸發(fā)方式)#include<reg52.h>#define uint unsigned intsbit beep=P23;sbit t=P32;void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void main()t=0;IT0=1;/設(shè)置TCON,設(shè)為跳變沿觸發(fā)EA=1;EX0=1;while(1)t=1;delay(5);t=0;void ser
8、() interrupt 0beep=0;delay(1000);beep=1;delay(1000);3. 定時器0中斷(方式1):步驟還是以上說的那樣,先設(shè)TMOD,再賦初值,再設(shè)TCON,然后啟動總中斷,開TR0.但關(guān)于賦初值:1. 由計(jì)數(shù)產(chǎn)生中斷,計(jì)滿溢出便會進(jìn)入中斷。不賦初值,默認(rèn)為0,計(jì)65536個數(shù),即耗費(fèi)65536us.2. 若晶振為12MHZ,要計(jì)多長時間,就用(65536-t)這就是初值,在此基礎(chǔ)上計(jì)時。11.0592MHZ時,(65536-45872)/256; (65536-45872)%256;便是計(jì)時50毫秒。3.需要計(jì)數(shù)的個數(shù)N=需要計(jì)數(shù)的時間 t / 機(jī)器周期T
9、 12個時鐘周期為1個機(jī)器周期。 時鐘周期便是頻率的倒數(shù)。#include<reg52.h>unsigned char i;void main()TMOD=0x01;/設(shè)定為 定時器0工作方式是1TH0=(65536-45872)/256;TL0=(65536-45872)%256; /50毫秒進(jìn)入一次中斷TR0=1; /設(shè)置TCONEA=1;ET0=1; /開定時器0中斷while(1)if(i=20)P1=0x00;if(i=40)i=0;P1=0xff;void ser() interrupt 1i+;擴(kuò)展:1. 定時器、計(jì)數(shù)器0 方式0的應(yīng)用:通過設(shè)置M1M0位為00選擇定
10、時器方式0,計(jì)數(shù)位數(shù)是13位的,由TL0的低五位和TH0的8位組成,最多能裝8192個數(shù)。若晶振為11.0592MHZ,則機(jī)器周期為 12*(1/11.0592)=1.0851us. 若計(jì)時t=5ms,則需要計(jì)數(shù)N=5000/1.0851=4607。則初值為 TH0=(8192-4607)/32; TL0=(8192-4607)%32;計(jì)數(shù)時只使用了TL0的低五位,所以最多計(jì)32個數(shù)就會進(jìn)1.示例程序:#include<reg52.h>sbit d=P10;unsigned char i;void main()TMOD=0x00;TH0=(8192-4607)/32; /計(jì)時5ms
11、TL0=(8192-4607)%32;EA=1;ET0=1;TR0=1;while(1)if(i=200)i=0;d=d;void ser() interrupt 1TH0=(8192-4607)/32; /計(jì)時5msTL0=(8192-4607)%32;i+;2.定時器0中斷(方式2):自動重裝TMOD設(shè)置為0x02即可。(TMOD=0000 0010 轉(zhuǎn)化為16進(jìn)制為0x20)但方式2是8位的,計(jì)時的時間比較短。方式2適合做比較精確地脈沖信號發(fā)生器(晶振為12M這樣才不會有誤差)8位自動重裝計(jì)數(shù)器,最多計(jì)256個數(shù)。機(jī)器周期仍為1.0851us(12M便是1us),若每次計(jì)250個數(shù),耗時
12、1.0851*250=271.275us,要計(jì)1s的話,需要溢出1000 000/271.275us=3686次。初值為6。/*方式2適合做比較精確地脈沖信號發(fā)生器(晶振為12M這樣才不會有誤差)8位自動重裝計(jì)數(shù)器,最多計(jì)256個數(shù)。機(jī)器周期仍為1.0851us(12M便是1us),若每次計(jì)250個數(shù),耗時1.0851*250=271.275us,要計(jì)1s的話,需要溢出1000 000/271.275us=3686次。初值為6。 同理,12M晶振,250次,即為250us,溢出4000次即為1s*/#include<reg52.h>sbit d=P10;unsigned int n
13、; /不能用uchar 了哦void main()TMOD=0x02;/定時器0方式2TH0=6;TL0=6;EA=1;ET0=1;TR0=1;while(1)if(n=3686) /計(jì)時1s需溢出3686次n=0;d=!d;void ser() interrupt 1n+; /不需要賦初值哦3.定時器0(方式3)的應(yīng)用 (方式3只適用于T0) (1).M1M0設(shè)置為1 1 即為方式3.(2)方式3被分為兩個獨(dú)立的計(jì)數(shù)器,TL0為正常的8為計(jì)數(shù)器,計(jì)數(shù)器溢出后置位TF0,并向CPU申請中斷,之后手動重裝初值。TH0也被固定為一個位計(jì)數(shù)器,但它將占用T1的中斷請求標(biāo)志TF1和定時器啟動控制位TR
14、1。(3).因?yàn)榉绞?占用了T1的中斷,所以使用方式3就不能使用T1的中斷。但T1仍然可以正常工作在方式0,1,2下。 通常這種情況下T1被用來當(dāng)做串行口的波特率發(fā)生器。示例程序:#include<reg52.h>sbit d1=P10;sbit d2=P11;unsigned int n1,n2;void main()TMOD=0x03;/定時器0方式3TH0=6;TL0=6;EA=1;ET0=1;ET1=1;/TH0占用T1的中斷,所以也要打開TR0=1;TR1=1; /while(1)if(n1>=3686) /必須是>= n1=0; d1=d1;if(n2>
15、;=1843) /定時半秒n2=0;d2=d2;void ser_TL0() interrupt 1 /不能僅用TL0做函數(shù)名TL0=6;n1+;void ser_TH0() interrupt 3 /用的T1的中斷,所以為3TH0=6;n2+;備注:關(guān)于此處變成了n>= 因?yàn)榇颂幱袃蓚€中斷程序。假設(shè)當(dāng)n1恰好等于了3686,然后程序進(jìn)入if內(nèi)部執(zhí)行,但若恰好此時n2到達(dá)了1843,主程序此時還檢測不到下一個if語句也滿足情況了,故n2會繼續(xù)加下去,若判斷情況還是之前的=的話,程序永遠(yuǎn)不會進(jìn)入if語句。故應(yīng)為>=。以后寫這方面的程序要特別注意。4.關(guān)于計(jì)數(shù)器的應(yīng)用。(以計(jì)數(shù)器0方式
16、1為例)(1)、計(jì)數(shù)器的功能是對外來脈沖信號計(jì)數(shù),計(jì)數(shù)器T0(P3.4口)T1(P3.5口)T2(P1.0)三個輸入引腳。當(dāng)設(shè)置為計(jì)數(shù)器工作狀態(tài)時,每當(dāng)外部輸入的脈沖發(fā)生負(fù)跳變(由1到0)時,計(jì)數(shù)器加1,直至加滿溢出,然后進(jìn)入中斷。(2)、但單片機(jī)的晶振限制了所測計(jì)數(shù)脈沖的最高頻率,外部輸入計(jì)數(shù)脈沖的最高頻率為振蕩器頻率的1/24 .即12MHZ晶振頻率,最高可輸入500KHZ的外部脈沖。(3)、知識回顧:TMOD中高四位用來設(shè)置計(jì)時器/計(jì)數(shù)器 1,低四位用來設(shè)置T0.其中C/T為用來選擇是計(jì)數(shù)器還是定時器。=0,計(jì)時。=1計(jì)數(shù)。故計(jì)數(shù)應(yīng)設(shè)為 0000 0101 TMOD=0x05;/*項(xiàng)目功
17、能:利用計(jì)數(shù)器0工作方式1,用地線去接觸T0腳,每接觸一下,計(jì)數(shù)器計(jì)一次數(shù),將所記的數(shù)值實(shí)時顯示在數(shù)碼管上,計(jì)滿100清零。*/*程序一:不使用中斷法,不停地讀取計(jì)數(shù)器寄存器中的值注意事項(xiàng):1.用函數(shù)實(shí)現(xiàn)讀取運(yùn)行中計(jì)數(shù)器寄存器的值,由于寄存器的值會隨時變化,為防止讀完TH0后再讀TL0時,TH0又進(jìn)1產(chǎn)生變化,需要再讀一次TH0,兩次讀取的值一樣,才表示讀取數(shù)值成功。 2、break;語句可以跳出while循環(huán) 3、如果讀完后判斷條件為n=100;然后讓n=0;出現(xiàn)的實(shí)際現(xiàn)象為第一個數(shù)碼管會不亮。因?yàn)槿绻惹白x到的數(shù)大于100了, 就不會再進(jìn)入if語句,但大于100的數(shù)數(shù)碼管又無法顯示!*#i
18、nclude<reg52.h>#define uchar unsigned char#define uint unsigned intsbit dula=P26;sbit wela=P27;uchar code shu=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar n;void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void display() uchar shi,ge; shi=n/10; ge=n%10; dula=1; P0=s
19、hushi; dula=0; P0=0xff; wela=1; P0=0xfe; wela=0; delay(5); /延時必不可少! dula=1; P0=shuge; dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delay(5); /延時必不可少! void read()uchar th1,th2,t1;while(1) /反復(fù)讀取,直至讀出一樣的TH0為止th1=TH0;t1=TL0;th2=TH0;if(th1=th2) break; /跳出本層循環(huán) n=th1*256+t1;void main()TMOD=0x05; / 0000 0101TH
20、0=0;TL0=0; /這里不用中斷程序,故不用開中斷TR0=1;while(1)read();if(n>=100)/以后寫程序都要寫 >=n=0;TH0=0;TL0=0; /計(jì)數(shù)器也要重新開始記哦display();/*程序二:采用中斷法,設(shè)定初值,接收一次負(fù)跳變便進(jìn)入中斷,然后n+,顯示。疑問:如果采用標(biāo)準(zhǔn)的脈沖的,顯示至少需要10ms,10ms早就需要計(jì)很多數(shù)了。所以上例適合間隔十分短的計(jì)數(shù),而中斷法則適合間隔很長的計(jì)數(shù)。*#include<reg52.h>#define uchar unsigned char#define uint unsigned intsb
21、it dula=P26;sbit wela=P27;uchar code shu=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar n;void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void display() uchar shi,ge; shi=n/10; ge=n%10; dula=1; P0=shushi; dula=0; P0=0xff; wela=1; P0=0xfe; wela=0;delay(5); /延時必不可少! dula=1;
22、P0=shuge; dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delay(5); /延時必不可少! void main()TMOD=0x05;TH0=0xff;TL0=0xfe;EA=1;ET0=1;TR0=1;while(1) /必須把顯示放到主程序中,令其反復(fù)顯示 /否則現(xiàn)象為第一位數(shù)碼管不亮display();void ser() interrupt 1ET0=0;TR0=0;TH0=0xff;TL0=0xfe;n+;if(n>=100)n=0;ET0=1;TR0=1;/*程序三:用單片機(jī)模擬出脈沖信號,對其負(fù)跳變計(jì)數(shù)。*/#include
23、<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit dula=P26;sbit wela=P27;uchar code shu=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar n;sbit m=P11;void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void display() uchar shi,ge; s
24、hi=n/10; ge=n%10; dula=1; P0=shushi; dula=0; P0=0xff; wela=1; P0=0xfe; wela=0;delay(5); /延時必不可少! dula=1; P0=shuge; dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delay(5); /延時必不可少! void main()TMOD=0x05;TH0=0xff;TL0=0xfe;EA=1;ET0=1;TR0=1;while(1) /必須把顯示放到主程序中,令其反復(fù)顯示 /否則現(xiàn)象為第一位數(shù)碼管不亮m=1;_nop_();_nop_();_nop_
25、();_nop_();_nop_();_nop_();/_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();m=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();/_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();display();void ser() interrupt 1ET0=0;TR0=0;TH0=0xff;TL0=0xfe;n+;if(n>=100)n=0;ET0=1;TR0=1;4. 關(guān)于串口中斷:(方式1)1. 要利用定時器1做比特率
26、發(fā)生器。2. TI為 發(fā)送中斷標(biāo)志位;RI為接收中斷標(biāo)志位。發(fā)送或接收完畢都會由硬件置1,此時應(yīng)由軟件清0。3. 發(fā)送或接收了數(shù)據(jù)都會進(jìn)入串口中斷。(因此進(jìn)入中斷程序后要及時關(guān)閉中斷)詳解程序:/*項(xiàng)目一:利用串口通信的方式,上位機(jī)銅通過發(fā)送數(shù)據(jù)來實(shí)現(xiàn)對P1口小燈的控制*#include<reg52.h>void init()TMOD=0x20;/0010 0000 定時器1工作方式2(自動重裝)TH1=0xfd;TL1=0xfd;TR1=1;REN=1;/允許串口接收數(shù)據(jù)SM0=0;SM1=1;/設(shè)置串口工作方式1EA=1;ES=1;/打開串口中斷void main() init
27、(); while(1);void ser() interrupt 4/第一次進(jìn)入中斷必是下位機(jī)接收到了數(shù)據(jù),因?yàn)樗麤]有數(shù)據(jù)可發(fā)RI=0;P1=SBUF; /這里把上位機(jī)發(fā)送到sbuf數(shù)據(jù)直接給P1口,不再讀出來/* 項(xiàng)目二:利用上位機(jī)發(fā)送數(shù)據(jù),然后下位機(jī)再發(fā)給上位機(jī) 注意發(fā)送也會進(jìn)入中斷哦,所以發(fā)送前要關(guān)閉中斷;注意while(!TI);的利用。 發(fā)送完畢及時清零*/#include<reg52.h>int flag=0;unsigned char a;void init()TMOD=0x20;/0010 0000 定時器1工作方式2(自動重裝)TH1=0xfd;TL1=0xfd
28、;TR1=1; REN=1;/允許串口接收數(shù)據(jù)SM0=0;SM1=1;/設(shè)置串口工作方式1EA=1;ES=1;/打開串口中斷void main() init(); while(1) if(flag=1)ES=0; /關(guān)閉串口中斷,防止待會發(fā)送數(shù)據(jù),又會進(jìn)入串口中斷。 本程序只有下位機(jī)接收到數(shù)據(jù)才會進(jìn)入中斷flag=0;SBUF=a; /把接收到的數(shù)據(jù)通過sbuf發(fā)送給上位機(jī)while(!TI); /等待發(fā)送完畢TI=0; /發(fā)送完畢,軟件清0ES=1; /再次打開中斷,等待上位機(jī)發(fā)送數(shù)據(jù),接收進(jìn)入中斷 void ser() interrupt 4/第一次進(jìn)入中斷必是下位機(jī)接收到了數(shù)據(jù),因?yàn)樗麤]
29、有數(shù)據(jù)可發(fā)RI=0;a=SBUF;flag=1;知識補(bǔ)充:SCON控制寄存器目錄各控制位展開各控制位展開定義SCON(Serial Control Register)串行口控制寄存器,用于控制串行通信的方式選擇、接收和發(fā)送,指示串口的狀態(tài)。SCON既可以字節(jié)尋址,也可以位尋址,其字節(jié)地址為98H,地址位為98H9FH。1結(jié)構(gòu)SCON寄存器各位定義SM0SM1SM2RENTB8RB8TIRI9FH9EH9DH9CH9BH9AH99H98H工作方式(SM0 SM1)(1)方式0( SM0 SM1 :0 0):串行口的工作方式0為移位寄存器I/O方
30、式,可外接移位寄存器,一擴(kuò)展I/O口,也可外接同步I/O設(shè)備。 發(fā)送操作:當(dāng)執(zhí)行一條“MOVSBUF,A”指令時,啟動發(fā)送操作,由TXD輸出移位脈沖,由RXD串行SBUF中的數(shù)據(jù)。發(fā)送完8位數(shù)據(jù)后自動置TI=1.請求中斷。要繼續(xù)發(fā)送時,TI必須有指令清零。 接收操作:REN是串行口接收允許控制位。REN=0時禁止接收;REN=1時允許接收。當(dāng)軟件將REN置“1”時,即開始從RXD端口以fosc/12波特率輸入數(shù)據(jù),當(dāng)接收到8位數(shù)據(jù)時,將中斷標(biāo)志RI置“1”。再次接收數(shù)據(jù)之前,必須用軟件將RI清0。(2)方式1 ( SM0 SM1 :0 1) :串行口位10位通用異步接
31、口。發(fā)送或接收一幀數(shù)據(jù)信息為10位,包括1位起始位“0”、8位數(shù)據(jù)位、1位停止位“1”。發(fā)送數(shù)據(jù):數(shù)據(jù)從TXD端口輸出,當(dāng)數(shù)據(jù)寫入發(fā)送緩沖器SBUF時,就啟動發(fā)送器發(fā)送。發(fā)送完一幀數(shù)據(jù)后,置中斷標(biāo)志TI=1,申請中斷,通知CPU可以發(fā)送下一個數(shù)據(jù)了。接收數(shù)據(jù):首先使REN=1(允許接收數(shù)據(jù)),串行口從RXD接收數(shù)據(jù),當(dāng)采樣到1至0跳變時,確認(rèn)是起始位“0”,就開始接收一幀數(shù)據(jù),當(dāng)接收完一幀數(shù)據(jù)時,置中斷標(biāo)志RI=1,申請中斷,通知CPU從SBUF取走接收到的數(shù)據(jù) 。(3)方式2 ( SM0 SM1 :1 0) :串行口為11位異步通信接口。發(fā)送或接收一幀信息包括1位起始位“0”、8位數(shù)據(jù)位、1位可編程位、1位停止位“1”。發(fā)送數(shù)據(jù):發(fā)送前,先根據(jù)通信協(xié)議由軟件設(shè)置TB8為“奇偶校驗(yàn)位”或“數(shù)據(jù)標(biāo)識位”,然后將要發(fā)送的數(shù)據(jù)寫入SBUF,即能啟動發(fā)送器。發(fā)送過程是由執(zhí)行任何一條以SBUF為目的寄存器的指令而啟動的,把8位數(shù)據(jù)裝入SBUF,同時還把TB8裝到發(fā)送移位寄存器的第9位上,然后從TXD(P3.1)端口輸出一幀數(shù)據(jù)。接收數(shù)據(jù):先置REN=1,使
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第2.6練 指數(shù)與指數(shù)函數(shù)(解析版)-2024年高考數(shù)學(xué)一輪復(fù)習(xí)精講精練寶典(新高考專用)
- 2022年北京市初三一模道德與法治試題匯編:遵守社會規(guī)則
- 2024人工智能法律倫理
- 2020-2021學(xué)年江蘇省南京外國語河西初級中學(xué)等三校七年級(下)期中數(shù)學(xué)試卷
- 衢州屋檐防水施工方案
- 2024年廣西地區(qū)中考滿分作文《給小廣的一封信》5
- 第1課 十字路口-認(rèn)識多圖層動畫 教學(xué)設(shè)計(jì)-2023-2024學(xué)年遼師大版(2015)初中信息技術(shù)八年級下冊
- 合同范例和合同范例區(qū)別
- 代銷電器合同范例
- 可持續(xù)發(fā)展的工作實(shí)踐計(jì)劃
- 透水磚鋪裝施工方案
- 危急值報(bào)告制度
- 道路橋梁工程技術(shù)專業(yè)學(xué)生職業(yè)規(guī)劃書
- 《十步訊問法》讀書筆記
- GB/T 42599-2023風(fēng)能發(fā)電系統(tǒng)電氣仿真模型驗(yàn)證
- 術(shù)前肺功能評估的意義
- 分布式文件系統(tǒng)
- 手槍的基礎(chǔ)射擊演示文稿
- 浮針療法的學(xué)習(xí)課件
- 12K101-1 軸流通風(fēng)機(jī)安裝
- 上海市中小學(xué)生語文學(xué)業(yè)質(zhì)量綠色指標(biāo)測試
評論
0/150
提交評論