![2024年gpio輸出控制實(shí)驗(yàn)報告流水燈5篇_第1頁](http://file4.renrendoc.com/view2/M02/0C/19/wKhkFmZtHHmAGVO7AAGeUDmUm0U661.jpg)
![2024年gpio輸出控制實(shí)驗(yàn)報告流水燈5篇_第2頁](http://file4.renrendoc.com/view2/M02/0C/19/wKhkFmZtHHmAGVO7AAGeUDmUm0U6612.jpg)
![2024年gpio輸出控制實(shí)驗(yàn)報告流水燈5篇_第3頁](http://file4.renrendoc.com/view2/M02/0C/19/wKhkFmZtHHmAGVO7AAGeUDmUm0U6613.jpg)
![2024年gpio輸出控制實(shí)驗(yàn)報告流水燈5篇_第4頁](http://file4.renrendoc.com/view2/M02/0C/19/wKhkFmZtHHmAGVO7AAGeUDmUm0U6614.jpg)
![2024年gpio輸出控制實(shí)驗(yàn)報告流水燈5篇_第5頁](http://file4.renrendoc.com/view2/M02/0C/19/wKhkFmZtHHmAGVO7AAGeUDmUm0U6615.jpg)
版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 突破學(xué)習(xí)困境教育視角下的學(xué)生生涯規(guī)劃優(yōu)化策略
- 科技教育中的德育元素與素質(zhì)教育
- 小學(xué)英語課《This is my home》教學(xué)設(shè)計(jì)與反思
- 個人股權(quán)委托代持合同
- 個人自建房質(zhì)押貸款合同
- 臨時勞動合同安全免責(zé)約定
- 個人房產(chǎn)轉(zhuǎn)讓合同A
- 事業(yè)單位臨時工勞動合同
- 2025年城市公共交通燃油供應(yīng)合同
- 上海銷售合同范本
- 屋面細(xì)石混凝土保護(hù)層施工方案及方法
- 2024年1月山西省高三年級適應(yīng)性調(diào)研測試(一模)理科綜合試卷(含答案)
- 110kv各類型變壓器的計(jì)算單
- 雙減政策之下老師如何打造高效課堂
- 5A+Chapter+1+Changes+at+home+課件(新思維小學(xué)英語)
- 安徽省2023年中考數(shù)學(xué)試卷(附答案)
- 護(hù)工(陪護(hù))培訓(xùn)教材(完整版)資料
- 機(jī)械加工生產(chǎn)計(jì)劃排程表
- 女性生殖系統(tǒng)解剖與生理 生殖系統(tǒng)的血管淋巴和神經(jīng)
- 易制毒化學(xué)品安全管理制度匯編
- GB/T 35506-2017三氟乙酸乙酯(ETFA)
評論
0/150
提交評論