实验一 LED灯的控制

实验一 LED灯的控制
实验一 LED灯的控制

实验一点亮LED灯

1、熟悉keil uVision3软件的使用;

2、熟悉Protues软件的使用;

3、认识AT89C51单片机I/O端口的准双向特性;

用单片机控制一个发光二极管。

一、硬件电路连接

按图1-1连接硬件电路,注意对最小系统的认识。

图1-1 点亮LED

步骤一:启动Proteus ISIS

双击桌面上的ISIS图标或者单击屏幕左下方的“开始”→“程序”→“Proteus 6 Professional”→“ISIS 6 Professional”,出现如图1-2所示屏幕,表明进入Proteus ISIS集成环境。

图1-2启动时的屏幕

Proteus ISIS的工作界面是一种标准的Windows界面,如图1-3所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。

图1-3 Proteus ISIS的工作界面

步骤二:选取器件(pick devices)

图1-4选取器件

如图1-4,选取器件可以使用‘对象选择按钮’,也可以使用工具栏中的选择图标。操作后会弹出图1-5窗口,在keywords一栏中输入需要寻找器件的关键字即可获得器件。

图1-5输入关键字

输入关键字后Results一栏出现相对应的器件,选择AT89C51,双击,就会发现单片机器件会出现在‘对象选择器窗口’了。以此类推,我们使用关键字‘CAP’、‘RES’、‘CAP-ELEC’、‘LED-BLUE’、‘CRYSTAL’可以分别寻找到电容、电阻、有极性电容、发光二极管、晶振。注意:在寻找RES电阻时,会因为与关键字符合的器件过多,在Results 栏无法完全显示,此时只需要点击Keywords下面的Match Whole Words(关键字全匹配)

即可。当六个器件逐一被选入器件栏后,我们就可以用器件搭建电路了。

步骤三:绘制电路图

1、放置元件

把器件选入右侧的电路图非常简单,只需要单击器件栏中的器件,然后在电路图中单击左键即可。如图1-6。

图1-6将器件调入电路图

如果需要删除多余的器件,右键选击该器件(选中后,器件会变成红色),再单击右键即可;如果需要移动某器件,右键选击该器件,再用左键拖动即可;如果需要整体移动某些器件,右键框选这些器件,再左键拖移。

2、连线

器件之间的连线的方法也很简单,只需要将鼠标靠近需要连线的引脚,当出现一个小叉时,单击左键就会出现连接线,再将连接线引接到目的引脚即可。注意连线美观和器件布局的合理性。

3、添加电源和地线

每张电路图都需要VCC和GND,而这两个并不属于器件的范畴,如图1-7,将绘图工具栏中的元件模式component换成Inter-sheet Terminal模式,选择POWER(VCC电源)和GROUND(GND地)即可。

图1-7调入电源和地

4、修改属性

如何修改器件的属性?如电阻的阻值,晶振的频率等等。只需要右键选择器件,再左

键单击器件,就会弹出器件的属性框,如图1-8,修改相关属性即可。

图1-8电阻属性对话框

按照1-1硬件电路图将所有器件的数值修改完毕,此时硬件电路图就算完工了。二、软件设计

按照1-1硬件电路图将所有器件的数值修改完毕,此时硬件电路图就算完工了。但我

们都知道单片机要能工作,还需要有软件程序。如何载入软件程序呢?

我们使用keil c编写程序后,可以得到一个hex文件,有了这个hex文件,我们就可以

很方便的将软件和硬件联系起来了。

·

进入Keil uVision3 后,屏幕如图1-9所示。几秒钟后出现编辑界图1-10 。

图1-9启动Keil uVision3时的屏幕

图1-10进入Keil uVision3后的编辑界面

学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。下面通过简单的编程、调试,引导大家学习Keil uVision3软件的基本使用方法和基本的调试技巧。

步骤二:建立一个新工程

单击File菜单,在弹出的下拉菜单中选中New| uVision Project选项,如图1-11。

图1-11 新建New Project选项框

然后选择你要保存的路径,输入工程文件的名字,比如保存到first目录里,工程文件的名字为S51,如图1-12所示,然后点击保存.

图1-12保存工程文件命名

这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,Keil uVision3几乎支持所有的51核的单片机,这里还是以大家用的比较多的Atmel 的AT89C51来说明,选择A T89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定。弹出Copy Standard 8051 Startup Code to Project Folder and Add File to Project?,点击是(N)。如图1-13所示。

图1-13 选择单片机型号并复制启动文件

完成上一步骤后,屏幕如图1-14所示

图1-14完成建立工程后

步骤三:新建文件

到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。

5)在图1-15中,单击“File”菜单,再在下拉菜单中单击“New|File”选项

图1-15 新建文件

新建文件后屏幕如图1-16所示

图1-16新建文件后的界面

此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所示,

在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。注意,如果用C语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。然后,单击“保存”按钮。如图1-17。

Text1.c

图1-17保存文件

回到编辑界面后,单击“Target 1”前面的“+”号,然后在“Source Group 1”上单击右键,弹出如下菜单图1-18。

图1-18 添加到工作组中去

然后单击“Add File to Group …Source Group 1?” 屏幕如图1-19所示

.C

.C

图1-19选择要添加的文件

选中Text.c,然后单击“Add”,注意Add一次即可,屏幕如图1-20所示

图1-20文件添加如工程

注意到“Source Group 1”文件夹中多了一个子项“Text1.asm”了吗?子项的多少与所增加的源程序的多少相同。

#include //预处理命令

void Delay(unsigned int m) //延时程序

{

unsigned char k;

for(k=0;k

}

void main() //主程序

{

while(1) //循环点亮

{

P1=0x00; //点亮

Delay(3); //调用延时子程序,点亮延时

P1=0x01; //熄灭

Delay(3); //调用延时子程序,点亮熄灭

}

}

在输入上述程序时,大家已经看到了事先保存待编辑的文件的好处了吧,即Keil uVision3会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。程序输入完毕后,如下图1-21所示

图1-21输入程序代码后

步骤四:编译程序

在上图中,单击“Project”菜单,再在下拉菜单中单击“Built Target”选项(或者使用快捷键F7),编译成功后,再单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5),屏幕如下图1-22所示

图1-22调试程序

在上图中,单击“Debug”菜单,在下拉菜单中单击“Go”选项,(或者使用快捷键F5),然后再单击“Debug”菜单,在下拉菜单中单击“Stop Running”选项(或者使用快捷键Esc);

至此,我们在Keil uVision3上做了一个完整工程的全过程。我们可以通过连接主板上的串口进行在线仿真,便可以在硬件上看到实验结果了。但这只是纯软件的开发过程,要实现项目的产品话,我们必须把程序下载到单片机器件中去,那如何把程序下载到单片机内部去呢?

步骤五:生成HEX文件

单击“Project”菜单,再在下拉菜单中单击“Options for Target ‘Target 1’”在下图1-23中,单击“Output”中单击“Create HEX File”选项,使程序编译后产生HEX代码,供下载器软件使用。把程序下载到A T89C51单片机中。

图1-23生成hex文件设置

三、联调

我们使用keil c编写程序后,可以得到一个hex文件,有了这个hex文件,我们就可以很方便的将软件和硬件联系起来了。如图1-24,我们打开单片机的属性框,打开方法和其他器件相同(右键选中,左键单击)。在Program File一栏选择浏览,找到hex文件的位置,载入即可。此时的硬件电路图就是拥有软件程序的电路了。

图1-24载入hex文件

接下来就是最后一步,仿真。如图1-24,按下仿真进程控制按钮的开始即可,或者快捷键F12也可以,此时我们就可以看到闪烁灯的仿真效果了,停止仿真的快捷键是两次ESC。

图1-25 闪烁灯的仿真图

Proteus还有更多的应用,我们只是了解了最基本的功能,在后面的实验中我们还会逐

渐接触到Proteus更多的功能应用。

评估标准

实验七 LED灯控制实验

实验七LED灯控制实验 一、实验目的 1、掌握通过文件系统操作I/O设备的方法; 2、学会使用S5PV210 的GPIO设备实现简单的功能。 二、实验设备 1)装有Ubuntu系统或装有Ubuntu虚拟机的PC 机一台; 2)A8嵌入式实验箱一台; 3)本实验用到的实验箱模块有:S5PV210 CPU板模块,LED 模块 三、实验要求 循环让led1-led4点亮 四、实验原理 在Linux 系统中,所有设备都是以文件的形式被打开并进行读/写操作的,本实验中使用POSIX容的文件操作接口函数对底层设备进行操作。POSIX是Portable Operating System Interface foIX的首字母缩写词,是一套IEEE 和ISO标准。这个标准定义了应用程序和操作系统之间的一个口。只要保证他们的程序设计的符合POSIX 标准,开发人员就能确信他们的程序可以和支持SIX 的操作系统互联。这样的操作系统包括大部分版本的UNIX。POSIX 标准现在由IEEE 的一分支机构Portable Applications Standards Committee(PASC)维护。 本实验需要用到以下几个文件操作函数: 【函数原型】int open(const char *pathname, int oflag); int open(const char *pathname, int oflag, mode_t mode); 【功能】打开名为path 的文件或设备,成功打开后返回文件句柄。 【参数】pathname : 文件路径或设备名 oflag : 打开方式。可选值可以是表1.1中的一个值或几个值的组合 【返回值】成功打开后返回文件句柄,失败返回-1 【头文件】使用本函数需要包含。 表 1.1 打开方式对照表

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 <> #define uint unsigned int #define uchar unsigned char const tab1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, /*正向流水灯*/ 0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,};/*反向流水灯*/ const tab2[]={0xff,0x00,0xff,0x00,0xff,0x00,}; void delay() { uint i,j; for(i=0;i<256;i++) for(j=0;j<256;j++)

单片机实验报告——LED灯控制器

《微机实验》报告LED灯控制器 指导教师: 专业班级: 姓名: 学号: 联系方式:

一、任务要求 实验目的:加深对定时/计数器、中断、IO端口的理解,掌握定时/计数器、中断的应用编程技术及中断程序的调试方法。 实验内容:利用C8051F310单片机设计一个LED灯控制器 主要功能和技术指标要求: 1. LED灯外接于P0.0端。 2. LED灯分别按2Hz,1Hz和0.5Hz三种不同频率闪动,各持续10s。 3. 在LED灯开始和停止闪烁时蜂鸣器分别鸣响1次。 4. 利用单片机内部定时器定时,要求采用中断方式。 提高要求: 使用按键(KINT)控制LED灯闪烁模式的切换。 二、设计思路 C8051F310单片机片上晶振为24.5MHz,采用8分频后为3.0625MHz ,输入时钟信号为48个机器周期,所以T1定时器采用定时方式1,单次定时最长可以达到的时间为 1.027s,可以满足0.5Hz是的定时要求。 基础部分: 给TMOD赋值10H,即选用T1定时器采用定时方式1,三种频率对应的半周期时间为0.25s、0.5s、1s。计算得需给TH1和TL1为C1H、B1H;83H、63H;06H、C6H。 要使闪烁持续10s,三种模式需要各循环40、20、10次。 用LOOP3:MOV C,PSW.5 ;PSW.5为标志位,进定时器中断后置一 JNC LOOP3 代替踏步程序等待中断,以便中断完后回到主程序继续向下执行。 为了减少代码长度,可以采用循环结构,循环主题中,将R1、R2分别赋给TH1、TL1,R7为循环次数(用DJNZ语句实现);定时中断里,重新给TH1、TL1赋值时同理。这样,循环时只要把定时时间和循环次数赋给R1、R2、R7即可,达到减少代码长度的效果。

LED调光实验报告

LED调光实验报告 高亮度发光二极管(LED)在各种领域应用普及,并要求LED具备有调光功能。在现在的几种调光技术中,从简单的可变电阻负载到复杂的脉冲宽度调制(PWM)开关,每一种方法均有其利弊。PWM调光的效率最高,电流控制也最精准。本文以LED驱动器LM3405为例,论述LED在调光时的特性,例如亮度与正向电流的关系、波长的变化(色移)和控制器的工作周期限制等。 由于LED的功率低于1 W,所以可用任何类型的电压源(开关器、晶体管)和串串联电阻建构一个电流源。对于少数光线输出端电流的改变而造成亮度和颜色的变化,人的肉眼是不容易察觉出来。不过,一旦将多个LED串联,该稳压器便必需担当电流源的角色。这是因为LED的正向电压VF会随正向电流IF变化,图1是LED波长随着正向电流IF变化图,而该变化对于每个LED都不相同的,即使是同一批产品也有区别。在较大的电流下,光线的强度变化通常约为20%。而 LED制造商一般都会采用较大的VF范围来增加亮度和颜色,因此上述情况尤其突出。然而,除了电流外,正向电压还会受到温度影响。假如只采用镇流电阻器,则光源的颜色和亮度变化很大,而唯一可确保色温稳定的方法是稳定前正向电流IF。 大部分设计人员只习惯为LED设计稳压器,但在设计电流调节器方面显然有不同的要求。电压输出必须要配合固定的输出电流。虽

然在大多数应用中, LED驱动器的输出电流可容许误差±10%,而直流电流的输出纹波更可高达20%,一旦纹波超出20%,人的肉眼便会察觉到亮度的变化,假如输出纹波进一步增加到40%,肉眼就无法承受。 一般而言,电流调节器的设计都需使用比较大的电感以使电感电流IL的变化少于20%。这里可采用LM3405,即使电感由于1.6 MHz 的高开关频率而变得较小,仍可发挥很好的效用。LM3405性能参数如下: 控制方法: 封装:电流模式 TSOT-6 最大输入电压: 15V 应用:工业照明 1A 1~22uF 4.7~10uH 驱动电流:输出电容:电感: 3、脉冲宽度调制调光技术

键盘及LED显示实验

实验三键盘及LED显示实验 一、实验内容 利用8255可编程并行接口控制键盘及显示器,当有按键按下时向单片机发送外部中断请求(INT0,INT1),单片机扫描键盘,并把按键输入的键码一位LED 显示器显示出来。 二、实验目的及要求 (一)实验目的 通过该综合性实验,使学生掌握8255扩展键盘和显示器的接口方法及C51语言的编程方法,进一步掌握键盘扫描和LED显示器的工作原理;培养学生一定的动手能力。 (二)实验要求 1.学生在实验课前必须认真预习教科书与指导书中的相关内容,绘制流程图,编写C51语言源程序,为实验做好充分准备。 2.该实验要求学生综合利用前期课程及本门课程中所学的相关知识点,充分发挥自己的个性及创造力,独立操作完成实验内容,并写出实验报告。 三、实验条件及要求 计算机,C51语言编辑、调试仿真软件及实验箱50台套。 四、实验相关知识点 1.C51编程、调试。 2.扩展8255芯片的原理及应用。 3.键盘扫描原理及应用。 4.LED显示器原理及应用。 5.外部中断的应用。 五、实验说明 本实验仪提供了8位8段LED显示器,学生可选用任一位LED显示器,只要按地址输出相应的数据,就可以显示所需数码。 六、实验原理图

P1口桥接。 八、实验参考流程图 1.主程序流程图

2.外中断服务程序流程图 外部中断0 外部中断1 定时器0中断程序,用于消抖动:

3.LED显示程序流程图 九、C51语言参考源程序 #include "reg52.h" unsigned char KeyResult; //存放键值 unsigned char buffer[8]; //显示缓冲区 bit bKey; //是否有键按下 xdata unsigned char P_8255 _at_ 0xf003; //8255的控制口 xdata unsigned char PA_8255 _at_ 0xf000; //8255的PA口 xdata unsigned char PB_8255 _at_ 0xf001; //8255的PB口 xdata unsigned char PC_8255 _at_ 0xf002; //8255的PC口 code unsigned char SEG_TAB[] = { //段码 0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xee,0x3e,0x9c,0x7a,0x9e,0x8e,0x0}; sbit bLine0 = P3^2; sbit bLine1 = P3^3; //延时1ms void Delay1ms() { unsigned char i;

电工LED灯手工制作实验报告

浙江农林大学 天目学院 实习(课程设计)报告 课程电工及电子技术实习 系(部)工程技术系 指导老师 专业班级汽车服务101班 学生姓名 学号 一、原理图及原理说明

LED(Light Emitting Diode),发光二极管,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。LED的心脏是一个半导体的晶片, 晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。半导体晶片由两部分组成,一部分是P 型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。但这两种半导体连接起来的时候,它们之间就形成一个P-N结。当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED灯发光的原理。而光的波长也就是光的颜色,是由形成P-N结的材料决定的。 二、元器件清单 330欧姆电阻一个 105/400V电容一个开关一个

390欧姆电阻一个发光管一个整流二极管五个 发光二极管 18个开关按钮一个压簧一个 充电按钮一个充电插头一个插头支架一个 开关线路板一个充电线路板一个自功丝 4个 导线 8根 led线路板一个电瓶一个 镜片一个反光杯一个灯罩一个 装饰片一个外壳一套金属软管一个 三、调试 为了方便调试,LED 和电池夹可暂不安装,待调试结束后再另行安装。小夜灯控制电路和电源电路相互独立,这两部分电路的调试也应分开进行,以免彼此牵扯而影响电路测试和故障判断。 控制电路调试时先将 LED 的连接线按电路原理图焊接在控制电路板上,再在控制电路板上两电源输入端以及 RXD 和 TXD 端各焊接 1 根导线,分别与电源和编程电路相连。电路连接妥当后仔细检查几遍,确认无误后即可上电将程序下载至单片机内,之后重新上电对按键功能和 LED 状态进行全面测试。 电源电路调试时,在电源电路板上两电源输入端各焊接 1 根导线与电源相连,这里同样使用稳压电源来调试。检查电路时要特别注意以上几点。与调试控制电路一样,功耗问题不能轻易忽略,调试时要有足够的耐心,力争将功耗降至最低,这一点对调试采用电池供电的电路至关重要。四、心得体会 这是大学学习阶段一次非常难得的理论与实际相结合的机会,通过这次的设计,我摆脱了单纯的理论知识学习状态,.通过试验进一步理解和消化了书本知识,分析每个语句的含义,运用所学知识进行简单的程序设计。在制作过程中,不断调试和修改序,提高了对单片机的应用能力,分析问题和解决问题的能力。实际设计的结合锻炼了我的综合运用所学的专业基础知识,解决实际问题的能力,同时也提高我查阅文献资料、设计手册以及设计规范等其他专业能力水平,提高是有限的但提高也是全面的,正是这一次设计让我积累了无数实际经验,使我的头脑更好的被知识武装了起来,也必然会让我在未来的工作学习中表现出更高的应变能力,更强的沟通力和理解力。顺利如期的完成本次实习给了我很大的信心,让我了解专业知识的同时也对本专业的发展前景充满信心,通过对单片机的系统学习。对一些 LED的设计做了一些必要的改进。同时对自己的改进也做了真实的仿真。达到了预期的目的。但是在改进的过程里也发现了自己的很多的不足。这会在以后的学习生活里不断提高,逐步完善自己。

实验六LED 控制实验

实验六LED 控制实验 一、实验目的 通过实验学习如何将一个驱动添加到Kconfig,编译到内核; 通过实验掌握在Linux 下驱动程序的编写方法。 二、实验设备 硬件:EduKit-IV 嵌入式教学实验平台、Mini2410 核心子板、PC 机; 软件:Windows 2000/NT/XP、Ubuntu 8.04、其他嵌入式软件包。 三、实验内容 编写EduKit-IV 实验箱Linux 操作系统下LED 灯的应用程序。 编写 EduKit-IV 实验箱Linux 操作系统下LED 灯的驱动; 实验步骤: 下面介绍如何将一个驱动添加到内核中,并且在配置选项中能够通过menuconfig 配置内核时选择该驱动: 1)单击菜单应用程序->附件->终端打开终端,在终端中输入以下命令设置开发所需的环境变量。 $ source /usr/local/src/EduKit-IV/Mini2410/set_env_linux.sh $ source /usr/crosstool/gcc-3.4.5-glibc-2.3.6/arm-linux/path.sh 2)将实验目录$SIMPLEDIR/8.1-led_test/driver 下的eduk4-led.c 复制到目录内核目录$KERNELDIR/drivers/char 下。 3)修改$KERNELDIR/drivers/char 目录下的Kconfig 文件,在文件的末尾按照如下内容修改并保存: …. config MMTIMER tristate "MMTIMER Memory mapped RTC for SGI Altix" depends on IA64_GENERIC || IA64_SGI_SN2 default y help The mmtimer device allows direct userspace access to the Altix system timer. config EDUKIT4_LED tristate "Edukit4 Led" source "drivers/char/tpm/Kconfig" endmenu 这样当make menuconfig 时,将会出现Edukit4 Led 选项。

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灯,并使其点亮。

EDA技术按键控制LED实验

昆明理工大学信息工程与自动化学院学生实验报告 ( 201 —201 学年第学期) 课程名称:EDA技术开课实验室:年月日 一、实验目的 1、熟悉FPGA开发完整流程 2、熟悉管脚分配,熟悉编程 二、实验设备 1、带有quartusII 软件的PC 机一台。 2、 FPGA 实验箱以及电源线下载线。 三、实验要求 实现8 个SW 按键控制8 个led 灯亮灭。

四、实验原理 1、按键控制led 灯原理: 本实验是通过按键的电平控制led灯。其示意图如图 2.1。 图 2.1按键控制led 示意图 8 个SW 按键控制相对的8 个led 灯,当SW1 在上方,其余按键在下方时,此时SW1 为高电平,这时SW1 对应的led 被点亮。 2、模块符号: 图 2.2为按键控制led模块符号。 图 2.2 按键控制led 模块符号 3、源码: module key1(key,led); input[7:0] key; output[7:0] led; reg[7:0] led; always@(key) begin case(key) 8'b00000001:led<=8'b00000001; 8'b00000010:led<=8'b00000010; 8'b00000100:led<=8'b00000100; 8'b00001000:led<=8'b00001000; 8'b00010000:led<=8'b00010000; 8'b00100000:led<=8'b00100000; 8'b01000000:led<=8'b01000000; 8'b00000000:led<=8'b00000000; endcase end endmodule 五、实验步骤 1、打开quartusII 开发环境,建立工程、添加相应源文件(选目标芯片时,应采用EP2C35F672C8芯片)。 2、分配管脚 1)修改tcl 文件:

(LED灯控制实验)

1.实验名称:LED 灯控制实验 2.实验原理:程序通过配置CC2530 IO 寄存器的高低电平来控制LED 灯的状态,用循环语句来实现程序的不间断运行。ZigBee(CC2530)模块硬件上设计有2 个LED 灯,用来编程调试使用。分别连接CC2530 的P1_0、P1_1两个IO 引脚。 3.实验结果:LED1即P1_0输出低电平点亮,LED2即P2_0延时闪烁。 4.实验改进:使LED1和LED2交替闪烁。在LED2延时后改变LED1的状态。 5.代码: #include #define uint unsigned int= #define uchar unsigned char #define LED1 P1_0 #define LED2 P1_1 uint counter=0; uint TempFlag;

void Delay(uint n); void Initial(void); void Delay(uint n) { uint i,t; for(i=0;i<5;i++)= for(t=0;t0) { T1IF=0; TempFlag=!TempFlag; } if(TempFlag) { LED1=!LED1;

Delay(6000); LE D2=!LED2; Delay(60000); } } }

LED小灯实验报告

led流水灯的设计报告 课程名称: led流水灯设计学院:大数据与信息工程学院专业:姓名:学号:年级:任课教师: 一、实验的背景和意义 单片机全称叫单片微型计算机,是一种集成在电路芯片,是采用大规模集成电路技术把cpu随机存储器ram、只读存储器rom、多种输入输出口、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的应用。大致可以分为以下几个范畴: 1、在智能仪器仪表上的应用,例如精确的测量设备;2、在工业控制中的应用,例如用单片机可以构成形式多样的控制系统,与计算机互联网构成二级控制系统等;3、在家用电器中的应用,可以从手机、电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话、集群移动通信、无线电话对讲机等;4、在医用设备中的应用,例如医用呼叫机、各种分析仪、超声诊断设备及病床呼叫系统等等;5在各种大型电器中的模块化作用,如音乐集成单片机,看是简单的功能,微缩在电子芯片中,就需要复杂的类似于计算机的原理。 本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发计算器设计做了详细的分析和研究。本系统就是充分利用了8051芯片的i/o引脚。系统已采用mcs —51系列单片机为中心器件来设计led流水灯系统,实现led左循环显示,并实现循环的速度可调。二、设计目的 1.学习基本理论在实践中综合运用的初步经验,掌握电路设计的基本方法、设计步骤,培养综合设计与调试能力。 2.掌握汇编语言程序和c语言程序设计方法。 3.培养实践技能,提高分析和解决实际问题的能力。三、设计任务及要求 1.用个发光二极管作为显示电路 2.实现led动态显示 3.能连续循环显示 四、设计思路 led流水灯实际上是一个带有八个放光二极管的单片机最小应用系统,即为由晶振led 灯、电阻、电容器、电源等电路和必要的软件组成的单个单片机。 如果要让接在p1.0口的led1亮起来,那么只需要把p1.0口的电平变为低电平就可以了;相反,如果要让接在p1.0口的led1熄灭,那么只需要把p1.0口的电平变为高电平就可以了;同理,接在p1.1—p1.7口的其他7个led的点亮的熄灭的方法同led1。因此,只要使接在单片机上的八个led灯在接通电源后除了最右端一个其余都亮,一秒后倒数第二个熄灭其余都亮,如此循环往复,就可以达到流水的效果。 在此我们还需注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令时的时间很短,我们在控制二极管亮灭的时候应该延迟一段时间,否则我们就看不到“流水”的效果了。 五、模块介绍 采用at89c51作为主控芯片,将p1分别接8个led实现显示,采用汇编语言编程和c 语言实现。方案框图如下: 图2.1 六、元件清单 硬件设计主要是介绍构成此led流水灯单灯左移电路的硬件,对原理图、电阻电容模块的主要原件,及电路设计加以解释说明,模块化的加以说明,才不会相互混淆便于准确的说明。 at89c51单片机简介 1、主要特点有: at89c51是4k字节闪速存储器,128字节内部ram,32个i/o口线,2个16位定时器/

实验一 LED控制实验

实验一 LED控制实验 一.实验目的 在EBDCC2530节点板上运行自己的程序。 通过I/O控制小灯闪烁和蜂鸣器鸣叫。 二.实验环境 硬件:PC机,EBDCC2530节点板,USB接口仿真器。 软件:Windows 98/2000/NT/XP, IAR集成开发环境。 三.实验原理 仔细阅读和查询CC2530设备的数据手册来设置CC2530的I/O引脚,通过I/O引脚输出的高低电平来控制灯的亮与灭和蜂鸣器的鸣叫。本实验设置P1.0、P1.1、P1.4 I/O引脚来选通LED1、LED2、LED3,引脚置为低电平点亮LED,反之熄灭LED。设置P0.1引脚来选通BEEP,引脚置为低电平蜂鸣器鸣叫,反之蜂鸣器不鸣叫。 CC2530的I/O控制口一共有21个,分别为P0、P1、P2。我们以LED1所对应的P1.0引脚所用到的控制寄存器为例,仔细说明控制寄存器中每一位所代表的意义。其他控制寄存器所代表的意义请查看CC2530数据手册。 P1DIR(P1方向寄存器): D7 D6 D5 D4 D3 D2 D1 D0 P1.7方向0:输入1:输出P1.6方 向0: 输入 1:输出 P1.5方 向0: 输入 1:输出 P1.4方 向0: 输入 1:输出 P1.3方 向0: 输入 1:输出 P1.2方 向0: 输入 1:输出 P1.1方 向0: 输入 1:输出 P1.0方 向0: 输入 1:输出 P1SEL(P1功能选择寄存器): D7 D6 D5 D4 D3 D2 D1 D0 P1.7功能 0:普通I/O 1:外设P1.6功 能 0:普 通I/O 1:外设 P1.5功 能 0:普 通I/O 1:外设 P1.4功 能 0:普 通I/O 1:外设 P1.3功 能 0:普 通I/O 1:外设 P1.2功 能 0:普 通I/O 1:外设 P1.1功 能 0:普 通I/O 1:外设 P1.0功 能 0:普 通I/O 1:外设 寄存器的设置: 1)将控制寄存器的某一位置1: 例如:P1DIR |= 0x01; 解释:“|=”表示按位或运算,0x01为十六进制数,转换成二进制数为0000 0001,若P1DIR原来的值为0011 0010,或运算后P1DIR的值为0011 0001,根据上面的计算后P1_0的方向改为输出,其他I/O 口保持不变。 2)将控制寄存器的某一位清0: 例如:P1DIR &= ~0x01; 解释:“&=”表示按位与运算,“~”运算表示取反,0x01为十六进制数,转换成二进制数为1111 1110,P1DIR原来的值为0011 0011,与运算后P1DIR的值为0011 0010,根据上面的计算后P1_0的方向改为输入,其他I/O口保持不变。 四.主要代码 LDE灯实现的主要代码为:

实验二控制LED灯点亮实验(精)

实验二控制 LED 灯点亮实验 一、实验目的 1.. 进一步熟悉单片机编程和程序调试方法 2. 学习 P1口的使用方法 3. 学习延时子程序的编写和应用 二、实验内容 1.让实验板上的第 1、 3、 5、 7位置上的灯与第 2、 4、 6、 8位置上的灯交替闪烁。 2、设计出如下要求的流水灯程序。 变化要求:先从第 4个灯向左逐个点亮,接着从第 5个灯向右逐个点亮,然后, 从第 1个向右、第 8个向左同时开始的向内逐个点亮再从中间向两边逐个点亮的。 三、实验相关说明 1、实验电路原理图

100 注意:在实验报告中,请画出实际运行你程序的电路的原理图 2、 LED 灯控制。 从电路原理图可看到 ,当 P1 .0端口输出高电平,即 P1.0=1时 ,发光二极管 L1熄灭;当 P1 .0输出低电平即 P1 .0=0时, L 1亮;在汇编语言里可用 SETB P1.0指令使 P 1. 0端口输出高电平 ,用 CLR P1.0指令使 P1 .0 端口输出低电平, 从而控制 LED 的亮、灭。注意:实验板是用哪个口连接了 LED 。 3.延时子程序的设计、应用 单片机指令的执行时间很短,时间在微秒级,因此,如果我们想看灯闪烁, 那么就必须在用指令控制灯处于亮或灭的状态后, 保证那状态维持一段时间后再转换成另一状态。如何做到维持一段时间呢?方法有很多, 其中最易实现的一种方法是:通过插入一段程序, 每条指令执行都需要 1个或若干个机器周期的时间。因而执行完这段程序就过了一段时间, 通常把这称为延时。延时程序一般采用单重或多重循环程序。可以根据需要延时的时间来设计这段程序包含哪些指令、循

流水灯实验报告

实验二流水灯 实验时间:2011-11-20 实验地点:物理楼406 一、实验目的 通过此实验进一步了解,熟悉FPGA开发软件的使用方法及Verilog.HDL,的编程方法;学习简单时序电路的设计。 二、实验原理和内容 实验内容:在实验板上实现LED1~LED8发光二极管流水灯显示 实验原理:在LED1~LED8引脚上周期性地输出流水数据,如原来输出的数据是11111100则表示点亮LED1,LED2,流水一次后,输出数据应该为11111000,而此时则应点亮LED1~LED3三个LED发光二极管,这样就可以实现LED流水灯,为了观察方便,流水速率最好在2Hz左右。在QuickSOPC核心板上有-48MHz的标准时钟源,该时钟脉冲CLOCK 与芯片的28脚相连,为了产生2Hz的时钟脉冲,在此调用了一个分频模块int_div模块,通过修改分频系数来改变输出频率,int-div模块是一个占空比为50%的任意整数分频器。 三、实验步骤 1,启动QuartusⅡ建立一个空白工程,然后命名为led-water.qpf。 2,新建Verilog HDL源程序文件ledwater.v,输入程序代码并保存,然后进行综合编译。若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。 3,从设计文件创建模块,由ledwater.v生成名为ledwater.bsf的模块符号文件。 4,将光盘中EDA-Component目录下的int-div.bsf和int-div.v拷贝到工程目录。 5,新建图形设计文件命名为led-water.bdf并保存。在空白处双击鼠标左键,在Symbol对话框左上角的libraries.v中,分别将project下的ledwater和int-div模块放在图形文件led-water.bdf中,加入输入,输出引脚,双击各引脚符号进行引脚命名。将与ledwater模块led[7..0]连接的引脚命名为led[7..0],与int-div模块clock连接的引脚命名为clock,int-div模块的clk-out与ledwater模块的clk相连接。 6,选择目标器件并对相应的引脚进行锁定,在这里所选择的器件为Altera公司Cyclone系列的EPIC12Q240C8芯片,引脚锁定方法见下表,将未使用的引脚设置为三态输入。

实验2-外部中断的LED控制

外部中断的LED控制 实验目的 1.了解中断的作用 2.掌握嵌入式系统中断的处理流程 3.掌握ARM中断编程 实验内容 编写中断处理程序,处理外部中断 预备知识 了解ADT集成开发环境的基本功能;了解中断的作用以及基本处理过程。 实验设备 硬件:JXARM9-2400教学试验箱,PC机; 软件:PC机操作系统Windows 98(2000、XP)+ADT IDE开发环境 基础知识 参照教学实验教程P73-79 实验步骤 1.参照模板工程interrupt新建一个工程,并修改工程设置。 2.加入如下文件到工程中:2400lib.c; 2440init.s; 2440slib.s interrupt.c。 3.参照基础知识编写中断程序和主程序。 4.在中断服务函数中添加代码实现如下功能:每触发一次中断,二极管进行若干次闪烁。 5.参考模板工程interrupt对工程进行设置,然后编译 6.下载斌运行程序,按下外部中断键,实现实验效果。 实验报告要求 简述中断处理的步骤有哪些?说明每一步的主要工作。

main.c代码 /* 包含文件*/ #include "def.h" #include "2410lib.h" #include "option.h" #include "2410addr.h" #include "interrupt.h" #define U8 unsigned char /* functions */ void eint3_isr(void) __attribute__ ((interrupt("IRQ")));; void delay(); /* variables */ int dither_count3 = 0; /***************************************************************************** // Function name : Main // Description : JXARM9-2410 中断实验主程序 // 完成功能: // 外部中断按键引发中断 // Return type : void // Argument : void *****************************************************************************/ void Main(void) { /* 中断初始化*/ Isr_Init(); /* 初始化端口*/ Port_Init(); /* 请求中断*/ Irq_Request(IRQ_EINT3, eint3_isr); /* 使能中断*/ Irq_Enable(IRQ_EINT3); dither_count3 = 0; while(1) { delay(); dither_count3++;

八只LED灯做流水灯实验报告

51八只LED灯做流水灯实验 第一节: 单片机在上电初始后,其各端口输出为高电平。如果我们现在想让接在P1.0口的LED1亮,那么我们只要把P1.0口的电平变为低电平就可以了。想让LED1灭,LED0亮,只需将P1.0升高,P1.1变低,LED1就熄灭LED2随后既点亮!依始类推如下所示8只LED变会一亮一暗的做流水灯了。本实验在“SP-51实验板”学习套件上的相关图纸: P1.0低、P1.0高、P1.1低、P1.1高、P1.2低、P1.2高、P1.3低、P1.3高、P1.4低、P1.4高、P1.5低、P1.5高、P1.6低、P1.6高、P1.7低、P1.7高、返回到开始、程序结束。 我们不能说P1.1你变低,它就变低了。因为单片机听不懂我们的汉语的,只能接受二进制的“1、0......”代码。我们又怎样来用二进制语议论使单片机按我们的意思去工作呢?为了让单片机工作,只能将程序写为二进制代码交给其执行;早期单片机开发人员就是使用人工编写的二进制代码交给单片机去工作的。今天,我们不必用烦人的二进制去编写程序,完全可以将我们容易理解的“程序语言”通过“翻译”软件“翻译”成单片机所需的二进制代码,然后交给单片机去执行。这里的“程序语言”目前主要有汇编和C两种;在这里我们所说的“翻译”软件,同行们都叫它为“编译器”,将“程序语言”通过编译器产生单片机的二进制代码的过程叫编译。前面说到,要想使LED1变亮,只需将对应的单片机引脚电平变为低电平就可以了。现在让我们将上面提到的8只LED流水灯实验写为汇编语言程序。 “汉语”语言汇编语言 开始:star: P1.0低clr p1.0 P1.0高setb p1.0 P1.1低clr p1.1 P1.1高setb p1.1

实验三——LED指示灯循环控制

中国石油大学(北京) 实 验 报 告 实验课程:单片机原理及应用 实验名称:实验三——LED指示灯循环控制 总学时:48 教师:林立成绩: 实验日期:2013 年10 月24 日

一、实验目的 熟悉μVision3编译软件、掌握C51编程与调试方法。 二、实验内容 1、按照教材P227的图,绘制实验三电路原理图; 2、编写C51程序,实现8个LED灯依次点亮的功能:→→→→┅→→→→┅→的顺序,无限循环,间隔约50ms; 3、观察仿真结果,完成实验报告。 三、实验要求 1、采用两种加载并运行可执行文件的方法,即proteus独立运行和proteus + Keil联合运行,体会其中的差异和意义; 2、练习采用单步、断点以及监视窗等手段进行程序调试的方法; 3、观察仿真结果,完成实验报告:绘制的电路原理图、编程思路分析及C51源程序、调试过程简述,仿真运行效果以及实验小结。 4、提交实验报告的电子邮件主题及存盘文件名格式如,20马晓明实验三。 1、电路原理图 图1 实验原理

2、编程思路及C51源程序 编程思路:本次实验目的是实现8个LED灯的自上而下,自下而上循环亮起。指示灯的一次亮起通过在两个亮起的动作间加上一个肉眼可辨别的延时动作来实现,可编写一个延时程序来完成。指示灯的自上而下亮起或自下而上亮起,将这个动态的过程截成一个个单独的状态,找出各个状态下各的状态值,经观察发现可通过左移或右移数值1来实现。根据这一思路,可编写以下程序: 图2 源程序 3、调试过程简述 1.建立工程文件 单击菜单“Project”—“New project”选项,在“Create New Project”中输入文件名称,文件自动保存为.uv2格式。 2.选择单片机 工程文件保存后,在弹出的“Select Device for ‘Target1’中选择intel下的80C51BH型单片机。 3.编辑源程序文件

LED实验报告

山西大同大学 物理与电子科学学院 LED封装与测试 题目: LED封装与测试实验报告班级: 学号: 姓名: 指导教师: 职称:讲师 完成日期:2020 年11月 3 日

一:目的 能够熟练掌握LED封装与测试,并能够熟知原理。 二、仪器装置: 显微镜、烘烤机、扩张机、子母环、固晶笔、固晶座、点胶注射器、LED支架、超声波金丝球焊线机、电子秤、镊子等。 三、实验原理 LED封装的基本原理: 1、前期准备:通过扩张机,准备好实验要用的晶体芯片;在点胶注射器上点上适当的胶水。 2、在显微镜下把支架上的固晶区域的中间部分点上适量的胶水,然后点晶,把芯片在显微镜下点在固晶区域中部的胶水上。 3、点胶结束后把支架放在专业烤箱上烘烤,将芯片固定在固晶区域;烘烤结束,等支架降温,然后焊丝。焊丝后,灌胶烘烤。等支架降温,切割好之后,对成品芯片通电检测。 LED是将电能转化为光能的半导体材料。由P型半导体和N型半导体构成的PN结是LED的核心结构。由于在P型半导体和N型半导体中存在着两种不同的载流子:空穴和电子,在外界电极、电压的作用下,两种载流子在PN结复合。电子从高能级跃迁到低能级,辐射以光子形式放出。LED封装的作用是保护晶片,完成电气互连,增强晶片散热性能,以及完成光线的配光和输出。LED的封装技术直接影响到LED灯具的光、热、电综合性能。引脚式封装的封装结构包括金属支架银胶/绝缘胶、金线、晶片和环氧树脂胶。

四:步骤 (1)反晶、刺晶和扩晶 1、打开扩晶机电源开关。 2、热机十分钟,温度调整至50-60℃。 3、根据字母环面积剪下适当大小的3M膜,取少量芯片。 4、打开扩张机上压架在热板上放置子母环内圈。 5、将3M膜粘芯片的一面朝上放置,夹好夹具,再按上升按钮直到膜紧绷。 6、放上子母环外圈,按下压按钮使外圈箍住内圈,按下降按钮使子母环与扩张机分离,使扩晶机恢复到原状态。 7、取出已扩好芯片的子母环。 (2)点胶和刺晶 1、备胶:取适量胶水注入针头。 2、将排好的夹具放到显微镜下,打开灯光,将显微镜调到最佳位置(调节显微镜高度)。 3、调节气动点胶机旋钮,使出胶量合乎标准。 4、取针点胶,胶水尽量点在中心且适量,依次点完所有灯杯。 5、将子母环平台放在灯架上,调节平台腿的高度使平台和灯架的间隙约2毫米。 6、再次调节显微镜,开始刺晶,将芯片对准胶水。 7、用刺晶笔戳芯片,使芯片落在胶水上,依次刺晶。 (3)烘烤 1、将经过固晶的支架放在烤箱里面,预设温度和时间。 2、打开烤箱放入灯架,达到烘烤的设定时间,等时间到关闭开关和电源。 3、打开烤箱,带上隔热手套取出灯架,关闭烤箱

LED控制实验

1.1 LED 控制实验 1.1.1 实验目的 通过I/O 控制小灯闪烁的过程; 在ZXBee CC2530节点板上运行自己的程序。 1.1.2 实验环境 硬件:ZXBee CC2530节点板一块,CC2530仿真器,PC 机; 软件:Windows 7/Windows XP ,IAR 集成开发环境。 1.1.3 实验原理 通过CC2530 的I/O 引脚,输出高低电平来控制D6及D7的亮与灭。 CC2530的I/O 控制口一共有21个,分成3组,分别是P0、P1和P2;由电路原理图可以看出D7所对应的I/O 口为P1_0,D6所对应的I/O 口为P1_1。 如图为LED 灯的驱动电路,本实验选择P1_0和P1_1 I/O 引脚, P1_0与P1_1分别控制LED4(D7)和LED3(D6),因此,在软件上只要配置好P1_0口及P1_1口。 图2.2.1 LED 驱动电路图 下面我们来看一下本次实验所用到的控制寄存器中每一位的取值所对应的意义:

寄存器的设置: 将控制寄存器的某一位置1: 例:P1DIR |= 0X02; 解释:”|=“表示按位或运算,0X02为十六进制数,转换成二进制数为0000 0010,若P1DIR 原来的值为0011 0000,或运算后P1DIR 的值为0011 0010。根据上面给出的取值表可知,按位或运算后P1_1 的方向改为输出,其他I/O 口方向保持不变。 将控制寄存器某一位清0: 例:P1DIR &= ~0X02; 解释:”&=“表示按位与运算,”~“运算符表示取反,0X02为0000 0010,即~0X02为1111 1101。若P1DIR 原来的值为0011 0010,与运算后P1DIR 的值为0011 0000。 1.1.4 实验内容 通过上述实验原理得知,要实现D6、D7的点亮熄灭只需配置P1_0、P1_1口引脚即可,然后将引脚适当的输出高低电平则可实现D6、D7的闪烁控制。下面是源码实现的解析过程: 主函数中主要实现了以下步骤: 1)初始化LED 灯即led_init():设置P1.0 和P1.1为普通I/O 口, P1方向为输出,关闭D6、D7灯。 2)在主函数中使用 while(1) 等待LED 灯开关的测试即可。 上述代码实现了P1选择寄存器和方向寄存器的设置,并将LED 灯的电平置为高电平,即初始状态下LED 灯灭。接下来就只需要实现LED 灯的轮流闪烁了,通过下面的代码来解析LED 灯开关的测试:

相关文档
最新文档