第一篇:嵌入式ARM键盘控制LED灯实验报告
实验六 键盘控制LED灯实验 实验目的
(1)通过实验掌握中断式键盘控制与设计方法;(2)熟练编写S3C2410中断服务程序。实验设备
(1)S3C2410嵌入式开发板,JTAG仿真器。
(2)软件:PC机操作系统Windows XP,ADS1.2集成开发环境,仿真器驱动程序,超级终端通讯程序。实验内容
编写中断处理程序,处理一个键盘中断,并在串口打印中断及按键显示信息。实验步骤
(1)参照模板工程,新建一个工程keypad,添加相应的文件,并修改keypad的工程设置;
(2)创建keypad.c并加入到工程keypad中;(3)编写键盘中断程序; 参考代码如下: ①串口初始化程序
void uart_init()/* UART串口初始化 */ {
} GPHCON |= 0xa0;GPHUP = 0x0;ULCON0
//GPH2,GPH3 used as TXD0,RXD0
//GPH2,GPH3内部上拉
//8N1
= 0x03;UCON0 = 0x05;UFCON0 = 0x00;
//查询方式为轮询或中断;时钟选择为PCLK
//不使用FIFO //不使用流控 UMCON0 = 0x00;UBRDIV0 = 26;
//波特率为57600,PCLK=12Mhz ②发送数据
while(!(UTRSTAT0 & TXD0READY));UTXH0 = c;③接收数据
while(!(UTRSTAT0 & RXD0READY));return URXH0;④打印数据
int i = 0;
while(str[i]){ } return i;putc((unsigned char)str[i++]);⑤按键初始化
int key_init()/* 按键初始化 */ {
} ⑥中断初始化
void irq_init()/* 中断初始化 */ {
}(5)编译keypad;
(6)运行超级终端,选择正确的串口号,并将串口设置位:波特率(115200)、奇偶校验(None)、数据位数(8)和停止位数(1),无流控,打开串口; INTMSK &= ~(3<<2);printk(“中断初始化OKrn”);GPFCON = 0x55aa;GPFUP = 0xff;
printk(“按键初始化OKrn”);return 0;(7)运行程序,在超级终端中输入的数据将回显到超级终端上,结果如图5.4所示:
图6.1 初始化运行结果
图6.2 main运行结果 实验总结
通过这次实验我巩固了上次实验的串口的使用方法,串口初始化、发送数据和接收数据,同时也熟悉了中断的处理过程,即保护现场、中断处理、恢复现场并返回。
在实验时花费了很多的时间都没有按照老师的要求将代码修改好,主要是因为对代码的不熟悉和不能很好的灵活运用,最后对老师修改的代码仔细的看了,其实很简单。
第二篇:嵌入式系统ARM实验报告
南京邮电大学通信与信息工程学院
实验报告
实验名称:实验一基于ADS开发环境的设计
实验二嵌入式Linux交叉开发环境的建立 实验三嵌入式Linux环境下的程序设计
课程名称嵌入式系统B
班级学号B13010711 姓名马俊民
开课时间 2015/2016学年第1学期
实验一基于ADS开发环境的程序设计
一、实验目的
1、学习ADS开发环境的使用;
2、学习和掌握ADS环境下的汇编语言及C语言程序设计;
3、学习和掌握汇编语言及C语言的混合编程方法。
二、实验内容
1、编写和调试汇编语言程序;
2、编写和调试C语言程序;
3、编写和调试汇编语言及C语言的混合程序;
4、编写程序测试多寄存器传送指令的用法。
三、实验原理
ADS全称为ARM Developer Suite,是ARM公司推出的新一代ARM集成开发工具。现在常用的ADS版本是ADS1.2,它取代了早期的ADS1.1和ADS1.0。
ADS用于无操作系统的ARM系统开发,是对裸机(可理解成一个高级单片机)的开发。ADS具有极佳的测试环境和良好的侦错功能,它可使硬件开发工作者更深入地从底层去理解ARM处理器的工作原理和操作方法,为日后自行设计打基础,为BootLoader的编写和调试打基础。
1.ADS软件的组成
ADS由命令行开发工具、ARM运行时库、GUI开发环境(CodeWarrior和AXD)、实用程序、支持软件等组成。
2.GUI开发环境
ADS GUI开发环境包含CodeWarrior和AXD两种,其中Code Warrior是集成开发工具,而AXD是调试工具。
使用汇编语言进行编程简单、方便,适用于初始化硬件代码、启动代码等。汇编语言具有一些相同的基本特征:
1.一条指令一行。
2.使用标号(label)给内存单元提供名称,从第一列开始书写。3.指令必须从第二列或能区分标号的地方开始书写。4.注释必须跟在指定的注释字符后面,一直书写到行尾。
在ARM汇编程序中,每个段必须以AREA作为段的开始,以碰到下一个AREA作为该段的结束,段名必须唯一。程序的开始和结束需以ENTRY和END来标识。嵌入式C语言设计是利用基本的C语言知识,面向嵌入式工程实际应用进行程序设计。为了使单独编译的C语言程序和汇编程序之间能够相互调用,必须为子程序之间的调用规定一定的规则。ATPCS就是ARM程序和Thumb程序中子程序调用的基本规则。
四、实验过程与关键代码分析
1.创建项目工程
在File菜单中选择New命令,打开一个新建工程对话框。在Project选项卡下,选择ARM Executable Image, 然后在Project name文本框里输入项目名称,点击确定。弹出工程窗口。
选择File菜单中的New命令,选择File标签页,在File name文本框中输入要创建的文件名。汇编程序以.s结尾,c程序以.c结尾。在Location文本框中指定文件的存放位置,选中Add to Project,在Targets中选中DebugRel,单击确定关闭窗口。
2.用汇编语言设计程序实现10的阶乘
AREA EXAMPLE, CODE, READONLY ENTRY start MOV R0, #10 MOV R1, #1 LOOP MUL R0, R0, R1 SUB R0, R0, 1 CMP R0, #1 BHI LOOP END 在这个程序中,我们首先对R0和R1赋值,将R0作为一个变量,而R1作为一个存贮阶乘值的寄存器。在每进行一次乘法之后,将R0减1。同时在做完减法后进行判断,如果此时R0大于1,则返回继续乘法,否则结束程序,输出结果。
3.用调用子程序的方法实现1!+2!+3!+„+10!,代码如下: asmp.s
AREA JC, CODE, READONLY
EXPORT JCP
ENTRY JCP
ADD R3, R0, #1
MOV R2, #1
MOV R1, #1 LOOP MUL R0, R1, R2
MOV R1, R0
ADD R2, R2, #1
CMP R2, R3
BNE LOOP
NOP
NOP
MOV PC, LR
END
PROGC.c #include
int main(){ int res=0;int m=10;int i;for(i=1;i<=m;i++)
res=res+JCP(i);printf(“The result =%dn”,res);return 0;} 在这个程序中,主程序由c语言完成作求和,子程序由汇编语言写成作阶乘。
5.实现字符串的逆序复制TEXT1=“HELLO”=>TEXT2=“OLLEH”
AREA invstring, CODE, READONLY start
ADR R1,TEXT1
ADR R2,TEXT2
MOV R3, #0 LOOP
LDRB R0,[R1], #1
ADD R3,R3,#1
CMP R0,#0
BNE LOOP
SUB R1,R1,#2
LOOP1
LDRB R0,[R1], #-1
STRB R0,[R2], #1
SUB R3,R3, #1
CMP R3,#1
BNE LOOP1
MOV R5,#&55
TEXT1
TEXT2 NOP =“HELLO”,0 ALIGN =“OELLH” END
五、实验小结
在这次实验中,学会了如何使用汇编程序进行编程。对汇编程序编程一些基本的要求有了一定的了解,学习了C语言的语法和在其中调用汇编程序的方法。学会了利用CodeWarrior IDE开发C和ARM汇编代码。学会了在AXD中进行代码调试的方法和过程,对AXD的调试有初步的了解。,实验二嵌入式Linux交叉开发环境的建立
一、实验目的
1、掌握嵌入式Linux交叉开发环境的建立方法
2、学习和掌握Linux常用命令
3、学习和掌握vi编辑器的使用
二、实验内容
1、搭建嵌入式Linux交叉开发环境
2、熟悉Linux的常用命令
3、熟悉vi编辑器的常用命令
三、实验原理
Linux系统是UNIX系统的分支,是UNIX的微机版。Linux具有异常丰富的驱动程序资源,支持各种主流的硬件设备与技术。Linux包含了现代的UNIX操作系统的所有功能特性,这些功能包括多任务、虚拟内存、虚拟文件系统、进程间通信、对称所处理器、多用户支持等。
Vi编辑器是所有UNIX和Linux下的标准编辑器。它包含3种工作模式。嵌入式系统是专用的计算机系统,它对系统的功能、可靠性、成本、体积、功耗等有严格的要求。大部分嵌入式系统没有大容量存储设备,一般不能安装大型开发软件,系统的开发需要采用交叉开发模式。
四、实验过程与关键代码分析
实验用的是UP-NetARM2410-S试验箱,里面配有三星的芯片S3c2410X。打开电脑上VMWare软件,在Windows系统下启动虚拟机里的Linux系统。接着需要
1.宿主机的环境搭建
下载并运行VMWare,根据向导创建一台新虚拟机并选择Linux作为客户操作系统,再根据向导安装RedHat Linux 9.0。
2.虚拟机中启动Linux操作系统
使用root登陆,用户名为root,密码为123456。之后对共享文件设置进行调整:打开settings界面,打开shared folders功能,同时将路径设置到有课前下载的软件的目录下。
3.开发工具软件的安装(1)安装gcc 打开Linux后,打开终端窗口,在共享的目录下找到install.sh并运行,命令如下: ls./ install.sh 安装程序将自动建立/arm2410s目录,并将所有的开发软件包安装到/arm2410s 目录下,同时自动配置编译环境,建立合适的符号链接。安装完成后在目录/opt/host/armv4l/bin/下应该能看到主编译器。(2)配置PATH路径
vi.bash.profile 将里面PATH变量改为PATH=$PATH:$HOME/bin:/opt/host/armv41/bin/;存盘后执行
source.bash_profile 以后armv4l-unknown-linux-gcc将被自动搜索到
4.宿主机上的开发环境配置(1)配置IP地址
ifconfig eth0 192.168.0.121 命令配置了宿主机的IP地址。然后打开网络配置窗口,重新探测MAC地址。重新激活。(2)关闭防火墙
单击“Red”菜单→“系统设置”→“安全级别”→打开“安全级别配置”窗口,选择“无防火墙选项。”(3)配置NFS。
单击“Red”菜单→“系统设置”→“服务器设置”→“服务”,在“服务配置”窗口中勾选nfs,单击“开始”(4)NFS设置
单击“Red”菜单→“系统设置”→“服务器设置”→“NFS服务器”,打开“NFS服务器配置”窗口,设置NFS共享。
然后在NFS服务器中增加主机IP地址的链接许可和目录。完成配置。
5.目标机的信息输出
Windows系统下,“开始”→“所有程序”→“附件”→“通讯”→“超级终端”,新建一个通信终端。区号、电话号码随意输入。设置每秒位数为“115200”,数据位为“8”,无奇偶校验,停止位为“1”,无数据流控制。单击“确定”。
6.程序的运行
打开超级终端,启动Linux,屏幕显示:
[/mnt/yaffs] 在超级终端上执行挂载命令:
[/mnt] mount –t nfs 192.168.0.121:/arm2410s /mnt/nfs 挂载成功后可执行程序。
五、实验小结
在这次实验中,学会建立Linux交叉开发环境,学会了ls和vi,cd等常用的Linux命令,并掌握了Vi编辑器的使用方法。同时知道了如何在搭建失败时寻找错误进行排错。
实验三嵌入式Linux环境下的程序设计
一、实验目的
1、掌握嵌入式Linux环境下的程序设计方法
2、学会编写Makefile文件
二、实验内容
1、熟悉嵌入式教学实验箱的使用
2、编写C程序和Makefile文件
3、编译程序产生可执行程序
4、完成主机的挂载和程序的执行
三、实验原理
在嵌入式Linux环境下的程序设计方法有一下几个步骤:
1.编写源程序
2.编写Makefile文件 3.编译程序
4.运行和调试程序
5.将生产的可执行文件加入文件系统。
前三个步骤在宿主机上完成,后面的步骤在目标机上完成。
四、实验过程与关键代码分析
1.建立工作目录
mkdir hello cd hello
2.编写源程序
用vi编辑器编辑Hello.c文件
vi Hello.c 在Vi中输入源程序如下:
#include
printf(“hello world n”);}
3.编写Makefile文件
vi Makefile 在vi中编辑Makefile文件如下:
CC= armv4l-unknown-linux-gcc EXEC = hello OBJS = hello.o CFLAGS += LDFLAGS+=-static all: $(EXEC)$(EXEC):(OBJS)$(CC)$(LDFLAGS)–o $@ $(OBJS)clean:
-rm –f $(EXEC)*.elf *.gdb *.o
4.编译程序
在hello目录下运行“make”来编译程序。
make clean
make 编译成功后,生成可执行文件Hello.o。
5.下载调试
在宿主机上启动nfs服务,并将/arms2410s设置为共享目录。接下来启动超级终端,建立通讯,挂载。
[/mnt] mount –t nfs 192.168.0.121:/arm2410s /mnt/nfs 挂载成功后,进入/mnt/nfs,再进入/mnt/nfs/hello,直接运行刚刚编译生成的可执行文件Hello.o,查看运行结果
cd hello./hello 可以看见“Hello world”
只需要挂载一次便可,只要实验箱没有重启,就可以一直保持连接。反复修改、编译、调试,直至程序调试通过。
6.可执行文件加入文件系统
程序调试通过后,可以把可执行文件拖放到usr/bin目录下,然后使用mkcramfs制作工具生成新的文件系统。当系统启动后,就可以在相应目录下执行可执行程序hello.五、实验小结 在这次实验中,学会了在嵌入式Linux环境下设计程序。同时知道了如何对目标机进行挂载。以及如何在发现挂载不成功寻找错误进行修改。另外在编译文件时需要注意的也都有所了解。
实验四多线程程序设计
一、实验目的1、2、二、实验内容1、2、3、4、三、实验原理
四、实验过程与关键代码分析
五、实验小结
3+
第三篇:LED灯实验报告
mcs-51单片机接口技术实验
适用:电气类专业本科学生
实验报告
实验一 熟悉proteus仿真模拟器,led花样表演
一、实验目的掌握以下方法:
1.在proteus的环境下,设计硬件原理图; 2.在keilc集成环境下设计c51语言程序; 2.在proteus的环境下,将硬件原理图与软件联接仿真运行。
二、实验环境
1.个人微机,windows操作系统 2.proteus仿真模拟器 3.keilc编程
三、实验题目
基本题:使用8051的并口带动8个led发光二极管显示一种花样表演。提高题:使用一个键切换实现3种以上花样表演。
四、实验类型:
学习、模仿与简单设计型。
五、实验步骤:
0、进入isis,先选择需要的元件,然后设计电原理图,保存文件;
1、在keilc软件集成环境下编写源程序,编译工程文件;
2、将所设计的硬件原理图与目标代码程序相联接;
4、按play键,仿真运行程序。
附,可能用到的元件名称:
cpu:at89c51或任一种mcs-51家族cpu;
晶振:crystal;
电容器:capacitors,选22pf 电解电容:cap-elec或genelect10u16v 复位电阻:minres10k 限流电阻:minres330r 按键:button led:led-blue/red/yellow或diode-led
(一)接线图如下:
(二).基础花样
(四)程序流程图
(五)c程序
#include
(六)总结
本次实验让我能够熟练的掌握和使用keil和proteus等软件进行编程和仿真,也对流水灯的原理和硬件结构有了更加深刻的认识。只会基础花样不懂变通。篇二:led实验报告 led显示屏显示板设计
学 院: 专 业; 学 号: 姓 名: 指导教师:
一、摘要:
在当今的社会上,随处都可以看见led显示屏的出现,车站牌,商场外的招牌等等,无一不是led显示屏的应用,有一可以看出来led的显示有着重要的左右可发展的空间,led有着功耗小,发光亮的特点,所以我们在led显示屏上的发展空间有着巨大的前景。这次做到实验室通过单片机at89c51串行输出,使led显示屏产生所设计的显示图样。abstract: in todays society, everywhere can see led display appear,二、关键字:at89c51;led点阵显示;串行通信
二、引言 led显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。led之所以受到广泛重视而得到迅速发展,是与它本身所具有的优点分不开的。这些优点概括起来是:亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。led的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。我参考了有关书刊,设计了这款led显示屏。
三、设计任务要求
本次实验要求用24块8*8点阵做成显示屏,由单片机89c51及其外围器件构成主控电路,由74hc595及外围器件构成驱动部分,控制显示文字信息显示屏动态扫描,单片机程序语言由c语言编制,显示内容及显示方式自定,我做的是串行输入并行输出,显示汉字为“新年快乐”。
四、硬件电路设计
4.1.显示屏主控电路 4.1.1单片机的最小系统 单片机在本系统的电路设计中,其核心硬件部分为最小系统。最小系统是整个电路正常工作的基础要素,是影响整个设计能否正常工作的关键部分。在本次设计中,r1=1千欧姆,r2=470欧,c1=22uf,时钟晶振=6mhz,微调电容,c2=c3=30pf 最小系统硬件电路设计如图1所示: 图1 单片机最小系统
(1)at89c51的主要特性:能与mcs-51 兼容,4k字节可编程闪烁存储器,寿命:1000写/擦循环,数据保留时间:10年,全静态工作:0hz-24hz,三级程序存储器锁定,128*8位内部ram,32可编程i/o线,两个16位定时器/计数器,5个中断源,可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。
(2)管脚说明: vcc:供电电压。gnd:接地。p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程 序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作 输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻 拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存 储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器 的内
容。p2口在flash编程和校验时接收高八位地址信号和控制信号。p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。p3口也可作为at89c51的一些特殊功能口,如下所示: p3口管脚备选功能: p3.0 rxd(串行输入口)p3.1 txd(串行输出口)p3.2 /int0(外部中断0)p3.3 /int1(外部中断1)p3.4 t0(记时器0外部输入)p3.5 t1(记时器1外部输入)
p3.6 /wr(外部数据存储器写选通)p3.7 /rd(外部数据存储器读选通)p3口同时为闪烁编程和编程校验接收一些控制信号。rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器 时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时,ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。/psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效的/psen信号将不出现。/ea/vpp:当/ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。xtal2:来自反向振荡器的输出。(3)振荡器特性: xtal1和xtal2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器 件,xtal2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。(4)芯片擦除:
整个perom阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ale管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,at89c51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,cpu停止工作。但ram,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存ram的内容并且冻结振荡器,禁篇三:新建 led灯实验报告 led节能灯安装实验报告
应用技术学院机械1001:王森
一、实验目的: 本次实训的目的是通过本次led节能灯实训使学生能够了解电子产品的生产过程和生产工艺,掌握常用电子元器件识别和检测的一般方法,掌握电子产品焊接的基本技能和制作pcb板的相关技能,并能使用protel软件绘制电路图。了解工厂生产、管理、经营模式和理念,具备一定的工厂概念和生产经验,为以后从事相关的工作打下一定的基础。
二、实验内容:
1、了解led的发展过程,什么是led
2、解pcb的制作过程
3、电路图和pcb图的对照分析,各个电路元件的详细分析。
4、led节能灯制作,制作过程中常出现问题的分析。
5、总结实验,编写实验报告及总结。
三、实验材料:
发光二极管 电阻 电容 二极管 节能灯灯板 节能灯电源板
四、实验步骤:
1、了解led灯
什么是led灯:led即半导体发光二极管,led节能灯是用高亮度白色发光二极管发光源,光效高、耗电少,寿命长、易控制、免维护、安全环保;是新一代固体冷光源,光色柔和、艳丽、丰富多彩、低损耗、低能耗,绿色环保,适用家庭,商场,银行,医院,宾馆,饭店他各种公共场所长时间照明。无闪直流电,对眼睛起到很好的保护作用,是台灯,50年前人们已经了解半导体材料可产生光线的基本知识,第一个商
用二极管产生于1960年。led是英文light emitting diode(发光二极管)的缩写,它的基本结构是一块电致发光的半导体材料,置于一个有引线的架子上,然后四周用环氧树脂密封,起到保护内部芯线的作用,所以led的抗震性能好。
发光二极管的核心部分是由p型半导体和n型半导体组成的晶
片,在p型半导体和n型半导体之间有一个过渡层,称为p-n结。在某些半导体材料的pn结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。pn结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管,通称led。当它处于正向工作状态时(即两端加上正向电压),电流从led阳极流向阴极时,半导体晶体就发出从紫外到红外不同颜色的光线,光的强弱与电流有关。
最初led用作仪器仪表的指示光源,后来各种光色的led在交
通信号灯和大面积显示屏中得到了广泛应用,产生了很好的经济效益和社会效益。以12英寸的红色交通信号灯为例,在美国本来是采用长寿命,低光效的140瓦白炽灯作为光源,它产生2000流明的白光。经红色滤光片后,光损失90%,只剩下200流明的红光。而在新设计的灯中,lumileds公司采用了18个红色led光源,包括电路损失在内,共耗电14瓦,即可产生同样的光效。汽车信号灯也是led光源应用的重要领域。
对于一般照明而言,人们更需要白色的光源。1998年发白光的led开发成功。这种led是将gan芯片和钇铝石榴石(yag)封装在一起做成。gan芯片发蓝光(λp=465nm,wd=30nm),高温烧结制成的含ce3+的yag荧光粉受此蓝光激发后发出黄色光射,峰值550nm。蓝光led基片安装在碗形反射腔中,覆盖以混有yag的树脂薄层,约200-500nm。led基片发出的蓝光部分被荧光粉吸收,另一部分蓝光与荧光粉发出的黄光混合,可以得到得白光。现在,对于ingan/yag白色led,通过改变yag荧光粉的化学组成和调节荧光粉层的厚度,可以获得色温3500-10000k的各色白光。这种通过蓝光led得到白光的方法,构造简单、成本低廉、技术成熟度高,因此运用最多。
上个世纪60年代,科技工作者利用半导体pn结发光的原理,研制成了led发光二极管。当时研制的led,所用的材料是gaasp,其发光颜色为红色。经过近30年的发展,现在大家十分熟悉的led,已能发出红、橙、黄、绿、蓝等多种色光。然而照明需用的白色光led仅在近年才发展起来,这里介绍有关照明用白光led。
2、pcb制作
(1)、.裁板、手动打孔训练
裁覆铜板的步骤、操作注意事项;手动打孔的操作步骤、要领及合格要求。
(2)、用protel软件绘制led节能灯原理图和pcb图
介绍protel使用方法和绘制原理图、电源pcb图的步骤方法。
图1 led节能灯原理图
图2 led节能灯电源pcb图
(3)、数字雕刻技术和自动打孔
介绍雕刻机雕刻文件的生成和雕刻的操作步骤;雕刻机自动打孔的设
置和操作步骤。
(4)、激光光绘机原理和制作菲林胶片
介绍激光光绘机的原理和制作菲林胶片的参数设置及操作步骤,胶片显影、定影。
(5)、覆铜板的抛光水洗
介绍抛光水洗的原因及抛光机的使用和操作步骤。
(6)、丝网印刷蓝油、烘干
丝印蓝油的原理、操作步骤、注意事项;烘干机的参数设置和安全注
意事项。(7)、曝光、显影、脱膜
曝光的原理、操作步骤;显影原理、参数设置、操作步骤;脱膜的原
理、参数设计、操作步骤。
(8)、蚀刻、丝印阻焊油墨
蚀刻原理、参数设置、操作步骤;丝印阻焊油墨的操作步骤,注意事项。
(9)、热转印技术、pcb工艺流程总结
热转印的原理、操作步骤;pcb工艺流程总结:覆铜板→下料裁板→打印pcb图到热转印纸上→热转印→蚀刻→钻孔→焊接。
3、电路图和pcb图的对照分析,各个电路元件的详细分析。什么是隔离变压器:隔离变压器属于安全电源,一般用来机器维修保养用起保护、防雷、滤波作用。隔离变压器原边和副边电压可根据要求订制。首先通常我们用的交流电源电压一根线和大地相连,另一根线与大地之间有220v的电位差。人接触会产生触电。而隔离变压器的次级不与大地相连,它的任意两线与大地之间只有输入电压的一半。所以当人触电时,这样就相对比较安全。其次还有隔离变压器的输出端跟输入端是完全“断路”隔离的,这样就有效的对变压器的输入端(电网供给的电源电压)起到了一个良好的过滤的作用。从而给用电设备提供了纯净的电源电压。
白光led工作电压:当正向电流高至10ma时,正向电压的变化很大。变化的范围大约为800mv(有些型号二极管变化会更大一些)。电池放电引起的工作电压的变化会改变色彩,因为工作电压的变化改变了正向电流。在10ma正向电流时,正向电压大约为3.4v(该数值会随供应商的不同而有所不同,范围3.1v~4.0v)。
二极管in4007:角带为阴极 正向压降0.56v 耐压1000v 电流1a;电容:电压250v 10uf 电解电容 有极性 有耐压值 角带最近的为负极 盖上为防爆阀 cbb22334j: 最大电压400v 薄膜电容 33表示数值 4表示数量级 j表示精度等级 电阻:黑(0)棕(1)黄(2)红(3)橙(4)黄(5)绿(6)蓝(7)紫(8)白(9)四环的:前两环为有效数值 第三环为倍率 第四环为误差
五环的:前三环为有效数值 第四环为倍率 第五环为误差
4、led节能灯制作,制作过程中常出现问题的分析:
(1)电子元器件的质量检测
插件和贴片电阻器、电容器、二极管、集成电路的标识方法和功能;检测是否是合格的元器件。
(2)常用电子元器件的焊接练习
手工焊接的条件、步骤和方法的介绍;简单介绍波峰焊和回流焊。
(3)led工艺流程设计
介绍led工艺流程设计的原则、方法和注意事项。(4)led节能灯电源板焊接及测试
焊接led节能灯电源板:4个电阻,2个电容,4个二极管,知道原理和组装步骤方法及安全注意事项;测试电压并记录。
(5)led节能灯灯板焊接及测试
焊接38只led灯,知道原理和组装步骤方法及安全注意事项并检测焊接效果。
(6)led节能灯组装及调试
将焊接好的灯珠、电源板、灯罩、灯头和电源线总装成led节能灯成品并检测和调试
5、总结整个实验过程,分析自己出现的问题,明白自己的不足之处,总结出原因,编写实验报告和总结。
五、总结及心得: 通过实习操作,发现了自己在实验过程中出现的问题,明白了自己缺少那方面的知识和不足,获得了必要的技能和技巧,基本掌握元器件的认识和焊接、电子工艺的装配和调试、知道了pcb板制作方法和流程(裁板、pcb板数字打孔、手动打孔、pcb板热转印技术、制作pcb板菲林胶片、刷pcb板、丝印蓝色感光油墨、烘干、曝光、显影、酸性蚀刻、清洗pcb板、脱膜、丝印阻焊油墨、焊盘曝光、刷版、喷助焊剂、丝印字符),了解了led的发展,认识了电阻、电容及二极管的作用,动手完成了led的装配,知道了各个电路元部件的安装方法。在实习过程中贯彻理论与实践相结合的原则,严格要求和训练,增强自己的动手能力和吃苦耐劳的精神,在本次实验中学习到很多实践的知识,明白了理论和实践结合的重要性,增强的自我动手能力,在以后的学习中要多注重实践,把理论知识在实践中结合起来,做到全面发展,提升自己的综合能力。
六、附led装配工艺过程卡片,指导装配过程。篇四:led灯实验报告
电子工艺实训——led 学院:
专业:电子信息科学与技术
年级:
姓名:
一、实验目的
电子工艺实习课程通过课堂教学,让学生了解一般电子电路设计及制作工艺
知识;通过实际训练,学生自已动手,掌握一定操作技能并制作实际产品,使学
生初步接触生产实际,得到基本工程训练;同时进行工程意识和科学作风培养;
为学习后续课程和其他实践教学环节,以及从事实际工作奠定基础。1.熟悉使用protel dxp软件。2.掌握protel dxp的原理图设计系统的基本功能和应用技巧。3.掌握印制电路板系统的基本功能和应用技巧。4.掌握手工制作印刷电路板的方法。
二、实验内容
1.在protel dxp软件平台上,熟练运用sch常用库及sch常用工具栏,完成图1所示 电路图的原理图设计,使用电气法则检查原理图,以确保电路的正常电气连通。
图1 电路图 2.采用自动布局与手工布局相结合,并辅以自动布线、手动布线,调整元件
位置同时兼顾布线的可靠性、合理性等因素。
三、实验(设计)仪器设备和材料清单
1、计算机
2、protel软件
3、热转印机
4、覆铜板等
5、高速小钻机
6、切板机
7、各种电子元器件
8、万用表等仪器仪表
四、实验步骤
1.实验前准备:①确定元件所在元件库;②熟悉元件封装方法 2.完成原理图设计,检查原理图的连接正确性。3.原理图如下所示: 4.生成和检查网络表,将sch元件导入pcb编辑器。5.完成单面印制电路板的设计:采用自动布局与手动布局相结合,并辅以
自动布线、手工布线,调整元件位置同时兼顾布线的可靠性、合理性等
因素。
可得到的图形如下所示: 6,将上述所得到的pcb图形拿到打印机上进行打印,为了能够节省资源,尽
量将图形的比例调小一点,但也不应过于小而看不清楚图片。调好比例之后,就
将其用硫酸纸打印出来。
7,再按照所打印出的图形的大小,裁一块与其大小比例适中的电路板,将这
张图形纸黏在电路板上,并用双面胶将其固定住。8,接着将该电路板放到曝光机中,先进行抽空,接着便进行曝光。9,大约曝光140秒(或者短一些,依情况而定),取出电路板,撕下图纸观察
电路板,若能够较清晰的看到上面有相应的绿色的电路图,则表明曝光成功,反
之则表明曝光不明显,甚至是失败。10,将曝光成功的电路板放到显影机中进行显影(温度若较高,显影的时间会
较短,反之所需的时间会较长),应注意、仔细观察显影的情况,一旦图形显示
清晰则应立即取出,并用清水冲洗干净。若时间过长,则会因显影过度而使得图
形显影不清晰,甚至几乎看不到。11,再将显影好的电路板放到刻录机中进行刻录(这一般都需要较长的时间),几分钟之后,观察电路板上的电路图是否清晰的刻录上去,若还不是很清晰的,或者还有铜的,应继续让其进行刻录,直至出现清晰的图形。12,接着对电路板进行钻孔,应根据孔的(转载于:led灯实验报告)不同大小,选择不同的钻孔机进行钻
孔。
13,钻孔之后,按照原理图,对电路图进行排版和焊接。必须遵循的一个原则
是:小的元器件先进行排版和焊接,接着是中等型的,再者是相对较大的器件,以此类推。
14,接着便是对制作好的电路板进行验证,即将其接入电源,观察二极管是否
能够正常的发光,并且是一闪一闪的,此时电路板就真正的完成了。15,若验证的结果是二极管不发光,或者是只发光却不闪的,则应对电路版进
行仔细的检查,检查是否存在着虚汗点,或者是原理图出错,或者是元器件接错
等。直至找出二极管不能正常闪光的问题所在为止。
五、实验结果与分析
结果:通过接入电源进行验证,二极管能够正常的闪光。
分析:led补光灯是使用led发光二极体对被摄物体进行补光,led灯由
于能耗低亮度高一般用在拍照手机或数码摄像机上,用于光线不补时的补光。由
于 led发光二极体的亮度远低于真正的闪光灯,所以只能起到“补光”的作用。
现在有些手机已经用上了和照相机一样的闪光灯,比如sony ericsson的k790c,用的就是氙气闪光灯,效果要比led补光灯好,但是不能像led一样常亮当作
电筒用。
led闪光灯的原理:led并不是通过原子内部的电子跃变来发光的,而是
通过将电压加在led的pn结两端,使pn结本身形成一个能级,然后电子在这
个能级上跃变并产生光子来发光的。
六、实验总结 实验中存在的问题及措施:
1,最初的电路图(.pcbdoc)中的名字和学号是粉红色显示的,这将会使得
最后的显影与刻录时,名字和学号将不会出现在电路板上的。
措施:应在底层的情况下写入名字和学号,此时显示的颜色是蓝色的,这样才能
够使其在最后刻录之后能够在电路板上显示出来的。2 首先是在将电路板进行曝光时,由于里面的空气没有抽空,结果导致曝光的效果不明显,甚至是没有效果即没有图影像。
措施:按照原来放置的位置,把电路图纸在重新紧贴到电路板上,或者尽量避开
那些模糊不清的图形,再或者是换一块新的电路板,在重新进行抽空和曝
光。
在显影的时候,开始时由于液体的温度过高,导致还没来得及拿出电路板
时,就已经因温度过高而导致显影失败即图像模糊掉。
措施:在重新对显影器中的液体进行温度的调整,即降低温度,再用电路板进行
测试一下,直至温度适宜时,能够很好的显影,同时也要注意一下显影的时间,一般显影的时间不应过长,而且对于图像中的电路线较细的电路板,显影的时间也相对的比较短。4 在最后的对电路板接入电源进行检验时,其中的发光二极管却不会亮。
措施:首先对电路的每一个焊接点就行检查,用电烙铁进行测试每一个点,检查
是否出现虚汗点。在检查五虚汗点时,经测试后还是灯不会亮。接着便是
对电路的原理图进行检查,结果发现时电路的原理图出错了,如下图的原
理图所示,因为其中的555芯片没有与电源相接,导致其无法工作,因而
必须另外的补充一条导线,将555芯片与电源相接,保证其能够正常的工篇五:led灯泡设计与制作实验报告
西安邮电大学
系部名称
学生姓名
专业名称
班 级
实习时间
专业课程设计报告书)2013年6月3日至2013年6月14日 : : : : : led灯泡设计与制作实验报告
【一】项目需求分析
课程设计分为三个独立模块
一、tracepro学习及操作,完成led建模与仿真;
二、led灯泡驱动电路反向设计(完成驱动的原理图设计和pcb版的生成及仿真);
三、led球形灯泡焊接制作。
【二】实施方案及本人承担的工作
实施方案:
一、第一步骤是安装tracepro软件,并了解其页面基本情况。第二步骤是熟悉光学仿真软件tracepro,完成led灯珠的光学仿真设计。
第三步骤是掌握led灯珠设计,并了解实际操作过程原理以及led二次光学设计基本原理。
二、通过分析现有led驱动电路,对其进行反向设计,画出其驱动电路,并理解其实现原
理。完成led驱动电路原理图,并仿真得出其结果
三、焊接完成一个led灯泡,并能点亮。
本人承担的工作:
在本次专业课程设计中,我和我的搭档从一开始就认真对待。所以每一部分的完成都是我们共同努力的结果。从最开始的led灯外形的绘制,led灯珠的光学仿真设计,驱动电路的设计,led驱动电路原理图,pcb原理图并仿真,我们俩都有完成各自的,在之后的交流和共同学习下完成最好的一份。lde灯的焊接是我们两共同努力完成的。
【三】程序框图
【四】实验结果
首先我们利用tracepro光学仿真软件制作出了灯罩的实体图以及led灯珠仿真,并实现了其光学仿真;其次用protel 99se软件制作出了驱动电路原理图以并生成pcb板然后做了仿真;最后在了解了led灯的工作原理,掌握了它的驱动电路之后,我们焊接了自己的led灯,并使其点亮。
【五】设计中遇到的问题及解决方法
在本次课程设计中,我们遇到了很多问题。第一,由于是第一次使用tracepro光学仿真软件,大家都不太会使用。但是在老师的鼓励之下,我们就借助于老师给我们的学习资料和上网查找资料,同学之间相互学习交流,熟悉了这个软件。并且能比较熟练的运用这个软件画出光学器件,进行光学仿真。之后我们画出了比较满意的图。第二,在通过分析现有led驱动电路 进行反向设计,这一步我们出现了很大的问题因为大家都对原理还不是很清楚,然后我们就上网查找资料,同学之间相互讨论,还有老师的帮助之下,完成了原理图的设计。由于之前学习过protel 99se软件的使用,所以在画原理图上没有太大的问题。第三,在焊接led灯的时候,由于我们的粗心大意搞错了焊接的顺序,所以导致后来用了很长时间才完成。总而言之,我们后来很好的完成了本次课程设计。
【六】总结
这次课程设计我觉得非常有意思。能通过自己动手实践,完成led灯的设计,焊接。并且看着自己做的灯点亮。感觉非常的高兴,很有成就感。经过本次的课程设计,让我学会了光学仿真软件tracepro的应用,并且做出了led灯罩 的设计。学会了如何做光学仿真,并且完成了led灯珠的光学仿真。也使我更加熟练了protel 99se软件制作电路图和pcb版图。通过此次课程设计,让我了解了led灯的内部构造,led灯的驱动电路以及它的工作原理。并且再一次练习了自己的焊接电路板技术,在老师的帮助下学到了很多东西。
本次课程设计中更是很好的锻炼了自己的动手的能力,在实践中,不断的发现问题的所在,并在不断的摸索中找出相对的措施,将问题解决。而且在实验顺利结束时,不仅体验到自己成功完成制版的喜悦,而且更是激发了自己对led的兴趣与激情。相信本次的课程设计会让我很难忘,并且对以后的学习和生活起到很大的帮助。
第四篇:ARM与嵌入式实验报告
ARM与嵌入式技术
实验报告
专业班级:通信工程
姓名:**** 学号:******
实验日期:2012年6月7日 指导老师:*****
一、实验目的
1.学习使用Embest IDE开发环境及ARM 软件模拟器;
2.掌握简单ARM 汇编指令,进一步加强对嵌入式的熟悉和了解。
二、实验设备
硬件:PC 机
软件:Embest IDE 开发环境
三、实验内容
例3:实现64位加法运算,要求【R1:R0】+【R3:R2】,结果放回【R1:R0】中; 例2:编写程序将R2的高8位传送到R3的低8位(不考虑R3的其它位); 例7:编写一段程序计算10!;
例8:串拷贝(R1指向源数据串的首地址,R0指向目的数据串的首地址)。
四、实验步骤
1)新建工程:
运行Embest IDE 集成开发环境,选择菜单项File → New Workspace,如图一,系统弹出一个对话框,键入文件名“沈”,如图二,点击OK 按钮。将创建一个新工程,并同时创建一个与工程名相同的工作区。此时在工作区窗口将打开该工作区和工程.。
2)建立源文件:
点击菜单项File → New,如图三,系统弹出一个新的文本编辑窗,输入源文件代码。编辑完后,保存文件“沈.s”后缀,如图四。
3)添加源文件:
选择菜单项Project → Add To Project → Files,在工程目录下选择刚才建立的源文件.s后缀文件,如图五,图六。
4)基本配置:
选择菜单项Project → Settings,弹出工程设置对话框。在工程设置对话框中。① 选择Processor 设置对话框,按照图七所示,进行配置:
图七
② 选择Remote设置对话框,按照下图八所示,进行配置:
图八 ③ 选择最右边一个进行编译,显示如图九,则编译成功。
图九
④ 选择Project → Settings → Debug设置对话框,按照图十所示,进行配置:
图十 ⑤
选择
5)选择菜单项Debug →Remote Connect 进行连接软件仿真器,将存储器地址改为0x1000,如图十一,执行Debug →Download 命令下载程序,并打开寄存器窗口。打开memory 窗口,按F10进行单步跟踪,观察寄存器的数据变化并分析。最右边一个进行编译,显示如图九,则编译成功。
图十一
五、各实验的参考程序及运行结果
实验一:(例3)实现64位加法运算,要求【R1:R0】+【R3:R2】,结果放回【R1:R0】中; 1.程序代码如下:
.global _start
.text _start:
mov R0,#11
/*R0=11*/ mov R1,#22
/*R1=22*/ mov R2,#33
/*R2=33*/ mov R3,#44
/*R3=44*/ ADDS R0,R0,R2
/*R0等于低32位相加,并影响标志位*/
ADC R1,R1,R3
/*R1等于高32位相加,并加上低位进位*/ stop:
b stop.end
2.分析调试:
①download下载:
② 读入数据:
③ r0+r2→r0(低32位):
④ r1+r3→r1(带进位的加法):
实验二:(例2)编写程序将R2高8位传送到R3的低8位(不考虑R3的其它位);
1.程序代码如下:
.global _start _start: ldr r2,=0x23453401 ldr r3,=0xabcd1200 and r2,r2,#0xff000000 /*保留R2的高8位,屏蔽低24位*/ and r3,r3,#0xffffff00 /*保留R3的高24位,屏蔽低8位*/
orr r3,r3,r2,lsr #24
/*将R2的高8位传送到R3的低8位*/ stop:
b stop.end
2.分析调试:
①download下载:
②保留r2的高8位,屏蔽低24位:
③保留r3的高24位,屏蔽低8位:
④将R2的高8位传送到R3的低8位:
实验三:(例7)编写一段程序计算10!
1.程序代码如下:
.global _start.text.equ num,10 _start: mov r0,#num mov r1,r0 s1: subs r1,r1,#1
/*把r1-1放入r1*/ mul r0,r1,r0
/*r0*r1放入r0*/ cmp r1,#1
/*比较R1与1的大小*/ beq stop
bne s1 stop: b stop.end
2.分析调试:
① download下载:
② 第一次执行S1,r1=10-1=9,10*9=90,换成16进制是5a。
③ 第二次执行S1,r1=9-1=8,10*9*8=720,换成16进制是2d0。
④ 依次执行S1,到r1=1,停止,10*9*8„„*1=3628800,换成16进制是375f00。
实验四:(例8)串拷贝(R1指向源数据串首地址,R0指向目的数据串的首地址)。1.程序代码如下:.global _start.text.EQU NUM,8 _start:
LDR R0,=srcstr
/*指向源数据串R0*/
LDR R1,=dststr
/*指向目标数据串R1*/
mov R3,#NUM
/*R3=8*/
mov LR,PC
/*返回*/
B strcopy
/*调用串拷贝子程序*/ stop: b stop
strcopy:
LDRB R2,[R0],#1
/*装载字节同时更新地址*/
STRB R2,[R1],#1
/*存储字节同时更新地址*/
SUBS R3,R3,#1
CMP R3,#0
/*判断是否结束*/
BNE strcopy
/*不是,则继续*/
MOV PC,LR
/*返回*/.data
srcstr:.long 1,2,3,4,5,6,7,0
/*定义源数据串*/
dststr:.long 5,3,2,1,4,6,8,0
/*定义目的字符串*/
2.分析调试:
①单步跟踪后的结果及存储器的结果显示:
②寄存器的结果显示:
六、实验心得
今天在实验室里,学习使用Embest IDE开发环境及ARM 软件模拟器,掌握简单ARM 汇编指令,进一步加强了对嵌入式的熟悉和了解。郑老师在兢兢业业的向我们传授实践知识的同时也向我们提问相关理论问题,让我们在学习的过程加深对实践和理论两者之间的联系,知道每一个步骤的发生的原因及产生相应的结果,即对实验的来龙去脉有了更清楚的认识,为今后的学习打下了一定的基础。相信在接下来的实验中,我们会在郑老师的引导下,做起实验来更能得心应手,轻车熟驾!
第五篇:实习总结-嵌入式ARM
实训总结
班级 卓越1301姓名***
通过这段时间的学习使我学到了很多知识,并且了解到ARM的应用以及对开发板的应用,为以后的学习奠定了一定的基础。
嵌入式系统一般定义为以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。是将应用程序、操作系统和计算机硬件集成在一起的系统这是从技术角度。从系统角度上是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。
广义上讲,凡是带有微处理器的专用软硬件系统都可称为嵌入式系统。如各类单片机和DSP系统。这些系统在完成较为单一的专业功能时具有简洁高效的特点。但由于他们没有操作系统,管理系统硬件核软件的能力有限,在实现复杂多任务功能时,往往困难重重,甚至无法实现。从狭义上讲,我们更加强调那些使用嵌入式微处理器构成独立系统,具有自己操作系统,具有特定功能,用于特定场合的嵌入式系统。
嵌入式的应用也比较广泛涉及军事国防、工业控制、消费电子和网络。在家用方面更是数字电视、信息家电、智能玩具、手持通讯、存储设备的核心。
在ARM指令集中了解到ARM的寻址方式以及它的的特性,具有高效、快速的特点,还有Thumb指令集具有灵活、小巧的特点。
在这次实训中做了两个项目,一个是LED灯,实现LED灯的点亮是比较简单的,通过查找手册可以很快的了解到要使用的寄存器和方法,另一个项目是DS18B20这个比较复杂,除了要掌握对寄存器的使用,还要对了解对串口的初始化,读写字节等等。
感谢这次实训,通过这次的实训项目,使我大体了解制作项目的步骤,了解了嵌入式技术的掌握是需要一个过程的。实事求是的说,嵌入式技术的全面掌握是有相当难度的,通过积累和动手总会有收获的,从实验中也明白了一个大的项目并不是一个人可以完成的,团队协作很重要。
姓名:***
年级:卓越1301
2014-7-5