嵌入式ARM键盘控制LED灯实验报告
嵌入式系统实验二-LED控制实验

《嵌入式系统》课程实验报告学生姓名:指导教师:记分及评价:一、实验名称LED控制实验二、实验目的掌握利用S3C2410X芯片地址总线扩展到I/O来驱动LED显示;了解ARM芯片中利用总线扩展I/O口的使用方法。
三、实验内容编写程序,控制实验平台的发光二极管LED1,LED2,LED3,LED4,使它们有规律的点亮和熄灭,具体顺序如下:LED1亮->LED2亮->LED3亮->LED4亮>LED1灭>LED2灭->LED3灭>LED4灭->全亮->全灭,如此反复。
四、实验原理片选信号在接入74HC573前经过了如下处理:LE信号的产生:向LED写入数据LED连接图五、实验结果超级终端上显示一下信息:六、练习自己编写程序使数码管以不同的显示方式显示。
显示方式:用LED1、LED2、LED3、LED4依次显示00F9~00F6-00F6~00F9,然后依次显示00FE~00F0-00F0~00FE。
#include "2410lib.h"#define rCPLDLEDADDR (*(volatile unsigned char*)0x21180000)void led_on(void){int i,nOut;nOut = 0xFF;rCPLDLEDADDR = nOut & 0xF9;for(i = 0; i < 500000; i++);rCPLDLEDADDR = nOut & 0xF6;for(i = 0; i < 500000; i++);rCPLDLEDADDR = nOut & 0xF6;for(i = 0; i < 500000; i++);rCPLDLEDADDR = nOut & 0xF9;for(i = 0; i < 500000; i++);}void led_off(void){int i,nOut;nOut = 0xF0;rCPLDLEDADDR = nOut | 0xFE;for(i = 0; i < 100000; i++);rCPLDLEDADDR = nOut | 0xFC;for(i = 0; i < 100000; i++);rCPLDLEDADDR = nOut | 0xF8;for(i = 0; i < 100000; i++);rCPLDLEDADDR = nOut | 0xF0;for(i = 0; i < 100000; i++);rCPLDLEDADDR = nOut | 0xF0;for(i = 0; i < 100000; i++);rCPLDLEDADDR = nOut | 0xF8;for(i = 0; i < 100000; i++);rCPLDLEDADDR = nOut | 0xFC;for(i = 0; i < 100000; i++);rCPLDLEDADDR = nOut | 0xFE;for(i = 0; i < 100000; i++); }void led_on_off(void){int i;rCPLDLEDADDR = 0xF0;for(i = 0; i < 500000; i++);rCPLDLEDADDR = 0xFF;for(i = 0; i < 500000; i++);void led_test(void){uart_printf("\n Expand I/O (Diode Led) Test Example\n");uart_printf(" Please Look At The LEDS \n");led_on();led_off();led_on_off();delay(20000);uart_printf(" End.\n");}。
嵌入式led灯实验报告总结(一)

嵌入式led灯实验报告总结(一)嵌入式LED灯实验报告总结前言本次嵌入式LED灯实验是在掌握了基本的电路知识和嵌入式编程技能的基础上进行的。
通过实验,我们旨在进一步探索LED灯的各种应用,并深入了解其原理和工作机制。
本文将总结实验过程中的关键点和所获得的收获。
正文实验目标在本次实验中,我们的目标是实现一个简单的嵌入式LED灯系统,能够控制其亮度和颜色。
通过硬件和软件的配合,我们希望能够熟练掌握以下内容: - 接线和电路搭建 - 嵌入式芯片编程 - 驱动LED灯的原理和方法 - 调整亮度和改变颜色的技巧实验过程在实验过程中,我们按照以下步骤进行操作: 1. 准备必要的硬件设备和材料,包括嵌入式开发板、LED灯、电阻等。
2. 按照电路图连接硬件设备,确保电路的正确性和安全性。
3. 使用嵌入式开发环境,编写相应的代码来控制LED灯的亮度和颜色。
4. 调试代码,确保LED灯的亮度和颜色可以按照预期进行调整。
5. 记录实验数据和观察结果,分析实验过程中的问题和解决方案。
实验结果经过实验,我们成功地实现了嵌入式LED灯的控制。
通过调整代码中的参数,我们可以灵活地改变LED灯的亮度和颜色,并且在多种不同的场景下进行应用。
同时,我们也发现了一些潜在的问题,如电路连接不良、驱动程序的bug等,并通过调试和优化得到了解决。
结尾通过本次实验,我们深入了解了嵌入式LED灯的原理和工作机制,掌握了如何使用嵌入式开发板和编程技术来驱动LED灯,从而实现自定义的亮度和颜色。
这对于我们提升嵌入式系统设计和应用的能力具有重要意义。
在今后的学习和工作中,我们将继续深化对嵌入式技术的理解,探索更多应用场景和创新的可能性。
结论总的来说,本次嵌入式LED灯实验让我们充分了解了LED灯的工作原理和控制方法。
我们通过实践操作,掌握了嵌入式开发板的连接和编程技巧,成功实现了LED灯的亮度和颜色的灵活调节。
在实验过程中,我们也遇到了一些问题,但通过不断调试和解决,我们成功克服了困难。
嵌入式led控制实验报告

嵌入式led控制实验报告嵌入式LED控制实验报告引言:嵌入式系统是一种集成了计算机硬件和软件的特殊计算机系统,广泛应用于各个领域,包括家电、汽车、医疗设备等。
而LED(Light Emitting Diode)则是一种半导体器件,可以将电能转化为光能。
在嵌入式系统中,LED的控制是一项重要的实验,本文将介绍嵌入式LED控制的实验过程和结果。
实验目的:本次实验的目的是通过嵌入式系统控制LED灯的亮灭,进一步理解嵌入式系统的工作原理以及学习如何编写相应的程序。
实验器材和方法:实验器材包括嵌入式开发板、LED灯、电源和连接线。
实验方法如下:1. 将LED灯连接到嵌入式开发板的GPIO引脚上;2. 使用开发板提供的编程软件,编写控制LED灯亮灭的程序;3. 将程序下载到开发板中;4. 运行程序,观察LED灯的亮灭情况。
实验结果:经过实验,LED灯可以根据程序的控制实现亮灭的变化。
通过改变程序中GPIO 引脚的电平状态,可以控制LED灯的亮灭。
例如,将GPIO引脚的电平设置为高电平,LED灯将亮起;将GPIO引脚的电平设置为低电平,LED灯将熄灭。
实验分析:本次实验的结果表明,嵌入式系统可以通过编写相应的程序来控制外部设备,如LED灯。
这是因为嵌入式系统中的GPIO引脚可以通过改变电平状态来控制外部设备的工作。
在本实验中,通过将GPIO引脚的电平设置为高电平或低电平,可以控制LED灯的亮灭。
嵌入式系统中的GPIO引脚是一种通用输入输出引脚,可以通过编程来控制其电平状态。
在实际应用中,可以将GPIO引脚连接到各种外部设备上,如传感器、电机等,通过改变引脚的电平状态,实现对外部设备的控制。
嵌入式系统的优势之一是其实时性和可靠性。
在本实验中,LED灯的亮灭可以实时响应程序的控制指令,没有明显的延迟。
这使得嵌入式系统在需要对外部设备进行快速响应的应用中具有优势,如工业自动化、智能家居等。
此外,嵌入式系统还具有较小的体积和低功耗的特点。
Exp3键盘及LED实验实验三报告

实验三ARM的串行口实验班级:11电子(3)班姓名:孙竹豪学号:2011339960134一、实验目的1.掌握ARM的串行口工作原理。
2.学习编程实现ARM的DART通讯。
3.掌握CPU利用串口通讯的方法。
二、实验内容学习串行通讯原理,了解串行通讯控制器,阅读ARM芯片文档,掌握ARM的DART 相关寄存器的功能,熟悉ARM系统硬件的DART相关接口。
编程实现ARM和计算机实现串行通讯:ARM监视串行口,将接收到的字符再发送给串口(计算机与开发平台通过超级终端通讯的),即按PC键盘通过超级终端发送数据,开发平台将接收到的数据再返送给PC,在超级终端上显示。
三、预备知识1.用ARM SDT2. 5或ADS1. 2集成开发环境,编写和调试程序的基本过程。
2.ARM应用程序的框架结构。
3.了解串行总线四、实验设备及工具(包括软件调试工具)硬件:ARM嵌入式开发平台、用于ARM7TDM工的JTAG仿真器、PC机Pentium100以上。
软件:PC机操作系统win98, Win2000或WinXP, ARM SDT 2. 51或ADS1. 2集成开发环境、仿真器驱动程序、超级终端通讯程序五、实验原理及说明1.异步串行工/0异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。
数据的各不同位可以分时使用同一传输通道,因此串行工/0可以减少信号连线,最少用一对线即可进行。
接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。
为了恢复发送的信息,双方必须协调工作。
在微型计算机中大量使用异步串行工/0方式,双方使用各白的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。
但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符问还可能有长度不定的空闲时问,因此效率较低。
图2-1给出异步串行通信中一个字符的传送格式。
开始前,线路处于空闲状态,送出连续“1"。
嵌入式键盘及LED驱动实验

《嵌入式系统设计》实验报告(2011-2012学年第2学期)实验三键盘及LED驱动实验—C语言实现方法一、实验目的1.学习键盘及LED驱动原理。
2.掌握ZLG7289芯片的使用方法。
二、实验内容通过ZLG7289芯片驱动17键的键盘和8个共阴极LED,将按键值在LED上显示出来。
三、预备知识1.掌握在ARM SDT 2.5或ADS1.2集成开发环境中编写和调试程序的基本过程。
2.了解ARM应用程序的框架结构。
3.了解µC/OS-II多任务的原理。
四、实验设备及工具硬件:ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上。
软件:PC机操作系统win98、Win2000或WinXP、ARM SDT 2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序五、实验原理ZLG7289A是一片具有串行接口的,可同时驱动8位共阴式数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED显示﹑键盘接口的全部功能。
ZLG7289A内部含有译码器,可直接接受BCD码或16进制码,并同时具有2种译码方式。
此外,还具有多种控制指令,如消隐﹑闪烁﹑左移﹑右移﹑段寻址等。
ZLG7289A具有片选信号可方便地实现多于8位的显示或多于64键的键盘接口。
其特点如下:a.串行接口无需外围元件可直接驱动LED。
b.各位独立控制译码/不译码及消隐和闪烁属性。
c.(循环)左移/(循环)右移指令。
d.具有段寻址指令方便控制独立LED。
e.键盘控制器内含去抖动电路。
表2-5 引脚说明引脚名称说明1 ,2 VDD 正电源3 ,5 NC 悬空4 VSS 接地6 /CS 片选输入端,此引脚为低电平时,可向芯片发送指令及读取键盘数据7 CLK 同步时钟输入端,向芯片发送数据及读取键盘数据时,此引脚电平上升沿表示数据有效8 DATA 串行数据输入/输出端,当芯片接收指令时此引脚为输入端,当读取键盘数据时此引脚在读指令最后一个时钟的下降沿变为输出端9 /KEY 按键有效输出端,平时为高电平,当检测到有效按键时,引脚变为低电平10-16 SG-SA 段g—段a 驱动输出17 DP 小数点驱动输出18-25 DIG0-DIG7 数字0—数字7驱动输出26 OSC2 振荡器输出端27 OSC1 振荡器输入端28 /RESET 复位端ZLG7289A的控制指令分为二大类——纯指令和带有数据的指令:1.纯指令(1)复位(清除)指令,如表2-6所示:表2-6 复位指令格式D7 D6 D5 D4 D3 D2 D1 D01 0 1 0 0 1 0 0当ZLG7289A收到该指令后,将所有的显示清除,所有设置的字符消隐、闪烁等属性也被一起清除。
嵌入式led控制实验报告

嵌入式led控制实验报告嵌入式LED控制实验报告摘要:本实验旨在通过嵌入式系统控制LED灯的亮度和闪烁频率,以及实现LED的颜色变换。
通过实验,我们成功地使用嵌入式系统对LED进行了精确的控制,实现了灯光效果的多样化。
1. 实验目的本实验的主要目的是掌握嵌入式系统对LED灯的控制方法,包括亮度控制、闪烁频率控制和颜色变换。
通过实验,我们希望能够深入理解嵌入式系统的工作原理,并掌握在嵌入式系统中对外部设备进行精确控制的方法。
2. 实验原理在本实验中,我们使用了一款嵌入式系统开发板,通过该开发板的GPIO接口控制LED的亮度、闪烁频率和颜色。
具体原理是通过控制GPIO口的输出电平和频率,来控制LED的亮度和闪烁频率,同时通过PWM信号来控制LED的颜色变换。
3. 实验步骤(1)搭建实验平台:将LED连接到开发板的GPIO口,并连接电源。
(2)编写控制程序:使用嵌入式系统的开发工具编写控制LED的程序,包括控制LED亮度、闪烁频率和颜色变换的代码。
(3)下载程序:将编写好的程序下载到嵌入式系统中。
(4)运行实验:通过控制程序,实现LED的亮度、闪烁频率和颜色的变换。
4. 实验结果通过实验,我们成功地实现了对LED的亮度、闪烁频率和颜色的精确控制。
我们通过改变程序中的参数,可以实现LED灯的不同亮度、不同闪烁频率和不同颜色的变换。
实验结果表明,嵌入式系统对外部设备的控制能力非常强大,可以实现多样化的灯光效果。
5. 实验总结本实验通过对嵌入式系统控制LED的实验,深入理解了嵌入式系统的工作原理,掌握了对外部设备进行精确控制的方法。
通过实验,我们对嵌入式系统的应用有了更深入的了解,为今后的嵌入式系统开发工作奠定了基础。
结语通过本次实验,我们不仅学会了如何使用嵌入式系统控制LED灯的亮度、闪烁频率和颜色,还深入了解了嵌入式系统的工作原理和应用。
这将为我们今后的嵌入式系统开发工作提供重要的参考和指导。
希望通过不断的实践和学习,我们能够更加熟练地掌握嵌入式系统的应用,为科技创新做出更大的贡献。
嵌入式实验设计实训报告

一、实验背景随着信息技术的飞速发展,嵌入式系统在各个领域得到了广泛的应用。
为了让学生更好地掌握嵌入式系统设计的相关知识,提高学生的动手能力和实际操作能力,我们开展了嵌入式实验设计实训。
本次实训以ARM处理器为平台,通过实际操作,让学生了解嵌入式系统的基本原理和设计方法。
二、实验目的1. 熟悉ARM处理器的基本架构和编程环境。
2. 掌握嵌入式系统设计的基本流程和方法。
3. 培养学生的动手能力和实际操作能力。
4. 提高学生对嵌入式系统的认知和应用能力。
三、实验内容1. 实验环境(1)硬件平台:ARM处理器开发板(2)软件平台:Keil uVision5、GNU ARM Embedded Toolchain2. 实验步骤(1)搭建实验环境首先,将开发板连接到计算机,并安装Keil uVision5和GNU ARM Embedded Toolchain软件。
接着,配置开发板,使其能够正常运行。
(2)编写程序根据实验要求,编写嵌入式系统程序。
程序主要包括以下几个方面:1)初始化:设置时钟、GPIO、中断等。
2)主循环:实现程序的主要功能。
3)中断处理:处理外部中断。
4)延时函数:实现延时功能。
(3)编译程序将编写好的程序编译成可执行文件。
(4)下载程序将编译好的程序下载到开发板上。
(5)调试程序在开发板上运行程序,通过串口调试软件观察程序运行情况,并对程序进行调试。
(6)实验报告根据实验内容,撰写实验报告。
3. 实验项目(1)点亮LED灯通过控制GPIO端口,实现LED灯的点亮和熄灭。
(2)按键控制LED灯通过检测按键状态,控制LED灯的点亮和熄灭。
(3)定时器实现定时功能使用定时器实现定时功能,例如定时关闭LED灯。
(4)串口通信实现串口通信,发送和接收数据。
四、实验结果与分析1. 点亮LED灯实验成功实现了通过控制GPIO端口点亮LED灯的功能。
2. 按键控制LED灯实验成功实现了通过检测按键状态控制LED灯的功能。
基于ARM的LED灯综合实验

重庆交通大学信息学院设计性实验报告成绩:班级: 2011级通信工程2班学号:姓名:实验所属课程:ARM嵌入式系统基础教程实验室(中心):信息科学与工程学院软件中心指导教师:实验时间: 2013年11月1日一、课程设计题目基于ARM的LED灯综合实验本实验是《嵌入式系统基础B》课程的设计性实验,可以两人一组进行实验,但每个人单独递交实验报告。
同组人:631106040229 刘海东本实验包含三个模块:1.运用LED灯进行ASCII码表的显示。
要求:使用8个LED灯显示0~9、a~z, A~Z的ASCII码的显示。
每一个ASCII码值显示5~10秒,每一个ASCII值进行切换时,点亮8号LED灯。
2.运用LED灯自由制作流水灯显示。
要求:自行设计流水灯的样式,但不能雷同(同组人员也不能雷同)。
3.使用按键功能,实现模块1和模块2之间的切换。
二、题目分析1. 对使用的ARM芯片的基本情况进行分析此次实验采用的实验箱是MagicARM2200-S实验箱。
MagicARM2200-S 实验箱是由广州周立功单片机发展有限公司开发的一款可使用μC/OS-II 和μCLinux 双操作系统、集众多功能于一身的ARM 教学实验开发平台。
实验箱的主板上带有充足的存储资源(PSRAM、NAND FLASH、NOR FLASH 和E2PROM 等),具有以太网接口、MODEM 接口、IDE 硬盘接口、CF 卡接口、PS/2 接口,5.2 英寸320×240 彩色液晶屏(带触摸屏),可使用JTAG 仿真调试。
灵活的跳线选择(I/O 与功能电路的连接),外设PACK 和GPIO 输出接口,非常适用于教学实验。
有着完全自主设计的软硬件、拥有自主版权的JTAG 仿真技术,支持ADS1.2 集成开发环境及PHILIPS 所有通用ARM 微控制器的仿真和开发。
MagicARM2200-S 实验箱的硬件电路主要由DeviceARM2200 嵌入式工控板(即核心板)、实验箱主板、电源板和各种PACK 板等组成,以下将分别说明DeviceARM2200 嵌入式工控板的硬件结构和MagicARM2200-S 实验箱主板各部分电路的原理设计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六键盘控制LED灯实验
1实验目的
(1) 通过实验掌握中断式键盘控制与设计方法;
(2) 熟练编写S3C2410中断服务程序。
2 实验设备
(1) S3C2410嵌入式开发板,JTAG仿真器。
(2) 软件:PC机操作系统Windows XP,ADS1.2集成开发环境,仿真器驱动程序,超级终端通讯程序。
3 实验内容
编写中断处理程序,处理一个键盘中断,并在串口打印中断及按键显示信息。
4 实验步骤
(1) 参照模板工程,新建一个工程keypad,添加相应的文件,并修改keypad 的工程设置;
(2) 创建keypad.c并加入到工程keypad中;
(3) 编写键盘中断程序;
参考代码如下:
①串口初始化程序
void uart_init()/* UART串口初始化*/
{
GPHCON |= 0xa0; //GPH2,GPH3 used as TXD0,RXD0
GPHUP = 0x0; //GPH2,GPH3内部上拉
ULCON0 = 0x03; //8N1
UCON0 = 0x05; //查询方式为轮询或中断;时钟选择为PCLK
UFCON0 = 0x00; //不使用FIFO
UMCON0 = 0x00; //不使用流控
UBRDIV0 = 26; //波特率为57600,PCLK=12Mhz
}
②发送数据
while( ! (UTRSTAT0 & TXD0READY) );
UTXH0 = c;
③接收数据
while( ! (UTRSTAT0 & RXD0READY) );
return URXH0;
④打印数据
int i = 0;
while( str[i] ){
putc( (unsigned char) str[i++] );
}
return i;
⑤按键初始化
int key_init()/* 按键初始化*/
{
GPFCON = 0x55aa;
GPFUP = 0xff;
printk("按键初始化OK\r\n");
return 0;
}
⑥中断初始化
void irq_init()/* 中断初始化*/
{
INTMSK &= ~(3<<2);
printk("中断初始化OK\r\n");
}
(5) 编译keypad;
(6) 运行超级终端,选择正确的串口号,并将串口设置位:波特率(115200)、奇偶校验(None)、数据位数(8)和停止位数(1),无流控,打开串口;
(7) 运行程序,在超级终端中输入的数据将回显到超级终端上,结果如图5.4所示:
图6.1 初始化运行结果
图6.2 main运行结果
5 实验总结
通过这次实验我巩固了上次实验的串口的使用方法,串口初始化、发送数据和接收数据,同时也熟悉了中断的处理过程,即保护现场、中断处理、恢复现场并返回。
在实验时花费了很多的时间都没有按照老师的要求将代码修改好,主要是因为对代码的不熟悉和不能很好的灵活运用,最后对老师修改的代码仔细的看了,其实很简单。