




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目四智慧校園一卡通應(yīng)用及維護(hù)
《微處理器程序設(shè)計(jì)》教學(xué)目標(biāo)和技能要求知識(shí)目標(biāo)1、理解微處理器的串行通信原理;2、掌握串行通信寄存器設(shè)置;3、掌握串行通信中斷服務(wù)程序編寫(xiě)。能力目標(biāo)1、能靈活設(shè)計(jì)串行口電路實(shí)現(xiàn)通信;2、能靈活針對(duì)硬件通信電路、編寫(xiě)串行通信應(yīng)用程序;3、能對(duì)雙機(jī)通信電路進(jìn)行正確連線;4、能靈活應(yīng)用MAX232進(jìn)行單片機(jī)與PC之間的串行口通信;5、能靈活應(yīng)用通信的標(biāo)準(zhǔn)接口實(shí)現(xiàn)通信;6、能使用編譯器下載程序到單片機(jī)中。教學(xué)目標(biāo)和技能要求任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)目標(biāo)通過(guò)本任務(wù)的設(shè)計(jì)和制作,要求學(xué)生利用微處理器之間的串行通信,實(shí)現(xiàn)智慧校園一卡通數(shù)據(jù)的獲取,并根據(jù)卡里余額控制學(xué)生是否具備用水用電條件。培養(yǎng)學(xué)生利用串行通信解決實(shí)際問(wèn)題的能力,從而能更好地應(yīng)用與維護(hù)一卡通數(shù)據(jù)。知識(shí)準(zhǔn)備1、串行通信基礎(chǔ)
實(shí)際應(yīng)用中,不但計(jì)算機(jī)與外部設(shè)備之間需要進(jìn)行信息交換,在計(jì)算機(jī)之間也需要交換信息,這些信息的交換稱(chēng)為“通信”知識(shí)準(zhǔn)備1.1串行通信與并行通信
通信的基本方式分為并行通信和串行通信兩種。
并行通信,即數(shù)據(jù)的各位同時(shí)傳送;其特點(diǎn)是傳輸速度快,但當(dāng)距離較遠(yuǎn)、位數(shù)又多時(shí)通信線路復(fù)雜且成本高。
串行通信,即數(shù)據(jù)一
位一位的順序傳送。其特點(diǎn)是通信線路簡(jiǎn)單,只要一對(duì)傳輸線就可實(shí)現(xiàn)通信,大大降低系統(tǒng)成本,尤其適合遠(yuǎn)距離通信,不過(guò)其傳輸速度慢。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)圖4-1并行通信和串行通信示意圖
知識(shí)準(zhǔn)備1.2單工通信與雙工通信
按照數(shù)據(jù)的傳送方向,串行通信可分為單工、半雙工和全雙工三種制式,如圖所示。
在單工制式下,通信一方只具備發(fā)送器,另一方只具備接收器,數(shù)據(jù)只能按照一個(gè)固定的方向傳送,圖(a)所示。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)圖4-2單工通信、半雙工通信、全雙工通信三種通信制式
知識(shí)準(zhǔn)備1.2單工通信與雙工通信
在半雙工制式下,通信雙方都具備發(fā)送器和接收器,但同一時(shí)刻只能有一方發(fā)送,另一方接收;兩個(gè)方向上的數(shù)據(jù)傳送不能同時(shí)進(jìn)行,其收發(fā)開(kāi)關(guān)一般由軟件控制的電子開(kāi)關(guān),如圖(b)所示。
在全雙工制式下,通信雙方都具備發(fā)送器和接收器,可以同時(shí)發(fā)送和接收,即數(shù)據(jù)可以在兩個(gè)方向上同時(shí)傳送,如圖(c)所示。
在實(shí)際應(yīng)用中,盡管多數(shù)串行通信電路接口具有全雙工功能,但一般情況下,只工作于半雙工制式下,這種用法簡(jiǎn)單、實(shí)用。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備1.3異步通信和同步通信
按照串行數(shù)據(jù)的始終控制方式,串行通信可以分為異步通信和同步通信兩類(lèi)。1.3.1異步通信(AsynchronousCommunication)
在異步通信中,數(shù)據(jù)通常以字符為單位組成字符幀傳送的。字符幀由發(fā)送端一幀一幀地發(fā)送,每一幀數(shù)據(jù)是低位在前、高位在后,通過(guò)傳輸線由接收端一幀一幀的接收。
發(fā)送端和接收端分別使用各自獨(dú)立的時(shí)鐘來(lái)控制數(shù)據(jù)的發(fā)送和接收,這兩個(gè)時(shí)鐘彼此獨(dú)立,互不同步。
異步通信設(shè)備簡(jiǎn)單、便宜,但由于需要傳輸其字符幀中的開(kāi)始位和停止位,因此異步通信的數(shù)據(jù)開(kāi)銷(xiāo)比例較大,傳輸效率較低。
異步通信有兩個(gè)比較重要的指標(biāo):字符幀格式和波特率。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備(1)字符幀字符幀也稱(chēng)為數(shù)據(jù)幀,由起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位四部分組成。如圖所示。(i)起始位:位于字符幀開(kāi)頭,只占一位,為邏輯低電平,用于向接收設(shè)備表示發(fā)送端開(kāi)始發(fā)送一幀信息。(ii)數(shù)據(jù)位:緊跟在起始位之后,根據(jù)情況可以取5位、6位、7位或8位,低位在前,高位在后。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)圖4-3串行通信字符幀格式
知識(shí)準(zhǔn)備(iii)奇偶校驗(yàn)位:位于數(shù)據(jù)位之后,僅占一位,用來(lái)表示串行通信中采用奇校驗(yàn)還是偶校驗(yàn),由用戶(hù)編程決定。(iv)停止位:位于字符幀最后,為邏輯高電平。通??扇?位、1.5位或2位,用于向接收端表示一幀字符信息已經(jīng)發(fā)送完,也為發(fā)送下一幀做準(zhǔn)備。
停止位之后緊接著可以是下一個(gè)字符幀的起始位,也可以是空閑位(邏輯1高電平),意味著線路處于等待狀態(tài)。(2)波特率(BaudRate)
波特率為每秒鐘傳送二進(jìn)制數(shù)碼的位數(shù),單位為b/s(位/秒),或bps(bitpersecond的縮寫(xiě))。波特率用于表示數(shù)據(jù)傳輸?shù)乃俣龋ㄌ芈试礁?,?shù)據(jù)傳輸?shù)乃俣仍娇臁Mǔ.惒酵ㄐ诺牟ㄌ芈蕿?0-19200bps。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備1.3.2同步通信(SynchronousCommunication)
同步通信是以數(shù)據(jù)塊方式傳輸數(shù)據(jù)。通常在面向字符的同步傳輸中,其幀的格式由三部分組成,即由若干個(gè)字符組成的數(shù)據(jù)塊,在數(shù)據(jù)塊前加上1~2個(gè)同步字符SYN,在數(shù)據(jù)塊的后面根據(jù)需要加入若干個(gè)校驗(yàn)字符CRC,如圖所示。
同步通信方式的同步由每個(gè)數(shù)據(jù)塊前面的同步字符實(shí)現(xiàn)。同步字符的格式和數(shù)量可以根據(jù)需要約定。接收端在檢測(cè)到同步字符之后,便確認(rèn)開(kāi)始接收有效數(shù)據(jù)字符。
與異步通信不同的是,同步方式需要提供單獨(dú)的時(shí)鐘信號(hào),且要求接收器時(shí)鐘和發(fā)送器時(shí)鐘嚴(yán)格保持同步。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)圖4-4同步通信數(shù)據(jù)格式知識(shí)準(zhǔn)備1.4串行口的連接方法
根據(jù)通信距離的不同,串行口的電路連接方式有三種。如果距離很近,只要兩根信號(hào)線(TXD,RXD)和一根地線(GND)就可以實(shí)現(xiàn)互聯(lián);為了提高通信距離,并且距離在15m以?xún)?nèi)可以采用RS-232接口實(shí)現(xiàn);如果是遠(yuǎn)距離通信,可通過(guò)調(diào)制解調(diào)器進(jìn)行通信互聯(lián)。2、串行接口
51單片機(jī)內(nèi)部集成了1~2個(gè)可編程通用異步串行通信接口(UniversalAsychronousReceive/Transmitter,即UART),采用全雙工制式,可以同時(shí)進(jìn)行數(shù)據(jù)的接收和發(fā)送,也可以做同步移位寄存器。該串行通信接口有四種工作方式,可以通過(guò)軟件編程設(shè)置為8位、10位、11位的數(shù)據(jù)幀格式,并能設(shè)置各種波特率。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備2.1串行口結(jié)構(gòu)51系列單片機(jī)的串行口主要由兩個(gè)獨(dú)立的串行數(shù)據(jù)緩沖寄存器SBUF(一個(gè)發(fā)送緩沖寄存器,一個(gè)接收緩沖寄存器)、串行口控制寄存器SCON、輸入移位寄存器PCON及若干控制門(mén)電路組成?;窘Y(jié)構(gòu)如圖所示。圖4-5串行口內(nèi)部結(jié)構(gòu)圖任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備2.2特殊功能寄存器(1)串行口數(shù)據(jù)緩沖寄存器SBUF串行口數(shù)據(jù)緩沖寄存器SBUF用于存放發(fā)送/接收的數(shù)據(jù);(2)串行口控制寄存器SCON串行口控制寄存器SCON用于控制串行口的工作方式和工作狀態(tài),可進(jìn)行位尋址,復(fù)位時(shí),SCON各位均清0。波特率發(fā)生器由定時(shí)器T1構(gòu)成,波特率與單片機(jī)晶振頻率、定時(shí)器T1初值、串行口工作方式以及波特率選擇位SMOD有關(guān)。表4-1為SCON的格式;表4-2為SCON各位的含義。表4-1串行口控制寄存器SCON的格式位序號(hào)D7D6D5D4D3D2D1D0位符號(hào)SM0SM1SM2RENTB8RB8TIRI任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備表4-2串行口控制寄存器SCON各位的含義控制位說(shuō)明SM0SM1工作方式選擇位SM0SM1工作方式功能波特率00方式08位同步移位寄存器fosc/1201方式110位UART可變10方式211位UARTfosc/64或fosc/3211方式311位UART可變SM2多機(jī)通信控制位在方式0中,SM2應(yīng)為0。.在方式1處于接收時(shí),若SM2=1,則只有當(dāng)接收到有效的停止位后,RI才置1。在方式2、3處于接收時(shí),若SM2=1,且接收到的第9位數(shù)據(jù)RB8為0時(shí),不激活RI;若SM2=1,且RB8=1時(shí),置RI=1。在方式2、3處于發(fā)送方式時(shí),若SM2=0,則無(wú)論接收到的第9位RB8為0還是1,TI、RI都以正常方式被激活。REN允許串行接收位由軟件置位或清零。REN=1,允許接收;REN=0,禁止接收。TB8發(fā)送數(shù)據(jù)的第9位在方式2、3中由軟件置位或清零。一般可做奇偶校驗(yàn)位。在多機(jī)通信中,可作為區(qū)別地址幀或數(shù)據(jù)幀的標(biāo)志位,一般約定地址幀時(shí)TB8為1,數(shù)據(jù)幀時(shí)TB8為0。RB8接收數(shù)據(jù)的第9位功能同TB8。TI發(fā)送中斷標(biāo)志位在方式0中,發(fā)送完8位數(shù)據(jù)后,由硬件置位;在其他方式中,在發(fā)送停止位之初由硬件置位。因此,TI=1是發(fā)送完一幀數(shù)據(jù)的標(biāo)志,其狀態(tài)既可供軟件查詢(xún)使用,也可請(qǐng)求中斷。TI位必須由軟件清0。RI接收中斷標(biāo)志位在方式0中,接收完8位數(shù)據(jù)后,由硬件置位;在其他方式中,當(dāng)接收到停止位時(shí)該位由硬件置1。因此,RI=1是接收完一幀數(shù)據(jù)的標(biāo)志,其狀態(tài)既可供軟件查詢(xún)使用,也可請(qǐng)求中斷。RI位也必須由軟件清0。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備(3)電源控制寄存器PCON
電源控制寄存器PCON是一個(gè)特殊的功能寄存器,它主要用于電源控制方面。另外,PCON中的最高位SMOD位稱(chēng)為波特率加倍位,用于對(duì)串行口的波特率控制。它的格式如表4-3所示。表4-3PCON格式D7D6D5D4D3D2D1D0SMON---GF1GF0PDIDL其中,最高位SMON位串行口波特率選擇位。當(dāng)SMOD=1時(shí),串行口工作方式1、方式2、方式3時(shí)的波特率加倍。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備2.3串行口工作方式(1)方式0
在方式0下,串行口做同步移位寄存器使用,其波特率固定為Fosc/12。串行數(shù)據(jù)從RXD(P3.0)端輸入或輸出,同步移位脈沖由TXD(P3.1)送出。這種方式用于擴(kuò)展I/0端口。(2)方式1
在方式1下,串行口為波特率可調(diào)的10位通用異步接口UART,發(fā)送或接受的一幀信息包括1位起始位、8位數(shù)據(jù)位和1位停止位。數(shù)據(jù)幀格式如圖4-6所示。圖4-6方式1下的10位幀格式任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備
發(fā)送時(shí),當(dāng)數(shù)據(jù)寫(xiě)入發(fā)送緩沖器SBUF后,啟動(dòng)發(fā)送器發(fā)送,數(shù)據(jù)從TXD輸出。當(dāng)發(fā)送完一幀數(shù)據(jù)后,置中斷標(biāo)志TI為1.方式1的波特率取決于定時(shí)器T1的溢出率和PCON中的SMOD位。具體算法參見(jiàn)2.4小節(jié)的介紹。接收時(shí),REN置1,允許接收,串行口采樣RXD,當(dāng)采樣由1到0跳變時(shí),確認(rèn)是起始位“0”,開(kāi)始接收一幀數(shù)據(jù)。當(dāng)RI=0,且停止位為1或SM2=0時(shí),停止位進(jìn)入RB8位,同時(shí)置中斷標(biāo)志RI;否則信息將丟失。所以,采用方式1接收時(shí),應(yīng)先用軟件清除RI或SM2標(biāo)志。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備(3)方式2
在方式2下,串行口為11位UART,傳送波特率與SMOD有關(guān)。發(fā)送或接收的一幀數(shù)據(jù)包括1位起始位、8位數(shù)據(jù)位、1位可編程位(用于奇偶校驗(yàn))和1位停止位。其幀格式如圖4-7所示。圖4-7方式2下的11位幀格式任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備
發(fā)送時(shí),先根據(jù)通信協(xié)議由軟件設(shè)置TB8,然后將要發(fā)送的數(shù)據(jù)寫(xiě)入SBUF,啟動(dòng)發(fā)送。寫(xiě)SBUF語(yǔ)句,除了將8位數(shù)據(jù)送入SBUF外,同時(shí)還將TB8裝入發(fā)送移位寄存器的第9位,并通知發(fā)送控制器進(jìn)行一次發(fā)送,一幀信息即從TXD發(fā)送。在發(fā)送完一幀信息后,TI被自動(dòng)置1,在發(fā)送下一幀信息之前,TI必須在中斷服務(wù)程序或查詢(xún)程序中清零。
當(dāng)REN=1時(shí),允許串行口接收數(shù)據(jù)。當(dāng)接收器采樣到RXD端負(fù)跳變,并判斷起始位有效后,數(shù)據(jù)有RXD端輸入,開(kāi)始接收一幀信息。當(dāng)接收器接收到第9位數(shù)據(jù)后,若同時(shí)滿足以下條件:RI=0和SM2=0或接收到的第9位數(shù)據(jù)為1,則接收數(shù)據(jù)有效,將8位數(shù)據(jù)送入SBUF,第9位送入RB8,并置RI=1。若不滿足上述條件,則信息丟失。(4)方式3
方式3為波特率可變的11為UART通信方式,除了波特率以外,方式3和方式2完全相同。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備
2.4波特率設(shè)置方法51單片機(jī)串行口通過(guò)編程可以有4種工作方式,其中方式0和方式2的波特率是固定的,方式1和方式3的波特率可變,由定時(shí)器T1的溢出率決定。(1)方式0和方式2在方式0下,波特率為時(shí)鐘頻率的1/12,即fosc/12,固定不變。在方式2下,波特率取決于PCON中的SMOD的值,當(dāng)SMOD=0時(shí),波特率為fosc/64;當(dāng)SMOD=1時(shí),波特率為fosc/32,即波特率=2SMOD*fosc/64。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備(2)方式1和方式3
在方式1和方式3下,波特率由定時(shí)器T1的溢出率和SMOD共同決定,即波特率=2SMOD*T1溢出率/32。其中T1的溢出率取決于定時(shí)器T1的計(jì)數(shù)速率和定時(shí)器的預(yù)置值。當(dāng)定時(shí)器T1設(shè)置在定時(shí)方式時(shí),定時(shí)器T1的溢出率=(T1計(jì)數(shù)速率)/(產(chǎn)生溢出所需機(jī)器周期數(shù)),T1計(jì)數(shù)速率=fosc/12;產(chǎn)生溢出所需機(jī)器周期數(shù)=定時(shí)器最大計(jì)數(shù)值M-計(jì)數(shù)初值X,所以,串行口接口工作在方式1和方式3時(shí)的波特率計(jì)算公式為:波特率=(2SMOD/32)*(fosc/(12*(256-X)))計(jì)算初值X=256-(2SMOD/32)*(fosc/(12*波特率))表4-4列出了常用的波特率及獲得方法。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備表4-4常用的波特率及獲得方法波特率fosc(MHz)SMOD定時(shí)器T1C/T方式初始值方式0:1Mbps12XXXX方式2:375kbps121XXX方式1、3:62.5kbps11.05921020xff19.2kbps11.05921020xfd9.6kbps11.05920020xfd4.8kbps11.05920020xfa2.4kbps11.05920020xf41.2kbps11.05920020xe8137.5kbps11.05920020x1d110bps60020x72110bps120010xfeeb任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備綜上所述,設(shè)置串行口波特率的步驟如下:(i)寫(xiě)TMOD,設(shè)置定時(shí)器T1的工作方式;(ii)給TH1和TL1賦值,設(shè)置定時(shí)器T1的初值X;(iii)置位TR1,啟動(dòng)定時(shí)器T1工作,即啟動(dòng)波特率發(fā)生器。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備3、串行通信程序設(shè)計(jì)串行口通信程序的編程主要包括以下幾個(gè)部分:(1)串行口的初始化編程
串行口的初始化編程主要是對(duì)串行口控制寄存器SCON、電源控制寄存器PCON中的SMOD進(jìn)行設(shè)置及串行口波特率發(fā)生器T1的初始化。若涉及中斷系統(tǒng),則還需要對(duì)中斷允許控制寄存器IE及中斷優(yōu)先級(jí)控制寄存器IP進(jìn)行設(shè)定。
一般步驟為:設(shè)定串行口工作方式;若波特率加倍時(shí),設(shè)定SMOD;波特率可變時(shí),設(shè)定定時(shí)器T1工作方式;計(jì)算T1的初始值;禁止定時(shí)器T1中斷;啟動(dòng)T1,產(chǎn)生波特率;若使用中斷方式,開(kāi)放CPU中斷,開(kāi)串行口中斷;根據(jù)需要設(shè)定串行口中斷優(yōu)先級(jí)為高。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備例4-1若fosc=6MHz,波特率為2400bps,SMOD=1,請(qǐng)進(jìn)行初始化編程。解:1)設(shè)定串行口工作方式為1波特率可調(diào)的10位UART,則SM0=0,SM1=1;即SCON=01000000B=0X40;2)假設(shè)波特率加倍,則設(shè)定SMOD=1;3)設(shè)定定時(shí)器T1工作方式2,計(jì)算TH1,TL1初始值TMOD=00100000B=0X20;利用公式:波特率=(2SMOD/32)*(fosc/(12*(256-X)));推出2400=(2/32)*(6*106)/(12*(256-X))=(1/16)*(500000/(256-X))得到X=243D=0xf3;即TH1=0XF3;TL1=0XF3;如果在表格中有相應(yīng)數(shù)據(jù)可以直接查表,也可以利用51單片機(jī)波特率計(jì)算器(網(wǎng)上可以下載)直接計(jì)算。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備4)禁止T1中斷,設(shè)置ET1=0;5)啟動(dòng)T1產(chǎn)生波特率,設(shè)置TR1=1;6)開(kāi)放CPU中斷,設(shè)置EA=1;7)開(kāi)串行口中斷,設(shè)置ES=1;8)根據(jù)需要設(shè)定串行口中斷優(yōu)先級(jí)為高,設(shè)置PS=1。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備2)發(fā)送和接收程序設(shè)計(jì)
通信過(guò)程包括發(fā)送和接收兩部分,一次通信軟件也包括發(fā)送程序和接收程序,它們分別位于發(fā)送機(jī)和接收機(jī)中。發(fā)送程序和接收程序的設(shè)計(jì)一般采用查詢(xún)和中斷兩種方法。
異步串行通信是以幀為基本信息單位傳送的。在每次發(fā)送或接收完一幀數(shù)據(jù)后,將由硬件使SCON中的TI或RI的狀態(tài)是否有效來(lái)判斷一次數(shù)據(jù)發(fā)送或接收是否完成如圖4-8所示。在發(fā)送程序中,首先是將數(shù)據(jù)發(fā)送出去,然后查詢(xún)是否發(fā)送完畢,再?zèng)Q定是否發(fā)下一幀數(shù)據(jù)。即“先發(fā)后查”。在接收程序中,首先判斷是否接收到一幀數(shù)據(jù),然后保存這一幀數(shù)據(jù),即“先查后收”。
如果采用中斷方法編程,則將TI、RI作為中斷申請(qǐng)標(biāo)志。如果設(shè)置系統(tǒng)允許串行口中斷,則每當(dāng)TI或RI產(chǎn)生一次中斷申請(qǐng),就表示一幀數(shù)據(jù)發(fā)送或接收完成。CPU響應(yīng)一次中斷請(qǐng)求,執(zhí)行一次中斷服務(wù)程序,在中斷服務(wù)程序中完成數(shù)據(jù)的發(fā)送或接收,如圖4-9所示。其中發(fā)送程序中必須有一次發(fā)送數(shù)據(jù)的操作,目的是為了啟動(dòng)第一次中斷,之后的所有數(shù)據(jù)的發(fā)送均在中斷服務(wù)程序中完成。而接收程序中,所有的數(shù)據(jù)接收操作均在中斷服務(wù)程序程序中完成。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備(a)發(fā)送程序(b)接收程序
圖4-8查詢(xún)方式程序流程圖任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備(a)發(fā)送程序任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備(b)接收程序圖4-9中斷方式程序流程圖任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備例4-2用查詢(xún)方式將甲機(jī)中數(shù)據(jù)塊“950706”傳遞給乙機(jī)。解:設(shè)波特率為9600bps,由T1工作方式2,fosc=11.0596MHz,SMOD=0;查表8-4得到TH1=0XFD;TL1=0XFD;設(shè)定串行口工作方式1,10位UART。發(fā)送數(shù)據(jù)參考程序如下:unsignedchara[6]={9,5,0,7,0,6};//發(fā)送的數(shù)據(jù)放到一數(shù)組中voidmain(){TMOD=0X20;//定時(shí)器T1工作方式2TH1=0XFd;//波特率為9600bpsTL1=0XFd;PCON=0X00;//波特率不加倍SCON=0X40;//串行口工作方式1,10位UARTTR1=1;//啟動(dòng)T1,產(chǎn)生波特率for(i=0;i<6;i++){SBUF=a[i];//把數(shù)組中的數(shù)據(jù)循環(huán)發(fā)送到SBUF中 while(!TI){;}//查詢(xún)TI是否為1,數(shù)據(jù)被取走,TI會(huì)變成1 TI=0;//一旦數(shù)據(jù)被取走,則軟件給TI清零 delay(100);//調(diào)用延時(shí)程序,以確保數(shù)據(jù)被對(duì)方接收后再發(fā)下一幀數(shù)據(jù)。}while(1);}任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備接收數(shù)據(jù)參考程序如下:unsignedchari,receive;voidmain(){TMOD=0X20;//定時(shí)器T1工作方式2TH1=0XFD;//波特率為9600bpsTL1=0XFD;PCON=0X00;//波特率不加倍SCON=0X40;//串行口工作方式1,10位UARTTR1=1;//啟動(dòng)T1,產(chǎn)生波特率//EA=1;//CPU開(kāi)中斷,因?yàn)橥ㄟ^(guò)查詢(xún)接收數(shù)據(jù),所以不需要開(kāi)中斷,EA默認(rèn)值為0//REN=1;//允許接收數(shù)據(jù),通過(guò)查詢(xún)接收數(shù)據(jù),不需要利用中斷,所以此句可取消,REN默認(rèn)值為0i=0;//數(shù)組元素下標(biāo)從0開(kāi)始while(1){while(RI){;}//查詢(xún)RI是否為1RI=0;//如果RI為1,則清RIReceive[i]=SBUF;//把接收到的數(shù)據(jù)放入數(shù)組receive中i++;//數(shù)組元素下標(biāo)加1if(i>=6){i=0;}//當(dāng)數(shù)組元素滿6個(gè),則數(shù)組下標(biāo)從0開(kāi)始}}任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)知識(shí)準(zhǔn)備接收數(shù)據(jù)參考程序如下:unsignedchari,receive;voidmain(){TMOD=0X20;//定時(shí)器T1工作方式2TH1=0XFD;//波特率為9600bpsTL1=0XFD;PCON=0X00;//波特率不加倍SCON=0X40;//串行口工作方式1,10位UARTTR1=1;//啟動(dòng)T1,產(chǎn)生波特率//EA=1;//CPU開(kāi)中斷,因?yàn)橥ㄟ^(guò)查詢(xún)接收數(shù)據(jù),所以不需要開(kāi)中斷,EA默認(rèn)值為0//REN=1;//允許接收數(shù)據(jù),通過(guò)查詢(xún)接收數(shù)據(jù),不需要利用中斷,所以此句可取消,REN默認(rèn)值為0
i=0;//數(shù)組元素下標(biāo)從0開(kāi)始while(1){while(RI){;}//查詢(xún)RI是否為1RI=0;//如果RI為1,則清RIReceive[i]=SBUF;//把接收到的數(shù)據(jù)放入數(shù)組receive中
i++;//數(shù)組元素下標(biāo)加1if(i>=6){i=0;}//當(dāng)數(shù)組元素滿6個(gè),則數(shù)組下標(biāo)從0開(kāi)始}}任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施子任務(wù)一4.1.3獲取智慧校園一卡通數(shù)據(jù)
獲取智慧校園一卡通卡號(hào)數(shù)據(jù),通過(guò)單片機(jī)的雙機(jī)通信實(shí)現(xiàn)一卡通卡號(hào)的獲取。假設(shè)一卡通卡號(hào)950706通過(guò)刷卡后發(fā)送到了甲機(jī)中(刷卡機(jī)連接單片機(jī)甲機(jī)串口,RFID卡卡號(hào)被刷卡機(jī)讀取到后送入到單片機(jī)甲的緩存中,關(guān)于刷卡讀取數(shù)據(jù)部分內(nèi)容將在RFID技術(shù)課程中進(jìn)行學(xué)習(xí),本案例中利用甲機(jī)模擬刷卡機(jī)),甲機(jī)發(fā)送此數(shù)據(jù)給乙機(jī),乙機(jī)接收到數(shù)據(jù)后,在6個(gè)數(shù)碼管上顯示出來(lái),并且回發(fā)一個(gè)數(shù)據(jù)0xaa給甲機(jī),甲機(jī)收到此數(shù)據(jù)后點(diǎn)亮一個(gè)綠色LED,以表示雙機(jī)通信成功。為表示甲機(jī)正在給乙機(jī)發(fā)送數(shù)據(jù),我們可以在甲機(jī)上連接一個(gè)紅色LED,發(fā)送數(shù)據(jù)期間此LED點(diǎn)亮,數(shù)據(jù)發(fā)送完畢,此燈熄滅。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施
通過(guò)本任務(wù)的設(shè)計(jì)與制作,加深學(xué)生理解串行通信與并行通信方式的異同,要求學(xué)生掌握串行通信的重要指標(biāo)、字符幀和波特率,并熟練應(yīng)用單片機(jī)串行通信接口的使用方法。
本任務(wù)在實(shí)施過(guò)程中,學(xué)生重點(diǎn)掌握串行通信的初始化方法,掌握串行通信中斷服務(wù)程序的編程方法,熟悉中斷的執(zhí)行過(guò)程。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施1、硬件電路設(shè)計(jì)(1)任務(wù)分析
根據(jù)本任務(wù)的工作內(nèi)容和要求,甲機(jī)需要發(fā)送卡號(hào)數(shù)據(jù)950706給乙機(jī),這串?dāng)?shù)據(jù)可以存放在一字符數(shù)組中,循環(huán)發(fā)送6次,將數(shù)組中的數(shù)據(jù)通過(guò)串行口利用中斷方法或者查詢(xún)方式發(fā)送給乙機(jī)。乙機(jī)可以通過(guò)中斷方式,也可利用查詢(xún)方式接收數(shù)據(jù)。一旦數(shù)據(jù)接收成功,則通過(guò)串口發(fā)送0xaa給甲機(jī),以表示成功接收完成甲機(jī)發(fā)來(lái)的數(shù)據(jù)。甲機(jī)接收到0xaa后點(diǎn)亮綠色LED。甲機(jī)和乙機(jī)均需要完成接收和發(fā)送數(shù)據(jù)操作。
乙機(jī)需要連接6個(gè)數(shù)碼管,顯示從甲機(jī)發(fā)送來(lái)的數(shù)據(jù)。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施(2)電路設(shè)計(jì)
根據(jù)任務(wù)分析,乙機(jī)的6個(gè)數(shù)碼管采用動(dòng)態(tài)連接方式,各位共陽(yáng)極數(shù)碼管相應(yīng)的段選控制端并聯(lián)字一起,由P1口控制,用八同相三態(tài)緩沖器/線驅(qū)動(dòng)器74LS245驅(qū)動(dòng)。各位數(shù)碼管的公共端,也稱(chēng)為“位選端”,由單片機(jī)的P2口通過(guò)六個(gè)反相驅(qū)動(dòng)器74LS04驅(qū)動(dòng)。甲機(jī)作為發(fā)送器,乙機(jī)作為接收器,將甲機(jī)的TXD端連接乙機(jī)的RXD端;甲機(jī)的RXD端連接乙機(jī)的TXD端。需要注意的是兩個(gè)系統(tǒng)必須共地。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施
在甲機(jī)的P1.0口連接綠色LED,一旦甲乙兩個(gè)單片機(jī)成功通信后會(huì)點(diǎn)亮此綠色LED;在甲機(jī)的P1.1口連接紅色LED,在甲乙兩機(jī)進(jìn)行串行通信期間,此燈點(diǎn)亮,其余時(shí)間此燈熄滅。硬件電路如圖4-10所示。注意,此電路圖中晶振電路和復(fù)位電路均沒(méi)體現(xiàn),在仿真環(huán)境中默認(rèn)含有此兩部分的電路,可以正常運(yùn)行,在開(kāi)發(fā)板中不能省略此兩部分電路。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)圖4-10雙機(jī)通信硬件電路圖任務(wù)實(shí)施2、軟件編程甲機(jī)程序設(shè)計(jì)
在主程序中首先進(jìn)行串行口參數(shù)初始化以及其它參數(shù)的初始化,主要包括:波特率、串行口工作方式、CPU中斷允許、串行口中斷允許,允許接收數(shù)據(jù)等參數(shù)的設(shè)置。銀行動(dòng)態(tài)密碼存放在send數(shù)組中,在主程序中利用查詢(xún)方式循環(huán)6次將6個(gè)字符發(fā)送給乙機(jī)。每發(fā)送一個(gè)字符需要延時(shí)一段時(shí)間,以確保數(shù)據(jù)發(fā)送的數(shù)據(jù)被對(duì)方接收。主要代碼如下:任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施voidmain(){TMOD=0X20;//定時(shí)1工作方式2TH1=0XFd;//波特率為9600bpsTL1=0XFd;PCON=0X00;//波特率不加倍SCON=0X40;//串行口工作方式1,10位UARTTR1=1;//啟動(dòng)T1,產(chǎn)生波特率EA=1;//運(yùn)行CPU中斷ES=1;//運(yùn)行串行口中斷REN=1;//運(yùn)行接收數(shù)據(jù)i=0;//發(fā)送數(shù)組下標(biāo)從0開(kāi)始gled=1;//綠色led熄滅rled=1;//紅色led熄滅for(i=0;i<6;i++){//循環(huán)6次將動(dòng)態(tài)密碼發(fā)送出去任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施for(i=0;i<6;i++){//循環(huán)6次將動(dòng)態(tài)密碼發(fā)送出去SBUF=a[i];//發(fā)送第i個(gè)字符 while(!TI){;}//查詢(xún)TI是否為1 TI=0;
rled=0;//點(diǎn)亮發(fā)送數(shù)據(jù)指示燈 delay(100);//延時(shí)}
rled=1;//熄滅紅色ledwhile(1);}任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施甲機(jī)利用中斷方式接收乙機(jī)發(fā)來(lái)的握手信號(hào)0xaa,中斷服務(wù)程序如下:voidmyrece()interrupt4using0{//串行口中斷服務(wù)程序if(RI){//緩沖器中有數(shù)據(jù)receivedata=SBUF;//取出緩沖器中的數(shù)據(jù)if(receivedata==0xaa){//判斷接收到的數(shù)據(jù)是否為雙方約定的握手信號(hào)gled=0;//如果是握手信號(hào),則點(diǎn)亮綠色led,表示串行通信成功rled=1;//紅色led熄滅}elsegled=1;//否則,綠色led熄滅,以示串行通信失敗}RI=0;//請(qǐng)RI標(biāo)志}任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施乙機(jī)程序設(shè)計(jì)乙機(jī)利用串行口中斷接收數(shù)據(jù),串行口中斷服務(wù)程序主要代碼如下:voidmyserial()interrupt4using0{//串行口中斷服務(wù)程序if(RI){//緩沖器中有數(shù)據(jù)到來(lái)rec[i]=SBUF;//將接收到的數(shù)據(jù)存放到一數(shù)組中 i++;//數(shù)組元素下標(biāo)加1 RI=0;//清RI標(biāo)志 if(i>=6){//數(shù)組下標(biāo)超過(guò)6
i=0;//將下標(biāo)清0lable=1;//一旦6個(gè)字符全部收到,置標(biāo)志label為1,表示可以發(fā)送握手信號(hào)給甲機(jī) }}}任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施乙機(jī)將接收到的6位動(dòng)態(tài)密碼,通過(guò)6個(gè)數(shù)碼管輪流顯示,利用視覺(jué)暫留效應(yīng),只要輪流顯示足夠快,人的眼睛會(huì)認(rèn)為6個(gè)數(shù)碼管是同時(shí)顯示的。輪流顯示方法為,首先第一個(gè)位選端置1,第一個(gè)數(shù)碼管顯示動(dòng)態(tài)密碼的第一個(gè)數(shù)字,然后第二個(gè)位選端置1,第二個(gè)數(shù)碼管顯示動(dòng)態(tài)密碼的第二個(gè)數(shù)字,依次類(lèi)推,直到顯示第6個(gè)數(shù)字。上述顯示過(guò)程在主程序中循環(huán)進(jìn)行。顯示部分主要代碼如下:任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施voiddisplay(){//數(shù)碼管輪流顯示s=0x01;//s=00000001bP2=~s;//P20為0,則通過(guò)反相器后第一個(gè)位選端為高電平for(j=0;j<6;j++){//循環(huán)6次P1=table[rec[j]];//將接收到的數(shù)字對(duì)應(yīng)table數(shù)組中段碼賦給P1端口delay(10);//延時(shí) s=s<<1;//左移一位 P2=~s;//輪流置位選端為高電平}}任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施乙機(jī)主程序主要完成初始化設(shè)置,并循環(huán)顯示接收到的數(shù)據(jù),一旦6位動(dòng)態(tài)密碼全部接收完畢,則通過(guò)查詢(xún)方式向甲機(jī)發(fā)送握手信號(hào)0xaa。主要代碼如下:voidmain(){TMOD=0X20;//定時(shí)器1工作方式2TH1=0XFD;TL1=0XFD;//設(shè)置波特率為9600bpsPCON=0X00;//波特率不加倍SCON=0X40;//串行口通信方式1TR1=1;//啟動(dòng)T1,產(chǎn)生波特率EA=1;//允許CPU中斷ES=1;//允許串行口中斷REN=1;//允許接收數(shù)據(jù)
lable=0;//6個(gè)數(shù)據(jù)接收完畢標(biāo)志位,0為未接收完畢
i=0;//接收數(shù)據(jù)數(shù)組下標(biāo)從0開(kāi)始
任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施delay(100);while(1){display();//顯示接收到的數(shù)據(jù) if(lable){//6個(gè)字符全部接收完畢 SBUF=0XAA;//發(fā)送握手信號(hào)0xaa給甲機(jī) while(!TI);//查詢(xún)TI是否為1 TI=0;//清TIlable=0;//清數(shù)據(jù)接收完畢標(biāo)志位 }}}任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施4.1.4能力拓展
甲機(jī)發(fā)送的數(shù)據(jù)由和甲機(jī)連接的矩陣鍵盤(pán)按鍵值決定。甲機(jī)將矩陣鍵盤(pán)中的按鍵值通過(guò)串口發(fā)送給乙機(jī),乙機(jī)接收到數(shù)據(jù)后在數(shù)碼管中顯示,同時(shí)對(duì)此數(shù)加1后通過(guò)串口回發(fā)給甲機(jī),甲機(jī)顯示乙機(jī)發(fā)送來(lái)的數(shù)據(jù)。1、硬件電路設(shè)計(jì)矩陣鍵盤(pán)按鍵連接到甲機(jī)的P1端口,列線連接P1的低4位,行線連接P1的高4位,連接方式和之前任務(wù)的連接方法一樣,任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)圖4-11矩陣式鍵盤(pán)與甲機(jī)的連接電路圖
任務(wù)實(shí)施
甲機(jī)的TXD和乙機(jī)的RXD連接,甲機(jī)的RXD和乙機(jī)的TXD連接,甲機(jī)和乙機(jī)的P2端口各自連接共陽(yáng)極數(shù)碼管,如圖任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)圖4-12雙機(jī)串行通信電路圖
任務(wù)實(shí)施
2、軟件編程甲機(jī)主函數(shù)首先需要對(duì)和串口通信相關(guān)的寄存器進(jìn)行初始化。代碼如下:TMOD=0X20;//00100000 ,定時(shí)器1工作方式2,TH1=0XFA; //波特率為9600,11.0592MHz晶振,波特率翻倍TL1=0XFA;PCON=0X80;//波特率翻倍SCON=0X50;//01010000 串口工作方式1,10位異步通信,波特率可變,允許串口接收數(shù)據(jù)TR1=1;//啟動(dòng)定時(shí)器1任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施EA=1;//允許總中斷ES=1;//允許串行中斷REN=1;//允許接收數(shù)據(jù),此句可省keynum=16;//按鍵值初始化
主函數(shù)的while(1)循環(huán)中反復(fù)做三件事,讀取矩陣鍵盤(pán)的按鍵值、串口發(fā)送按鍵的值、顯示從串口收到的數(shù)據(jù)。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施while(1){//1讀鍵盤(pán)值readkey();//2發(fā)送按鍵值SBUF=keynum;while(!TI);TI=0;//3顯示收到的數(shù)據(jù)P2=table[keynum1];}讀取矩陣鍵盤(pán),獲取按鍵值的代碼和之前的讀取矩陣鍵盤(pán)的方法一樣。任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施把按鍵值放到SBUF緩存中,等待數(shù)據(jù)發(fā)送完成后清TI中斷標(biāo)志。串口發(fā)送數(shù)代碼如下:
//發(fā)送按鍵值SBUF=keynum;while(!TI);TI=0; P2口連接的數(shù)碼管顯示從串口收到的數(shù)據(jù)://顯示收到的數(shù)據(jù)P2=table[keynum1];任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施串口中斷接收數(shù)據(jù):voidmyrec()interrupt4using0{if(RI){
keynum1=SBUF; RI=0;}}任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施乙機(jī)的代碼:
乙機(jī)主函數(shù)初始化和甲機(jī)初始化代碼一樣。在while(1)循環(huán)中,反復(fù)執(zhí)行下面幾件事:P2口顯示串口收到的數(shù)、對(duì)其加1后、通過(guò)串口發(fā)送給甲機(jī)。代碼如下:任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)任務(wù)實(shí)施while(1){
P2=table[receive]; //顯示收到的數(shù) senddata=receive+1;//數(shù)加1
if(senddata>=16){
SBUF=0X00; //超過(guò)16,串口發(fā)送0 } elseSBUF=senddata;//串口發(fā)送數(shù)據(jù) while(!TI); TI=0;}任務(wù)4.1獲取智慧校園一卡通數(shù)據(jù)項(xiàng)目四智慧校園一卡通應(yīng)用及維護(hù)
馮蓉珍
《微處理器程序設(shè)計(jì)》任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)目標(biāo)通過(guò)本任務(wù)的設(shè)計(jì)與制作,要求學(xué)生掌握利用微處理器的串行通信功能實(shí)現(xiàn)與計(jì)算機(jī)的通信,通過(guò)計(jì)算機(jī)控制連接在微處理器上的直流電機(jī)轉(zhuǎn)動(dòng)。培養(yǎng)學(xué)生利用串行通信解決實(shí)際問(wèn)題的能力,從而進(jìn)一步提高學(xué)生對(duì)一卡通數(shù)據(jù)的應(yīng)用與維護(hù)能力
。
知識(shí)準(zhǔn)備
本項(xiàng)目要求完成的工作是通過(guò)PC控制連接窗簾的直流電機(jī)的正反轉(zhuǎn)、速度調(diào)整和停止運(yùn)轉(zhuǎn)。通過(guò)敲擊PC鍵盤(pán)上的數(shù)字1控制電機(jī)正轉(zhuǎn),敲擊數(shù)字2控制電機(jī)反轉(zhuǎn),敲擊數(shù)字3控制電機(jī)加速旋轉(zhuǎn),敲擊數(shù)字4控制電機(jī)減速旋轉(zhuǎn),敲擊數(shù)字5或其他非1,2,3,4的數(shù)字鍵,控制電機(jī)停止運(yùn)轉(zhuǎn)。PC和單片機(jī)通過(guò)串行口進(jìn)行通信。
敲擊連接在電腦上鍵盤(pán)的數(shù)字按鍵,該按鍵的ASCII碼輸入到電腦中,電腦通過(guò)串行口將相應(yīng)按鍵的ASCII碼的信息發(fā)送給單片機(jī)。單片機(jī)將收到的數(shù)據(jù)解析成相應(yīng)的數(shù)字,根據(jù)PC和單片機(jī)雙方的約定,由不同的數(shù)字控制直流電機(jī)不同的運(yùn)行狀態(tài)。任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信知識(shí)準(zhǔn)備
由于51單片機(jī)輸入、輸出的邏輯電平為T(mén)TL電平;而PC機(jī)配置的RS-232標(biāo)準(zhǔn)接口邏輯電平為負(fù)邏輯。邏輯0為+5~+15V,而邏輯1為-5~-15V,所以在單片機(jī)和PC之間的通信需要增加電平轉(zhuǎn)換電路,常用的電平轉(zhuǎn)換芯片有MAX232等。任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)實(shí)施
本任務(wù)實(shí)現(xiàn)智能控制智慧家居窗簾。利用電腦,按下鍵盤(pán)上的某幾個(gè)指定字符,分別控制連接窗簾的電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)、速度和啟停,從而實(shí)現(xiàn)智慧家居窗簾的開(kāi)、關(guān)等智能控制。1、硬件電路設(shè)計(jì)
由任務(wù)分析可知,51單片機(jī)輸入、輸出的邏輯電平為T(mén)TL電平;而PC機(jī)配置的RS-232標(biāo)準(zhǔn)接口邏輯電平為負(fù)邏輯。所以在單片機(jī)和PC之間的通信需要增加由MAX232構(gòu)成的電平轉(zhuǎn)換電路。一般的PC上都有DB9接口的串行接口。如果沒(méi)有DB9接口,則有USB接口,利用USB轉(zhuǎn)串口專(zhuān)用接口可以實(shí)現(xiàn)串行口的功能。任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)實(shí)施由于單片機(jī)的I/O端口驅(qū)動(dòng)能力有限,所以往往不能提供足夠大的功率去驅(qū)動(dòng)電機(jī),必須要外加驅(qū)動(dòng)電路。常用的驅(qū)動(dòng)電路有H橋驅(qū)動(dòng)電路,驅(qū)動(dòng)直流電機(jī)只要用一組H橋電路。(a)直流電機(jī)實(shí)物圖(b)H橋驅(qū)動(dòng)電路任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信圖4-12直流電機(jī)的H橋驅(qū)動(dòng)電路
任務(wù)實(shí)施
通過(guò)控制使得T2和T5導(dǎo)通,T3和T4截止,則電流從電機(jī)的左側(cè)流到右側(cè),電機(jī)正轉(zhuǎn);那么如果T2和T5截止,T3和T4導(dǎo)通,則電流從電機(jī)的右側(cè)流到左側(cè),電機(jī)反轉(zhuǎn)。因此我們將T2和T5的基極連在一起并同時(shí)連接到單片機(jī)的某個(gè)端口;將T3和T4的基極連接在一起并同時(shí)連接到單片機(jī)的另一端口。這兩個(gè)端口的電平同時(shí)為高或同時(shí)為低時(shí),電機(jī)不轉(zhuǎn);而兩個(gè)端口電平一高一低或一低一高時(shí),電機(jī)就會(huì)正轉(zhuǎn)或反轉(zhuǎn)。本項(xiàng)目的硬件電路設(shè)計(jì)如圖8-12所示。任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)實(shí)施圖4-13通過(guò)計(jì)算機(jī)控制直流電機(jī)轉(zhuǎn)動(dòng)的硬件電路圖任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)實(shí)施2、軟件編程
調(diào)節(jié)電機(jī)的速度,有好多種方法。其中利用脈沖寬度調(diào)制PWM來(lái)調(diào)節(jié)直流電機(jī)的速度是目前廣泛使用的方法。隨著大規(guī)模集成電路的不斷發(fā)展,很多單片機(jī)都有內(nèi)置PWM模塊,因此,單片機(jī)的PWM控制技術(shù)可以用內(nèi)置PWM模塊實(shí)現(xiàn),也可以用單片機(jī)的其它資源由軟件模擬實(shí)現(xiàn),還可以通過(guò)控制外置硬件電路來(lái)實(shí)現(xiàn)。由于51單片機(jī)內(nèi)部沒(méi)有PWM模塊,因此本設(shè)計(jì)采用軟件模擬法,利用單片機(jī)的I/O引腳,通過(guò)軟件對(duì)該引腳不斷地輸出高低電平來(lái)實(shí)現(xiàn)PWM波輸出,這種方法簡(jiǎn)單實(shí)用,缺點(diǎn)是占用CPU的大量時(shí)間。本設(shè)計(jì)采用PWM技術(shù),是一種周期一定而高低電平可調(diào)的方波信號(hào)。當(dāng)輸出脈沖的頻率一定時(shí),輸出脈沖的占空比越大,其高電平持續(xù)的時(shí)間越長(zhǎng),電機(jī)的速度越快。任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)實(shí)施2、軟件編程
本項(xiàng)目中利用定時(shí)器0中斷來(lái)定時(shí),每發(fā)送一次T0中斷,計(jì)數(shù)變量n加1,n的值為中斷的次數(shù),當(dāng)n>=100時(shí),n重新從0開(kāi)始計(jì)數(shù)。假設(shè)T0為1ms一次中斷,那么100次中斷就為0.1s,如果定義PWM的周期為0.1S,假設(shè)變量zkb為高電平持續(xù)的時(shí)間,則當(dāng)n<zkb時(shí),電機(jī)維持轉(zhuǎn)動(dòng),否則,電機(jī)停止。只要上述過(guò)程足夠快,人的眼睛感覺(jué)不到電機(jī)轉(zhuǎn)轉(zhuǎn)停停,而是感覺(jué)到電機(jī)的轉(zhuǎn)動(dòng)速度會(huì)由zkb這個(gè)變量的值來(lái)決定。這就是PWM調(diào)速的原理。任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)實(shí)施
主程序中主要進(jìn)行一些初始化,確定定時(shí)器T0和T1的工作方式,TH0,TL0,TH1,TL1的初值,T0做定時(shí)器使用,T1用作產(chǎn)生波特率,還有計(jì)數(shù)變量n和占空比變量zkb的初始值設(shè)置,允許CPU中斷和定時(shí)器0中斷,允許串行口中斷等。在主程序中利用循環(huán)根據(jù)電機(jī)狀態(tài)進(jìn)行相應(yīng)動(dòng)作。電機(jī)狀態(tài)在串行口中斷服務(wù)程序中確定。主要代碼如下:任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)實(shí)施voidmain(){TMOD=0X21;//00100000,T1工作方式2,T0工作方式1TH0=0XFC;//1ms=(65536-x)*1us=>x=65536-1000=64536;TH0=64536/256=0XFCTL0=0X18;//TL0=64536%256=0X18TH1=0XFD;//波特率9600bps,SMOD=0;11.0592MHz誤差0%TL1=0XFD;PCON=0X00;//SMOD=0;波特率不加倍SCON=0X40;//01000000串口工作方式1,10位UARTEA=1;//允許CPU中斷ES=1;//允許串行口中斷ET0=1;//允許定時(shí)器0中斷PS=1;//串行口中斷為高優(yōu)先級(jí)TR0=1;//啟動(dòng)定時(shí)器0TR1=1;//啟動(dòng)定時(shí)器1,產(chǎn)生波特率REN=1;//允許接收數(shù)據(jù)n=0;//計(jì)數(shù)初始化為0zkb=50;//占空比變量初始化為50,即一半的速度
receive=5;//默認(rèn)收到的數(shù)字為5state=3;//state表示根據(jù)從電腦鍵盤(pán)發(fā)送過(guò)來(lái)的數(shù)字決定電機(jī)的狀態(tài),默認(rèn)為停止?fàn)顟B(tài)任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)實(shí)施
while(1){if(state==1){//1表示正轉(zhuǎn) if(n<=zkb){motor1=1;motor2=0;} else{motor1=0; motor2=0;}}if(state==2){//2表示反轉(zhuǎn) if(n<=zkb){motor1=0;
motor2=1;} else{motor1=0;
motor2=0;}}if(state==3){//表示停止 motor1=1; motor2=1;}
}//while(1)}//main()任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)二電腦與微處理器之間串行通信任務(wù)實(shí)施
定時(shí)器0負(fù)責(zé)定時(shí)1ms,到1ms就產(chǎn)生一次中斷,在中斷服務(wù)程序中給計(jì)數(shù)變量n加1,統(tǒng)計(jì)發(fā)生了多少次中斷,n最大值為100,即當(dāng)計(jì)時(shí)滿0.1s,認(rèn)為一個(gè)定時(shí)周期已到,也就是說(shuō)PWM的周期為0.1s,高電平持續(xù)的時(shí)間最大為0.1s。n滿100后歸0,計(jì)下一個(gè)周期的時(shí)間。定時(shí)器0中斷服務(wù)程序如下:voidmyto()interrupt1using0{TH0=0XFC;TL0=0X18;n++;if(n>100)n=0;}任務(wù)實(shí)施
串行口中斷程序主要負(fù)責(zé)接收PC發(fā)來(lái)的數(shù)據(jù)并進(jìn)行解析,因?yàn)镻C發(fā)送的是字符的ASCII碼,數(shù)字1的ASCII碼是0x31,因此解析數(shù)據(jù)時(shí),只需要將收到的數(shù)據(jù)根據(jù)ASCII碼來(lái)確定具體的數(shù)字,然后根據(jù)不同的數(shù)字確定電機(jī)的狀態(tài),如果收到是0x31,則電機(jī)狀態(tài)為1,即正轉(zhuǎn)的狀態(tài),如果為0x32,電機(jī)狀態(tài)為2,即為反轉(zhuǎn)狀態(tài)。如果為0x33,增加電機(jī)的PWM中高電平的占空比,如果為0x34,減少電機(jī)的PWM中高電平的占空比。如果是其他數(shù)字,電機(jī)狀態(tài)為3,即停止?fàn)顟B(tài)。為驗(yàn)證串行口收到的數(shù)據(jù)是否為我們按下PC鍵盤(pán)上的數(shù)字,在串行中斷服務(wù)程序中添加將收到的數(shù)據(jù)原樣的從串口返回給PC的代碼。任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)實(shí)施主要代碼如下:voidmys()interrupt4using0{ES=0;//關(guān)串行口中斷if(RI){//緩沖器中有數(shù)據(jù)到來(lái)RI=0;//清RIreceive=SBUF;//將緩沖器中的數(shù)據(jù)收下來(lái),存入某個(gè)變量SBUF=receive;//將數(shù)字通過(guò)串行口發(fā)回PC,while(!TI);//等待數(shù)據(jù)發(fā)送TI=0;//清TI}任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)實(shí)施switch(receive){//解析收到的數(shù)據(jù)并設(shè)置電機(jī)運(yùn)行狀態(tài)
case0x31://如果收到的是數(shù)字1
state=1;break;//電機(jī)運(yùn)行狀態(tài)為1,正轉(zhuǎn)
case0x32:
//如果收到的是數(shù)字2
state=2;break;//電機(jī)運(yùn)行狀態(tài)為2,反轉(zhuǎn)
case0x33:
//如果收到的是數(shù)字3
zkb=zkb+10;//占空比加10
if(zkb>100)zkb=0;
break;
case0x34://如果收到的是數(shù)字4
zkb=zkb-10;//占空比減10
if(zkb<0)zkb=100;break;
default://收到其他按鍵 state=3;break;
//電機(jī)運(yùn)行狀態(tài)為3,停止}任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)實(shí)施n=0;//計(jì)數(shù)從0開(kāi)始ES=1;//開(kāi)串行口中斷}任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)實(shí)施在程序的開(kāi)頭添加以下內(nèi)容:#include<reg51.h>sbitmotor1=P1^0;//控制直流電機(jī)的端口1sbitmotor2=P1^1;//控制直流電機(jī)的端口2unsignedcharreceive;//存放收到數(shù)據(jù)的變量unsignedcharn;//計(jì)時(shí)變量intzkb;//占空比變量unsignedcharstate;//正反轉(zhuǎn)狀態(tài)變量,1表示正轉(zhuǎn),2表示示反轉(zhuǎn),3表示停止由上面這些代碼組合起來(lái)就是本項(xiàng)目的完整程序。任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)實(shí)施3、程序調(diào)試并運(yùn)行
在進(jìn)行PC與單片機(jī)的串口通信軟件調(diào)試時(shí),最簡(jiǎn)單的辦法是在PC機(jī)上安裝“串口調(diào)試助手”應(yīng)用軟件,只要設(shè)定好波特率等參數(shù)就可以直接使用。調(diào)試成功后再在PC機(jī)上運(yùn)行自己編寫(xiě)的通信程序。先在PC上安裝“串口調(diào)試助手”程序,連接PC和單片機(jī)開(kāi)發(fā)板,做如下測(cè)試。(1)在PC上運(yùn)行運(yùn)行“串口調(diào)試助手”程序,設(shè)置波特率參數(shù)如圖4-13所示。圖4-14“串口調(diào)試助手”程序的參數(shù)設(shè)置任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)實(shí)施(2)給開(kāi)發(fā)板下載好程序并上電(3)在“串口調(diào)試助手”主界面中,用PC鍵盤(pán)在下部的發(fā)送窗口輸入數(shù)字,選手動(dòng)發(fā)送,可以看到電機(jī)是否按照要求在運(yùn)轉(zhuǎn)。(4)在PC機(jī)的接收窗口觀察所接收到的數(shù)據(jù),是否與發(fā)送的一樣。即觀察“串口調(diào)試助手”上面的接收窗口會(huì)接收到十六進(jìn)制形式的數(shù)字是否和發(fā)送的一樣。比如,按了數(shù)字1,接收窗口會(huì)出現(xiàn)十六進(jìn)制的01。說(shuō)明單片機(jī)能收到PC發(fā)來(lái)的數(shù)字。任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)實(shí)施4.2.4能力拓展
本任務(wù)實(shí)現(xiàn)智慧教室照明智能控制。當(dāng)教室授課播放投影時(shí),需要關(guān)閉教室講臺(tái)邊的照明燈;板書(shū)時(shí)打開(kāi)黑板前的照明燈;當(dāng)所有學(xué)生離開(kāi)教室后,教師一鍵關(guān)閉所有照明燈;學(xué)生進(jìn)入教室后,教師一鍵打開(kāi)所有照明燈;教師也可一鍵打開(kāi)或關(guān)閉學(xué)生的照明燈。1、硬件電路設(shè)計(jì)用8個(gè)LED燈模擬教室里的照明燈。LED1和LED2表示講臺(tái)前的兩個(gè)燈,其余6個(gè)LED燈,表示教室里安裝在學(xué)生座位上方的照明燈。任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)實(shí)施RXD連接電腦串口的TXD,TXD連接電腦串口的RXD。用串口助手觀察電腦發(fā)送的數(shù)據(jù)。任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信圖4-15電路圖
任務(wù)實(shí)施2、軟件編程主函數(shù)中首先對(duì)串口相關(guān)寄存器進(jìn)行初始化設(shè)置。//串口工作方式3,11位數(shù)據(jù)通信SCON=0XC0;//定時(shí)器1用于產(chǎn)生波特率,設(shè)置工作方式2,寄存器初始值為0xfd,波特率不翻倍,波特率為9600TMOD=0X20;//9600BPSTH1=0XFD;TL1=0XFD;PCON=0X00;TR1=1;//啟動(dòng)定時(shí)器1產(chǎn)生波特率ET1=0;//定時(shí)器1不產(chǎn)生中斷REN=1;EA=1;ES=1;PS=1;任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)實(shí)施串口中斷函數(shù)完成接收電腦發(fā)來(lái)的數(shù)據(jù),并+1后回發(fā)給電腦。代碼如下:voidmyserial()interrupt4{if(RI){ RI=0; receive=SBUF;//接收電腦串口發(fā)來(lái)的數(shù)據(jù) SBUF=receive+1;//將收到的數(shù)據(jù)+1后會(huì)發(fā)給電腦 while(!TI);//等待數(shù)據(jù)發(fā)送完畢 TI=0; }}任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)實(shí)施
在主函數(shù)的while循環(huán)中,利用switch函數(shù),根據(jù)收到的不同數(shù)據(jù)點(diǎn)亮或關(guān)閉不同的照明燈。代碼如下:while(1){//如果電腦發(fā)送字符1,關(guān)講臺(tái)燈led1,led2,//電腦發(fā)送字符2,打開(kāi)講臺(tái)燈led1,led2//電腦發(fā)送字符3,關(guān)閉學(xué)生照明燈led3-led8//電腦發(fā)送字符4,打開(kāi)學(xué)生照明燈led3-led8//電腦發(fā)送字符5,關(guān)閉所有照明燈led1-led8//電腦發(fā)送字符6,打開(kāi)所有照明燈led1-led8switch(receive){case0x31: //關(guān)講臺(tái)燈led1,led2, P1|=0x03;//xxxxxx11 break; case0x32: //打開(kāi)講臺(tái)燈led1,led2 P1&=0xfc;//xxxxxx00 break;
任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信任務(wù)實(shí)施 case0x33: //關(guān)閉學(xué)生照明燈led3-led8 P1|=0xfc;//111111xx break; case0x34: //打開(kāi)學(xué)生照明燈led3-led8 P1&=0x03;//00000011 break; case0x35: //關(guān)閉所有照明燈led1-led8 P1=0xff;//11111111 break; case0x36://打開(kāi)所有照明燈led1-led8 P1=0x00;//00000000 break; default: P1=0xff;//關(guān)閉所有燈 break;}}//while任務(wù)4.2計(jì)算機(jī)與微處理器之間串行通信項(xiàng)目四智慧校園一卡通應(yīng)用及維護(hù)
馮蓉珍
《微處理器程序設(shè)計(jì)》任務(wù)4.3企業(yè)案例
——手術(shù)顯微鏡焦距及光源系統(tǒng)智能控制任務(wù)目標(biāo)
有一種醫(yī)療設(shè)備叫作手術(shù)顯微鏡,醫(yī)生通過(guò)手術(shù)顯微鏡對(duì)病人實(shí)施手術(shù)。
顯微鏡鏡頭部件中連接有直流電機(jī),通過(guò)直流電機(jī)轉(zhuǎn)動(dòng)調(diào)節(jié)鏡頭焦距,以便醫(yī)生能清晰地看到手術(shù)視野。顯微鏡鏡鏡頭里的照明燈通過(guò)光纖聚光后照亮手術(shù)視野,醫(yī)生手術(shù)時(shí)雙手持有手術(shù)刀,無(wú)法用雙手對(duì)顯微鏡鏡頭進(jìn)行焦距和光源亮度的調(diào)節(jié)。通常會(huì)給手術(shù)顯微鏡配置一個(gè)腳踏控制器,腳踏控制器上有上、下、左、右四個(gè)按鍵,左、右按鍵控制顯微鏡直流電機(jī)正、反轉(zhuǎn),上、下按鍵調(diào)節(jié)燈光亮、暗。腳踏控制器和顯微鏡鏡身進(jìn)行串行通信。
通過(guò)本任務(wù)的設(shè)計(jì)與制作,培養(yǎng)學(xué)生利用串行通信技術(shù)解決各個(gè)領(lǐng)域中智能設(shè)備數(shù)據(jù)通信的問(wèn)題,進(jìn)一步提高學(xué)生對(duì)智能設(shè)備的應(yīng)用與維護(hù)。知識(shí)準(zhǔn)備
本項(xiàng)目中需要采集和甲機(jī)連接的四個(gè)按鍵的狀態(tài),并通過(guò)串口發(fā)送給乙機(jī)。乙機(jī)接收到數(shù)據(jù)后,控制和乙機(jī)相連的燈光亮度及鏡頭的聚焦點(diǎn)。
完成本項(xiàng)目需要具備前幾個(gè)項(xiàng)目涉及的串行通信和通過(guò)繼電器控制直流電機(jī)的知識(shí)點(diǎn)。同時(shí),需要利用獨(dú)立式按鍵的狀態(tài)變化來(lái)判斷按鍵是否被按下。
任務(wù)4.3企業(yè)案例
——手術(shù)顯微鏡焦距及光源系統(tǒng)智能控制任務(wù)實(shí)施
醫(yī)生踩下腳踏控制器上左側(cè)按鍵,電機(jī)反正;踩下右側(cè)按鍵,電機(jī)正轉(zhuǎn);踩下上面的按鍵,燈光調(diào)亮;踩下下面的按鍵,燈光調(diào)暗。腳踏控制器中有一微處理器,連接上下左右四個(gè)按鍵開(kāi)關(guān),顯微鏡鏡頭里也有一個(gè)微處理器與電機(jī)和光源相連接。腳踏控制器中的微處理器和顯微鏡鏡頭里的微處理器通過(guò)串口進(jìn)行通信。1、硬件電路設(shè)計(jì)
在仿真電路圖中,甲機(jī)是在腳踏控制器中的微處理器,乙機(jī)是顯微鏡鏡頭里的微處理器。任務(wù)4.3企業(yè)案例
——手術(shù)顯微鏡焦距及光源系統(tǒng)智能控制任務(wù)實(shí)施
甲機(jī)的P1.0~P1.3連接四個(gè)按鍵。甲機(jī)的TXD和乙機(jī)的RXD連接,甲機(jī)的RXD和乙機(jī)的TXD連接。甲機(jī)電路圖如圖
圖4-16腳踏控制(甲機(jī))電路圖
任務(wù)4.3企業(yè)案例
——手術(shù)顯微鏡焦距及光源系統(tǒng)智能控制任務(wù)實(shí)施
乙機(jī)的串口和甲機(jī)連接,P1.0~P1.2連接3個(gè)LED燈,模擬顯微鏡鏡頭里的光源。電機(jī)兩極連接P3.6和P3.7。圖4-17乙機(jī)控制電路圖
任務(wù)4.3企業(yè)案例
——手術(shù)顯微鏡焦距及光源系統(tǒng)智能控制任務(wù)實(shí)施2、軟件編程
甲機(jī)主函數(shù)對(duì)串口中斷進(jìn)行初始化設(shè)置,定時(shí)器1工作方式2,11.0592MHz晶振下,波特率翻倍,波特率設(shè)定為9600bps時(shí),定時(shí)器1寄存器初始值為0xfa。串口通信方式1,10位數(shù)據(jù)異步通信,波特率可設(shè)置。啟動(dòng)定時(shí)器1,允許串行口中斷。初始化串口發(fā)送的數(shù)據(jù)為0。TMOD=0X20;//00100000,定時(shí)器1工作方式2,TH1=0XFA; //波特率為9600,11.0592MHz晶振,波特率翻倍TL1=0XFA;PCON=0X80;//波特率翻倍SCON=0X50;//01010000 串口工作方式1,10位異步通信,波特率可變,允許串口接收數(shù)據(jù)TR1=1;//啟動(dòng)定時(shí)器1EA=1;//允許總中斷ES=1;//允許串行中斷send_data=0;//按鍵值初始化任務(wù)4.3企業(yè)案例
——手術(shù)顯微鏡焦距及光源系統(tǒng)智能控制任務(wù)實(shí)施主函數(shù)循環(huán)執(zhí)行以下語(yǔ)句。while(1){//1讀鍵盤(pán)值
readkey();//2
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 感染科疫情防控工作總結(jié)與反思計(jì)劃
- 胃癌治療進(jìn)展
- 會(huì)計(jì)人員如何制定周密的工作計(jì)劃
- 開(kāi)放式課堂激發(fā)幼兒探索精神計(jì)劃
- 前臺(tái)文員創(chuàng)新工作的實(shí)踐計(jì)劃
- 《貴州勁同礦業(yè)有限公司清鎮(zhèn)市麥格鄉(xiāng)貴耐鋁土礦(修編)礦產(chǎn)資源綠色開(kāi)發(fā)利用方案(三合一)》專(zhuān)家組評(píng)審意見(jiàn)
- 第22課 活動(dòng)課:唱響《國(guó)際歌》 教學(xué)設(shè)計(jì)-2023-2024學(xué)年浙江省部編版歷史與社會(huì)九年級(jí)上冊(cè)
- 2025年浙江道路貨運(yùn)從業(yè)資格證模擬考試
- 腎部專(zhuān)業(yè)知識(shí)培訓(xùn)課件
- 2025年杭州貨運(yùn)從業(yè)資格證年考試題目
- 《交通運(yùn)輸經(jīng)濟(jì)學(xué)》題集
- JGJT272-2012 建筑施工企業(yè)信息化評(píng)價(jià)標(biāo)準(zhǔn)
- 線性代數(shù)試題(完整試題與詳細(xì)答案)
- DZT 0445-2023 天然氣水合物術(shù)語(yǔ)
- 2024年輔警考試公基常識(shí)300題(附解析)
- 2024年上海公安機(jī)關(guān)勤務(wù)輔警招聘筆試參考題庫(kù)附帶答案詳解
- 健康知識(shí)科普講座主題
- 籃球突分技術(shù)與配合-教學(xué)設(shè)計(jì)
- 【音樂(lè)】歌唱祖國(guó)-《彩色的中國(guó)》課件 2023-2024學(xué)年人音版初中音樂(lè)七年級(jí)上冊(cè)
- JJF 2095-2024壓力數(shù)據(jù)采集儀校準(zhǔn)規(guī)范
- 2023年上海市16區(qū)數(shù)學(xué)中考二模匯編2 方程與不等式(39題)含詳解
評(píng)論
0/150
提交評(píng)論