Keil C51單片機實驗指導_第1頁
Keil C51單片機實驗指導_第2頁
Keil C51單片機實驗指導_第3頁
Keil C51單片機實驗指導_第4頁
Keil C51單片機實驗指導_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

提要:KeilC51實驗項目1、單片機的IO編程實驗1IO開關量輸入實驗實驗2IO輸出驅動繼電器(或光電隔離器)實驗實驗3IO輸入/輸出——半導體溫度傳感器DS18B20實驗2、單片機的中斷系統(tǒng)實驗外部外部中斷----脈沖計數(shù)實驗3、單片機的定時器/計數(shù)器實驗1計數(shù)器實驗實驗2秒時鐘發(fā)生器實驗4、單片機的串口特點和編程實驗PC機串口通訊實驗5、存儲器實驗RAM存儲器讀寫實驗6、PWM發(fā)生器實驗PWM發(fā)生器(模擬)實驗7、WDG看門狗實驗1外擴WDG(MAX813)實驗實驗2WDG(內部)實驗8、SPI總線實驗1SPI(模擬)實驗-----TLC2543AD轉換實驗實驗2SPI(模擬)實驗-----TLV5616DA轉換實驗9、I2C總線實驗I2C(模擬)實驗-----AT24C01讀寫實驗10、綜合實驗實驗1HD7279LED數(shù)碼管顯示實驗實驗2HD7279鍵盤實驗實驗3外部中斷---電機轉速實驗一、單片機的IO編程實驗1IO開關量輸入實驗目的:學習單片機讀取IO引腳狀態(tài)的的方法。內容:編程讀取io引腳狀態(tài)。設備:EL-PreJob-I試驗箱、EXP-KEILC51CPU板。編程:首先要把相關的引腳設置在IO的輸入狀態(tài),然后寫一個循環(huán),不停地檢測引腳的狀態(tài)。步驟:1、將CPU板正確安放在CPU接口插座上。2、連線:用導線將試驗箱上的的MCU_IO1---MCU_IO8分別連接到SWITCH的8個撥碼開關的K1---K8的輸出端子K1---K8上,連接好仿真器。3、試驗箱上電,在PC機上打開KeilC環(huán)境,打開試驗程序文件夾IO_INPUT下的工程文件IO_INPUT.Uv2編譯程序,上電,在程序注釋處設置斷點,進入調試狀態(tài),打開窗口Peripherals-->IO-Port-->P1,改變開關狀態(tài),運行程序到斷點處,觀察窗口的數(shù)值與開關的對應關系。實驗2IO輸出驅動繼電器(或光電隔離器)實驗目的:學習io輸出控制方法。內容:通過單片機的io引腳驅動繼電器(或光電隔離器)動作。設備:EL-PreJob-I試驗箱、EXP-KEILC51CPU板。編程:首先要把相關的引腳設置在IO的輸出狀態(tài),然后寫一個循環(huán),依次輸出高低電平。步驟:1、將CPU板正確安放在CPU接口插座上。2、連線:用導線將MCU的MCU_IO1、MCU_IO2分別連接到“反相器輸入”和“光電隔離的輸入P_IN”上,“反相器輸出”和“P_OUT”分別連接到“RELAY的R_IN”和“發(fā)光二極管L2的輸入孔L2上”,“RELAY的R_OUT”連接到“發(fā)光二極管L1的輸入孔L1”,連接好仿真器。3、試驗箱上電,在PC機上打開KeilC環(huán)境,打開試驗程序文件夾IO_OUTPUT下的工程文件IO_OUTPUT.Uv2編譯程序,上電,進入調試狀態(tài),打開窗口Peripherals-->IO-Port-->P1,單步運行程序,觀察窗口的數(shù)值變化。4、全速運行程序,觀察繼電器的發(fā)光二極管的亮滅變化,同時確定繼電器動作(或光電隔離器導通)與IO輸出電平的關系。實驗3IO輸入/輸出-半導體溫度傳感器DS18B20實驗目的:學習io引腳編程實現(xiàn)交替輸入、輸出的方法。內容:通過單片機的IO引腳與半導體溫度傳感器實現(xiàn)單線通訊。設備:EL-PreJob-I試驗箱、EXP-KEILC51CPU板。編程:根據(jù)18B20的資料(見備注),將IO引腳設置在輸出狀態(tài),分別模擬出不同的命令時序,例如復位、讀寄存器等;再改變IO引腳的為輸入狀態(tài),接收傳感器輸出的數(shù)據(jù)。步驟:1、將CPU板正確安放在CPU接口插座上。2、連線:用導線將MCU的MCU_IO1連接到TEMPSENSORDS18B20的DQ。3、試驗箱上電,在PC機上打開KeilC環(huán)境,打開試驗程序文件夾IO_INOUTPUT下的工程文件IO_INOUTPUT.Uv2編譯程序,上電,進入調試狀態(tài),打開窗口VIEW--Watch&CallstackWindows,按照程序注釋說明設置斷點,全速運行程序到斷點處,觀察寄存器R7中的數(shù)據(jù),用于摸住傳感器DS18B20芯片,再運行到斷點處,比較R7的變化。4、備注:DSl8B20數(shù)字溫度計提供9位(二進制)溫度讀數(shù)指示,器件的溫度信息經(jīng)過單線接口送入DSl8B20或從DSl8B20送出,因此從主機CPU到DSl8B20僅需一條線(和地線),DSl8B20的電源可以由數(shù)據(jù)線本身提供而不需要外部電源。因為每一個DSl8B20在出廠時已經(jīng)給定了唯一的序號,因此任意多個DSl8B20可以存放在同一條單線總線上,這允許在許多不同的地方放置溫度敏感器件。DSl8B20的測量范圍從-55到+125增量值為0.5可在ls(典型值)內把溫度變換成數(shù)字。二、單片機的中斷系統(tǒng)實驗外部中斷----脈沖計數(shù)實驗目的:學習單片機的外部中斷使用方法。內容:對外部中斷計數(shù)顯示。設備:EL-PreJob-I試驗箱、EXP-KEILC51CPU板。編程:首先第一步設置單片機的IO為輸入狀態(tài),第二步設置引腳的中斷觸發(fā)方式,一般設置為邊沿觸發(fā),第三步,設置外部中斷的優(yōu)先級,第四步,編寫中斷服務程序,包括中斷入口跳轉等,第五步,設置中斷使能,允許外部引腳觸發(fā)中斷。第六步,設置死循環(huán),主程序結束,交給中斷服務程序完成計數(shù)。步驟:1、將CPU板正確安放在CPU接口插座上。2、連線:用導線將MCU的INT0連接到單脈沖輸出孔P-,連接好仿真器。3、試驗箱上電,在PC機上打開KeilC環(huán)境,打開試驗程序文件夾EXT_INT1下的工程文件EXT_INT1.Uv2,編譯程序,上電,進入調試狀態(tài),按照程序注釋說明設置斷點,全速運行程序,每按下一次單脈沖開關Paulse,程序運行到斷點處一次,觀察寄存器R1的變化。單片機的定時器/計數(shù)器實驗1計數(shù)器實驗目的:學習單片機的定時/計數(shù)器的計數(shù)功能使用方法。內容:對外部單脈沖信號進行計數(shù),計數(shù)10個后產(chǎn)生計數(shù)中斷。設備:EL-PreJob-I試驗箱、EXP-KEILC51CPU板。編程:使用定時/計數(shù)器的計數(shù)功能,將外部時鐘信號加在計數(shù)器的計數(shù)時鐘輸入引腳上,當計數(shù)10次后,計數(shù)器溢出,觸發(fā)標志位,編程控制分頻輸出引腳電平翻轉,產(chǎn)生分頻后的時鐘信號。步驟:1、將CPU板正確安放在CPU接口插座上。2、連線:用導線將MCU的T0連接到DDS信號源的OUTPUT上(設置信號源的Vpp=2?5V之間;使之符合TTL電平的要求,高電平約在3?5V之間,低電平約在0?0.8V之間)。此外將跳線J8跳到T1位置,連接好仿真器。3、試驗箱上電,在PC機上打開KeilC環(huán)境,打開試驗程序文件夾COUNTER下的工程文件COUNTER.Uv2,編譯程序,上電,進入調試狀態(tài),單步運行程序觀察每條語句執(zhí)行后相關寄存器的變化。4、上電全速運行程序,用示波器的兩個通道觀察時鐘信號發(fā)生器的輸出信號OUTPUT和單片機的MCU_IO1的波形,比較二者的頻率關系實驗2秒時鐘發(fā)生器實驗目的:學習單片機的定時/計數(shù)器的定時功能使用方法。內容:產(chǎn)生頻率為0.5Hz的時鐘輸出。設備:EL-PreJob-I試驗箱、EXP-KEILC51CPU板。編程:使用定時/計數(shù)器的定時功能,時鐘源采用系統(tǒng)時鐘,根據(jù)時鐘源的頻率配置初值寄存器,使能定時器中斷,在中斷服務程序中翻轉一個IO引腳輸出,產(chǎn)生0.5Hz的時鐘輸出。步驟:1、將CPU板正確安放在CPU接口插座上。2、連線:用導線將MCU的MCU_IO1連接到發(fā)光二極管L1的輸入L1上,連接好仿真器。3、試驗箱上電,在PC機上打開KeilC環(huán)境,打開試驗程序文件夾TIMER_SECOND下的工程文件TIMER_SECOND.Uv2,編譯程序,上電,進入調試狀態(tài),單步運行程序觀察每條語句執(zhí)行后相關寄存器的變化。4、全速運行程序,觀察發(fā)光二極管的亮滅情況。5、備注:現(xiàn)在的單片機系統(tǒng)時鐘較高,難于產(chǎn)生1秒的定時中斷,所以,可以設置定時時間為50毫秒,在中斷服務程序中設置程序計數(shù),當累加到1秒后,控制輸出IO引腳電平翻轉,驅動發(fā)光二極管。四、單片機的串口特點和編程實驗PC機串口通訊實驗目的:學習單片機串口的使用方法。內容:與PC機實現(xiàn)通訊。設備:EL-PreJob-I試驗箱、EXP-KEILC51CPU板。編程:第一步,配置串口工作在8位,波特率可變異步通訊工作方式,波特率由定時器1確定,同時使能其中斷并清除其中斷標志位;第二步,配置定時器1,工作在8位自動重裝入模式,根據(jù)波特率計算其初值。第三步,編寫串口中斷服務程序,只處理接收中斷,對發(fā)送中斷只清除標志,不做其他處理。第四步,設置死循環(huán),交由中斷服務程序處理。步驟:1、將CPU板正確安放在CPU接口插座上。2、連線:用導線將MCU的TXD、RXD分別連接到RS232的232TXD、232RXD,用附帶的直連串口線連接試驗箱的DB9和計算機的串口,接好仿真器。3、試驗箱上電,在PC機上打開KeilC環(huán)境,打開試驗程序文件夾RS232下的工程文件RS232.Uv2,編譯程序,上電,進入調試狀態(tài),單步運行程序觀察每條語句執(zhí)行后相關寄存器的變化。4、打開PC機的超級終端,設置波特率115200、數(shù)據(jù)位8、無流控、無校驗等信息,PC機全速運行試驗程序,在超級終端里輸入可顯示字符,觀察超級終端的顯示,斷開連接的串口線,再輸入字符,觀察顯示有什么不同。5、備注:在串口中斷服務程序中,要清除中斷標志位。在發(fā)送數(shù)據(jù)前,要檢測發(fā)送狀態(tài)位在發(fā)送結束狀態(tài)。五、存儲器實驗RAM存儲器讀寫實驗目的:學習存儲器數(shù)據(jù)讀寫方法。內容:將內部RAM中的一段數(shù)據(jù)復制到另一RAM空間。設備:EL-PreJob-I試驗箱、EXP-KEILC51CPU板。編程:首先設置源的首地址和目的首地址,再設置數(shù)據(jù)塊的長度,設置一個變量,先從源讀取一個字節(jié),再寫入到目的地址中,如此循環(huán),直至到數(shù)據(jù)塊的長度。步驟:1、將CPU板正確安放在CPU接口插座上。2、連線:接好仿真器。3、試驗箱上電,在PC機上打開KeilC環(huán)境,打開試驗程序文件夾RAM下的工程文件RAM.Uv2,編譯程序,上電,進入調試狀態(tài),單步運行程序觀察每條語句執(zhí)行后相關寄存器的變化。4、按照注釋設置斷點,打開變量觀察窗口,全速運行試驗程序到斷點處,觀察2個數(shù)組內容的變化。5、備注:在匯編中,對內部存儲器的操作使用指令MOV,外部存儲器的操作使用MOVX和MOVC,其他相同。6、KeilC環(huán)境下觀察變量的方法:在地址框填寫:C:0000查看CODE區(qū)D:0000查看DATA區(qū)I:0000查看IDATA區(qū)X:0000查看XDATA區(qū)六、PWM發(fā)生器實驗PWM發(fā)生器(模擬)實驗目的:學習利用定時器和IO產(chǎn)生PWM的方法。內容:產(chǎn)生占空比變化的PWM波形輸出。設備:EL-PreJob-I試驗箱、EXP-KEILC51CPU板,示波器。編程:使用定時/計數(shù)器的定時功能,分別產(chǎn)生PWM的高電平和低電平。第一步,首先選擇使用單片機的定時/計數(shù)器0的定時功能,確定工作方式。第二步,根據(jù)PWM頻率要求確定初值。第三步,使能定時器的中斷。第四步,編寫定時器中斷服務程序,確定PWM波形高低電平的保持時間,控制IO引腳輸出翻轉電平。做一個死循環(huán),一切交給中斷處理。步驟:1、將CPU板正確安放在CPU接口插座上。2、連線:連接好仿真器。3、試驗箱上電,在PC機上打開KeilC環(huán)境,打開試驗程序文件夾PWM_IO下的工程文件PWM_IO.Uv2,編譯程序,上電,進入調試狀態(tài),單步運行程序觀察每條語句執(zhí)行后相關寄存器的變化。4、全速運行程序,用示波器的單片機的MCU_IO1的波形。5、備注:定時器產(chǎn)生中斷的定時時間是PWM波形占空比調整的最小單位,即分辨率,在定時器中斷服務程序中對中斷計數(shù),控制IO電平的翻轉。七、WDG看門狗實驗1外擴WDG(MAX813)實驗目的:學習外擴看門狗控制器的使用方法。內容:配置外擴看門狗電路。設備:EL-PreJob-I試驗箱、EXP-KEILC51CPU板。編程:配置一個IO輸出翻轉電平信號喂狗,配置一個IO輸出驅動發(fā)光二極管顯示狀態(tài)。步驟:1、將CPU板正確安放在CPU接口插座上。2、用導線將MCU的MCU_IO1、MCU_IO2分別連接到WDG的WDI和發(fā)光二極管L1的輸入孔L1上,用導線將WDG的RST_OUT連接到MCU的RST上。連接好仿真器。3、試驗箱上電,在PC機上打開KeilC環(huán)境,打開試驗程序文件夾EXT_WDG下的工程文件EXT_WDG.Uv2,編譯程序,上電,進入調試狀態(tài),單步運行程序觀察每條語句執(zhí)行后相關寄存器的變化。4、將CPU板上的仿真芯片換成可燒錄的芯片AT89S52,通過ISP電纜燒錄HEX文件。復位后運行程序,觀察發(fā)光二極管在上電時亮一次,然后保持熄滅狀態(tài)。去除MCU_IO1到WDI的連線,觀察發(fā)光二極管會重復亮滅。5、備注:在程序開始處,點亮發(fā)光二極管約1秒鐘,在程序正常運行中,發(fā)光二極管熄滅,如果在設定的時間內不能喂狗,程序回到開始處運行,重新點亮發(fā)光二極管。實驗2WDG(內部)實驗目的:學習內部看門狗控制器的使用方法。內容:配置內部看門狗。設備:EL-PreJob-I試驗箱、EXP-KEILC51CPU板。編程:配置一個IO輸入信號控制信號,控制喂狗。步驟:1、將CPU板正確安放在CPU接口插座上。2、連線:用導線將MCU的MCU_IO1、MCU_IO2分別連接到平推開關K1的輸出插孔K1和發(fā)光二極管L1的輸入孔L1上。連接好仿真器。3、試驗箱上電,在PC機上打開KeilC環(huán)境,打開試驗程序文件夾INT_WDG下的工程文件INT_WDG.Uv2,編譯程序,上電,進入調試狀態(tài),單步運行程序觀察每條語句執(zhí)行后相關寄存器的變化。4、將CPU板上的仿真芯片換成可燒錄的芯片AT89S52,通過ISP電纜燒錄HEX文件。復位后運行程序,把平推開關K1撥到H側,觀察發(fā)光二極管L1的狀態(tài)。把平推開關K1撥到L側,比較發(fā)光二極管L1的狀態(tài)變化。5、備注:在程序開始處,點亮發(fā)光二極管約1秒鐘,在程序正常運行中,發(fā)光二極管熄滅,如果在設定的時間內不能喂狗,程序回到開始處運行,重新點亮發(fā)光二極管。八、SPI總線實驗1SPI(模擬)實驗-----TLC2543AD轉換實驗目的:學習SPI總線通訊編程方法、串行AD應用。內容:利用SPI總線配置AD轉換芯片,并讀取轉換結果。設備:EL-PreJob-I試驗箱、EXP-KEILC51CPU板。編程:編程3個IO引腳為輸出,一個IO為輸入;3個輸出引腳一個模擬CLK,一個模擬CS,另一個模擬DO,1個輸入引腳模擬DI。根據(jù)芯片的技術資料,模擬輸出3個輸出引腳的時序。步驟:1、將CPU板正確安放在CPU接口插座上。2、用導線將MCU的MCU_IO1--MCU_IO5分別連接到AD的AD_CS、AD_CLK、D_IN、D_OUT、AD_EOC,用導線將AD_IN1連接到0ANOUT.。連接好仿真器。3、試驗箱上電,在PC機上打開KeilC環(huán)境,打開試驗程序文件夾EXT_ADC下的工程文件EXT_ADC.Uv2,編譯程序,上電,進入調試狀態(tài),單步運行程序觀察每條語句執(zhí)行后相關寄存器的變化。4、上電,運行程序,在程序的注釋處設置斷點,全速運行程序到斷點,調節(jié)輸入的模擬量,觀察30H、31H單元中的數(shù)的變化實驗2SPI(模擬)實驗-----TLV5616DA轉換實驗目的:學習SPI總線通訊編程方法、串行DA應用。內容:利用SPI總線配置DA轉換芯片,并用萬用表測量輸出電壓值。設備:EL-PreJob-I試驗箱、EXP-KEILC51CPU板。編程:編程4個IO引腳為輸出,4個輸出引腳:一個模擬CLK,一個模擬CS,一個模擬DATA另一個模擬FS。根據(jù)芯片的技術資料,模擬出4個輸出引腳的時序。步驟:1、將CPU板正確安放在CPU接口插座上。2、用導線將MCU的MCU_IO1--MCU_IO4分別連接到DA的DA_CS、DA_CLK、DA_IN、DA_FS,用導線將DA_REF連接到插孔Vref2.5V。連接好仿真器。3、試驗箱上電,在PC機上打開KeilC環(huán)境,打開試驗程序文件夾EXT_DAC下的工程文件EXT_DAC.Uv2,編譯程序,上電,進入調試狀態(tài),單步運行程序觀察每條語句執(zhí)行后相關寄存器的變化。4、上電,全速運行程序,用萬用表觀察插孔DA_OUT的電壓值;再修改程序中31H-30H單元的值,看電壓值的變化。九、I2C總線實驗I2C(模擬)實驗-----IC卡(AT24C01)讀寫實驗目的:學習I2C總線通訊編程方法。內容:利用I2C總線讀取存儲器IC卡(AT24C01)的數(shù)據(jù)。設備:EL-PreJob-I試驗箱、EXP-KEILC51CPU板。編程:編程2個IO引腳模擬I2C總線,按照AT24C01的操作時序,訪問AT24C01存儲器的內容。步驟:1、將CPU板正確安放在CPU接口插座上。2、連線:用導線將MCU的MCU_IO1--MCU_IO4分別連接到IC_CARD的CARD_SCK、CARD_SDA、CARD_DET、CARD_PWR。連接好仿真器。3、試驗箱上電,在PC機上打開KeilC環(huán)境,打開試驗程序文件夾IIC_CARD下的工程文件IIC_CARD.Uv2,編譯程序,上電,進入調試狀態(tài),單步運行程序觀察每條語句執(zhí)行后相關寄存器的變化。4、試驗箱上電,按照注釋設置斷點,插入IC卡,全速運行程序到斷點處,觀察30H-36H單元的數(shù)據(jù)是否與寫入數(shù)據(jù)一致!十、綜合實驗所謂混合總線,是指由3線組成的總線:CS、CLK、IO,典型應用是芯片HD7279,特別分出來單獨實驗。實驗1HD7279LED數(shù)碼管顯示實驗目的:學習HD7279的通訊方法。內容:利用IO向HD7279寫入控制命令和數(shù)據(jù)。設備:EL-PreJob-I試驗箱、EXP-KEILC51CPU板。編程:配置IO,向HD7279寫入控制命令,控制數(shù)碼管的顯示。步驟:1、將CPU板正確安放在CPU接口插座上。2、連線:用導線將MCU的MCU_IO1----MCU_IO3分別連接到HD7279的7279_CS、7279_CLK、7279_DATA。用導線將HD7279的7279_A、7279_B、7279_C、7279_D、7279_E、7279_F、7279_G、7279_DP分別連接到LEDDISP的LED_A、LED_B、LED_C、LED_D、LED_E、LED_F、LED_G、LED_DP;用導線將HD7279的7279_C1、7279_C2、7279_C3、7279_C4分別連接到LEDDISP的LED_C1、LED_C2、LED_C3、LED_C4。連接好仿真器。3、試驗箱上電,在PC機上打開KeilC環(huán)境,打開試驗程序文件夾HD7279DISP下的工程文件HD7279DISP.Uv2,編譯程序,上電,進入調試狀態(tài),單步運行程序觀察每條語句執(zhí)行后相關寄存器的變化。4、全速運行程序,觀察LED數(shù)碼管的顯示變化。實驗2HD7279鍵盤實驗目的:學習實驗2HD7279鍵盤實驗內容:利用總線向HD7279寫入控制命令并顯示鍵值。設備:EL-PreJob-I試驗箱、EXP-KEILC51CPU板。編程:配置2個IO輸出作為SPI的CS和CLK,配置1個IO做I2C的LDA。使能外部中斷,并將中斷引腳連接到HD7279的中斷輸出INT上。步驟:1、將CPU板正確安放在CPU接口插座上。2、連線:用導線將MCU的MCU_IO1----MCU_IO3、INT0分別連接到HD7279的7279_CS、7279_CLK、7279_DATA、7279_KEY;用導線將HD7279的7279_A、7279_B、7279_C、7279_D、7279_E、7279_F、7279_G、7279_DP分別連接到LEDDISP的LED_A、LED_B、LED_C、LED_D、LED_E、LED_F、LED_G、LED_DP;用導線將HD7279的7279_C1、7279_C2、7279_C3、7279_C4分別連

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論