版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)驗(yàn)一單片機(jī)I/O口應(yīng)用實(shí)驗(yàn)_P3.3口輸入P1口輸出一、實(shí)驗(yàn)?zāi)康?、掌握P3口、P1口簡樸使用。2、學(xué)習(xí)延時(shí)程序的編寫和使用。二、實(shí)驗(yàn)內(nèi)容1、P3.3口做輸入口,外接一脈沖,每輸入一種脈沖,P1口按十六進(jìn)制加一。2、P1口做輸出口,編寫程序,使P1口接的8個(gè)發(fā)光二極管L0—L7按16進(jìn)制加一的方式點(diǎn)亮發(fā)光二極管。三、實(shí)驗(yàn)闡明1、P1口是準(zhǔn)雙向口,它作為輸出口時(shí)與普通的雙向口使用辦法相似,由準(zhǔn)雙向口構(gòu)造可知:當(dāng)P1口作為輸入口時(shí),必須先對它置高電平,使內(nèi)部MOS管截止,因內(nèi)部上拉電阻是20KΩ—40KΩ,故不會對外部輸入產(chǎn)生影響。若不先對它置高,且原來是低電平,則MOS管導(dǎo)通,讀入的數(shù)據(jù)不對的。2、延時(shí)子程序的延時(shí)計(jì)算。對于延時(shí)程序DELAY:MOVR6,#00HDELAY1:MOVR7,#80HDJNZR7,$DJNZR6,DELAY1查指令表可知MOV、DJNZ指令均需用兩個(gè)機(jī)器周期,而一種機(jī)器周期時(shí)間長度為12/6.0MHZ,因此該段指令執(zhí)行時(shí)間為:((128+1)×256)+1)×2×(12÷)=132.1ms。四、實(shí)驗(yàn)原理圖圖(1-1)五、實(shí)驗(yàn)程序框圖NNNNYR6設(shè)初值FFH延時(shí)子程序:R7設(shè)初值FFHR7-1=0否?R6-1=0否?返回Y圖(1-3)P3.3真的為高嗎?P3.3為低嗎?開始P3.3為高嗎?延時(shí)延時(shí)A+1送P1口循環(huán)NNNYYY主程序:圖(1-2)六、實(shí)驗(yàn)環(huán)節(jié)1、P3.3用插針連至K1,P1.0~P1.7用插針連至L0~L7。2、調(diào)試、運(yùn)行程序。3、開關(guān)K1每撥動一次,L0~L7發(fā)光二極管按16進(jìn)制方式加一點(diǎn)亮。實(shí)驗(yàn)二單片機(jī)I/O口應(yīng)用實(shí)驗(yàn)_工業(yè)次序控制一、實(shí)驗(yàn)?zāi)康恼莆展I(yè)次序控制程序的簡樸編寫和中斷的使用。二、實(shí)驗(yàn)預(yù)備知識在工業(yè)控制中,像沖壓、注塑、輕紡、制瓶等生產(chǎn)過程,都是某些斷續(xù)生產(chǎn)過程,按某種程序有規(guī)律地完畢預(yù)定的動作,對這類斷續(xù)生產(chǎn)過程的控制稱次序控制,例:注塑機(jī)工藝過程大致按“合?!⑸洹訒r(shí)→開?!a(chǎn)伸→產(chǎn)退”次序動作,用單片機(jī)最易實(shí)現(xiàn)。三、實(shí)驗(yàn)內(nèi)容8031的P1.0~P1.6控制注塑機(jī)的七道工序,現(xiàn)模擬控制七只發(fā)光二極管的點(diǎn)亮,高電平有效,設(shè)定每道工序時(shí)間轉(zhuǎn)換為延時(shí),P3.4為開工啟動開關(guān),低電平啟動。P3.3為外故障輸入模擬開關(guān),P3.3為0時(shí)不停告警,P1.7為報(bào)警聲音輸出。四、實(shí)驗(yàn)闡明實(shí)驗(yàn)中用外部中斷0,編中斷服務(wù)程序的核心是:1、保護(hù)進(jìn)入中斷時(shí)的狀態(tài),并在退出中斷之前恢復(fù)進(jìn)入的狀態(tài)。2、必須在中斷程序中設(shè)定與否允許中斷重入,即設(shè)立EX0位。普通中斷程序進(jìn)入時(shí)應(yīng)保護(hù)PSW、ACC以及中斷程序使用但非其專用的寄存器,本實(shí)驗(yàn)中未涉及。五、實(shí)驗(yàn)接線圖圖(2-1)六、實(shí)驗(yàn)程序框圖恢復(fù)現(xiàn)場故障去除了嗎?恢復(fù)現(xiàn)場故障去除了嗎?返回報(bào)警保護(hù)現(xiàn)場關(guān)輸出中斷服務(wù)子程序:YN圖(2-3)主程序:開始···中斷、P1口、P3口初始化P1口全低工序2延時(shí)工序1延時(shí)等開工工序7延時(shí)····圖(2-2)七、實(shí)驗(yàn)環(huán)節(jié)1、P3.4連K1,P3.3連K2,P1.0~P1.6分別連到L0~L6,P1.7連SIN(電子音響驅(qū)動控區(qū)),其臥式開關(guān)打在音樂上,短路片選擇左邊為蜂鳴器,右邊為喇叭。2、K1開關(guān)撥在上面,K2撥在上面。3、調(diào)試、運(yùn)行程序。4、K1撥至下面(低電平),各道工序應(yīng)正常運(yùn)行。5、K2撥至下面(低電平),應(yīng)有聲音報(bào)警(人為設(shè)立故障)。6、K2撥至上面(高電平),即排除故障,程序應(yīng)從剛剛報(bào)警的那道工序繼續(xù)執(zhí)行。八、思考修改程序,使每道工序中有多位輸出。實(shí)驗(yàn)三并行I/O接口8255應(yīng)用一、實(shí)驗(yàn)?zāi)康睦斫?255芯片的構(gòu)造及編程辦法。二、實(shí)驗(yàn)內(nèi)容用8255的PA口做輸入口,PB口做輸出口,控制PA口狀態(tài)從PB口輸出顯示。三、實(shí)驗(yàn)闡明通過PA口接8個(gè)開關(guān)K1~K8,PB口接8個(gè)發(fā)光二極管,從PA口讀入8位開關(guān)的狀態(tài)送PB口顯示,撥動K1~K8,PB口上接的8個(gè)發(fā)光二極管L0~L7對應(yīng)顯示K1~K8的狀態(tài)。四、實(shí)驗(yàn)接線圖圖(3-1)五、實(shí)驗(yàn)程序框圖開始開始8255初始化置8255PA口為低電平讀PA口的值將PA口的值送PB口顯示圖(3-2)六、實(shí)驗(yàn)環(huán)節(jié)1、8255芯片的PA0~PA7插孔依次接在開關(guān)K1~K8。2、8255芯片的PB0~PB7插孔依次接發(fā)光二極管L0~L7。3、8255芯片的片選8255CS插孔接譯碼輸出Y0。4、調(diào)試、運(yùn)行程序。撥動開關(guān),相對應(yīng)的發(fā)光二極管顯示其狀態(tài)。實(shí)驗(yàn)四簡樸I/O口擴(kuò)展實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康膶W(xué)習(xí)在單片機(jī)系統(tǒng)中擴(kuò)展簡樸I/O口的基本辦法。二、實(shí)驗(yàn)內(nèi)容MCS—51外部擴(kuò)展空間很大,但數(shù)據(jù)總線口和控制信號的負(fù)載能力是有限的,若需要擴(kuò)展的芯片較多,則MCS—51總線口負(fù)載過重,74LS244是一種輸入擴(kuò)展口,同時(shí)也是一種單向驅(qū)動器,以減輕總線負(fù)擔(dān)。74LS273作為同向輸出口,控制8個(gè)發(fā)光二極管的亮滅。三、實(shí)驗(yàn)接線圖圖(4-1)四、實(shí)驗(yàn)程序框圖開始開始置端口地址從74LS244讀入開關(guān)狀態(tài)從74LS273輸出開關(guān)狀態(tài)延時(shí)0.01S圖(4-2)五、實(shí)驗(yàn)環(huán)節(jié)1、74LS244的輸入端PI0~PI7接K1~K8,74LS273的輸出端PO0~PO7接L0~L7,244CS接Y2,273CS2接Y3。2、調(diào)試、運(yùn)行程序IO.ASM。3、撥動K1~K8,觀察L0~L7點(diǎn)亮狀況。實(shí)驗(yàn)五A/D轉(zhuǎn)換實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、掌握A/D轉(zhuǎn)換與單片機(jī)的接口辦法。2、理解A/D芯片0809轉(zhuǎn)換性能及編程辦法。3、通過實(shí)驗(yàn)理解單片機(jī)如何進(jìn)行數(shù)據(jù)采集。二、實(shí)驗(yàn)內(nèi)容運(yùn)用實(shí)驗(yàn)儀上的0809做A/D轉(zhuǎn)換實(shí)驗(yàn),實(shí)驗(yàn)儀上的電位器提供模擬量輸入。編制程序,將模擬量轉(zhuǎn)換成數(shù)字量,通過顯示接口芯片8279在七段數(shù)碼管上顯示。三、實(shí)驗(yàn)闡明A/D轉(zhuǎn)換器大致分有三類:一是雙積分A/D轉(zhuǎn)換器,優(yōu)點(diǎn)是精度高,抗干擾性好,價(jià)格便宜,但速度慢;二是逐次逼近式A/D轉(zhuǎn)換器,精度、速度、價(jià)格適中;三是并行A/D轉(zhuǎn)換器,速度快,價(jià)格也昂貴。實(shí)驗(yàn)用ADC0809屬第二類,是8位A/D轉(zhuǎn)換器。每采集一次普通需100μs。由于ADC0809A/D轉(zhuǎn)換器轉(zhuǎn)換結(jié)束后會自動產(chǎn)生EOC信號(高電平有效),取反后將其與8031的INT0相連,能夠用中斷方式讀取A/D轉(zhuǎn)換成果。四、實(shí)驗(yàn)接線圖圖(5-1)顯示部分原理圖參考鍵盤顯示控制器8279應(yīng)用實(shí)驗(yàn)五、實(shí)驗(yàn)程序框圖開始開始0809初始化初始顯示0809--000809通道0采樣數(shù)碼管顯示采樣值圖(5-2)六、實(shí)驗(yàn)環(huán)節(jié)1、把0809的0通道IN0用插針線接至電位器模擬電壓產(chǎn)生區(qū)Vout插孔(0~5V)。2、0809的CLK_0809插孔與固定脈沖輸出端500KHz相連。3、0809的片選CS_0809連接至系統(tǒng)譯碼Y0。4、調(diào)節(jié)A/D區(qū)的10K電位器,使0809的VREF腳(12腳)為5V(出廠時(shí)已調(diào)好)。5、將8279鍵盤接口顯示部分的JB51(a-h)用8芯線連接至數(shù)碼管顯示區(qū)的CODE,JB53(BIT0-BIT7)連接至數(shù)碼管顯示區(qū)的BIT;將8279CS2連接到系統(tǒng)譯碼Y6,8279CLK連接到固定脈沖的1MHZ。6、調(diào)試、運(yùn)行程序,在數(shù)碼管上顯示目前采集的電壓值轉(zhuǎn)換后的數(shù)字量,調(diào)節(jié)模擬電壓的電位器,數(shù)碼管顯示將隨著電壓變化而對應(yīng)變化,典型值為:0V—00H,2.5V—80H,5V—FFH。實(shí)驗(yàn)六D/A轉(zhuǎn)換實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康?、理解D/A轉(zhuǎn)換與單片機(jī)的接口辦法。2、理解D/A轉(zhuǎn)換芯片0832的性能及編程辦法。3、理解單片機(jī)系統(tǒng)中擴(kuò)展D/A轉(zhuǎn)換芯片的基本辦法。實(shí)驗(yàn)內(nèi)容運(yùn)用0832輸出一種從-5V開始逐步升到0V再逐步升至5V;然后從5V逐步降至0V,再降至-5V的鋸齒波電壓。實(shí)驗(yàn)接線圖圖(6-1)實(shí)驗(yàn)程序框圖YYNYN開始設(shè)立數(shù)字量初值數(shù)字量初值送0832啟動D/A數(shù)字量加1數(shù)字量與否為“FF”?數(shù)字量送0832啟動D/A數(shù)字量減1數(shù)字量與否為“0”?數(shù)字量送0832啟動D/A數(shù)字量送0832啟動D/A圖(6-2)實(shí)驗(yàn)環(huán)節(jié)1、把D/A區(qū)0832片選CS_0832信號線接至譯碼輸出插孔Y0。2、調(diào)節(jié)D/A區(qū)電位器,使0832的VREF(8)引腳為+5V(出廠時(shí)已調(diào)好)。3、調(diào)試、運(yùn)行程序。4、用萬用表或示波器測D/A輸出端DAOUT,應(yīng)能測出不停增大/減小的電壓值。思考修改程序,使D/A轉(zhuǎn)換輸出方波或正弦波。實(shí)驗(yàn)七定時(shí)/計(jì)數(shù)器8253A應(yīng)用實(shí)驗(yàn)?zāi)康?、學(xué)會8253A芯片與微機(jī)接口的原理和辦法。2、掌握8253A定時(shí)器/計(jì)數(shù)器的工作方式和編程原理。實(shí)驗(yàn)內(nèi)容8253A的0通道工作在方式3下,產(chǎn)生方波。實(shí)驗(yàn)接線圖圖(7-1)實(shí)驗(yàn)程序框圖開開始置8253工作方式控制字啟動8253方波程序結(jié)束圖(7-2)實(shí)驗(yàn)環(huán)節(jié)1、用插針把8253的CLK0插孔和固定脈沖輸出端100KHz插孔相連。2、8253的GATE0插孔和+5V插孔相連。3、8253的片選信號8253CS和譯碼輸出端Y0相連。4、調(diào)試、運(yùn)行程序,用示波器測8253的0通道輸出端OUT0,應(yīng)有方波產(chǎn)生。實(shí)驗(yàn)八鍵盤顯示控制器8279應(yīng)用實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康?、掌握8031系統(tǒng)中,擴(kuò)展8279鍵盤顯示接口的辦法。2、掌握8279工作原理和編程辦法。實(shí)驗(yàn)內(nèi)容按下數(shù)字鍵,數(shù)碼管上能夠顯示對應(yīng)的數(shù)字。實(shí)驗(yàn)闡明運(yùn)用8279能夠?qū)崿F(xiàn)對鍵盤/顯示屏的自動掃描,以減輕CPU負(fù)擔(dān),含有顯示穩(wěn)定、程序簡樸、不會出現(xiàn)誤動作等優(yōu)點(diǎn)。本實(shí)驗(yàn)運(yùn)用8279實(shí)現(xiàn)顯示掃描自動化。實(shí)驗(yàn)接線圖(圖8-1)五、實(shí)驗(yàn)程序框圖開始開始8279初始化顯示屏顯示8279-1送顯示緩沖區(qū)顯示有鍵按下嗎?計(jì)算鍵值查字型代碼YN圖(8-2)實(shí)驗(yàn)環(huán)節(jié)1、用8芯排線將8279區(qū)JB51(a-h)連接到數(shù)碼管顯示區(qū)的CODE,JB53(BIT0-BIT7)連接到數(shù)碼管顯示區(qū)的BIT。2、用4芯排線將8279區(qū)的JB52(RL0-RL3)連到鍵盤區(qū)的KH上,JB54(KBIT0-KBIT3)連到鍵盤區(qū)的KL上。3、8279區(qū)8279CS2連到系統(tǒng)譯碼的Y6上,8279CLK連接到固定脈沖的1MHz。4、調(diào)試、運(yùn)行程序。數(shù)碼管顯示“8279-1”,按下數(shù)字鍵,數(shù)碼管上顯示對應(yīng)的數(shù)字?!鶎?shí)驗(yàn)九微型打印機(jī)打印字符、曲線、中文實(shí)驗(yàn)?zāi)康睦斫馕⑿痛蛴C(jī)工作原理,掌握編程技巧。實(shí)驗(yàn)內(nèi)容微型打印機(jī)打印年、月、日,啟東及曲線。實(shí)驗(yàn)預(yù)備知識LH—16打印機(jī)自帶單片微型計(jì)算機(jī),便于和多個(gè)CPU的微型計(jì)算機(jī)或智能化儀器儀表聯(lián)機(jī),采用原則CENTRONICS并行接口信號,邏輯電平為原則的TTL電平。實(shí)驗(yàn)接線圖圖(9-1)實(shí)驗(yàn)程序框圖開開始8255I/O初始化打印8個(gè)#號打印寄存在表格里的曲線點(diǎn)陣數(shù)結(jié)束字符打印8個(gè)#號打印06月06日圖形打印方式打印啟東圖(9-2)實(shí)驗(yàn)環(huán)節(jié)1、8255CS接Y0,LH—16微型打印機(jī)連接電纜接到實(shí)驗(yàn)系統(tǒng)的打印機(jī)的插座上。2、調(diào)試、運(yùn)行程序,打印機(jī)開始打印。思考試用打印機(jī)打印你的名字。實(shí)驗(yàn)十步進(jìn)電機(jī)控制實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康?、理解步進(jìn)電機(jī)控制的基本原理。2、掌握步進(jìn)電機(jī)轉(zhuǎn)動的編程辦法。實(shí)驗(yàn)內(nèi)容通過程序變化正、反轉(zhuǎn)命令,轉(zhuǎn)速參數(shù)和轉(zhuǎn)動步數(shù),并在顯示屏上顯示,轉(zhuǎn)動步數(shù)減為零時(shí)停止轉(zhuǎn)動。實(shí)驗(yàn)預(yù)備知識步進(jìn)電機(jī)驅(qū)動原理是切換每相線圈中的電流和次序,來使電機(jī)作步進(jìn)式旋轉(zhuǎn)。驅(qū)動電路由脈沖信號來控制,因此調(diào)節(jié)脈沖信號的頻率便可變化步進(jìn)電機(jī)的轉(zhuǎn)速。單片機(jī)控制步進(jìn)電機(jī)最適合。實(shí)驗(yàn)接線圖顯示部分參考鍵盤顯示控制器8279應(yīng)用實(shí)驗(yàn)圖(10-1)實(shí)驗(yàn)程序框圖開始開始設(shè)立初始顯示設(shè)立與否對的?顯示緩沖區(qū)(7E)=1嗎?逆時(shí)針轉(zhuǎn)動一步根據(jù)顯示緩沖區(qū)(7D)的內(nèi)容計(jì)算延時(shí)步距數(shù)-1,送顯示緩沖區(qū)步距數(shù)為0嗎?停止YYNNNY顯示出錯(cuò)ERR圖(10-2)順時(shí)針轉(zhuǎn)動一步(7D)內(nèi)容計(jì)算延時(shí)步距數(shù)-1,送顯示緩沖區(qū)步距數(shù)為0嗎?停止YN實(shí)驗(yàn)環(huán)節(jié)1、將P1.0~P1.3分別接到BA~BD插孔。2、將鍵盤接口顯示部分的JB51(a-h)用8芯線連接至數(shù)碼管顯示區(qū)的CODE,JB53(BIT0-BIT7)連接至數(shù)碼管顯示區(qū)的BIT;將8279CS2連接到系統(tǒng)譯碼Y6,8279CLK連接到固定脈沖的1MHZ。3、調(diào)試、運(yùn)行程序。4、在顯示屏上顯示的數(shù)字第:第一位為“0”表達(dá)正轉(zhuǎn),為“1”表達(dá)反轉(zhuǎn),第二位“0~F”為轉(zhuǎn)速等級,第三位到第六位設(shè)定步數(shù),到0步進(jìn)電機(jī)停止旋轉(zhuǎn)。實(shí)驗(yàn)十一小直流電機(jī)調(diào)速實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康?、掌握直流電機(jī)的驅(qū)動原理。2、理解直流電機(jī)調(diào)速的辦法。實(shí)驗(yàn)內(nèi)容1、D/A轉(zhuǎn)換電路0832的輸出,經(jīng)放大后用來驅(qū)動直流電機(jī)。2、編制程序變化0832輸出,輸出信號通過放大產(chǎn)生方波信號,用此信號的占空比來調(diào)速。本實(shí)驗(yàn)中D/A輸出為雙極性輸出,因此電機(jī)能夠正反向旋轉(zhuǎn)。實(shí)驗(yàn)接線圖D/A轉(zhuǎn)換部分原理參考D/A轉(zhuǎn)換實(shí)驗(yàn)圖(11-1)四、實(shí)驗(yàn)程序框圖開始開始置0832口地址數(shù)字量FF送0832,啟動D/A判高電平時(shí)間到否?數(shù)字量00送0832,啟動D/A判低電平時(shí)間到否?高電平時(shí)間初值減1低電平時(shí)間初值加1NYNY圖(11-2)實(shí)驗(yàn)環(huán)節(jié)1、將D/A區(qū)0832的片選信號CS_0832連到譯碼輸出Y0上,0832的輸出DAOUT端連到插孔DJ。2、調(diào)試、運(yùn)行程序。3、觀察直流電機(jī)的轉(zhuǎn)速。4、本實(shí)驗(yàn)設(shè)備上有能夠通過光電管測速,F(xiàn)OUT有脈沖輸出,通過測量脈沖頻率能夠測速。實(shí)驗(yàn)十二電子音響實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康睦斫庥?jì)算機(jī)發(fā)出不同音調(diào)聲音的編程辦法。實(shí)驗(yàn)內(nèi)容用定時(shí)器產(chǎn)生不同頻率的辦法,構(gòu)成的樂譜由單片機(jī)進(jìn)行信息解決,通過放大后用8031的P1.0口輸出音樂。預(yù)備知識1、要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期的時(shí)間,運(yùn)用計(jì)時(shí)器計(jì)時(shí)(此半周期時(shí)間),計(jì)時(shí)到后即反向輸出,重復(fù)此過程即得到此頻率的脈沖。2、讓定時(shí)器工作在計(jì)數(shù)方式,變化計(jì)數(shù)值TH0及TL0,以產(chǎn)生不同的頻率。3、每個(gè)音符使用一種字節(jié),字節(jié)的高四位代表音符的高低,低四位代表音符的節(jié)拍。4、低音1至高音1所對應(yīng)的頻率(Hz)依次是:131、147、165、175、196、220、247、262、294、330、349、392、440、494、523。乘以二就提高該聲音一種八度音階,減半則降一種八度。實(shí)驗(yàn)線路圖圖(12-1)實(shí)驗(yàn)環(huán)節(jié)1、把P1.0用插針連至SIN插孔上(電子音響驅(qū)動區(qū)的短路片連到右邊,開關(guān)拔在音樂上)。2、調(diào)試、運(yùn)行程序。將播放“新年好”歌曲。思考自己動手編一首歌。實(shí)驗(yàn)十三繼電器控制實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康恼莆沼美^電器控制的基本辦法和編程。二、實(shí)驗(yàn)內(nèi)容運(yùn)用P1口輸出高低電平,控制繼電器的開合,以實(shí)現(xiàn)對外部裝置的控制。三、預(yù)備知識當(dāng)代自動化控制設(shè)備都存在一種電子與電氣電路的互相聯(lián)結(jié)問題,首先要使電子電路的控制信號能夠控制電氣電路的執(zhí)行元件(電動機(jī)、電磁鐵、電燈等),另首先又要為電子電路和電氣電路提供良好的電隔離,以保護(hù)電子電路和人身的安全,電子繼電器便能完畢這一橋梁作用。本實(shí)驗(yàn)采用JZC—23F型繼電器,其控制電壓為5V。繼電器電路中普通要在繼電器的線圈兩頭加一種二極管以吸取繼電器線圈斷電時(shí)產(chǎn)生的反電勢,避免干擾。四、實(shí)驗(yàn)原理圖圖(13-1)五、實(shí)驗(yàn)程序框圖開始開始P1.0清零延時(shí)P1.0置1延時(shí)圖(13-2)六、實(shí)驗(yàn)環(huán)節(jié)1、把8031的P1.0插孔接到JIN端。2、把繼電器的JZ(中心軸頭)接地,JB常閉開關(guān)接L1,JK常開開關(guān)接L2。3、編制程序,使P1.0電平變化,低電平時(shí)繼電器吸合,常開觸點(diǎn)接上L1熄滅,L2點(diǎn)亮,高電平時(shí)繼電器不工作,常閉觸點(diǎn)閉合,L1點(diǎn)亮,L2熄滅。4、調(diào)試運(yùn)行程序,L1、L2交替亮滅。實(shí)驗(yàn)十四數(shù)據(jù)存貯器擴(kuò)展實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、學(xué)習(xí)片外存貯器擴(kuò)展辦法。2、學(xué)習(xí)數(shù)據(jù)存貯器不同的讀寫辦法。二、實(shí)驗(yàn)內(nèi)容使用一片62256RAM,作為片外擴(kuò)展的數(shù)據(jù)存貯器,對其進(jìn)行讀寫。三、實(shí)驗(yàn)闡明本實(shí)驗(yàn)采用的是55H(0101,0101)與AAH(1010,1010),普通采用這兩個(gè)數(shù)據(jù)的讀寫操作就可查出數(shù)據(jù)總線的短路、斷路等,在實(shí)驗(yàn)調(diào)試顧客電路時(shí)非常有效。編寫程序?qū)ζ鈹U(kuò)展的數(shù)據(jù)存貯器進(jìn)行讀寫,若L1燈閃動闡明RAM讀寫正常。四、實(shí)驗(yàn)接線圖圖(14-1)開始置測試數(shù)據(jù)開始置測試數(shù)據(jù)1寫外部RAM讀外部RAM兩數(shù)據(jù)相似?否?置測試數(shù)據(jù)2寫外部RAM讀外部RAM兩數(shù)據(jù)相似否?變化LED狀態(tài)延時(shí)亮LED結(jié)束NNYY圖(14-2)六、實(shí)驗(yàn)環(huán)節(jié)1、RAM_CS插孔連到譯碼輸出P2.7插孔,P1.0連接到L0。2、調(diào)試運(yùn)行程序。對62256進(jìn)行讀寫。若L1燈閃動,表達(dá)62256RAM讀寫正常。實(shí)驗(yàn)十五8031單片機(jī)串行口應(yīng)用實(shí)驗(yàn)_雙機(jī)通信一、實(shí)驗(yàn)?zāi)康?、掌握串行口工作方式的程序設(shè)計(jì),掌握單片機(jī)通信程序編制辦法。2、理解實(shí)現(xiàn)串行通信的硬環(huán)境,數(shù)據(jù)格式的合同,數(shù)據(jù)交換的合同。3、掌握雙機(jī)通信的原理和辦法。二、實(shí)驗(yàn)內(nèi)容1、運(yùn)用8031單片機(jī)串行口,實(shí)現(xiàn)雙機(jī)通信。2、本實(shí)驗(yàn)實(shí)現(xiàn)下列功效:1號實(shí)驗(yàn)機(jī)鍵盤上鍵入的數(shù)字在2號實(shí)驗(yàn)機(jī)的數(shù)碼管上顯示。三、實(shí)驗(yàn)闡明1、實(shí)驗(yàn)時(shí)需將1號機(jī)8031串行接受信號線P3.0(RXD)連到2號機(jī)8031串行發(fā)送信號線P3.1(TXD),1號機(jī)的P3.1(TXD)連到2號機(jī)的P3.0(RXD)。2、兩臺實(shí)驗(yàn)機(jī)必須共地。實(shí)驗(yàn)接線圖鍵盤顯示部分原理參考鍵盤控制器8279應(yīng)用實(shí)驗(yàn)圖(15-1)五、實(shí)驗(yàn)程序框圖YY鍵值送串行口發(fā)送發(fā)送完否?N開始置串口模式置T1模式及常數(shù)啟動定時(shí)器調(diào)用顯示子程序顯示8031-1有數(shù)字鍵按下否?NY發(fā)送: 圖(15-2)開始開始置串口模式置T1模式及常數(shù)啟動定時(shí)器調(diào)用顯示子程序顯示8031-2判串行口有數(shù)據(jù)否?接受數(shù)據(jù)調(diào)數(shù)字解決程序YN接受:圖(15-3)六、實(shí)驗(yàn)環(huán)節(jié)1、用8芯排線將8279區(qū)JB51(a-h)連接到數(shù)碼管顯示區(qū)的CODE,JB53(BIT0-BIT7)連接到數(shù)碼管顯示區(qū)的BIT。用4芯排線將8279區(qū)的JB52(RL0-RL3)連到鍵盤區(qū)的KH上;JB54(KBIT0-KBIT3)連到鍵盤區(qū)的KL上。8279區(qū)8279CS2連到系統(tǒng)譯碼的Y6上,8279CLK連接到固定脈沖的1MHz。2、1號機(jī)的P3.0和P3.1分別接到2號機(jī)的P3.1和P3.0上,并且將二臺的GND連接在一起。3、先在2號機(jī)上調(diào)試運(yùn)行程序數(shù)碼管上顯示“8031-2”。4、然后在1號機(jī)上調(diào)試運(yùn)行程序,數(shù)碼管上顯示“8031-1”。5、在1號機(jī)的鍵盤上輸入數(shù)字,會在2號機(jī)的顯示屏上顯示。6、也能夠通過RS232接口進(jìn)行雙機(jī)通信。注意:如果只有一種串口,則先關(guān)閉上位機(jī)的調(diào)試軟件,不復(fù)位單片機(jī),然后再打開串口調(diào)試軟件。實(shí)驗(yàn)十六8031串行口應(yīng)用實(shí)驗(yàn)_與PC機(jī)通信一、實(shí)驗(yàn)?zāi)康?、掌握串行口工作方式的程序設(shè)計(jì),掌握單片機(jī)通信程序編制辦法。2、理解實(shí)現(xiàn)串行通信的硬環(huán)境,數(shù)據(jù)格式的合同,數(shù)據(jù)交換的合同。3、理解PC機(jī)通信的基本規(guī)定。二、實(shí)驗(yàn)內(nèi)容1、運(yùn)用8031單片機(jī)串行口,實(shí)現(xiàn)與PC機(jī)通信。2、本實(shí)驗(yàn)實(shí)現(xiàn)下列功效,PC機(jī)上輸入的字符(0—F)能在實(shí)驗(yàn)儀的數(shù)碼管上顯示。三、實(shí)驗(yàn)闡明1、本實(shí)驗(yàn)系統(tǒng)中考慮顧客能夠方便使用串行口實(shí)現(xiàn)雙機(jī)或和上位機(jī)通信,系統(tǒng)設(shè)計(jì)有顧客專用串行接口,只要配上顧客專用通信電纜線就能夠?qū)崿F(xiàn)和上位機(jī)通信。RS232/485插頭就是顧客專用串行接口,將該口通過顧客專用通信線連到上位機(jī)的串口上。注意不要和上位機(jī)系統(tǒng)使用的串行口沖突。2、實(shí)驗(yàn)時(shí)需將8031串行接受信號線P3.0(RXD)連到RS232/485插頭下面的RXD插孔,8031的P3.1(TXD)連到RS232/485插頭下面的TXD插孔上。四、實(shí)驗(yàn)線路圖圖(16-1)五、實(shí)驗(yàn)程序框圖開開始置串口模式置T1模式及常數(shù)啟動定時(shí)器調(diào)用顯示子程序顯示8031—2判串行口有數(shù)據(jù)否?接受數(shù)據(jù)調(diào)數(shù)字解決程序YN圖(16-2)六、實(shí)驗(yàn)環(huán)節(jié)1、按圖連好線路,用8芯排線將8279區(qū)JB51(a-h)連接到數(shù)碼管顯示區(qū)的CODE,JB53(BIT0-BIT7)連接到數(shù)碼管顯示區(qū)的BIT。8279區(qū)8279CS2連到系統(tǒng)譯碼的Y6上,8279CLK連接到固定脈沖的1MHz。同時(shí)將隨機(jī)配備的一根顧客通信線插入RS232/485插座,另一頭9芯頭插到PC機(jī)空余的串行口上,將KBB臥式開關(guān)撥到串行狀態(tài)。2、將8031串行接受信號線P3.0(RXD)連到RS232/485插頭下面的RXD_232插孔;8031的P3.1(TXD)連到RS232/485插頭下面的TXD_232插孔上。3、調(diào)試運(yùn)行程序。4、在上位機(jī)上運(yùn)行DVSIO,參數(shù)設(shè)立1200,選擇連接的串口,打開串口。5、從上位機(jī)鍵盤上輸入數(shù)字或在顯示窗口內(nèi)點(diǎn)擊“0—F”數(shù)字按鈕,對應(yīng)的數(shù)字會顯示在實(shí)驗(yàn)系統(tǒng)的數(shù)碼管上。6、也能夠通過串口調(diào)試助手進(jìn)行操作。實(shí)驗(yàn)十七串行接口16C550應(yīng)用實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康睦斫庹莆?6C550的原理和應(yīng)用。二、實(shí)驗(yàn)內(nèi)容編寫程序使單片機(jī)通過16C550能夠進(jìn)行串行雙機(jī)通信或者與上位機(jī)通信。三、實(shí)驗(yàn)原理圖鍵盤顯示部分原理參考鍵盤控制器8279應(yīng)用實(shí)驗(yàn)圖(17-1)四、實(shí)驗(yàn)程序框圖NNYNY開始初始化16C550環(huán)路自測與否通信?正常重新初始化16C550P1.0與否為低電平?發(fā)送數(shù)據(jù)接受數(shù)據(jù)送8279顯示圖(17-2)五、實(shí)驗(yàn)環(huán)節(jié)1、將16C550CS連到Y(jié)0,RXD連到RXD_232,TXD連到TXD_232。2、將P1.0接到開關(guān)K1。3、用8芯排線將8279區(qū)JB51(a-h)連接到數(shù)碼管顯示區(qū)的CODE,JB53(BIT0-BIT7)連接到數(shù)碼管顯示區(qū)的BIT。8279區(qū)8279CS2連到系統(tǒng)譯碼的Y6上,8279CLK連接到固定脈沖的1MHz。同時(shí)將隨機(jī)配備的一根顧客通信線插入RS232/485插座,另一頭9芯頭插到PC機(jī)空余的串行口上,將KBB臥式開關(guān)撥到串行狀態(tài)。4、調(diào)試運(yùn)行程序()。打開隨機(jī)提供的串口調(diào)試助手軟件,設(shè)立波特率為19200,8位傳送,無奇偶校驗(yàn),1位停止位,選擇“十六進(jìn)制數(shù)顯示”和“十六進(jìn)制數(shù)發(fā)送”,然后接受數(shù)據(jù)或發(fā)送數(shù)據(jù)。K1為“1”時(shí)實(shí)驗(yàn)儀接受數(shù)據(jù),在該軟件“發(fā)送的字符/數(shù)據(jù)”窗口中輸入“0X”(X為0~F)后點(diǎn)“手動發(fā)送”,則在實(shí)驗(yàn)儀數(shù)碼管的最右邊顯示對應(yīng)的數(shù)據(jù);K1為“0”時(shí)實(shí)驗(yàn)儀發(fā)送數(shù)據(jù),程序中發(fā)送數(shù)據(jù)設(shè)立為“55、AA”,在該軟件“接受區(qū)”顯示“55、AA”。注意:如果只有一種串口,則先關(guān)閉上位機(jī)的調(diào)試軟件,不復(fù)位單片機(jī),然后再打開串口調(diào)試軟件。實(shí)驗(yàn)十八串行A/D轉(zhuǎn)換器TLC549應(yīng)用一、實(shí)驗(yàn)?zāi)康睦斫庹莆?位A/D轉(zhuǎn)換TLC549的應(yīng)用。二、實(shí)驗(yàn)內(nèi)容輸入模擬電壓,TLC549輸出串行數(shù)據(jù),8031的串行口接受該數(shù)據(jù)并在數(shù)碼管上顯示。三、實(shí)驗(yàn)闡明TLC549是以八位開關(guān)電容逐次逼近A/D轉(zhuǎn)換器為基礎(chǔ)而構(gòu)造的CMOSA/D轉(zhuǎn)換器,其設(shè)計(jì)能通過三態(tài)數(shù)據(jù)輸出和模擬輸入與微解決器或外圍設(shè)備串行接口。TLC549僅用輸入/輸出時(shí)鐘(CLK)和芯片選擇(CS)輸入做數(shù)據(jù)控制,其最高輸入頻率為1.1MHZ。該器件的工作時(shí)序以下圖(18-1):圖(18-1)四、實(shí)驗(yàn)原理圖鍵盤顯示部分原理參考鍵盤控制器8279應(yīng)用實(shí)驗(yàn)圖(18-2)五、實(shí)驗(yàn)程序框圖開始開始設(shè)立串行控制字啟動轉(zhuǎn)換停止轉(zhuǎn)換讀轉(zhuǎn)換數(shù)據(jù)至單片機(jī)綬沖數(shù)據(jù)調(diào)節(jié),送顯示緩沖調(diào)顯示子程序圖(18-3)六、實(shí)驗(yàn)環(huán)節(jié)1、P3.0連DOUT,P3.1連TACK,TCS連P1.7,REF+連+5V。2、AIN連電位器模擬電壓產(chǎn)生端VOUT(0—5V)。3、將8279鍵盤接口顯示部分的JB51(a-h)用8芯線連接至數(shù)碼管顯示區(qū)的CODE,JB53(BIT0-BIT7)連接至數(shù)碼管顯示區(qū)的BIT;將8279CS2連接到系統(tǒng)譯碼Y6,8279CLK連接到固定脈沖的1MHZ。4、調(diào)試、運(yùn)行程序。5、運(yùn)行成果:數(shù)碼管上顯示“AD549—XX”,其中“XX”對應(yīng)輸入電壓值。實(shí)驗(yàn)十九串行D/A轉(zhuǎn)換器TLC5615應(yīng)用一、實(shí)驗(yàn)?zāi)康睦斫庹莆?0位串行D/A轉(zhuǎn)換器TLC5615應(yīng)用。二、實(shí)驗(yàn)?zāi)康倪\(yùn)用TLC5615產(chǎn)生方波。三、實(shí)驗(yàn)闡明TLC5615是帶有緩沖基準(zhǔn)輸入(高阻抗)的10位D/A轉(zhuǎn)換器。它含有基準(zhǔn)電壓兩倍的輸出電壓范疇,且是單調(diào)變化。器件可在單5V電源下工作,且含有上電復(fù)位功效以確??芍匦聠?。TLC5615的數(shù)字控制通過三線串行總線進(jìn)行,它與CMOS兼容且易于和工業(yè)原則的微解決器及單片機(jī)接口。器件接受16位數(shù)據(jù)字以產(chǎn)生模擬輸出。數(shù)字輸入端的特點(diǎn)涉及帶有斯密特觸發(fā)器,含有高噪聲克制能力。數(shù)字通信合同涉及(SPI、QSP以及MICROWIRE原則。低功耗,在5V供電時(shí)功耗僅為1.75W;數(shù)據(jù)更新速率為1.2MHz;典型的建立時(shí)間為12.5us。其工作時(shí)序以下所示:圖(19-1)其輸入16位數(shù)據(jù)格式為:4位高虛擬位4位高虛擬位10位轉(zhuǎn)換數(shù)據(jù)00其輸出值表格以下:四、實(shí)驗(yàn)原理圖圖(19-2)五、實(shí)驗(yàn)程序框圖開始開始設(shè)立輸入初值00轉(zhuǎn)換很快延時(shí)再次設(shè)立輸入值FF轉(zhuǎn)換延時(shí)圖(19-3)六、實(shí)驗(yàn)環(huán)節(jié)1、單片機(jī)P1.0連接CS,P1.1連接DIN,P1.2連接SCLK。2、調(diào)試、運(yùn)行程序。3、用示波器測量AOUT端應(yīng)為方波,調(diào)節(jié)電位器WC50變化基準(zhǔn)電壓。實(shí)驗(yàn)二十單片機(jī)雙機(jī)通信實(shí)驗(yàn)_用RS485總線一、實(shí)驗(yàn)?zāi)康?、掌握單片機(jī)雙機(jī)通信原理。2、采用RS485通信接口,實(shí)現(xiàn)雙機(jī)收發(fā)通信。二、實(shí)驗(yàn)內(nèi)容1、運(yùn)用8031單片機(jī)串行口,通過RS485總線實(shí)現(xiàn)與雙機(jī)通信。2、本實(shí)驗(yàn)實(shí)現(xiàn)下列功效:將1號實(shí)驗(yàn)機(jī)鍵盤上鍵入的數(shù)字顯示到2號實(shí)驗(yàn)機(jī)上的數(shù)碼管。三、實(shí)驗(yàn)闡明1、兩臺機(jī)必須共地。2、RS485為半雙工通信,WR_485低電平接受數(shù)據(jù),高電平發(fā)送數(shù)據(jù)。四、實(shí)驗(yàn)原理圖圖(20-1)五、實(shí)驗(yàn)程序框圖實(shí)驗(yàn)程序框圖同串行口應(yīng)用實(shí)驗(yàn)_雙機(jī)通信六、實(shí)驗(yàn)環(huán)節(jié)1、兩臺機(jī)器各連RXD_485→P3.0,TXD_485→P3.1,WR_485→P1.0。2、用串行通信線將兩臺機(jī)器的串行接口連在一起。3、用8芯排線將8279區(qū)JB51(a-h)連接到數(shù)碼管顯示區(qū)的CODE,JB53(BIT0-BIT7)連接到數(shù)碼管顯示區(qū)的BIT;用4芯排線將8279區(qū)的JB52(RL0-RL3)連到鍵盤區(qū)的KH上,JB54(KBIT0-KBIT3)連到鍵盤區(qū)的KL上;8279區(qū)8279CS2連到系統(tǒng)譯碼的Y6上,8279CLK連接到固定脈沖的1MHz。4、在1#機(jī)上運(yùn)行,發(fā)送程序“”。5、在2#機(jī)上運(yùn)行,接受程序“”。6、1#機(jī)的鍵盤上輸入數(shù)字顯示在2#機(jī)的顯示屏上。實(shí)驗(yàn)二十一USB接口應(yīng)用實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康睦斫庹莆誙SB接口芯片CH372的原理及應(yīng)用。二、實(shí)驗(yàn)內(nèi)容編制程序使單片機(jī)通過CH372芯片與PC機(jī)通信。三、實(shí)驗(yàn)闡明具體資料見光盤四、實(shí)驗(yàn)原理圖圖(21-1)五、實(shí)驗(yàn)程序框圖略六、實(shí)驗(yàn)環(huán)節(jié)1、CH372INT連接P3.2,CH372CS連接Y0。2、用USB連接線連接PC機(jī)與實(shí)驗(yàn)接口。3、將8279鍵盤接口顯示部分的JB51(a-h)用8芯線連接至數(shù)碼管顯示區(qū)的CODE,JB53(BIT0-BIT7)連接至數(shù)碼管顯示區(qū)的BIT;將8279CS2連接到系統(tǒng)譯碼Y6,8279CLK連接到固定脈沖的1MHZ。4、調(diào)試運(yùn)行程序。5、初次運(yùn)行需安裝驅(qū)動程序,根據(jù)計(jì)算機(jī)的提示安裝,驅(qū)動程序在安裝好的目錄中的USB/CH372DRV目錄下。6、打開USB通信軟件(在USB的目錄下DBUG372中),在軟件上輸入對應(yīng)的數(shù)字,則在數(shù)碼管上將顯示對應(yīng)的數(shù)。實(shí)驗(yàn)二十二網(wǎng)絡(luò)接口應(yīng)用實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康睦斫庹莆站W(wǎng)絡(luò)接口芯片RTL8019AS的原理及應(yīng)用。二、實(shí)驗(yàn)內(nèi)容編制程序使單片機(jī)通過網(wǎng)絡(luò)芯片與PC機(jī)構(gòu)成網(wǎng)絡(luò)系統(tǒng),從而能互相訪問。三、實(shí)驗(yàn)原理圖圖(22-1)四、實(shí)驗(yàn)框圖略五、實(shí)驗(yàn)環(huán)節(jié)1、INT_NET連接P3.3,P1.0連接NET_RST,NET_CS連接Y7。RAM_CS1和RAM_CS2分別連接到Y(jié)0和Y1,P3.0接RXD_232,P3.1接TXD_232。同時(shí)將隨機(jī)配備的顧客通信線插入RS232/485插座,另一頭9芯頭插到PC機(jī)空余的串行口上,將KBB臥式開關(guān)撥到串行狀態(tài),并用隨機(jī)配備的網(wǎng)絡(luò)線將實(shí)驗(yàn)儀與PC機(jī)連接起來。2、裝載文獻(xiàn)。3、打開串口調(diào)試器(COMVIEW)。選擇波特率4800bps(系統(tǒng)晶振為11.0592M),數(shù)據(jù)位8,無奇偶校驗(yàn),1位停止位,然后運(yùn)行程序,會看到從串口輸出的信息。如圖所示:圖(22-2)4、顧客還能夠在串口界面下通過輸入命令SETIPXXX.XXX.XXX.XXX來設(shè)立主機(jī)的IP地址,使之與顧客PC機(jī)處在同一子網(wǎng)內(nèi),便于調(diào)試。操作如圖所示:圖(22-3)5、使用PINGXXX.XXX.XXX.XXX命令能夠測試目的主機(jī)的可達(dá)性。如目的機(jī)的IP地址為192.168.0.11,在同一子網(wǎng)內(nèi),則操作如圖所示:圖(22-4)6、使用超級終端中的WINSOCK連接,端標(biāo)語為1024,可實(shí)現(xiàn)PC機(jī)與單片機(jī)的網(wǎng)絡(luò)通訊。首先打開超級連接,建立一種TCPWINSOCK連接,并將其命名為TCP。如圖所示:圖(22-5)設(shè)立對方主機(jī)(單片機(jī))的IP地址以及端標(biāo)語,以下圖所示。擬定后返回。圖(22-6)7、連接點(diǎn)擊連接呼喊圖標(biāo),以下圖所示。即可建立一種有主機(jī)192.168.0.94的TCP連接,使用的端標(biāo)語是1024,此后兩者能夠傳送數(shù)據(jù)。在超級終端TCP1024界面中只要輸入數(shù)據(jù),則通過串口調(diào)試器即可看到對應(yīng)的信息。反之,在串口調(diào)試器中的發(fā)送數(shù)據(jù)輸入框中輸入數(shù)據(jù)并點(diǎn)擊發(fā)送后,在超級終端TCP的界面中既可看見由“主機(jī)”實(shí)驗(yàn)儀發(fā)來的數(shù)據(jù)。圖(22-7)如果PC的TCP軟件退出連接時(shí),在串口調(diào)試器中能夠看到“disconnect”,表達(dá)對方主機(jī)斷開連接。注意:我們配套的網(wǎng)線是屬于交叉線,就是用在雙機(jī)互連的,顧客能夠用該網(wǎng)線把您的電腦與實(shí)驗(yàn)儀相連。但是不能用配套的網(wǎng)線把實(shí)驗(yàn)儀連到局域網(wǎng)上的交換機(jī)或集線器。這里不在贅述網(wǎng)線的制作辦法,請您自行查閱有關(guān)的資料。我們在程序中已經(jīng)為實(shí)驗(yàn)儀這臺“主機(jī)”固化了其IP地址和網(wǎng)關(guān)地址這是在我們的調(diào)試環(huán)境下的IP地址和網(wǎng)關(guān)地址。您在使用時(shí),應(yīng)當(dāng)重新對IP地址和網(wǎng)關(guān)地址進(jìn)行設(shè)定,以與您的環(huán)境一致(同在一種子網(wǎng))。這里有幾個(gè)辦法:1、修改顧客的PC機(jī)IP地址和局域網(wǎng)網(wǎng)關(guān)為192.168.0.X(X≠94)。實(shí)驗(yàn)儀的默認(rèn)地址和網(wǎng)關(guān)地址分別為:192.168.0.94和192.168.0.1。使之與顧客PC機(jī)處在同一子網(wǎng)內(nèi)。2、顧客還能夠修改實(shí)驗(yàn)儀的IP地址和網(wǎng)關(guān)地址,可通過串口命令SETIP.然后回車,設(shè)立IP地址,通過串口命令SETGATE.然后回車,設(shè)立網(wǎng)關(guān)網(wǎng)址,或直接修改程序?qū)崿F(xiàn)。我們建議您直接在串口調(diào)試窗口中修改。實(shí)驗(yàn)二十三16X16LED點(diǎn)陣顯示實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、掌握單片機(jī)與LED點(diǎn)陣顯示屏之間接口設(shè)計(jì)與編程。2、運(yùn)用LED點(diǎn)陣顯示屏顯示中文或圖形。二、實(shí)驗(yàn)內(nèi)容編制程序,建立字庫,在LED點(diǎn)陣顯示屏上顯示圖形、文字。三、實(shí)驗(yàn)原理圖(23-1)四、實(shí)驗(yàn)環(huán)節(jié)1、8255CS接Y0,I/O簡樸擴(kuò)展單元的273CS2接Y2。2、用8芯線把I/O單元的的OUT0-OUT7連到點(diǎn)陣H-2,8255的PA連到點(diǎn)陣H-1,PB連到點(diǎn)陣L-2,PC連到點(diǎn)陣L-1。3、調(diào)試、運(yùn)行程序,顯示橫向左移“DVCC系列產(chǎn)品”然后縱向上移“歡迎使用”。實(shí)驗(yàn)二十四128X64LCD液晶顯示接口實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、掌握單片機(jī)與液晶顯示屏之間的接口設(shè)計(jì)與編程。2、運(yùn)用點(diǎn)陣式液晶顯示屏顯示中文或圖形。二、實(shí)驗(yàn)內(nèi)容編制程序,建立字庫,在液晶顯示屏上顯示圖形、文字。圖(24-1)三、實(shí)驗(yàn)環(huán)節(jié)1、實(shí)驗(yàn)連線將LCDCS連接到Y(jié)0。2、調(diào)試、運(yùn)行,運(yùn)行成果顯示以下:棱環(huán)商標(biāo)DVCC系列產(chǎn)品啟東計(jì)算機(jī)廠有限公司0513—實(shí)驗(yàn)二十五語音錄放控制實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、熟悉語音芯片ISD1420錄、放音工作原理。2、運(yùn)用單片機(jī)控制語音芯片的分地址錄、放音,增加系統(tǒng)的語音提示功效。二、實(shí)驗(yàn)內(nèi)容把語音芯片ISD1420錄放音時(shí)間20秒分成20段,每段一秒,調(diào)用錄音子程序,錄入語音,建立語音庫,語音錄入結(jié)束后,根據(jù)段地址,調(diào)用放音子程序,還原錄入的語音信號。三、編程指南1、ISD1420引腳及功效圖(25-1)2、ISD1420地址功效表圖(25-2)地址模式:A0~A7地址輸入有雙重功效,根據(jù)地址中的A6,A7的電平狀態(tài)決定功效。如果A6,A7有一種是低電平,A0~A7輸入全解釋為地址位,作為起始地址用。根據(jù)PLAYL、PLAYE或REC的下降沿信號,地址輸入被鎖定。 A0~A7由低位向高位排列,每位地址代表125毫秒的尋址,160個(gè)地址覆蓋20秒的語音范疇(160*0.125s=20s)。 錄音及放音功效均從設(shè)定的起始地址開始,錄音結(jié)束由停止鍵操作決定,芯片內(nèi)部自動在該段的結(jié)束位置插入結(jié)束標(biāo)志(EOM);而放音時(shí)芯片碰到EOM標(biāo)志即自動停止放音。3、1420語音分段及控制代碼圖(25-3)四、實(shí)驗(yàn)原理圖(25-4)五、實(shí)驗(yàn)環(huán)節(jié)1、UYCS接Y0,電子音響驅(qū)動控制部分的開關(guān)撥在語音狀態(tài)。P1.0接K1,P1.1接K2,K1、K2都置高電平。2、語音模塊的按鈕,沒按下時(shí)為程序控制,是單片機(jī)控制方式;按下則為手動方式,即手動控制方式(本實(shí)驗(yàn)由單片機(jī)控制,為程控方式)。3、調(diào)試、運(yùn)行程序,撥動開關(guān)K1使K1=0開始錄音,在RECLED點(diǎn)亮期間,對準(zhǔn)麥克風(fēng)MIC進(jìn)行語音錄音,總共20秒。撥動開關(guān)K2使K2=0,同時(shí)K1=1開始放音。 實(shí)驗(yàn)二十六CAN總線應(yīng)用實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、理解掌握CAN總線的原理及應(yīng)用。2、掌握CAN控制器SJA1000與單片機(jī)的接口辦法。二、實(shí)驗(yàn)內(nèi)容設(shè)計(jì)CAN控制器SJA1000和CAN總線收發(fā)器與單片機(jī)的接口原理圖,進(jìn)行自發(fā)自收。三、實(shí)驗(yàn)原理圖圖(26-1) 由圖能夠看出,電路由三部分構(gòu)成:單片機(jī)、獨(dú)立CAN控制器SJA1000、CAN總線收發(fā)器TJA1050T。單片機(jī)負(fù)責(zé)SJA1000初始化,通過控制SJA1000實(shí)現(xiàn)數(shù)據(jù)的收發(fā)等通信任務(wù)。SJA1000的數(shù)據(jù)線AD0~AD7連到單片機(jī)的數(shù)據(jù)總線P0口(在仿真狀態(tài)下為XD0~XD7),SJA1000的片選連譯碼輸出Y0,即器件地址為8000H,SJA1000的/RD、/WR、ALE分別和單片機(jī)的對應(yīng)腳相連。在本系統(tǒng)中留有CAN總線接口DB_CAN,再有一根CAN總線,就能夠構(gòu)成基本的CAN網(wǎng)絡(luò)。兩個(gè)CAN節(jié)點(diǎn)的連接辦法為CANH和CANL對應(yīng)相連。四、實(shí)驗(yàn)環(huán)節(jié)1、CAN_CS連接到Y(jié)0,INT_CAN連接到P3.3,用專用CAN通信電纜線連接兩臺CAN接口(自發(fā)自收不用連線)。2、串行鍵盤顯示接口的SDA_04連接P3.1,SCL_04連接P3.0,BIT連數(shù)碼管顯示區(qū)的BIT,CODE連到數(shù)碼管顯示區(qū)的CODE。3、實(shí)驗(yàn)系統(tǒng)運(yùn)行程序TESTCAN。4、觀察LED顯示屏的顯示成果,實(shí)驗(yàn)對的時(shí),初始顯示“00000”,稍后顯示“GOOD1”。實(shí)驗(yàn)二十七串行存儲器讀寫實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康睦斫庹莆沾?3C46EEPROM存儲器的原理及應(yīng)用。二、實(shí)驗(yàn)內(nèi)容理解93C46的讀寫時(shí)序,編寫程序?qū)懭霐?shù)據(jù),然后在數(shù)碼管顯示。93c46是1k位串行EEPROM儲存器。每一種儲存器都能夠通過DI/DO引腳寫入或讀出。它的存儲容量為1024位,內(nèi)部為128×8位或64×16位。93C46為串行三線SPI操作芯片,在時(shí)鐘時(shí)序的同時(shí)下接受數(shù)據(jù)口的指令。指令碼為9位十進(jìn)制碼,含有7個(gè)指令,讀、擦寫使能、擦除、寫、全擦、全寫及擦除嚴(yán)禁。該芯片擦寫時(shí)間快,有擦寫使能保護(hù),可靠性高,擦寫次數(shù)可達(dá)100萬次,下列給出了93C46的引腳闡明。管腳名稱功效CS片選信號SK時(shí)鐘輸入DI串行數(shù)據(jù)輸入DO串行數(shù)據(jù)輸出Vcc電源(+1.8伏到6伏)GND接地ORG存儲器構(gòu)造選擇NC不用連接PE寫入保護(hù)圖(27-1)三、實(shí)驗(yàn)原理圖顯示部分原理參考鍵盤顯示控制器8279應(yīng)用實(shí)驗(yàn)圖(27-2)四、實(shí)驗(yàn)程序框圖開始開始P1.4與否有脈沖?YN93C46寫允許93C46寫數(shù)據(jù),先地址后數(shù)據(jù)從93C46中讀出剛寫入的數(shù)據(jù)延時(shí)設(shè)立初始地址、數(shù)據(jù)將讀到的數(shù)據(jù)同地址送入數(shù)據(jù)顯示緩沖區(qū)調(diào)用顯示程序地址加1數(shù)據(jù)加1圖(27-3)五、實(shí)驗(yàn)環(huán)節(jié)1、將P1.0連接到93C46的片選CS9,P1.1連接到93C46的時(shí)鐘腳SK,P1.2接到數(shù)據(jù)輸入DI,P1.3連到數(shù)據(jù)輸出DO。2、將8279鍵盤接口顯示部分的JB51(a-h)用8芯線連接至數(shù)碼管顯示區(qū)的CODE,JB53(BIT0-BIT7)連接至數(shù)碼管顯示區(qū)的BIT;將8279CS2連接到系統(tǒng)譯碼Y6,8279CLK連接到固定脈沖的1MHZ。3、P1.4連到單脈沖的SP端,按一下,93C46讀寫一次。4、調(diào)試、運(yùn)行程序。數(shù)碼管上顯示地址和數(shù)據(jù),按一下脈沖按鈕,地址和數(shù)據(jù)都加1。實(shí)驗(yàn)二十八紅外接口通信實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康睦斫饧t外接口芯片IRM5000(或ZHX1010)的原理和應(yīng)用二、實(shí)驗(yàn)內(nèi)容IRM5000SE
是一種符號IrDASIR(SerialInfrared,串行紅外合同)的收發(fā)模塊,是VISHAY公司的紅外收發(fā)芯片,該模塊在1米范疇內(nèi)的最高速度可達(dá)115.2kbps。并且它的供電范疇較寬(2.4~5.5V),可方便地與多個(gè)電壓的CPU進(jìn)行接口。IRM5000SE
在3V供電時(shí),其典型電流只有90μA,非常合用于電池供電產(chǎn)品。另外,ZHX1010體積小,僅有9.9mm×3.7mm,且其外圍元件少(只需一種電阻和一種電容)。IRM5000SE
有6個(gè)引腳,依次是LEDA、TXD、RXD、SD、Vcc和GND。LEDA內(nèi)部與IRED紅外發(fā)光二極管相連,外部接一限流電阻到Vcc,以給紅外管提供工作電流。但應(yīng)注意提供的最大電流不能超出500mA(20%的占空比)。TXD是數(shù)據(jù)發(fā)送引腳,該腳內(nèi)部帶有下拉電阻,能夠直接接到MCU的數(shù)據(jù)發(fā)送端,當(dāng)器件進(jìn)入省電模式時(shí),該下拉電阻開路。RXD是接受到紅外數(shù)據(jù)后的輸出腳,它是一種三態(tài)輸出引腳,擺率控制的CMOS輸出驅(qū)動器可驅(qū)動原則CMOS或LSTTL負(fù)載。該引腳無需外接電阻。SD是省電模式控制腳,該引腳輸入高電平時(shí),IRM5000SE
進(jìn)入省電模式,此時(shí)的最大電流只有1μA。三、實(shí)驗(yàn)原理圖鍵盤顯示部分原理參考串行鍵盤顯示接口ZLG7290應(yīng)用實(shí)驗(yàn)圖(28-1)四、實(shí)驗(yàn)連線1、紅外接口的ZTXD接單片機(jī)的P1.0,ZRXD接P1.1,SD接P1.2。2、串行鍵盤顯示接口區(qū)SDA_04連接P3.1,SCL_04連接P3.0,INT_KEY連接P3.2。用8芯線將串行鍵盤顯示接口區(qū)的BIT和CODE連接到數(shù)碼管顯示區(qū)的BIT和CODE,用4芯線將串行鍵盤顯示接口區(qū)的KL和KH連接鍵盤區(qū)的KL和KH。3、將兩臺機(jī)的紅外接口相對靠近對準(zhǔn)(在1米30度范疇之內(nèi))。五、實(shí)驗(yàn)環(huán)節(jié)1、先在二號機(jī)上運(yùn)行。2、再在一號機(jī)上運(yùn)行。一號機(jī)上顯示“IRDAooo1”,二號機(jī)上顯示“IRDAooo2”。3、在一號機(jī)上按鍵,則在該數(shù)碼管的最右邊顯示該鍵值,同時(shí)二號機(jī)在接受到紅外數(shù)據(jù)后也在數(shù)碼管的右邊顯示該值。實(shí)驗(yàn)二十九數(shù)字溫度傳感器DS18B20的原理與應(yīng)用實(shí)驗(yàn)一、DS18B20功效介紹1、引言
DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,含有3引腳TO-92小體積封裝形式;溫度測量范疇為-55℃~+125℃,可編程為9位~12位A/D轉(zhuǎn)換精度,測溫分辨率可達(dá)0.0625℃,被測溫度用符號擴(kuò)展的16位數(shù)字量方式串行輸出;其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生;多個(gè)DS18B20能夠并聯(lián)到3根或2根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微解決器的端口較少,可節(jié)省大量的引線和邏輯電路。以上特點(diǎn)使DS18B20非常合用于遠(yuǎn)距離多點(diǎn)溫度檢測系統(tǒng)。
2、DS18B20的內(nèi)部構(gòu)造
DS18B20內(nèi)部構(gòu)造如圖(29-1)所示,重要由4部分構(gòu)成:64位ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配備寄存器。DS18B20的管腳排列如圖(29-2)所示,DQ為數(shù)字信號輸入/輸出端;GND為電源地;VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。
ROM中的64位序列號是出廠前被光刻好的,它能夠看作是該DS18B20的地址序列碼,每個(gè)DS18B20的64位序列號均不相似。64位ROM的循環(huán)冗余校驗(yàn)碼為CRC=X8+X5+X4+1。ROM的作用是使每一種DS18B20都各不相似,這樣就能夠?qū)崿F(xiàn)一根總線上掛接多個(gè)DS18B20的目的。
圖(29-1)DS18B20的內(nèi)部構(gòu)造圖(29-2)DS18B20的管腳排列
(a)初始化時(shí)序
(b)寫時(shí)序
(c)讀時(shí)序
圖(29-3)DS18B20的工作時(shí)序圖
DS18B20中的溫度傳感器完畢對溫度的測量,用16位符號擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625℃/LSB形式體現(xiàn),其中S為符號位。例如+125℃的數(shù)字輸出為07D0H,+25.0625℃的數(shù)字輸出為0191H,-25.0625℃的數(shù)字輸出為FF6FH,-55℃的數(shù)字輸出FC90H。溫度值低字節(jié)
MSBLSB溫度值高字節(jié)
高低溫報(bào)警觸發(fā)器TH和TL、配備寄存器均由一種字節(jié)的EEPROM構(gòu)成,使用一種存儲器功效命令可對TH、TL或配備寄存器寫入。其中配備寄存器的格式以下:MSBLSBR1、R0決定溫度轉(zhuǎn)換的精度位數(shù):R1R0=“00”,9位精度,最大轉(zhuǎn)換時(shí)間為93.75ms;R1R0=“01”,10位精度,最大轉(zhuǎn)換時(shí)間為187.5ms;R1R0=“10”,11位精度,最大轉(zhuǎn)換時(shí)間為375ms;R1R0=“11”,12位精度,最大轉(zhuǎn)換時(shí)間為750ms;未編程時(shí)默認(rèn)為12位精度。
高速暫存器是一種9字節(jié)的存儲器。開始兩個(gè)字節(jié)包含被測溫度的數(shù)字量信息;第3、4、5字節(jié)分別是TH、TL、配備寄存器的臨時(shí)拷貝,每一次上電復(fù)位時(shí)被刷新;第6、7、8字節(jié)未用,體現(xiàn)為全邏輯1;第9字節(jié)讀出的是前面全部8個(gè)字節(jié)的CRC碼,可用來確保通信對的。
3、DS18B20的工作時(shí)序
DS18B20的一線工作合同流程是:初始化→ROM操作指令→存儲器操作指令→數(shù)據(jù)傳輸。其工作時(shí)序涉及初始化時(shí)序、寫時(shí)序和讀時(shí)序,如圖(29-3)(a)(b)(c)所示。二、實(shí)驗(yàn)?zāi)康睦斫庹莆找痪€式數(shù)字溫度傳感器18B20的工作原理和控制的基本辦法。三、實(shí)驗(yàn)內(nèi)容編程使18B20采集溫度并顯示。四、實(shí)驗(yàn)原理圖略五、實(shí)驗(yàn)程序框圖YY開始初始化18B20啟動溫度轉(zhuǎn)換18B20與否存在?N延時(shí)不不大于750usY初始化18B20讀取溫度18B20與否存在?N轉(zhuǎn)換成BCD碼溫度值送顯示緩沖區(qū)顯示溫度值圖(29-4)六、實(shí)驗(yàn)環(huán)節(jié)1、將18B20的插孔連到P3.2。2、顯示部分8279將用8芯排線將8279區(qū)JB51(a-h)連接到數(shù)碼管顯示區(qū)的CODE,JB53(BIT0-BIT7)連接到數(shù)碼管顯示區(qū)的BIT。8279區(qū)8279CS2連到系統(tǒng)譯碼的Y6上,8279CLK連接到固定脈沖的1MHz。3、調(diào)試、運(yùn)行程序()。在數(shù)碼管上顯示溫度“XX℃”(0~99)。實(shí)驗(yàn)三十“看門狗”復(fù)位實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、熟悉“看門狗”電路的工作原理。2、掌握“看門狗”電路的硬件接口技術(shù)。3、掌握“看門狗”復(fù)位控制驅(qū)動程序的設(shè)計(jì)和調(diào)試辦法。二、實(shí)驗(yàn)原理本實(shí)驗(yàn)用MAX813L復(fù)位監(jiān)控芯片做的“看門狗”電路,該芯片含有復(fù)位和監(jiān)視跟蹤兩大功效,特點(diǎn)以下:。精密電源電壓監(jiān)控4.65V;。200ms復(fù)位脈沖寬度;。V1=1V時(shí)確保復(fù)位RESET有效;。TTL/CMOS兼容的防抖動人工復(fù)位輸入;。獨(dú)立的監(jiān)視跟蹤定時(shí)器1.6S縊出時(shí)間;。電源故障或欠電壓報(bào)警的電壓監(jiān)控。MAX813L的引腳功效以下:。低電平有效的人工復(fù)位輸入MR;當(dāng)MR輸入降到0.8V,產(chǎn)生復(fù)位脈沖。。電源故障比較器輸入PFI;PFI端電壓低于是1.25V時(shí),PFO輸出低電平吸取電流,否則PFO保持高電平。不用時(shí)接地。。監(jiān)視跟蹤定時(shí)器輸入WDI;當(dāng)WDI保持高電平或者低電平時(shí)間長達(dá)1.6S時(shí),WDO輸出低電平,WDI浮空或接高阻三態(tài)門將嚴(yán)禁監(jiān)控跟蹤定時(shí)器的功效,只要發(fā)生復(fù)位,內(nèi)部監(jiān)視跟蹤定時(shí)器清零。。監(jiān)視跟蹤定時(shí)器輸出WDO;當(dāng)WDI保持高電平或低電平時(shí)間達(dá)1.6S時(shí),WDO輸出低電平,直到下一次監(jiān)視定時(shí)器清零,WDO才變?yōu)楦唠娖健?。?fù)位輸出RESET;低電平有效。三、實(shí)驗(yàn)內(nèi)容運(yùn)用MAX813L復(fù)位監(jiān)控芯片實(shí)現(xiàn)單片機(jī)上電復(fù)位、手動復(fù)位、“看門狗”自動檢測。編寫程序,先讓P1.0信號在1.6S內(nèi)變化一次,批示燈暗(即單片機(jī)不會自動復(fù)位),再讓P1.0上的信號在不不大于1.6S變化一次,批示燈應(yīng)交替(即單片機(jī)應(yīng)自動復(fù)位)。圖(30-1)四、實(shí)驗(yàn)環(huán)節(jié)1、實(shí)驗(yàn)連線,P1.0連MAX813L的WDI;批示燈L0(替代單片機(jī)的復(fù)位RST)連在MAX813L的RST。2、先運(yùn)行,再修改程序中的延時(shí)時(shí)間,觀察批示燈L0的變化狀況。實(shí)驗(yàn)三十一I2C總線應(yīng)用實(shí)驗(yàn)一、I2C總線介紹1.1I2C總線的特性在單片機(jī)應(yīng)用系統(tǒng)中推廣I2C總線后將會大大變化單片機(jī)應(yīng)用系統(tǒng)構(gòu)造、性能,對單片機(jī)的應(yīng)用開發(fā)帶來下列好處。1、可最大程度地簡化構(gòu)造,二線制的I2C串行總線使得各電路單元之間只需最簡樸的2線連接,并且總線接口都已集成在器件中,不需另加總線接口電路,這樣減少電路板面積,提高了可靠性,減少了成本。2、可實(shí)現(xiàn)電路系統(tǒng)的模塊化、原則化設(shè)計(jì)。在I2C總線上各單元電路互相之間沒有其它連線,顧客慣用的單元電路基本上與系統(tǒng)電路無關(guān),故極易形成顧客自己的原則化、模塊化設(shè)計(jì)。3、I2C總線各節(jié)點(diǎn)含有獨(dú)立的電氣特性,各節(jié)點(diǎn)單元電路能在互相不受影響的狀況下,甚至在系統(tǒng)供電狀況下接入或撤出,且系統(tǒng)可方便地對某一節(jié)點(diǎn)電路進(jìn)行故障診療與跟蹤,有極好的可維護(hù)性。4、I2C總線系統(tǒng)構(gòu)成含有最大的靈活性、系統(tǒng)改型設(shè)計(jì)、或?qū)σ鸭庸ず玫碾娐钒逍钄U(kuò)展功效時(shí),對原有設(shè)計(jì)及電路板系統(tǒng)影響最小,同時(shí)原則I2C總線模塊的組合開發(fā)大大地縮短了新品的開發(fā)周期。1.2原則模式I2C總線規(guī)范I2C總線通過2根線——串行數(shù)據(jù)(SDA)和串行時(shí)鐘(SCL)線連接到總線上的任何一種器件,每個(gè)器件都應(yīng)有一種唯一的地址,并且都能夠作為一種發(fā)送器或接受器。另外,器件在執(zhí)行數(shù)據(jù)傳輸時(shí)也能夠被看作是主機(jī)或從機(jī)。發(fā)送器:本次傳送中發(fā)送數(shù)據(jù)(不涉及地址和命令)到總線的器件。接受器:本次傳送中從總線接受數(shù)據(jù)(不涉及地址和命令)的器件。主機(jī):初始化發(fā)送、產(chǎn)生時(shí)鐘信號和終止發(fā)送的器件,它能夠是發(fā)送器或接受器。主機(jī)普通是微控制器。從機(jī):被主機(jī)尋址的器件,它能夠是發(fā)送器或接受器。I2C總線是一種多主機(jī)的總線,也即能夠連接多于一種能控制總線的器件到總線。當(dāng)2個(gè)以上能控制總線的器件同時(shí)發(fā)動傳輸時(shí),只能有一種器件能真正控制總線而成為主機(jī),并使報(bào)文并不被破壞,這個(gè)過程叫做仲裁。與此同時(shí),能使多個(gè)能控制總線的器件產(chǎn)生時(shí)鐘信號的同時(shí)。SDA和SCL都是雙向線路,連接到總線的器件的輸出級必須是漏極開路或集電極開路,都通過一種電流源或上拉電阻連接到正的電源電壓,這樣才干夠?qū)崿F(xiàn)線與功效。當(dāng)總線空閑時(shí),這2條線路都是高電平。在原則模式下,數(shù)據(jù)傳輸?shù)乃俣葹?~100Kbit/s。1、位傳輸I2C總線上每傳輸一種數(shù)據(jù)位必須產(chǎn)生一種時(shí)鐘脈沖。數(shù)據(jù)的有效性SDA線上的數(shù)據(jù)必須在時(shí)鐘線SCL的高電平周期保持穩(wěn)定,數(shù)據(jù)線的電平狀態(tài)只有在SCL線的時(shí)鐘信號是低電平時(shí)才干變化,如圖(31-1)所示。在原則模式下,高低電平寬度必須不不大于4.7Ns。圖(31-1)I2C總線的位傳輸起始和停止條件在I2C總線中,唯一違反上述數(shù)據(jù)有效性的是起始(S)和停止(P)條件,如圖(31-2)所示。起始條件(重復(fù)起始條件);在SCL線是高電平時(shí),SDA線從高電平向低電平切換。停止條件:在SCL線是高電平時(shí),SDA線由低電平向高電平切換。圖(31-2)起始和停止條件起始和停止條件普通由主機(jī)產(chǎn)生。起始條件作為一次傳送的開始,在起始條件后總線被認(rèn)為處在忙的狀態(tài)。停止條件作為一次傳送的結(jié)束,在停止條件的某段時(shí)間后,總線被認(rèn)為再次處在空閑狀態(tài)。重復(fù)起始條件既作為上次傳送的結(jié)束,也作為下次傳送的開始。2、數(shù)據(jù)傳輸字節(jié)格式發(fā)送到SDA線上的每個(gè)字節(jié)必須為8位。每次傳輸能夠發(fā)送的字節(jié)數(shù)量不受限制。每個(gè)字節(jié)后必須跟一種應(yīng)答位。首先傳輸?shù)氖菙?shù)據(jù)的最高位(MSB),見圖(31-3)所示。圖(31-3)I2C總線的數(shù)據(jù)傳輸應(yīng)答對應(yīng)的應(yīng)答時(shí)鐘脈沖由從機(jī)產(chǎn)生。在應(yīng)答的時(shí)鐘脈沖期間,發(fā)送器釋放SDA線(高)。在應(yīng)答的時(shí)鐘脈沖期間,接受器必須將SDA線拉低,使她在這個(gè)時(shí)鐘脈沖的高電平期間保持穩(wěn)定的低電平。如圖3.3中時(shí)鐘信號SCL的第9位。普通說來,被尋址匹配的從機(jī)或可繼續(xù)接受下一字節(jié)的接受器將產(chǎn)生一種應(yīng)答。若作為發(fā)送器的主機(jī)在發(fā)送完一種字節(jié)后,沒有收到應(yīng)答位(或收到一種非應(yīng)答位),或作為接受器的主機(jī)沒有發(fā)送應(yīng)答位(或發(fā)送一種非應(yīng)答位),那么主機(jī)必須產(chǎn)生一種停止條件或重復(fù)起始條件來結(jié)束本次傳輸。若從機(jī)—接受器不能接受更多的數(shù)據(jù)字節(jié),將不產(chǎn)生這個(gè)應(yīng)答位:主機(jī)—接受器在接受完最后一種字節(jié)后不產(chǎn)生應(yīng)答,告知從機(jī)—發(fā)送器數(shù)據(jù)結(jié)束。3、仲裁與時(shí)鐘發(fā)生同時(shí)時(shí)鐘同時(shí)通過各個(gè)能產(chǎn)生時(shí)鐘的器件線與連接到SCL線上來實(shí)現(xiàn)的,上述的各個(gè)器件可能都有自己獨(dú)立的時(shí)鐘,各個(gè)時(shí)鐘信號的頻率、周期、相位和占空比可能都不相似,由于“線與”的成果,在SCL線上產(chǎn)生的實(shí)際時(shí)鐘的低電平寬度由低電平持續(xù)時(shí)間最長的器件決定,而高電平寬度由高電平持續(xù)時(shí)間最短的器件決定。仲裁當(dāng)總線空閑時(shí),多個(gè)主機(jī)同時(shí)啟動傳輸,可能會有不止一種主機(jī)檢測到滿足起始條件,而同時(shí)獲得主機(jī)權(quán),這樣就要進(jìn)行仲裁。當(dāng)SCL線是高電平時(shí),仲裁在SDA線發(fā)生,當(dāng)其它主機(jī)發(fā)送低電平時(shí),發(fā)送高電平的主機(jī)將丟失仲裁,由于總線上的電平與它自己的電平不同。仲裁能夠持續(xù)多位,它的第一種階段是比較地址位,如果每個(gè)主機(jī)都嘗試尋址相似的器件,仲裁會繼續(xù)比較數(shù)據(jù)位,或者比較響應(yīng)位。由于I2C總線的地址和數(shù)據(jù)信息由贏得仲裁的主機(jī)決定,在仲裁過程中不會丟失信息。用時(shí)鐘同時(shí)機(jī)制作為握手器件能夠快速接受數(shù)據(jù)字節(jié),但可能需要更多時(shí)間保存接受到的字節(jié)或準(zhǔn)備一種要發(fā)送的字節(jié)。此時(shí),這個(gè)器件能夠使SCL線保持低電平,迫使與之交換數(shù)據(jù)的器件進(jìn)入等待狀態(tài),直到準(zhǔn)備好下一字節(jié)的發(fā)送或接受。4、傳輸合同尋址字節(jié)主機(jī)產(chǎn)生起始條件后,發(fā)送的第一種字節(jié)為尋址字節(jié),該字節(jié)的頭7位(高7位)為從機(jī)地址,最低位(LSB)決定了報(bào)文的方向,“0”表達(dá)主機(jī)寫信息到從機(jī),“1”表達(dá)主機(jī)讀從機(jī)中的信息,如圖(31-4)所示。當(dāng)發(fā)送了一種地址后,系統(tǒng)中的每個(gè)器件都將頭7位與它自己的地址比較。如果同樣,器件會應(yīng)答主機(jī)的尋址,至于是從機(jī)—接受器還是從機(jī)—發(fā)送器都由R/W位決定。圖(31-4)起始條件后的第一種字節(jié)從機(jī)地址由一種固定的和一種可編程的部分構(gòu)成。例如:某些器件有4個(gè)固定的位(高4位)和3個(gè)可編程的地址位(低3位),那么同一總線上共能夠連接8個(gè)相似的器件。I2C總線委員會協(xié)調(diào)I2C地址的分派,保存了2組8位地址(0000XXXX和1111XXXX),這2組地址的用途可查閱有關(guān)資料。傳輸格式主機(jī)產(chǎn)生起始條件后,發(fā)送一種尋址字節(jié),收到應(yīng)答后跟著就是數(shù)據(jù)傳輸,數(shù)據(jù)傳輸普通由主機(jī)產(chǎn)生的停止位終止。但是,如果主機(jī)仍但愿在總線上通訊,它能夠產(chǎn)生重復(fù)起始條件(Sr)和尋址另一種從機(jī),而不是首先產(chǎn)生一種停止條件。在這種傳輸中,可能有不同的讀/寫格式結(jié)合??赡艿臄?shù)據(jù)傳輸格式有:主機(jī)—發(fā)送器發(fā)送數(shù)據(jù)到從機(jī)—接受器。見圖(31-5),尋址字節(jié)的“R/W”位為0,數(shù)據(jù)傳輸?shù)姆较虿蛔兓?。尋址字?jié)后,主機(jī)—接受器立刻讀從機(jī)—發(fā)送器中的數(shù)據(jù),見圖(31-6)。尋址字節(jié)的“R/W”位為1。在第一次從機(jī)產(chǎn)生的響應(yīng)時(shí),主機(jī)—發(fā)送器變成主機(jī)—接受器,從機(jī)—接受器變成從機(jī)—發(fā)送器。之后,數(shù)據(jù)由從機(jī)發(fā)送,主機(jī)接受,每個(gè)應(yīng)答由主機(jī)產(chǎn)生,時(shí)鐘信號CLK仍由主機(jī)產(chǎn)生。若主機(jī)要終止本次傳輸,則發(fā)送一種非應(yīng)答信號(/A),接著主機(jī)產(chǎn)生停止條件。復(fù)合格式,見圖(31-7)。傳輸變化方向的時(shí)候,起始條件和從機(jī)地址都會被重復(fù)。但R/W位取反。如果主機(jī)—接受器發(fā)送一種重復(fù)起始條件,它之前應(yīng)當(dāng)要發(fā)送一種非應(yīng)答信號(/A)。圖(31-5)主機(jī)—發(fā)送器發(fā)送數(shù)據(jù)到從機(jī)—接受器,傳輸方向不變。圖(31-6)尋址字節(jié)后,主機(jī)—接受器立刻讀從機(jī)—發(fā)送器中的數(shù)據(jù)圖(31-7)復(fù)合格式1.3虛擬I2C總線匯編程序軟件包(V1.1)為了非常方便地對I2C從器件進(jìn)行快速的、對的的讀寫操作,為此我們設(shè)計(jì)了硬件I2C總線操作平臺軟件包。本軟件包是字節(jié)方式下的硬件I2C總線軟件包,只要顧客給子程序提供幾個(gè)重要的參數(shù),即可輕松地完畢任何I2C總線外圍器件的應(yīng)用程序設(shè)計(jì)。I2C總線是PHILIPS公司推出的芯片間串行數(shù)據(jù)傳輸總線,2根線(SDA、SCL)即可實(shí)現(xiàn)完善的全雙工同時(shí)數(shù)據(jù)傳輸,能夠十分方便地構(gòu)成多機(jī)系統(tǒng)和外圍器件擴(kuò)展系統(tǒng)。I2C器件是把I2C的合同植入器件的I/O接口,使用時(shí)器件直接掛到I2C總線上,這一特點(diǎn)給顧客在設(shè)計(jì)應(yīng)用系統(tǒng)時(shí)帶來了極大的便利。I2C器件不必片選信號,與否選中是由主器件發(fā)出的I2C從地址決定的,而I2C器件的從地址是由I2C總線委員會實(shí)施統(tǒng)一發(fā)配。我們推出的I2C總線的操作平臺軟件包,只要你給出器件從地址,即可進(jìn)行字節(jié)讀、字節(jié)寫、多字節(jié)讀、多字節(jié)寫,能夠非常方便地使用I2C器件,不必你介入底層的I2C操作合同。1.4A51軟件包概述此軟件包是用在單主I2C總線上,硬件接口是SDA、SCL,使用MCU的I/O來模擬SDA/SCL總線。設(shè)計(jì)有/無子地址的子程序是根據(jù)I2C器件的特點(diǎn),目的在于將地址和數(shù)據(jù)徹底分開。軟件包的接口界面為:IRDBYTE(無子地址)讀單字節(jié)數(shù)據(jù)(現(xiàn)行地址讀)IWRBYTE(無子地址)寫單字節(jié)數(shù)據(jù)(現(xiàn)行地址寫)IRDNBYTE(有子地址)讀N字節(jié)數(shù)據(jù)IWRNBYTE(有子地址)寫N字節(jié)數(shù)據(jù)IRDNBYTEEXT(無子地址)讀N字節(jié)數(shù)據(jù)IWRNBYTEEXT(無子地址)寫N字節(jié)數(shù)據(jù)闡明:現(xiàn)行地址讀/寫即專指無子地址的器件,不給定子地址的讀/寫操作。軟件包占用內(nèi)部資源:R0,R1,R2,R3,ACC,Cy。使用前須定義變量:SLA器件從地址,SUBA器件子地址,NUMBYTE讀/寫的字節(jié)數(shù),位變量ACK。使用前須定義常量:SDA、SCL總線位,MTD發(fā)送數(shù)據(jù)緩沖區(qū)首址接口子程序出口參數(shù)ACK為0時(shí)表達(dá)器件無應(yīng)答1.4.1軟件包清單……………MCS-51單片機(jī)模擬I2C軟件包(V1.1)文獻(xiàn)名:VI2C_功效闡明:本模擬I2C軟件包包含了I2C操作的底層子程序,使用前要定義好SCL和SDA。在原則8051模式(12Clock)下,對主頻規(guī)定是不高于12MHz(即1個(gè)機(jī)器周期1us);若Fosc>12MHz則要增加對應(yīng)的NOP指令數(shù)。(總線時(shí)序符合I2C原則模式,100Kbit/S)……………啟動I2C總線子程序:START:SETBSDANOPSETBSCL;起始條件建立時(shí)間不不大于4.7usNOPNOPNOPNOPNOPCLRSDANOP;起始條件鎖定時(shí)不不大于4usNOPNOPNOPNOPCLRSCL;鉗住總線,準(zhǔn)備數(shù)據(jù)NOPRET結(jié)束總線子程序:STOP:CLRSDANOPSETBSCL;發(fā)送結(jié)束條件的時(shí)鐘信號NOP;結(jié)束總線時(shí)間不不大于4usNOPNOPNOPNOPSETBSDA;結(jié)束總線NOP;確保一種終止信號和起始信號的空閑時(shí)間不不大于4.7usNOPNOPNOPRET發(fā)送應(yīng)答信號子程序:MACK:CLRSDA;將SDA置0NOPNOPSETBSCLNOP;保持?jǐn)?shù)據(jù)時(shí)間,即SCL為高時(shí)間不不大于4.7usNOPNOPNOPNOPCLRSCLNOPNOPRET發(fā)送非應(yīng)答信號:MNACK:SETBSDA;將SDA置1NOPNOPSETBSCLNOPNOP;保持?jǐn)?shù)據(jù)時(shí)間,即SCL為高時(shí)間不不大于4.7usNOPNOPNOPCLRSCLNOPNOPRET檢查應(yīng)答位子程序(返回值,ACK=1時(shí)表達(dá)有應(yīng)答):CACK:SETBSDANOPNOPSETBSCLCLRACKNOPNOPMOVC,SDAJCCENDSETBACK;判斷應(yīng)答位CEND:NOPCLRSCLNOPRET發(fā)送字節(jié)子程序(字節(jié)數(shù)據(jù)放入ACC,每發(fā)送一字節(jié)要調(diào)用一次CACK子程序,取應(yīng)答位):WRBYTE:MOVR0,#08HWLP:RLCA;取數(shù)據(jù)位JCWR1SJMPWR0;判斷數(shù)據(jù)位WLP1:DJNZR0,WLPNOPRETWR1:SETBSDA;發(fā)送1NOPSETBSCLNOPNOPNOPNOPNOPCLRSCLSJMPWLP1WR0:CLRSDA;發(fā)送0NOPSETBSCLNOPNOPNOPNOPNOPCLRSCLSJMPWLP1讀取字節(jié)子程序(讀出的值在ACC,每取一字節(jié)要發(fā)送一種應(yīng)答/非應(yīng)答信號):RDBYTE:MOVR0,#08HRLP:SETBSDANOPSETBSCL;時(shí)鐘線為高,接受數(shù)據(jù)位NOPNOPMOVC,SDA;讀取數(shù)據(jù)位MOVA,R2CLRSCL;將SCL拉低,時(shí)間不不大于4.7usRLCA;進(jìn)行數(shù)據(jù)位的解決MOVR2,ANOPNOPNOPDJNZR0,RLP;未夠8位,再來一次RET下列是顧客接口子程序:無子地址器件寫字節(jié)數(shù)據(jù)入口參數(shù):數(shù)據(jù)為ACC、器件從地址SLA占用:A、R0、CYIWRBYTE:PUSHACCIWBLOOP:LCALLSTART;啟動總線MOVA,SLALCALLWRBYTE;發(fā)送器件從地址LCALLCACKJNBACK,RETWRB;無應(yīng)答則跳轉(zhuǎn)POPACC;寫數(shù)據(jù)LCALLWRBYTELCALLCACK’LCALLSTOPRETRETWRB:POPACCLCALLSTOPRET無子地址器件讀字節(jié)數(shù)據(jù)入口參數(shù):器件從地址SLA出口參數(shù):數(shù)據(jù)為ACC占用:A、R0、R2、CYIRDBYTE:LCALLSTARTMOVA,SLA;發(fā)送器件從地址INCALCALLWRBYTELCALLCACKJNBACK,RETRDBLCALLRDBYTE;進(jìn)行讀字節(jié)操作LCALLMNACK;發(fā)送非應(yīng)答信號RETRDB:LCALLSTOP;結(jié)束總線RET向器件指定子地址寫N字節(jié)數(shù)據(jù)入口參數(shù):器件從地址SLA、器件子地址SUBA、發(fā)
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人住房貸款合同
- 臨時(shí)工合作合同示范文本
- 二手房買賣合同:回購權(quán)益條款
- 二手房銷售合同樣本范文
- 個(gè)人商業(yè)用房抵押擔(dān)保合同書
- 中外設(shè)備采購合同范文
- 人事代理業(yè)務(wù)合作合同書
- 個(gè)人無抵押借款合同標(biāo)準(zhǔn)版
- 交通事故和解合同書模板
- 擔(dān)保合同會計(jì)處理
- 江西省部分學(xué)校2024-2025學(xué)年高三上學(xué)期1月期末英語試題(含解析無聽力音頻有聽力原文)
- GA/T 2145-2024法庭科學(xué)涉火案件物證檢驗(yàn)實(shí)驗(yàn)室建設(shè)技術(shù)規(guī)范
- 電廠檢修管理
- 2024年中考語文試題分類匯編:非連續(xù)性文本閱讀(學(xué)生版)
- 2024年度窯爐施工協(xié)議詳例細(xì)則版B版
- 第一屆山東省職業(yè)能力大賽濟(jì)南市選拔賽制造團(tuán)隊(duì)挑戰(zhàn)賽項(xiàng)目技術(shù)工作文件(含樣題)
- 尿毒癥替代治療
- 《民航服務(wù)溝通技巧》教案第12課病殘旅客服務(wù)溝通
- 直埋電纜溝工程專項(xiàng)施工組織設(shè)計(jì)
- 第五章北方雜劇創(chuàng)作
- GB/T 4214.1-2017家用和類似用途電器噪聲測試方法通用要求
評論
0/150
提交評論