電氣化自動(dòng)技術(shù)-實(shí)驗(yàn)10-74LS165并入串出移位-實(shí)驗(yàn)指導(dǎo)書_第1頁
電氣化自動(dòng)技術(shù)-實(shí)驗(yàn)10-74LS165并入串出移位-實(shí)驗(yàn)指導(dǎo)書_第2頁
電氣化自動(dòng)技術(shù)-實(shí)驗(yàn)10-74LS165并入串出移位-實(shí)驗(yàn)指導(dǎo)書_第3頁
電氣化自動(dòng)技術(shù)-實(shí)驗(yàn)10-74LS165并入串出移位-實(shí)驗(yàn)指導(dǎo)書_第4頁
電氣化自動(dòng)技術(shù)-實(shí)驗(yàn)10-74LS165并入串出移位-實(shí)驗(yàn)指導(dǎo)書_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

實(shí)驗(yàn)十74LS165并入串出移位實(shí)驗(yàn)實(shí)驗(yàn)概述通過AT89C52接收來自74LS165的串行數(shù)據(jù),再用LED顯示出。實(shí)驗(yàn)?zāi)康恼莆沾谟糜诓⑿休斎攵丝跀U(kuò)充的編程方法;理解74LS165的工作原理。實(shí)驗(yàn)預(yù)習(xí)要求1、主要知識(shí)點(diǎn)概述:本實(shí)驗(yàn)用到了兩個(gè)主要知識(shí)點(diǎn)是:74LS165的工作機(jī)制、簡單的單片機(jī)串口輸入。2、實(shí)驗(yàn)結(jié)果說明:通過74LS165來讀取8位鍵值并通過LED顯示。實(shí)驗(yàn)原理圖:74LS165主要引腳介紹:SO:串行數(shù)據(jù)輸出端QH:反相串行數(shù)據(jù)輸出端D0~D7:并行數(shù)據(jù)輸入端CLK:時(shí)鐘輸入端(需要接時(shí)鐘源,51單片機(jī)串口工作在方式0時(shí)接TXD(P3.1口))INH:時(shí)鐘禁止端(高電平有效,使用時(shí)設(shè)為低電平)SH/LD:移位與置位控制端SI:串行輸入端(用于拓展多個(gè)74LS165)74LS165是八位并行輸入、串行輸出移位寄存器,74LS165芯片上電后,首先設(shè)置SH/LD端為低電平,此時(shí)芯片將D0~D7腳上的高低電平數(shù)據(jù)存入芯片內(nèi)寄存器Q0~Q7,然后設(shè)置SH/LD端為高電平,此時(shí)芯片將寄存器內(nèi)數(shù)據(jù)通過SO串行發(fā)送(QH也會(huì)發(fā)送反相數(shù)據(jù))。查閱74LS165的datasheet可以找到它的時(shí)序圖和真值表。圖:74LS165時(shí)序圖圖:74LS165真值表上面的真值表和時(shí)序圖中我們要特別注意幾個(gè)端口的變化,真值表中SH/LD只有在高電平的時(shí)候方才有效;CLK、INH只有當(dāng)其中一個(gè)為低電平的時(shí)候,另一個(gè)時(shí)鐘才能正確的輸入(一般的我們?cè)谑褂脮r(shí),可以將其中的一個(gè)直接接地,另一個(gè)做時(shí)鐘輸入端口使用)。Proteus使用的元器件1.74LS165//八位并行輸入,串行輸出移位寄存器。2.AT89C52//51單片機(jī)。3.BUTTON//按鍵,用于最小系統(tǒng)復(fù)位。4.CAP//電容,用于搭建復(fù)位電路。5.CAP-ELEC//電解電容,用于搭建復(fù)位電路。6.CRYSTAL//晶振,給單片機(jī)提供時(shí)鐘信號(hào)。7.LED-GREEN//綠色LED燈。8.RES//電阻。實(shí)驗(yàn)要求利用74LS165、8個(gè)按鍵和8個(gè)LED,實(shí)現(xiàn)并轉(zhuǎn)串的輸入擴(kuò)充實(shí)驗(yàn)。硬件連接圖1.硬件電路圖:74LS165并入串出移位圖:8位獨(dú)立開關(guān)圖:8位獨(dú)立LED2.硬件連接表MCU-AT89S5274LS165并入串出移位8位獨(dú)立開關(guān)8位獨(dú)立LEDP30SOP31CPP32SHP10~P17D1~D8QA~QHSW1~SW83.Proteus仿真圖圖:Proteus仿真圖實(shí)驗(yàn)程序/*******************************************************************************文件名稱:main.c作者:版本:V1.00說明:74LS165并入串出移位實(shí)驗(yàn)修改記錄:--------------------------------------------------------------------------------功能描述:*控制74LS165*實(shí)現(xiàn)并行數(shù)據(jù)輸入,串行數(shù)據(jù)輸出--------------------------------------------------------------------------------*接線說明:P30-SO,P31-CP,P32-SH,P10~P17——D1~D8,SW1~SW8——QA~QH,*******************************************************************************/#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#defineDoutP1sbitSH=P3^2;/*********主函數(shù)***************************************************************/voidmain(void){ SCON=0X10; //設(shè)定UART方式0,允許接收數(shù)據(jù) while(1) { SH=0; //載入數(shù)據(jù) _nop_(); _nop_(); _nop_(); SH=1;//數(shù)據(jù)輸出 RI=0; while(!RI); //判斷是否接收完數(shù)據(jù) RI=0; Dout=SBUF; //輸出接收到的數(shù)據(jù) }} 實(shí)驗(yàn)步驟1、打開Proteus8環(huán)境,在快捷工具欄中點(diǎn)擊源代碼按紐,然后在菜單欄選擇系統(tǒng)-編譯器配置。找到Keilfor8051,點(diǎn)擊下載,下載完成后點(diǎn)擊OK退出。2、點(diǎn)擊源碼選擇新建工程,出現(xiàn)新固件項(xiàng)目對(duì)話框,在系列一欄中選擇8051,在控制器一欄選擇AT89C52,編譯器一欄中選擇Keilfor8051,然后點(diǎn)擊確定,新工程創(chuàng)建完成。3、然后在工程對(duì)話框下,右鍵單擊AT89C52,在出現(xiàn)的下拉列表中選中工程設(shè)置,將工程選項(xiàng)下EmbedFiles后的勾選去掉,然后點(diǎn)擊確定完成工程設(shè)置。4、在快捷工具欄中的下拉列菜單Debug/Release/配置選項(xiàng)中,選擇Release。5、將需要編譯的程序代碼輸入到main.c文件中,輸入好程序代碼后,然后在工程中,右鍵單擊AT89C52,在出現(xiàn)的下拉列表中選中構(gòu)建工程,編譯完成返回LINK/LOCATERUNCOMPLETE.0WARNING(S),0ERROR(S)編譯成功。表示工程編譯成功。6、編譯成功后,切換到原理圖狀態(tài)下點(diǎn)擊運(yùn)行按紐,可通過人機(jī)接口觀察程序的仿真結(jié)果。7、連接ISP下載器一端到USB接口,另一端連到目標(biāo)板。打開實(shí)驗(yàn)臺(tái)電源,參考產(chǎn)品說明書中的ISP下載軟件使用方法對(duì)程序進(jìn)行下載。8、接下來大家就可以按照硬件連接表連線了,然后測(cè)試程序,觀察實(shí)驗(yàn)現(xiàn)象,理解程序,最后自己修改程序提高編程能力。視頻視頻實(shí)驗(yàn)現(xiàn)象點(diǎn)擊開始仿真運(yùn)行,按下按鍵(K1-K8)開關(guān),相應(yīng)的LED(LED1-LED8)燈亮。圖:實(shí)驗(yàn)現(xiàn)象實(shí)驗(yàn)總結(jié)1.使用Proteus仿真,可以觀察到,8按下按鍵,相應(yīng)的LED就會(huì)點(diǎn)亮。和程序是相符合的。while(1){ SH=0; //載入數(shù)據(jù) _nop_(); _nop_(); _nop_(); SH=1;//數(shù)據(jù)輸出 RI=0; while(!RI); //判斷是否接收完數(shù)據(jù) RI=0; Dout=SBUF; //輸出接收到的數(shù)據(jù)}上面這段代碼是main里面的,不難看出,程序初始化之后,P1不斷輸出特殊寄存器SBUF的值,而單片機(jī)的TXD是連接著74LS165的SO,所以SBUF的值就是輸入74LS165的值。2.點(diǎn)擊Proteus的左下角的,此時(shí)就會(huì)顯示下圖的頁面。圖:單步執(zhí)行在這個(gè)頁面點(diǎn)擊菜單欄Debug-3.8051CPU-Variables,頁面下方會(huì)彈出一個(gè)窗口,可以觀察到各個(gè)變量的值的變化。而點(diǎn)擊菜單欄的Debug-3.8051CPU-Registers彈出的窗口則可以觀察到各個(gè)寄存器的值。繼續(xù)點(diǎn)擊會(huì)直行下一條指令,觀察寄存器的變化,感受74LS165的使用方法。3.將程序燒進(jìn)實(shí)驗(yàn)箱內(nèi),觀察與仿真結(jié)果是否有差異。作業(yè)本實(shí)驗(yàn)使用的是輪詢的方法,嘗試改成使用中斷的方法來進(jìn)行讀取數(shù)據(jù)。【提示】中斷服務(wù)函數(shù)如下:voidDateGet()interrupt4//串口數(shù)據(jù)接收完成中斷{SH=0;//數(shù)據(jù)載入位設(shè)為低電平,將按鍵數(shù)據(jù)存入74LS165寄存器DelayMS(50);//延時(shí)一會(huì)等待存入完成DOUT=SBUF;//變更LED端口SH=1;//數(shù)據(jù)載入位設(shè)為高電平,將74LS165寄存器數(shù)據(jù)寫入串口寄存器/*一定要在串口復(fù)位前將數(shù)據(jù)載入位設(shè)為高電平,使得在串口開始接收前發(fā)送74LS165寄存器內(nèi)數(shù)據(jù)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論