




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、教學(xué)導(dǎo)航教學(xué)導(dǎo)航任務(wù)單任務(wù)單任務(wù)準(zhǔn)備任務(wù)準(zhǔn)備知識(shí)梳理與總結(jié)知識(shí)梳理與總結(jié)案例示范案例示范任務(wù)作業(yè)任務(wù)作業(yè)任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈教教知識(shí)重點(diǎn)(1)字符幀格式與波特率; (2)串行口結(jié)構(gòu);(3)串行口控制寄存器; (4)串行口的4種工作方式及波特率設(shè)置知識(shí)難點(diǎn) 串行口結(jié)構(gòu)及工作方式推薦教學(xué)方式以任務(wù)入手,通過單片機(jī)雙機(jī)通信來控制霓虹燈這一任務(wù)的實(shí)現(xiàn),讓讀者逐漸理解單片機(jī)串行口通信的技術(shù)及其應(yīng)用。建議學(xué)時(shí) 4學(xué)時(shí)學(xué)學(xué)推薦學(xué)習(xí)方法通過對(duì)教師提供的電路圖,編寫程序,完成仿真調(diào)試,理解相關(guān)理論知識(shí),學(xué)會(huì)應(yīng)用。必須掌握的理論知識(shí)(1)單片機(jī)串行通信基礎(chǔ)知識(shí) (2)單片機(jī)之間的通信(
2、3)串行口的結(jié)構(gòu)、SBUF及控制寄存器(4)串行口的4種工作方式及波特率設(shè)置必須掌握的技能(1)串行口中斷服務(wù)函數(shù)的編寫; (2)單片機(jī)之間的串行口通信的設(shè)計(jì)任務(wù)任務(wù)描述描述本任務(wù)是通過兩個(gè)單片機(jī)通過串行口進(jìn)行通信實(shí)現(xiàn)霓虹燈效果。任務(wù)任務(wù)要求要求兩個(gè)單片機(jī)通過串行口連接,一個(gè)單片機(jī)U1接16只發(fā)光二極管(P0口各腳分別連接紅、綠、黃、藍(lán)四種顏色),一個(gè)單片機(jī)U2接兩只數(shù)碼管(BCD碼),讓16只發(fā)光二極管按規(guī)律的閃亮(如第1次點(diǎn)亮所有紅燈、第2次點(diǎn)亮黃燈、第3次點(diǎn)亮綠燈、第4次點(diǎn)亮藍(lán)燈,依次循環(huán)往復(fù)),而霓虹燈閃亮的規(guī)律字由另一個(gè)單片機(jī)U1通過串行口傳送過來;與U1的P2口連接的數(shù)碼管顯示閃亮
3、的輪數(shù),即U2設(shè)置一個(gè)計(jì)數(shù)值(初值為0),收到的數(shù)據(jù)是霓虹燈每輪的開始(即紅燈亮?xí)r)則該計(jì)數(shù)值加1,并將該計(jì)數(shù)值傳送到U1顯示,當(dāng)計(jì)數(shù)值超過99時(shí)計(jì)數(shù)值歸0繼續(xù)計(jì)數(shù),如果U2發(fā)現(xiàn)數(shù)據(jù)傳送有錯(cuò)誤,則兩只數(shù)碼管顯示“FF”。實(shí)現(xiàn)實(shí)現(xiàn)方法方法1利用教師提供的電路圖,編寫程序;2在Proteus仿真運(yùn)行,實(shí)現(xiàn)任務(wù)要求。任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈4.1 串行通信基礎(chǔ)串行通信基礎(chǔ)4.2 MCS-51單片機(jī)的串行接口單片機(jī)的串行接口任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈4.1.1 串行通信的分類串行通信的分類4.1.2 串行通信
4、的傳輸方向串行通信的傳輸方向任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈所謂通信,是指微型計(jì)算機(jī)系統(tǒng)內(nèi)部部件之間、微型計(jì)算機(jī)與外部設(shè)備之間、微型計(jì)算機(jī)與微型計(jì)算機(jī)之間的數(shù)據(jù)傳送(信息交換)。分類并行通信串行通信任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈 計(jì)算計(jì)算機(jī)機(jī)1 GND 計(jì)算計(jì)算機(jī)機(jī)2 GND并行通信并行通信 計(jì)算機(jī)計(jì)算機(jī)1 GND 計(jì)算機(jī)計(jì)算機(jī)2GND發(fā)送發(fā)送接收接收串行通信串行通信任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈 數(shù)據(jù)通常是以字符(或字節(jié))為單位組成字符幀傳送的。字符幀由發(fā)送端一幀一幀地發(fā)送,通過傳輸線為接收設(shè)備一幀一幀地接收。發(fā)送端和接收端可以有各自的時(shí)鐘
5、來控制數(shù)據(jù)的發(fā)送和接收,這兩個(gè)時(shí)鐘源彼此獨(dú)立,互不同步。 1. 1. 異步通信異步通信任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈 起始位。位于字符幀開頭,只占一位,始終為邏輯0低電平。 數(shù)據(jù)位。根據(jù)情況可取5位、6位、7位或8位,低位在前高位在后。若所傳送數(shù)據(jù)為ASCII字符,則取7位。 奇偶校驗(yàn)位。僅占一位,用于表征串行通信中采用奇校驗(yàn)還是偶校驗(yàn)。 停止位。位于字符幀末尾,為邏輯“1”高電平,通常可取1位、1.5位或2位。 任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈第n-1字符幀 D7 0/1 1 0 D0 D1 D2 D3 D4 D5 D6 D7 0/1 1 0 D0 D18位
6、數(shù)據(jù)奇偶校驗(yàn)奇偶校驗(yàn)停 起止 始位 位停 起止 始位 位第n+1字符幀第n字符幀任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈第n-1字符幀 1 0 D0 D1 D2 D3 D4 D5 D6 D7 0/1 1 1 1 1 0 D08位數(shù)據(jù)奇偶校驗(yàn)空閑位停 起止 始位 位停止位起始位第n字符幀第n+1字符幀插入了3個(gè)空閑位的幀任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈波特率(Baut Rate)是指每秒鐘傳送信號(hào)的數(shù)量,單位為波特(Baud)。在異步通信中,波特率是最重要的指標(biāo),用于表征數(shù)據(jù)傳輸?shù)乃俣?。波特率越高,?shù)據(jù)傳輸速度越快??梢杂捎脩舾鶕?jù)實(shí)際情況而通過軟件設(shè)定。任務(wù)任務(wù)4 雙單片
7、機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈(1)要注意波特率與比特率是有區(qū)別的,每秒鐘傳送二進(jìn)制數(shù)的位數(shù)定義為比特率,單位是bit/s。由于在單片機(jī)串行通信中傳送的信號(hào)就是二進(jìn)制信號(hào),因此波特率與比特率數(shù)值上相等,單位采用bit/s。(2)波特率與字符的實(shí)際傳輸速率不同,字符的實(shí)際傳輸速率是指每秒鐘內(nèi)所傳字符的幀數(shù)。例如,假如數(shù)據(jù)傳送的速率是120字符/秒,而每個(gè)字符如上述規(guī)定包含10數(shù)位(1個(gè)起始位,8個(gè)數(shù)據(jù)位和1個(gè)停止位組成一幀),則其傳送波特率為:10bit120字符/s1200波特。任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈在異步通信中,每個(gè)字符要用起始位和停止位作為字符開始和結(jié)束的標(biāo)志,占
8、用了時(shí)間;所以在數(shù)據(jù)塊傳遞時(shí),為了提高速度,常去掉這些標(biāo)志,采用同步傳送。由于數(shù)據(jù)塊傳遞開始要用同步字符來指示,同時(shí)要求由時(shí)鐘來實(shí)現(xiàn)發(fā)送端與接收端之間的同步,故硬件較復(fù)雜。 任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈A站站發(fā)送發(fā)送器器B站站接收接收器器A站站B站站發(fā)送器發(fā)送器發(fā)送器發(fā)送器接收器接收器接收器接收器A站站B站站發(fā)送器發(fā)送器接收器接收器接收器接收器發(fā)送器發(fā)送器單工單工半雙工半雙工全雙工全雙工任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈4.2.1 串行口的結(jié)構(gòu)串行口的結(jié)構(gòu)uMCS-51系列單片機(jī)內(nèi)部有一個(gè)串行接口(Serial Port),是一個(gè)可編程的全雙工(能同時(shí)進(jìn)行發(fā)送
9、和接收)通信接口,具有UART(Universal asynchronous receiver transmitter通用異步接收和發(fā)送器)的全部功能。u該串行接口電路主要由串行口控制寄存器SCON、發(fā)送和接收電路等三部分組成。 任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈去申請(qǐng)中斷去申請(qǐng)中斷發(fā)送發(fā)送SBUF(99H)接收接收SBUF (99H)發(fā)送控制器發(fā)送控制器 TI接收控制器接收控制器 RI移位寄存器移位寄存器波波特特率率發(fā)發(fā)生生器器T11A累累加加器器輸出控制門輸出控制門RxDTxD P3.1P3.0CPU內(nèi)部內(nèi)部串串行行控控制制寄寄存存器器98H任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單
10、片機(jī)控制霓虹燈在物理上有兩個(gè)SBUB:一個(gè)發(fā)送寄存器SBUF、一個(gè)接收寄存器SBUF二者共用一個(gè)地址99H和相同的名稱SBUF。一個(gè)只能被CPU讀、一個(gè)只能被CPU寫發(fā)送時(shí),CPU寫入的是發(fā)送SBUF接收時(shí), 讀取的是接收SBUF, 接收寄存器是雙緩沖的, 以避免在接收下一幀數(shù)據(jù)之前, CPU未能及時(shí)響應(yīng)接收器的中斷, 沒有把上一幀數(shù)據(jù)讀走, 而產(chǎn)生兩幀數(shù)據(jù)重疊的問題。任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈工作方式選擇多機(jī)通信控制位允許接收控制位接收數(shù)據(jù)的第9位發(fā)送數(shù)據(jù)的第9位接收中斷標(biāo)志發(fā)送中斷標(biāo)志SM0SM1SM2RENTB8RB8TIRI9FH9EH9DH9CH9BH 9AH
11、99H98H在方式2和方式3中,僅用于接收,當(dāng)接收機(jī)的SM2=1時(shí)可以利用收到的第9位來控制是否置RI(當(dāng)RB80時(shí)不激活RI,并且將接收到的前8位數(shù)據(jù)丟棄;當(dāng)RB81時(shí),才將接收到的前8位數(shù)據(jù)送入SBUF,并置位RI產(chǎn)生中斷請(qǐng)求)。當(dāng)SM2=0時(shí),則不論第9位數(shù)據(jù)為0或1,都將前8位數(shù)據(jù)裝入SBUF中,并產(chǎn)生中斷請(qǐng)求。 任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈SM0 SM1 工作方式功能說明波特率0 0方式08位同步移位寄存器常用于擴(kuò)展I/O口fosc/120 1 方式110位UART8位數(shù)據(jù)、起始位、結(jié)束位可變(取決于定時(shí)器1溢出率)1 0方式211位UART8位數(shù)據(jù)、起始位、結(jié)束
12、位和奇偶校驗(yàn)位fosc/64或fosc/321 1方式311位UART可變(取決于定時(shí)器1溢出率)任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈只有該位有用,為只有該位有用,為1時(shí),波特率時(shí),波特率2;為為0時(shí)不變。時(shí)不變。SMOD GF1 GF0 PDIDL87H不能位尋址,在對(duì)其進(jìn)行初始化時(shí)需用字節(jié)傳送指令! 任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈串行口的SBUF是作為8位同步移位寄存器用,主要用于和外部同步移位寄存器外接以擴(kuò)展一個(gè)并行I/O接口(將串行口變?yōu)?個(gè)8位并行I/O口使用)。此方式是半雙工的,并非是一種同步通信方式。 波特率固定為fosc/12,即每個(gè)機(jī)器周期移位一
13、次。串行數(shù)據(jù)從RXD(P3.0)端輸入或輸出,同步移位脈沖由TXD(P3.1)送出。這種方式常用于擴(kuò)展I/O口,也可外接同步輸入/輸出設(shè)備。1. 1. 方式方式0 0 同步移位寄存器方式同步移位寄存器方式任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈ABCLK3 4 5 6 10 11 12 13數(shù)據(jù)輸出移位脈沖RXDTXD805174LS164D7D6D5D4D3D2D1D0SBUF中的串行數(shù)據(jù)由RXD逐位移出;TXD輸出移位時(shí)鐘,頻率=fosc/12;每送出8位數(shù)據(jù),TI就自動(dòng)置1;必須用軟件清零 TI。RXD不再是接收引腳、TXD也不再是發(fā)送引腳。任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)
14、控制霓虹燈ACLK6543 14 13 12 11數(shù)據(jù)輸入移位脈沖RXDTXD805174LS165D0D1D2D3D4D5D6D7串行數(shù)據(jù)由RXD逐位移入SBUF中;TXD輸出移位時(shí)鐘,頻率=fosc/12;每接收8位數(shù)據(jù)RI就自動(dòng)置1;必須用軟件清零 RI。任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈方式0時(shí):SM0,SM100方式0時(shí)SM2必須為0:SM20 REN1時(shí)允許接收:REN1方式0為8位數(shù)據(jù),TB8、RB800 接收前,發(fā)送中斷標(biāo)志TI0 接收中斷標(biāo)志RI0故控制字(SCON)00010000B10H 任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈方式1、方式2、方式3
15、均為全雙工方式,串行數(shù)據(jù)經(jīng)TXD(P3.1)端發(fā)送給外設(shè),而外設(shè)發(fā)出的串行數(shù)據(jù)由RXD(P3.0)端接收,發(fā)送和接收可同時(shí)進(jìn)行。當(dāng)SM00,SM11時(shí),串行口工作在方式1。串行口為10位異步通信方式。方式1多用于兩個(gè)單片機(jī)(雙機(jī))之間或單片機(jī)與外設(shè)電路間的通信。在此方式下字符幀除8位數(shù)據(jù)位外,還有一位起始位(0)和1位停止位(1)。任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈 發(fā)送操作在TI0時(shí)進(jìn)行,任何一條“寫SBUF”指令都可以啟動(dòng)一次發(fā)送,CPU向發(fā)送器緩沖寄存器寫入一個(gè)字節(jié)的數(shù)據(jù)后,發(fā)送電路自動(dòng)在8位發(fā)送字符前后分別添加1位起始位和1位停止位,并在移位脈沖的作用下在TXD線上依次發(fā)
16、送一幀信息,發(fā)送完后自動(dòng)維持TXD線為高電平,TI由硬件在發(fā)送停止位時(shí)置1,并向CPU申請(qǐng)中斷。 當(dāng)一幀字符發(fā)送完后,使TXD輸出線維持在1狀態(tài),并使TI置1以通知CPU再發(fā)送下一個(gè)字符。任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈接收操作在RI0和REN1條件下進(jìn)行。方式1是靠檢測RXD來判斷的,CPU不斷采樣RXD端,當(dāng)采樣到負(fù)跳變時(shí),啟動(dòng)一次接收。在移位脈沖控制下,把接收的數(shù)據(jù)移入接收SBUF中,直到接收到數(shù)據(jù)第9位(即停止位)時(shí),同時(shí)滿足:RI0SM20或接收到的停止位為或接收到的停止位為1 則把接收到的8位數(shù)據(jù)存入“接收SBUF”,把停止位送入RB8中,并使RI置1和發(fā)出串行口中
17、斷請(qǐng)求,通知CPU執(zhí)行“讀SBUF”指令,從SBUF中取出接收到的一個(gè)數(shù)據(jù)。如果條件不滿足,則這次收到的數(shù)據(jù)就被舍去,不送入“SBUF(接收)”中,這就意味著丟失了一組數(shù)據(jù)。任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈方式2和方式3都是11位為一幀的UART方式1個(gè)起始位,9個(gè)數(shù)據(jù)位和一個(gè)停止位。第9位數(shù)據(jù)位既可作奇偶校驗(yàn)位也可作控制位,發(fā)送之前應(yīng)先在SCON的TB8位中準(zhǔn)備好。方式3和方式2除波特率不同之外,其它的性能完全一樣,兩種工作方式的通信過程完全相同。方式2的波特率只有fosc/32和fosc/64兩種而方式3的波特率是可變的,由用戶根據(jù)需要在程序中設(shè)定,這一點(diǎn)與方式1相同。任務(wù)
18、任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈發(fā)送過程是由執(zhí)行 “寫入SBUF”指令來啟動(dòng)的。由“寫入SBUF”信號(hào)把8位數(shù)據(jù)裝入SBUF,同時(shí)還把TB8裝入發(fā)送移位寄存器的第9位。當(dāng)TI=0,CPU向發(fā)送器緩沖寄存器寫入一個(gè)字節(jié)的數(shù)據(jù)后,發(fā)送電路自動(dòng)在9位發(fā)送字符前后分別添加1位起始位和1位停止位,并在移位脈沖的作用下在TXD線上依次發(fā)送一幀信息,發(fā)送完后自動(dòng)維持TXD線為高電平,TI由硬件在發(fā)送停止位時(shí)置1,并向CPU申請(qǐng)中斷。第9位數(shù)據(jù)(TB8)由軟件置位或清零。任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈與方式1類似,方式2和方式3接收過程始于在RXD端檢測到負(fù)跳變時(shí),說明起始位有效
19、,將其移入移位寄存器,并開始接收一幀信息的其余位。當(dāng)檢測到停止位時(shí),如果同時(shí)滿足下列兩個(gè)條件: RI=0; SM2 =0 或接收到的第 9 位數(shù)據(jù)為“1”。 則第9位數(shù)據(jù)裝入SCON中的RB8, 前8位數(shù)據(jù)裝入接收SBUF,并置中斷標(biāo)志RI=1。上述兩個(gè)條件中任一個(gè)不滿足, 所接收的數(shù)據(jù)幀就會(huì)丟失, 不再恢復(fù)。任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈方式2和方式3可以像方式1一樣用于點(diǎn)對(duì)點(diǎn)的異步通信。在數(shù)據(jù)通信中由于傳輸距離較遠(yuǎn),數(shù)據(jù)信號(hào)在傳送過程中會(huì)產(chǎn)生畸變,從而引起誤碼。為了保證通信質(zhì)量,除了改進(jìn)硬件之外,通常要在通信軟件上采取糾錯(cuò)的措施。常用的一種簡單方法就是用“校驗(yàn)和”,作為第
20、9位數(shù)據(jù)稱奇偶校驗(yàn)位,將其置入TB8位一同發(fā)送。在接收端可以用第9位數(shù)據(jù)來核對(duì)接收的數(shù)據(jù)是否正確。 任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈#includeunsigned char sdata=;main()SCON=0 x80; ACC=sdata; TB8=P; SBUF=sdata; while(TI=0); TI=0; 小技巧 由于要發(fā)送奇偶標(biāo)志位,因此需先把要發(fā)送的數(shù)據(jù)傳送到累加器A中,以獲得奇偶標(biāo)志位P的位,否則得不到P的值。 任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈#includeunsigned char sdata=;main() SCON=0 x90; w
21、hile(RI=0); RI=0;ACC=SBUF; if(P!=RB8) error(); /如果P不等于RB8的值則出錯(cuò) else sdata=ACC; 任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈計(jì)算機(jī)與計(jì)算機(jī)的通信不僅限于點(diǎn)對(duì)點(diǎn)通信,還會(huì)出現(xiàn)一機(jī)對(duì)多機(jī)或多機(jī)間的通信,構(gòu)成計(jì)算機(jī)網(wǎng)。主從式通信,即在多臺(tái)計(jì)算機(jī)中有一臺(tái)是主機(jī),其余為從機(jī),從機(jī)要服從主機(jī)的調(diào)度、支配。MCS51單片機(jī)的串行口方式2、方式3就適合于這種主從式的通信結(jié)構(gòu)用作多機(jī)通信,以構(gòu)成多機(jī)系統(tǒng)。使用中應(yīng)注意對(duì)主、從機(jī)的控制字的設(shè)定。主機(jī)應(yīng)先發(fā)送與之通信的某從機(jī)的地址信息,此時(shí)應(yīng)置TB8為1(地址幀的標(biāo)志),收到從機(jī)應(yīng)答后
22、,對(duì)TB8清0后再發(fā)送數(shù)據(jù)(TB80作為數(shù)據(jù)幀標(biāo)志)。方式2時(shí)(SCON)10011000B98H方式3時(shí)(SCON)11011000BD8H任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈從機(jī)在通信開始時(shí)處于“監(jiān)聽狀態(tài)”,以接收主機(jī)發(fā)出的地址信息,SM2位應(yīng)置1,當(dāng)確認(rèn)是呼叫本機(jī)時(shí)使SM2清0再向主機(jī)應(yīng)答。然后等待接收主機(jī)發(fā)送數(shù)據(jù),可根據(jù)RB8的狀態(tài)判斷,RB80則是接收的數(shù)據(jù),否則為地址。重又轉(zhuǎn)入監(jiān)聽狀態(tài),同時(shí)要置SM2位為1。從機(jī)的控制字為:方式2時(shí)(SCON)10110000BB0H;方式3時(shí)(SCON)11110000BF0H。主、從機(jī)的控制字分別在各自的初始編程中進(jìn)行設(shè)置。 任務(wù)任
23、務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈 固定為fosc/12,即每個(gè)機(jī)器周期移位一次。任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈當(dāng)SMOD=1時(shí),波特率為1/32fosc;當(dāng)SMOD=0時(shí),波特率為1/64fosc。 oscsf642mod波特率任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈T1溢出率 = T1計(jì)數(shù)率/產(chǎn)生溢出所需的周期數(shù),指在1秒鐘內(nèi)溢出的次數(shù)。產(chǎn)生溢出所需周期與定時(shí)器T1的工作方式、T1的預(yù)置值有關(guān)。設(shè)T1的初值為X,則T1工作于方式0:溢出所需周期數(shù)=8192X T1工作于方式1:溢出所需周期數(shù)=65536XT1工作于方式2:溢出所需周期數(shù)=256X 溢出率定
24、時(shí)器波特率T1322mods任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈對(duì)定時(shí)/計(jì)數(shù)器來說,T1作為波特率發(fā)生器最典型的用法是使用T1工作在定時(shí)方式2狀態(tài),則其波特率為:)256(12322SMODXfosc波特率波特率3842256Xmodsoscf則初值計(jì)算公式為:則初值計(jì)算公式為: 任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈C/T波特率/b/s(方式1、3)foscSMOD定時(shí)器T1工作方式初值62.5K12102FFH(255)19.2K11.0592102FDH(253)960011.0592002FDH(253)480011.0592002FAH(250)240011.0
25、592002F4H(244)120011.0592002E8H(232)任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈解:由(PCON)00H可知SMOD0初值HFfsosc3120038421062563842256X06mod波特率任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈用8051串行口外接CD4094擴(kuò)展8位并行輸出口,8位并行口的各位都接一個(gè)發(fā)光二極管,要求發(fā)光二極管自右向左以一定速度依次顯示,呈流水燈狀態(tài)。任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈本例是將串行口工作于方式0,串行口工作于方式0時(shí)有兩種不同的用途:把串行口設(shè)置成并入串出的輸出口,此時(shí)需要外接一片8位串行
26、輸入和并行輸出的同步移位寄存器74LS164或CD4094;將串行口設(shè)置成串入并出的輸入口,此時(shí)需要外接一片8位并行輸入和串行輸出的同步移位寄存器74LS165或CD4014。任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈CD4094是一種8位串行輸入(D端)并行輸出的同步移位寄存器,采用CMOS工藝制成。CLK為同步脈沖輸入端,STB為控制端:若STB0,則8位并行數(shù)據(jù)輸出端關(guān)閉,但允許串行數(shù)據(jù)從D輸入;若STB1,則D輸入端關(guān)閉,但允許8位數(shù)據(jù)并行輸出。任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈#includesbit p10=P10;void main() unsigned ch
27、ar sdata=0 xfe; int i; SCON=0; p10=0; /避免LED產(chǎn)生“暗紅”現(xiàn)象 while(1) 查詢查詢方式!方式! SBUF = sdata; while(TI=0); TI=0; p10=1; for(i=10000;i0;i-); sdata=1; /左移 sdata |=1; /最低位補(bǔ)1 if(sdata=0 xff) sdata=0 xfe; p10=0; /關(guān)閉并行輸出 任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈#includesbit p10=P10;void isr_serial(); unsigned char sdata=0 xfe;vo
28、id main() SCON=0; p10=0; SBUF = sdata; EA=1;ES=1; while(1);void isr_serial() interrupt 4 int i; p10=1; for(i=10000;i0;i-); sdata=1; sdata |=1; if(sdata=0 xff) sdata=0 xfe; p10=0; SBUF = sdata;TI=0;中斷方式!任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈1. 串行口的初始化串行口需初始化后,才能完成數(shù)據(jù)的輸入、輸出。其初始化過程如下: (1)按選定串行口的工作方式設(shè)定SCON的SM0、SM1兩位二進(jìn)制編碼。 (2)對(duì)于工作方式2或3,應(yīng)根據(jù)需要在TB8中寫入待發(fā)送的第9位數(shù)據(jù)(地址為1,數(shù)據(jù)為0)。 (3)若選定的工作方式不是方式0,還需設(shè)定接收/發(fā)送的波特率。 (4)設(shè)定SMOD的狀態(tài),以控制波特率是否加倍。 (5)若選定工作方式1或3,則應(yīng)對(duì)定時(shí)器 T1進(jìn)行初始化以設(shè)定其溢出率。 任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈任務(wù)任務(wù)4 雙單片機(jī)控制霓虹燈雙單片機(jī)控制霓虹燈波特率不能太高,設(shè)為240,則計(jì)數(shù)器的初值為16。使用串行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024高中化學(xué)第二章烴和鹵代烴走近高考含解析新人教版選修5
- 廚房防水維修施工方案
- 2025年全液壓自行式大口徑工程鉆機(jī)合作協(xié)議書
- 企業(yè)員工借用合同范例
- 明渠加蓋板施工方案
- 冰箱配件購買合同范例
- 代簽房屋轉(zhuǎn)租合同范本
- 大學(xué)生心理健康教育(第三版)教案:第七章 應(yīng)對(duì)挫折 正向思維
- 公司門衛(wèi)合同范例
- 加油站經(jīng)理合同范例
- 2025年湖南藝術(shù)職業(yè)學(xué)院單招職業(yè)技能測試題庫參考答案
- 2025年湖南鐵道職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫學(xué)生專用
- 《臨床常見心理問題》課件
- 2025年廣州開發(fā)區(qū)水質(zhì)監(jiān)測中心第四次招考聘用編外人員2人高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 教學(xué)課件:《民事訴訟法》(本科)
- 2024年吉林省生活垃圾清運(yùn)和處理市場前景預(yù)測及投資規(guī)劃研究報(bào)告
- 2025年湖南省高職單招《語文》高頻必練考試題庫400題(含答案)
- 《SSD市場調(diào)查》課件
- 以教育家精神引領(lǐng)教師專業(yè)成長的價(jià)值及實(shí)踐路徑
- 《質(zhì)量管理標(biāo)準(zhǔn)化手冊(cè)》
- 2024年南京機(jī)電職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫標(biāo)準(zhǔn)卷
評(píng)論
0/150
提交評(píng)論