嵌入式流水灯实验心得体会文档格式.docx

上传人:b****1 文档编号:15010533 上传时间:2022-10-26 格式:DOCX 页数:5 大小:17.37KB
下载 相关 举报
嵌入式流水灯实验心得体会文档格式.docx_第1页
第1页 / 共5页
嵌入式流水灯实验心得体会文档格式.docx_第2页
第2页 / 共5页
嵌入式流水灯实验心得体会文档格式.docx_第3页
第3页 / 共5页
嵌入式流水灯实验心得体会文档格式.docx_第4页
第4页 / 共5页
嵌入式流水灯实验心得体会文档格式.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

嵌入式流水灯实验心得体会文档格式.docx

《嵌入式流水灯实验心得体会文档格式.docx》由会员分享,可在线阅读,更多相关《嵌入式流水灯实验心得体会文档格式.docx(5页珍藏版)》请在冰豆网上搜索。

嵌入式流水灯实验心得体会文档格式.docx

  实验预习要求:

  LPCXXGPIO管脚的设置和控制。

  四、实验原理

  输出实验,蜂鸣器控制

  在EasyARM2131开发板上,接有一个蜂鸣器,由控制,通过跳线JP11选择连接。

蜂鸣器控制电路如所示。

  图3-1蜂鸣器控制电路

  如果跳线JP11选择蜂鸣器,当输出低电平时,蜂鸣器鸣叫,当输出高电平则停止鸣叫。

程序设置PINSEL0使连接GPIO,并通过IO0DIR将其设置为输出状态,然后通过IO0CLR和IO0SET清零和置位口,控制蜂鸣器,流程图见图3-2。

  图3-2蜂鸣器控制实验流程图

  2.GPIO输出实验-流水灯实验

  单路LED控制

  EasyARM2131开发板上有8个独立的LED,分别由8个GPIO口控制,现在使用其中一路进行实验,使用的电路如图3-3所示。

  图3-3单路LED电路图

  当跳线JP12连接LED1时,采用灌电流方式驱动LED1,当输出低电平时,LED1点亮,当输出高电平时,LED1熄灭。

实验程序首先设置管脚连接GPIO,接着设置口为输出模式,然后通过IO1CLR和IO1SET控制,驱动LED1的亮灭。

  GPIO输出实验-流水灯实验

  EasyARM2131开发板上的8路LED(LED8~LED1)分别可选择P1[25:

18]进行控制,电路如图3-4所示。

  图3-48路LED控制电路

  当跳线JP12全部选择LED8~LED1后,~分别控制这8路LED,就可以进行流水灯实验。

流水灯显示花样可以通过数组人为定义,亦可通过一定的算法计算,程序清单所示为采用人为定义数组控制显示花样的实验程序,流程图如图3-5所示。

  图3-5流水灯花样显示流程图

  五、实验步骤

  实验内容1步骤

  ①启动集成开发环境,选择ARMExecutableImageforlpc2131工程模板建立一个工程BeepCon_C。

  ②在user组里编写主程序代码。

  ③将EasyARM教学实验开发平台上的管脚与Beep跳线短接。

  ④选择Project->

Debug,启动AXD进行JLINK仿真调试。

在工程窗口中选择DebugInRAM生成目标,然后编译连接工程(单击Make按钮)。

如图所示。

  选择DebugInRAM生成目标时,编译连接生成的目标代码就是用于在片内RAM调试。

打开ADS开发环境下的【Edit】->

【DebugInFLASHSettings...】,在”ARMfromELF”下Outputformat做如图选择,输出文件选择你的文件同一目录下,扩展名’.HEX’

  ⑥全速运行程序,程序将会在的主函数中停止(因为main函数起始处默认设置有断点)。

  ⑦单击ContextVariable图标按钮(或者选择ProcessorViews->

Variables)打开变量观察窗口,通过此窗口可以观察局部变量和全局变量。

选择SystemViews->

DebuggerInternals即可打开LPCXX系列ARM7微控制器的片内外寄存器窗口。

  ⑧可以单步运行程序,可以设置/取消断点;

或者全速运行程序,停止程序运行,观察变量的值,判断蜂鸣器控制是否正确。

  在FLASH中调试

  在工程窗口中选择DebugInFLASH生成目标,然后编译连接工程(单击Make按钮)。

选择DebugInFLASH生成目标时,编译连接生成的目标代码就是用于在片内FLASH调试。

编译连接通过后,按键盘的F5键,启动AXD进行调试。

注意,由于程序要烧写到片内FLASH,默认选项在每次装载FLASH地址的调试文件时,将会擦除FLASH并下载代码到FLASH中。

  篇二:

嵌入式系统与单片机流水灯实验报告

  中南大学

  嵌入式系统与单片机实验报告

  学生姓名学号专业班级

  指导教师

  学院信息科学与工程学院

  完成时间XX年5月

  [实验名称]

  单片机流水灯。

  [实验目的]

  进一步熟悉keil仿真软件、伟福仿真器和实验板的使用。

了解并熟悉实验板上单片机I/O口和LED灯的电路结构,掌握C51中单片机I/O口的编程方法,掌握顺序控制程序的简单编程。

  [实验原理]

  MCS-51系列单片机有四组8位并行I/O口,记作P0、P1、P2和P3。

每组I/O口内部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路。

四组并行I/O端口即可以按字节操作,又可以按位操作。

当系统没有扩展外部器件时,I/O端口用作双向输入输出口;

当系统作外部扩展时,使用P0、P2口作系统地址和数据总线、P3口有第二功能,与MCS-51的内部功能器件配合使用。

  本实验用到的P1口内部结构如图3-1所示。

作输出时:

输出0时,将0输出到内部总线上,在写锁存器信号控制下写入锁存器,锁存器的反向输出端输出1,下面的场效应管导通,输出引脚成低电平。

输出1时,下面的场效应管截止,上面的上拉电阻使输出为1。

作输入时:

P1端口引脚信号通过一个输入三态缓冲器接入内部总线,再读引脚信号控制下,引脚电平出现在内部总线上。

为了能读到真实的引脚信号,下面的场效应管必须截止,即锁存器的内容必须是1。

为了能正确读取引脚信号,锁存器必须先写1。

通过C51程序的编写,可以使I/O口的每根引脚在不同的时间输出不同的0、1信号,从而控制外部的设备。

  [实验步骤]

  1.keil的使用:

  新建项目--选择单片机型号--建C语言程序--添加到项目--设置项目--编译加载--选择仿真板

  新建项目

  添加到项目

  设置项目

  选择仿真板

  2.将实验板上51单片机的P1口的8根线与实验板上的8位LED灯连接,I/O口的一根引脚控制一个LED灯。

根据实验板上LED的硬件连接,编写程序使8个LED灯从最下面依次点亮,每次只亮一盏灯。

依此循环。

  代码如下

  #include"

"

  voidmDelay(unsignedintDelay)

  {unsignedinti;

  for(;

Delay>

0;

Delay--)

  {for(i=0;

i  {;

}

  }

  main()

  {intb;

  while

(1)

  {

  P1=0X7f;

  mDelay(5000);

  for(b=0;

b  {P1=P1>

>

1|0X80;

//P1=P1  mDelay(5000);

  截图

  3.每次原来的灯保留代码如下

Delay--){for(i=0;

1;

//P1=P1  }

  篇三:

嵌入式实验流水灯

  #include"

  #defineLED11  #defineLED21  #defineLED31  #defineLED41  /***********************************************************************************************************Functionname:

DelayNS**Descriptions:

延时函数

  **inputparameters:

uiDly值越大,延时时间越长**outputparameters:

无**Returnedvalue:

  *********************************************************************************************************/voidDelayNS(uint32uiDly){

  uint32i;

  for(;

uiDly>

0;

uiDly--){for(i=0;

i  /***********************************************************************************************************Functionname:

main**Descriptions:

跳线JP4短接,LED1闪烁**inputparameters:

无**outputparameters:

  *********************************************************************************************************/intmain(void){

  PINSEL1=PINSEL1&

(~(0x03  /*将设置为GPIO*/

  IO0DIR=LED1;

/*设

  置LED控制口为输出*/

  IO0SET=LED1;

/*LED1熄灭*/

  while

(1){

/*设置LED控制口为输出*/

/*LED1熄灭

LED1熄灭DelayNS(50);

*/

  IO0CLR=LED1;

LED1点亮DelayNS(50);

  IO0DIR=LED2;

设置LED控制口为输出IO0SET=LED2;

LED1熄灭

  IO0SET=LED2;

  IO0CLR=LED2;

  IO0DIR=LED3;

设置LED控制口为输出IO0SET=LED3;

  IO0SET=LED3;

  IO0CLR=LED3;

*/*/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 公务员考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1