嵌入式流水灯实验心得体会.docx
- 文档编号:2091852
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:5
- 大小:17.37KB
嵌入式流水灯实验心得体会.docx
《嵌入式流水灯实验心得体会.docx》由会员分享,可在线阅读,更多相关《嵌入式流水灯实验心得体会.docx(5页珍藏版)》请在冰豆网上搜索。
嵌入式流水灯实验心得体会
嵌入式流水灯实验心得体会
篇一:
嵌入式流水灯实验
实验三GPIO输出控制实验
一、实验目的
熟悉LPCXX系列ARM7微控制器的GPIO输入控制。
二、实验设备
?
硬件:
PC机一台
LPC2131教学实验开发平台一套
?
软件:
Windows98/XP/XX系统,集成开发环境。
三、实验内容
1.管脚控制EasyARM教学实验开发平台上的蜂鸣器报警。
2.GPIO输出实验-流水灯实验
实验预习要求:
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.每次原来的灯保留代码如下
#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;//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:
无**Returnedvalue:
无
*********************************************************************************************************/intmain(void){
PINSEL1=PINSEL1&(~(0x03 /*将设置为GPIO*/
IO0DIR=LED1;/*设
置LED控制口为输出*/
IO0SET=LED1;/*LED1熄灭*/
while
(1){
IO0DIR=LED1;/*设置LED控制口为输出*/
IO0SET=LED1;/*LED1熄灭
IO0SET=LED1;LED1熄灭DelayNS(50);*/
IO0CLR=LED1;LED1点亮DelayNS(50);*/
IO0DIR=LED2;设置LED控制口为输出IO0SET=LED2;LED1熄灭
IO0SET=LED2;LED1熄灭DelayNS(50);*/
IO0CLR=LED2;LED1点亮DelayNS(50);*/
IO0DIR=LED3;设置LED控制口为输出IO0SET=LED3;LED1熄灭
IO0SET=LED3;LED1熄灭DelayNS(50);*/
IO0CLR=LED3;*/*/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 流水 实验 心得体会