2024年gpio輸出控制實(shí)驗(yàn)報告流水燈5篇_第1頁
2024年gpio輸出控制實(shí)驗(yàn)報告流水燈5篇_第2頁
2024年gpio輸出控制實(shí)驗(yàn)報告流水燈5篇_第3頁
2024年gpio輸出控制實(shí)驗(yàn)報告流水燈5篇_第4頁
2024年gpio輸出控制實(shí)驗(yàn)報告流水燈5篇_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第頁2024年gpio輸出控制實(shí)驗(yàn)報告流水燈5篇

篇一:gpio輸出控制實(shí)驗(yàn)報告流水燈

IO口實(shí)現(xiàn)LED燈閃爍一、實(shí)驗(yàn)?zāi)康模?/p>

1.正確安裝keil軟件2.正確安裝調(diào)試驅(qū)動,熟悉實(shí)驗(yàn)板的用法3.學(xué)習(xí)IO口的使用方法。

二、實(shí)驗(yàn)設(shè)備:

單片機(jī)開發(fā)板、學(xué)生自帶筆記本電腦三、

實(shí)驗(yàn)內(nèi)容:

利用單片機(jī)IO口做輸出,接發(fā)光二極管,編寫程序,使發(fā)光二極管按照要求點(diǎn)亮。

四、實(shí)驗(yàn)原理:

1.LPC1114一共有42個GPIO,分為4個端口,P0、P1、P2口都是12位的寬度,引腳從Px.0~Px.11,P3口是6位的寬度,引腳從P3.0~P3.5。引腳的內(nèi)部構(gòu)造如圖所示。其中Rpu為上拉電阻、Rpd為下拉電阻。

2.為了節(jié)省芯片的空間和引腳的數(shù)目,LPC1100系列微處理器的大多數(shù)引腳都采用功能復(fù)用方式,用戶在使用某個外設(shè)的時候,要先設(shè)置引腳??刂埔_設(shè)置的寄存器

稱之為IO配置寄存器,每個端口管腳PIOn_m都分配一個了一個IO配置寄存器IOCON_PIOn_m,以控制管腳功能和電氣特性。

3.IOCON_PIOn_m寄存器其位域定義如表所列。

位域符號描述2:0FUNC選擇管腳功能000:選擇功能1001:選擇功能2(如果未定義功能2,則保留)

010:選擇功能3(如果未定義功能3,則保留)

011:選擇功能4(如果未定義功能4,則保留)

100~111:保留4:3MODE選擇功能模式(片內(nèi)上拉/下拉電阻控制)

00:無效模式(無上拉和下拉電阻被允許)

01:允許下拉電阻10:允許上拉電阻11:中繼模式5

HYS滯后模式1:禁止0:允許6-保留,復(fù)位值為17ADMODE選擇模擬/數(shù)字模式(無AD功能,則保留,復(fù)位值為1)

0:模擬輸入模式1:數(shù)字功能模式9:8

I2CMODE選擇為I2C模式00:標(biāo)準(zhǔn)I2C模式/快速I2C模式(默認(rèn))

01:標(biāo)準(zhǔn)I/O功能

10:FM+I2C模式11:保留31:8-保留,復(fù)位值為0

4.各引腳IOCON寄存器的位[2:0]配置不同的值所相應(yīng)功能。

5.GPIO寄存器GPIO數(shù)據(jù)寄存器用于讀取輸入管腳的狀態(tài)數(shù)據(jù),或配置輸出管腳的輸出狀態(tài),表5-5對GPIOnDATA寄存器位進(jìn)行描述。

位符號訪問描述11:0DATAR/W管腳PIOn_0~PIOn_11輸入數(shù)據(jù)(讀)或輸出數(shù)據(jù)(寫)

31:12--保留GPIO的數(shù)據(jù)方向的設(shè)置是通過對GPIOnDIR寄存器的位進(jìn)行與或操作實(shí)現(xiàn)的,LPC1100微處理器和8051單片機(jī)的GPIO不同,在使用前一定要先設(shè)置數(shù)據(jù)方向才能使用,位符號訪問值描述11:0IOR/W0引腳PIOn_0~PIOn_11配置為輸入1引腳PIOn_0~PIOn_11配置為輸出31:12---保留

6.發(fā)光二級管的工作電壓和工作電流如何?_______________________________________________________________________________________________________________________________________________________________________________________________________________________________。

7.發(fā)光二極管的限流電阻如何計(jì)算?__________________________________________________________________________。

五、實(shí)驗(yàn)原理圖:

六、實(shí)驗(yàn)步驟:

一、基本要求

1、默寫發(fā)光二極管閃爍程序。

二、擴(kuò)展要求

1.查找關(guān)于呼吸燈的資料,弄懂呼吸燈工作原理。

2.自行編寫呼吸燈代碼,在實(shí)驗(yàn)板子上面驗(yàn)證。

七、程序框圖:

八、供參考程序:

/*************************************************************************/

#includeLPC11XX.H

//頭文件

#defineLED1_ON()

(LPC_GPIO1->DATA=~(1<<0))

//點(diǎn)亮連接到P1.0的LED#defineLED1_OFF()(LPC_GPIO1->DATA|=(1<<0))

//熄滅連接到P1.0的LED#defineLED2_ON()

(LPC_GPIO1->DATA=~(1<<1))

//點(diǎn)亮連接到P1.1的LED#defineLED2_OFF()(LPC_GPIO1->DATA|=(1<<1))

//熄滅連接到P1.1的LED/***************************************************************************FunctionName

:Delay()*Description

:延時函數(shù)*EntryParameter:None*ReturnValue

:None**************************************************************************/voidDelay()

{

uint16_ti,j;

for(i=0;i<5000;i++)

for(j=0;j<200;j++);}/***************************************************************************FunctionName

:LedInit()*Description

:初始化LED引腳*EntryParameter:None*ReturnValue

:None**************************************************************************/voidLedInit(void){

LPC_SYSCON->SYSAHBCLKCTRL|=(1<<16);//使能IOCON時鐘

LPC_IOCON->R_PIO1_0=~0x07;

LPC_IOCON->R_PIO1_0|=0x01;//把P1.0腳設(shè)置為GPIO

LPC_IOCON->R_PIO1_1=~0x07;

LPC_IOCON->R_PIO1_1|=0x01;//把P1.1腳設(shè)置為GPIO

LPC_SYSCON->SYSAHBCLKCTRL=~(1<<16);//禁能IOCON時鐘

LPC_GPIO1->DIR|=(1<<0);//把P1.0設(shè)置為輸出引腳

LPC_GPIO1->DATA|=(1<<0);//把P1.0設(shè)置為高電平

LPC_GPIO1->DIR|=(1<<1);//把P1.1設(shè)置為輸出引腳

LPC_GPIO1->DATA|=(1<<1);//把P1.1設(shè)置為高電平}/***************************************************************************FunctionName

:main()*Description

:主函數(shù)*EntryParameter:None*ReturnValue

:None**********************************************************************/intmain(void)

{

LedInit();

while(1)

{

Delay();

LED1_ON();

LED2_OFF();

Delay();

LED1_OFF();

LED2_ON();

}

}

篇二:gpio輸出控制實(shí)驗(yàn)報告流水燈

IO輸出控制實(shí)驗(yàn)11、實(shí)驗(yàn)?zāi)康?/p>

(1)

掌握LPC2200專用工程模塊的使用(2)

掌握EASYJTAG仿真器的安裝與使用(3)

在開發(fā)平臺上運(yùn)行第一個程序(4)

熟悉ARM7的GPIO控制2、實(shí)驗(yàn)設(shè)備

硬件:

PC機(jī)

一臺

MAGICARM2200-S教學(xué)實(shí)驗(yàn)開發(fā)平臺

一套

軟件:

Windows98/XP/2000系統(tǒng),ADS1.2集成開發(fā)環(huán)境3、實(shí)驗(yàn)內(nèi)容控制開發(fā)平臺的蜂鳴器報警。

4、原理圖:

5、源代碼:

/*****************************************************************************文件名:main.c*功

能:蜂鳴器控制。對蜂鳴器B1進(jìn)行控制,采用軟件延時方法。

*

使用I/O口直接控制,采用灌電流方式。

*說

明:短接蜂鳴器跳線JP7。斷開CF卡跳線JP13、GPIO接口J17。

****************************************************************************/#include

config.h#define

BEEPCON

0x00000080

//P0.7引腳控制B1,低電平蜂鳴

/****************************************************************************

*名

稱:DelayNS()*功

能:長軟件延時。

*入口參數(shù):dly

延時參數(shù),值越大,延時越久*出口參數(shù):無****************************************************************************/void

DelayNS(uint32

dly){

uint32

i;

for(;dly>0;dly--)

{

for(i=0;i<5000;i++);

}}

/*****************************************************************************名

稱:main()*功

能:控制蜂鳴器蜂鳴。

****************************************************************************/int

main(void){

PINSEL0=0x00000000;

//設(shè)置管腳連接GPIO

IO0DIR=BEEPCON;

//設(shè)置I/O為輸入輸出模式

//設(shè)置P0.7為輸出

while(1)

{

IO0SET=BEEPCON;

//BEEPCON=1

DelayNS(15);

IO0CLR=BEEPCON;

//BEEPCON=0

DelayNS(15);

}

return(0);}/******************************************************************************GPIO輸出控制實(shí)驗(yàn)21、實(shí)驗(yàn)?zāi)康?/p>

熟悉ARM的的GPIO控制

2、實(shí)驗(yàn)設(shè)備

硬件:

PC機(jī)

一臺

MAGICARM2200-S教學(xué)實(shí)驗(yàn)開發(fā)平臺

一套

軟件:

Windows98/XP/2000系統(tǒng),ADS1.2集成開發(fā)環(huán)境3、實(shí)驗(yàn)內(nèi)容制控制LED顯示4、原理圖

5、源代碼:

/*****************************************************************************文件名:main.c*功

能:LED顯示控制。

*

通過GPIO直接控制8個LED產(chǎn)生流水燈效果*說

明:短接LED跳線JP5。

*

這個警告可忽略,C2892E:signedconstantoverflow****************************************************************************/#include

config.h#define

LED1

1<<16

//P1.16

#define

LED2

1<<17

//P1.17

#define

LED3

1<<18

//P1.18

#define

LED4

1<<19

//P1.19

#define

LED5

1<<20

//P1.20

#define

LED6

1<<21

//P1.21

#define

LED7

1<<22

//P1.22

#define

LED8

1<<23

//P1.23

#define

LEDCON0x00ff0000

constuint32

DISP_TAB[8]={0xff01ffff,0xff02ffff,0xff04ffff,0xff08ffff,

0xff10ffff,0xff20ffff,0xff40ffff,0xff80ffff};

/*****************************************************************************名

稱:DelayNS()*功

能:長軟件延時*入口參數(shù):dly

延時參數(shù),值越大,延時越久*出口參數(shù):無****************************************************************************/void

DelayNS(uint32

dly){

uint32

i;

for(;dly>0;dly--)

{

for(i=0;i<5000;i++);

}}

/*****************************************************************************名

稱:main()*功

能:根據(jù)表DISP_TAB來控制LED顯示。

****************************************************************************/int

main(void){

uint8

i;

PINSEL1=0x00000000;

//端口配置為GPIO

IO1DIR=LEDCON;

//配置LED控制I/O方向?yàn)檩敵?/p>

while(1)

{

for(i=0;i<8;i++)

{

IO1CLR=DISP_TAB[i];

//輸出LED顯示數(shù)據(jù)

DelayNS(10);

//延時

IO1SET=0xffffffff;

//全部輸出高電平

}

}

return(0);}/******************************************************************************

篇三:gpio輸出控制實(shí)驗(yàn)報告流水燈

I/O口輸出實(shí)驗(yàn)LED流水燈實(shí)驗(yàn)一、實(shí)驗(yàn)要求

利用51單片機(jī)及8個發(fā)光二極管等器件,構(gòu)成一個流水燈單片機(jī)系統(tǒng)。

二、實(shí)驗(yàn)?zāi)康?/p>

11、掌握單片機(jī)最小系統(tǒng)的構(gòu)成;22、掌握I/O口的使用及驅(qū)動能力的概念;33、熟悉移位指令和軟件延時程序。

三、實(shí)驗(yàn)電路及連線

1、Proteus實(shí)驗(yàn)電路

22、硬件驗(yàn)證實(shí)驗(yàn)(51板+006板)

CPU板006板P1.0LED1P1.1LED2P1.2LED3P1.3LED4P1.4LED5P1.5LED6P1.6LED7P1.7LED8+5V+5VGNDGND

四、實(shí)驗(yàn)說明1、主要知識點(diǎn)概述:

本實(shí)驗(yàn)涉及到三個知識點(diǎn):單片機(jī)最小系統(tǒng)的構(gòu)成、單片機(jī)I/O口的使用以及軟件延時程序的編寫。

1)單片機(jī)最小系統(tǒng)由單片機(jī)芯片、時鐘電路以及復(fù)位電路構(gòu)成。

2)I/O口的使用:P1口是準(zhǔn)雙向口。它作為輸出口時與一般的雙向口使用方法相同,即當(dāng)P1口用為輸入口時,必須先對它置1。若不先對它置1,讀入的數(shù)據(jù)可能是不正確的。

3)延時子程序的延時計(jì)算問題。對于程序

DELAY:

MOV

R6,#200

DEL1:

MOV

R7,#250

DEL2:

DJNZ

R7,DEL2

DJNZ

R6,DEL1

RET由指令表可知MOV、DJNZ指令均需用兩個機(jī)器周期,在采用12MHz晶振時,一個機(jī)器周期時間長度為1us,所以該段程序執(zhí)行時間約為:[(250*2+2)*200+2]*1us=1000402≈100ms

2、實(shí)驗(yàn)效果說明:

發(fā)光二級管進(jìn)行流水燈操作,從上到下依次點(diǎn)亮。

五、實(shí)驗(yàn)流程圖

六、實(shí)驗(yàn)步驟1、Proteus仿真a、在Proteus中打開設(shè)計(jì)文檔流水燈.DSN;b、建立實(shí)驗(yàn)程序并編譯,加載hex文件,仿真;

c、如不能正常工作,打開調(diào)試窗口進(jìn)行調(diào)試

參考程序:

ORG

00HSTART:

MOV

R2,#8

MOV

A,#0FEHLOOP:

MOV

P1,A

LCALL

DELAY

RL

A

;循環(huán)左移DEC

R2JNZ

LOOP

;判斷移動是否超過8位,未超過繼續(xù)循環(huán)

LJMP

STARTDELAY:

MOV

R5,#20

;延時程序,延時0.2s否是開

始R2=8,ACC=0FEH延時0.2SP1=ACCACC左移一次,R2=R2-1R2=0?

D1:

MOV

R6,#20D2:

MOV

R7,#248

DJNZ

R7,$

;跳轉(zhuǎn)到本句

DJNZ

R6,D2

DJNZ

R5,D1

RET

END

22、實(shí)驗(yàn)板驗(yàn)證

a、用ISP下載hex程序到CPUb、按連接表連接電路c、檢查驗(yàn)證結(jié)果

3、擴(kuò)展實(shí)驗(yàn)a.改變延時時間為1s

b.改變流水燈流動方向c.

改變流水燈的流動樣式設(shè)計(jì)流程和程序:

七、實(shí)驗(yàn)結(jié)果和體會

八、建議

篇四:gpio輸出控制實(shí)驗(yàn)報告流水燈

大學(xué)物理與電子信息工程學(xué)院楊衛(wèi)波嵌入式系統(tǒng)原理與應(yīng)用第3章GPIO入門之流水燈

02:27嵌入式系統(tǒng)原理與應(yīng)用2CortexM3的兩種主流開發(fā)環(huán)境•IAREmbeddedWorkbenchforARM(EWARM)–IARSystems公司為ARM微處理器開發(fā)的一個集成開發(fā)環(huán)境–入門容易、使用方便、代碼緊湊–IAR針對各種單片機(jī)和嵌入式處理器均有相應(yīng)的版本,通用性好•RealViewMDK(RVMDK)–德國KEIL公司公司專門為ARM開發(fā)的集成開發(fā)環(huán)境–功能齊全,但通用性稍差

基于ARM的RealViewMDK開發(fā)環(huán)境•MDK(MicrocontrollerDevelopmentKit)是Keil公司(現(xiàn)在已經(jīng)被ARM公司收購)開發(fā)的ARM開發(fā)工具。Keil開發(fā)工具早期用于51家族單片機(jī)的開發(fā)。•MDK包含了工業(yè)標(biāo)準(zhǔn)的KeilC編譯器、宏匯編器、調(diào)試器、實(shí)時內(nèi)核等組件。其調(diào)試功能強(qiáng)大,能夠精確地仿真整個微控制器,包括其片上外設(shè)。•MDK的最新版本是uVision4.72,利用它既可以開發(fā)龐大的51家族單片機(jī)系統(tǒng),又可以開發(fā)基于ARM7、ARM9、以及Cortex-M3的微控制器應(yīng)用程序。

3.1安裝MDK02:27嵌入式系統(tǒng)原理與應(yīng)用4新建工程之前先要把MDK這個軟件安裝好,這里用的版本是V4.12,在安裝完成后可以在工具欄help->aboutuVision選項(xiàng)卡中查看到版本信息。選項(xiàng)卡中查看到版本信息。

RealViewMDK集成開發(fā)環(huán)境總攬

RealviewMDK的使用使用RealviewMDK創(chuàng)建、完成一個新的工程需要以下幾個環(huán)節(jié):1.選擇工具集2.創(chuàng)建工程并選擇處理器3.創(chuàng)建源文件4.配置硬件選項(xiàng)5.配置對應(yīng)啟動代碼6.編譯鏈接7.模擬調(diào)試8.文件下載聯(lián)機(jī)調(diào)試

選擇Project→NewProject,輸入創(chuàng)建的新工程的文件名,即可創(chuàng)建一個新的工程。創(chuàng)建一個新工程時,需要為工程選擇一款對應(yīng)處理器,或者也可以通過單擊Project-SelectDeviceforTarget在本課程中,我們選擇STM32F103ZE3.2

建立工程模板

加入CPU的相關(guān)啟動代碼啟動代碼是用來初始化目標(biāo)設(shè)備的配置,完成運(yùn)行時系統(tǒng)的初始化工作,對于嵌入式系統(tǒng)開發(fā)而言是必不可少的。一般而言,對于一種結(jié)構(gòu)的啟動代碼是用來初始化目標(biāo)設(shè)備的配置,完成運(yùn)行時系統(tǒng)的初始化工作,對于嵌入式系統(tǒng)開發(fā)而言是必不可少的。一般而言,對于一種結(jié)構(gòu)的CPU,系統(tǒng)的啟動代碼是通用的。這段代碼是,系統(tǒng)的啟動代碼是通用的。這段代碼是CPU復(fù)位后首先要執(zhí)行的代碼,通常以匯編格式編寫,由芯片廠家或者編譯器工具設(shè)計(jì)方直接提供,用戶基本不用任何改動即可使用。這里選擇編寫,由芯片廠家或者編譯器工具設(shè)計(jì)方直接提供,用戶基本不用任何改動即可使用。這里選擇否

•一個工程為了方便管理和設(shè)置不同配置,把里面的文件分成文件組,一個組內(nèi)文件可以整體進(jìn)行有關(guān)配置。•在ProjectWorkspace→Files菜單項(xiàng)中選擇文件組,右擊將會彈出如圖所示的快捷菜單,單擊選項(xiàng)AddFilestoGroup打開一個標(biāo)準(zhǔn)文件對話框,將已創(chuàng)建好的源文件加入到工程中。文件組和工程文件的加入

工程總體有個配置頁面,可以對各個部分進(jìn)行配置•硬件選項(xiàng)配置單擊菜單項(xiàng)Project→OptionsforTarget,或點(diǎn)擊右側(cè)的按鈕,在彈出的Target頁面中可指定目標(biāo)硬件和所選擇設(shè)備片內(nèi)組件的相關(guān)參數(shù),處理器配置對話框如圖。工程總體配置

輸出文件設(shè)置

02:27嵌入式系統(tǒng)原理與應(yīng)用12

3.2.2配置J-LINK硬件調(diào)試•J-Link是SEGGER公司為支持仿真ARM內(nèi)核芯片推出的JTAG仿真器??梢耘浜螴AREWAR,ADS,Keil,WINARM,RealView等集成開發(fā)環(huán)境,支持所有ARM7/ARM9/ARM11,CortexM0/M1/M3/M4,CortexA4/A8/A9等內(nèi)核芯片的仿真,尤其能與IAR,Keil等編譯環(huán)境無縫連接,操作、連接方便,簡單易學(xué),價格低廉,是學(xué)習(xí)開發(fā)ARM最好最實(shí)用的開發(fā)工具。•目前最新版本是V9.1。

仿真器驅(qū)動配置,可以模擬仿真也可以使用硬件調(diào)試器。如右圖:仿真器下載應(yīng)用程序配置下圖:調(diào)試配置

工具選項(xiàng)(Utilities)主要設(shè)置Flash的下載選項(xiàng)Utilities配置對話框,右圖Flash下載選項(xiàng)設(shè)置,下圖選擇Flash編程算法,一般選擇對應(yīng)芯片即可。工具配置

02:27嵌入式系統(tǒng)原理與應(yīng)用163.3如何編譯和下載程序Translate按鈕:就是編譯當(dāng)下修改過的文件,即檢査一下有沒有語法錯誤,既不鏈接庫文件,也不會生成可執(zhí)行文件。Build按鈕:就是編譯當(dāng)下修改過的工程,它包含廠語法檢查、鏈接動態(tài)庫文件、生成可執(zhí)行文件。Rebuild按鈕:即重新編譯整個工程,與Build這個按鈕實(shí)現(xiàn)的功能是一樣的,不同的是它重新編譯整個工程的所有文件,耗時巨大。

3.3.2如何下載程序點(diǎn)擊MDK工具欄中的Load按鈕就可將編譯好的程序下載到開發(fā)板的Flash

篇五:gpio輸出控制實(shí)驗(yàn)報告流水燈

IO實(shí)驗(yàn)

1、LED閃爍

2、LED流水燈

3、繼電器控制

1、GPIO設(shè)定

2、輸入與輸出及其處理

仔細(xì)預(yù)讀實(shí)驗(yàn)指導(dǎo)電子文檔的實(shí)驗(yàn)一到三及其前面的實(shí)驗(yàn)流程

KeilC51軟件、ICE52仿真驅(qū)動、MEFlash編程軟件、USB驅(qū)動程序

實(shí)驗(yàn)一

LED閃爍實(shí)驗(yàn)任務(wù):

1)

P0、P2端口的LED亮300ms,滅300ms,如此循環(huán)

2)

發(fā)光二極管在不停地一亮一滅,時間間隔為300ms,形成閃爍效果實(shí)驗(yàn)步驟:

1)

首先安裝好相應(yīng)的軟件和驅(qū)動程序

2)

連接好ME850:

將隨機(jī)USB線的扁頭端連接至計(jì)算機(jī)的USB接口,方頭端連接到ME850的USB插座上

3)

將電源開關(guān)SW1撥到USB端,電源指示燈PWR亮,表明已經(jīng)正常接通電源可以做實(shí)驗(yàn)了

4)

將JP1(MCU類型選擇跳線,位于鎖緊插座的手柄旁邊)

的跳線帽短接在51的位置,JP9的跳線帽全部插上;

5)

將AT89S52單片機(jī)芯片放入ME850的鎖緊插座

6)

驅(qū)動MEFlash軟件,正常打開后軟件右下角會顯示實(shí)驗(yàn)儀的型號和連接狀態(tài)

7)

在軟件中點(diǎn)擊器件按鈕,選擇型號AT89S52

8)

在軟件中點(diǎn)擊加載按鈕,定位到產(chǎn)品光盤Emamples_A51\EX1_LED\LED.hex,點(diǎn)擊打開,彈出加載文件對話框,按默認(rèn)點(diǎn)擊確定即可

9)

在軟件中點(diǎn)擊擦除按鈕,再點(diǎn)擊編程按鈕,編輯完畢,即可看到16個發(fā)光二極管都在閃爍了匯編源程序:

ORG

0000H

;初始地址為0000H

AJMP

MAIN

;跳轉(zhuǎn)到MAIN

ORG

0050H

;初始地址為0050HMAIN:

MOV

P0,#OFFH

;初始化P0

MOV

P2,#OFFH

;初始化P2LOOP:

MOV

P0,#O0H

;為P0賦值0

MOV

P2,#OOH

;為P2賦值0

ACALL

DELAY

;調(diào)用子程序DELAY

MOV

P0,#OFFH

;為P0賦值

MOV

P2,#OFFH

;為P2賦值

ACALL

DELAY

;調(diào)用子程序DELAY

AJMP

LOOP

;跳轉(zhuǎn)到LOOPDELAY:

MOV

R5,#3

;將3賦給寄存器R5DEL1:

MOV

R6,#200

;將200賦給寄存器R6

DEL2:

MOV

R7,#230

;將230賦給寄存器R7DEL3:

DJNZ

R7,DEL3

;第一層循環(huán)

DJNZ

R6,DEL2

;第二層循環(huán)

DJNZ

R5,DEL1

;第三層循環(huán)

RET

;返回

END

;結(jié)束試驗(yàn)流程圖:

實(shí)驗(yàn)結(jié)果:

1)

P0、P2端口的LED亮300ms,滅300ms,如此循環(huán)

2)

發(fā)光二極管在不停地一亮一滅,時間間隔為300ms,形成閃爍效果P0、P2端口初始化P0、P2端口送低電平所有LED點(diǎn)亮延時300msP0、P2端口送高電平所有LED熄滅延時300ms

問題解決及討論:

1)

JP24沒有切換到OFF端,結(jié)果P0口的8個LED不閃爍。

原因是被1602LED干擾

2)

沒有正確加載燒寫文件。

必須是先選芯片在加載文件

3)

芯片型號沒有選擇正確。

可重新選擇型號

4)

沒有放置芯片。

先放芯片,再壓下鎖緊座手柄鎖緊

5)

芯片損壞。

換新的芯片重試實(shí)驗(yàn)二

流水燈實(shí)驗(yàn)任務(wù):

P0、P2端口的LED先從從右至左方向依次點(diǎn)亮,再從左至右方向依次點(diǎn)亮,如此循環(huán)形成流水燈效果實(shí)驗(yàn)步驟:

1、首先在硬盤上建立一個文件夾;

2、啟動KeilC51軟件;

3、執(zhí)行KeilC51軟件的菜單Project|NewProject,彈出一個名為CreateNewProject的對話框。

輸入工程文件名,選擇保存路徑uv2后綴,點(diǎn)擊保存按鈕;

4、緊接著彈出OptionsforTargetTarget1’,為剛才的項(xiàng)目選擇ATMEL的AT89S52的CPU。

選擇之后,點(diǎn)擊確定按鈕;

5、接下來彈出一個對話框提示你是否要把標(biāo)準(zhǔn)8051的啟動代碼添加項(xiàng)目中去,此時,點(diǎn)擊否按鈕;

6、執(zhí)行菜單File|New,出現(xiàn)一個名為Text1的文檔。

接著執(zhí)行菜單File|Save彈出一個名為SaveAs的對話框,將文件名改為.asm后綴,然后保存;

7、添加源程序文件到工程中,一個空的源程序文件建成。

單擊KeilC51軟件左邊項(xiàng)目工作窗口Target1上的+,將其展開。

然后右擊SourceGroup1文件夾彈出下拉菜單,單擊其中的AddFilestoGroupSourceGroup1’項(xiàng);

8、在彈出的對話框中先選擇文件類型為AsmSourcefile(*.s*;*.src;*.a*),這時對話框內(nèi)創(chuàng)建的空的源程序文件已經(jīng)出現(xiàn)在項(xiàng)目工作窗口的SourceGroup1文件夾中;

輸入源程序代碼;

9、點(diǎn)擊工具欄Optionsfortarget按鈕,彈出一個對話框,定義Xtal為11.0592.下面依序是存儲模式、程序空間大小等設(shè)置,均用默認(rèn)值即可。

點(diǎn)擊Output選項(xiàng),選中CreateHexFile,

10、單擊編譯按鈕,編譯當(dāng)前源程序;

11、運(yùn)行,查看效果。

匯編源程序:

ORG

0000H

;初始化地址

AJMP

MAIN

;跳轉(zhuǎn)到MAIN

ORG

0050H

;初始化地址MAIN:

MOV

P0,#0FFH

;端口初始化

MOV

P2,#0FFH

;端口初始化LOOP:

MOV

A,#0FEH

;復(fù)制初始

MOV

R0,#08H

;移動次數(shù)LOOPL:

;左移顯示

MOV

P0,A

;送數(shù)顯式

MOV

P2,A

;送數(shù)顯式

RL

A

;左移一位

ACALL

DELAY

;延時300ms

DJNZ

R0,LOOPL

;是否左移8次

MOV

P0,#0FFH

;關(guān)閉顯示

MOV

P2,#0FFH

;關(guān)閉顯示

ACALL

DELAY

;延時300ms

MOV

A,#7FH

;賦初始值

MOV

R0,#08H

;移動次數(shù)LOOPR:

;右移顯示

MOV

P0,A

;送數(shù)顯式

MOV

P2,A

;送數(shù)顯式

RR

A

;右移一位

ACALL

DELAY

;延時300ms

DJNZ

R0,LOOPR;是否右移8次

MOV

P0,#0FFH

;關(guān)閉顯示

MOV

P2,#0FFH;關(guān)閉顯示

ACALL

DELAY

;延時300ms

AJMP

LOOP

;跳轉(zhuǎn)到LOOPDELAY:

MOV

R5,#3

;將3賦給寄存器R5DEL1:

MOV

R6,#200

;將3賦給寄存器R5DEL2:

MOV

R7,#230

;將3賦給寄存器R5DEL3:

DJNZ

R7,DEL3

;第一層循環(huán)

DJNZ

R6,DEL2

;第二層循環(huán)

DJNZ

R5,DEL1

;第三層循環(huán)

RET

;結(jié)束試驗(yàn)流程圖:

實(shí)驗(yàn)結(jié)果:

P0、P2端口的LED先從從右至左方向依次點(diǎn)亮,再從左至右方向依次點(diǎn)亮,如此循環(huán)形成流水燈效果問題解決及討論:

1)

沒有正確加載燒寫文件。

必須是先選芯片在加載文件

2)

芯片型號沒有選擇正確。

可重新選擇型號

3)

沒有放置芯片。

先放芯片,再壓下鎖緊座手柄鎖緊

4)

芯片損壞。

換新的芯片重試

5)

JP24沒有切換到OFF端,結(jié)果P0口的8個LED不閃爍。

原因是被1602LED干擾

實(shí)驗(yàn)三

繼電器控制實(shí)驗(yàn)任務(wù):

用按鍵控制繼電器的工作狀態(tài):

K1-吸和鍵,K2-釋放鍵

按K1鍵,繼電器吸合,DL11燈亮。

按K2鍵,繼電器釋放,DL11燈滅。

實(shí)驗(yàn)步驟:

1、首先在硬盤上建立一個文件夾;

2、啟動KeilC51軟件;

3、執(zhí)行KeilC51軟件的菜單Project|NewProject,彈出一個名為CreateNewProject的對話框。

輸入工程文件名,選擇保存路徑uv2后綴,點(diǎn)擊保存按鈕;

4、緊接著彈出OptionsforTargetTarget1’,為剛才的項(xiàng)目選擇ATMEL的AT89S52的CPU。

選擇之后,點(diǎn)擊確定按鈕;

5、接下來彈出一個對話框提示你是否要把標(biāo)準(zhǔn)8051的啟動代碼添加項(xiàng)目中去,此時,點(diǎn)擊否按鈕;

6、執(zhí)行菜單File|New,出現(xiàn)一個名為Text1的文檔。

接著執(zhí)行菜單File|Save彈出一個名為SaveAs的對話框,將文件名改為.asm后綴,然后保存;

7、添加源程序文件到工程中,一個空的源程序文件建成。

單擊KeilC51軟件左邊項(xiàng)目工作窗口Target1上的+,將其展開。

然后右擊SourceGroup1文件夾彈出下拉菜單,單擊其中的AddFilestoGroupSourceGroup1’項(xiàng);

8、在彈出的對話框中先選擇文件類型為AsmSourcefile(*.s*;*.src;*.a*),這時對話框內(nèi)創(chuàng)建的空的源程序文件已經(jīng)出現(xiàn)在項(xiàng)目工作窗口的SourceGroup1文件夾中;

輸入源程序代碼;

9、點(diǎn)擊工具欄Optionsfortarget按鈕,彈出一個對話框,定義Xtal為11.0592.下面依序是存儲模式、程序空間大小等設(shè)置,均用默認(rèn)值即可。

點(diǎn)擊Output選項(xiàng),選中CreateHexFile,

10、單擊編譯按鈕,

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論