实验五 独立按键和LED发光管实验(1)
- 格式:ppt
- 大小:235.00 KB
- 文档页数:9
主题:单片机独立按键控制LED灯实验原理目录1. 概述2. 单片机独立按键控制LED灯实验原理3. 实验步骤4. 结语1. 概述单片机在现代电子设备中起着至关重要的作用,它可以通过编程实现各种功能。
其中,控制LED灯是单片机实验中常见的任务之一。
本文将介绍单片机独立按键控制LED灯的实验原理及实验步骤,希望对初学者有所帮助。
2. 单片机独立按键控制LED灯实验原理单片机独立按键控制LED灯的实验原理主要涉及到单片机的输入输出端口及按键和LED的连接方式。
在单片机实验中,按键与单片机的输入端口相连,LED与单片机的输出端口相连。
通过按键的按下和松开来改变单片机输出端口电平,从而控制LED的亮灭。
3. 实验步骤为了完成单片机独立按键控制LED灯的实验,需要按照以下步骤进行操作:步骤一:准备材料- 单片机板- 按键- LED灯- 连线- 电源步骤二:搭建电路- 将按键与单片机的输入端口相连- 将LED与单片机的输出端口相连- 连接电源步骤三:编写程序- 使用相应的单片机开发软件编写程序- 程序中需要包括按键状态检测和LED控制的部分步骤四:烧录程序- 将编写好的程序烧录到单片机中步骤五:运行实验- 按下按键,观察LED的亮灭情况- 确保按键可以正确控制LED的亮灭4. 结语通过上述实验步骤,我们可以实现单片机独立按键控制LED灯的功能。
这个实验不仅可以帮助学习者了解单片机的输入输出端口控制,还可以培养动手能力和程序设计能力。
希望本文对单片机实验初学者有所帮助,谢谢阅读!实验步骤在进行单片机独立按键控制LED灯实验时,需要按照一定的步骤进行操作,以确保实验能够顺利进行并取得预期的效果。
下面将详细介绍实验步骤,帮助读者更好地理解和掌握这一实验过程。
1. 准备材料在进行单片机独立按键控制LED灯实验前,首先需要准备相应的材料。
这些材料包括单片机板、按键、LED灯、连线和电源。
在选择单片机板时,需要根据具体的实验需求来确定,常见的有51单片机、Arduino等,不同的单片机板具有不同的特性和使用方法,因此需要根据实验要求来选择适合的单片机板。
独立按键控制led课程设计一、课程目标知识目标:1. 学生能理解独立按键的工作原理,掌握其电路连接方式。
2. 学生能掌握LED的基本特性,了解其在电路中的应用。
3. 学生能理解独立按键控制LED的原理,掌握相关编程方法。
技能目标:1. 学生能独立完成独立按键与LED的电路连接,并进行功能测试。
2. 学生能编写简单的程序,实现独立按键控制LED的亮灭、闪烁等功能。
3. 学生能运用所学知识解决实际问题,具备一定的创新意识和动手能力。
情感态度价值观目标:1. 学生通过课程学习,培养对电子技术的兴趣,提高学习积极性。
2. 学生在团队合作中,学会沟通、协作,培养团队精神。
3. 学生在实践过程中,树立正确的价值观,认识到科技对生活的影响。
课程性质:本课程为实践性课程,结合理论教学,注重培养学生的动手能力、创新意识和实际应用能力。
学生特点:学生处于初中阶段,具有一定的物理知识和动手能力,对电子技术有一定的好奇心和兴趣。
教学要求:教师应注重理论与实践相结合,引导学生主动参与实践,鼓励学生创新思维,提高解决问题的能力。
同时,关注学生的情感态度价值观培养,使学生在掌握知识技能的同时,形成良好的综合素质。
通过分解课程目标为具体的学习成果,为后续教学设计和评估提供依据。
二、教学内容1. 理论知识:- 介绍独立按键的原理、功能及其在电路中的应用。
- 讲解LED的基本结构、特性以及在电路中的作用。
- 分析独立按键控制LED的电路原理及编程方法。
2. 实践操作:- 指导学生进行独立按键与LED的电路连接,确保正确无误。
- 帮助学生编写程序,实现独立按键控制LED的亮灭、闪烁等功能。
- 引导学生进行功能测试,分析并解决可能出现的故障。
3. 教学大纲:- 第一课时:介绍独立按键和LED的基本概念、原理及应用。
- 第二课时:讲解独立按键控制LED的电路原理及编程方法。
- 第三课时:指导学生进行电路连接和程序编写,实现功能。
- 第四课时:进行功能测试,总结问题,提高实践能力。
第1篇一、实验目的1. 熟悉按键电路的基本原理和设计方法。
2. 掌握按键电路的搭建和调试方法。
3. 了解按键电路在实际应用中的重要性。
4. 提高动手实践能力和电路分析能力。
二、实验原理按键显示电路是一种将按键输入转换为数字信号,并通过显示设备进行显示的电路。
本实验主要涉及以下原理:1. 按键原理:按键通过机械触点实现电路的通断,当按键被按下时,电路接通,产生一个低电平信号;当按键释放时,电路断开,产生一个高电平信号。
2. 译码电路:将按键输入的信号转换为相应的数字信号,以便后续处理。
3. 显示电路:将数字信号转换为可视化的信息,如LED灯、数码管等。
三、实验器材1. 电路板2. 按键3. 电阻4. LED灯5. 数码管6. 电源7. 基本工具四、实验步骤1. 按键电路搭建(1)根据电路原理图,在电路板上焊接按键、电阻、LED灯等元器件。
(2)连接电源,确保电路板供电正常。
2. 译码电路搭建(1)根据电路原理图,在电路板上焊接译码电路所需的元器件。
(2)连接译码电路与按键电路,确保信号传输正常。
3. 显示电路搭建(1)根据电路原理图,在电路板上焊接显示电路所需的元器件。
(2)连接显示电路与译码电路,确保信号传输正常。
4. 电路调试(1)检查电路连接是否正确,确保无短路、断路等问题。
(2)按下按键,观察LED灯或数码管显示是否正常。
(3)根据需要调整电路参数,如电阻阻值、电源电压等,以达到最佳显示效果。
五、实验结果与分析1. 实验结果通过实验,成功搭建了一个按键显示电路,按下按键后,LED灯或数码管能够正确显示数字信号。
2. 结果分析(1)按键电路能够正常工作,实现电路通断。
(2)译码电路能够将按键输入转换为相应的数字信号。
(3)显示电路能够将数字信号转换为可视化的信息。
六、实验总结1. 通过本次实验,掌握了按键电路的基本原理和设计方法。
2. 提高了动手实践能力和电路分析能力。
3. 了解了按键电路在实际应用中的重要性。
有机发光二极管实验报告实验报告:有机发光二极管摘要:本实验旨在通过研究有机发光二极管(OLED)的特性和性能,了解其在光电器件领域中的应用潜力。
实验中我们搭建了一个有机发光二极管的电路,并对其进行了电流-电压特性的测试和发光效果的观察。
实验结果表明,有机发光二极管具有低电压驱动、高亮度和寿命长的特点,具备较大的应用前景。
1.引言有机发光二极管(OLED)是一种可以通过在有机材料中施加电场而发光的器件。
它由一层或多层的有机材料薄膜组成,两端设置正负极,并在电场刺激下,能够发出可见光。
OLED具有许多优势,如低电压驱动、高亮度、高对比度和寿命长等,因此在显示屏、照明和光伏电池等领域有着广泛的应用。
2.实验目的1)了解有机发光二极管的基本结构和工作原理;2)掌握有机发光二极管的电流-电压特性;3)观察有机发光二极管的发光效果。
3.实验材料和方法实验材料:有机发光二极管、电流表、电压表、电阻、电源等。
实验步骤:1)将有机发光二极管与电源、电流表和电压表连接成电路;2)依次调整电源电压,记录下电流和电压的数值;3)观察有机发光二极管的发光效果。
4.实验结果与分析实验中我们记录下了不同电流下的电压值,并通过绘制电流-电压曲线进行分析。
同时,我们观察到有机发光二极管的发光效果,并比较了其亮度和颜色与电流的关系。
电流-电压特性曲线显示出明显的非线性特征。
在较低的电流下,电压-电流曲线近似呈线性关系,但在较高电流下,电压随电流增大呈现更为陡峭的增长趋势。
这表明有机发光二极管的电阻不是固定的,随着电压的增加而变化。
观察有机发光二极管的发光效果,我们发现其亮度和颜色与电流的变化呈正相关关系。
随着电流的增加,亮度逐渐增大,并且颜色由较暗的蓝色转变为明亮的蓝色。
这表明有机发光二极管的发光效果可以通过控制电流大小来调节。
5.结论本实验通过研究有机发光二极管的特性和性能,掌握了其电流-电压特性和发光效果。
实验结果表明,有机发光二极管具有低电压驱动、高亮度和寿命长的特点,可以广泛应用于显示屏、照明和光伏电池等领域。
单个按键控制4个LED(入门级实验)实验介绍:通过单个按键控制4个LED灯的亮灭状态。
正常情况下,一个按键控制1个灯。
在本次实验中,要求使用1个按键,控制4个LED灯。
通过按键按下的次数,控制LED的亮灭状态。
按下1次,1个LED灯点亮,按下2次,2个LED 灯点亮,按下3次,3个LED灯点亮,按下4次,4个LED灯点亮,按下5次,所有LED灯都熄灭,如此循环。
如此就可以通过单个按键控制4个LED灯的亮灭。
在照明场所,控制LED灯的点亮个数,就可以控制亮度。
实验目的:在使用单片机等控制器控制周边元件的时候,经常会遇到I/O口不够用的情况。
因此在使用的时候,尽量省着用。
本次实验通过单个按键控制4个LED灯的亮灭状态,正常情况下需要4个按键,因而达到了节省单片机I/O口的目的。
通过此次实验室,学习单片机按键的编程控制方法,学习LED灯输出的控制方法。
学习最简单的输入设备(按键)控制最简单的输出设备(LED灯)的控制方法。
仿真原理图:在仿真软件Proteus中绘制仿真原理图如上图所示。
(注意事项:在进行实物制作时,发光二极管串联的电阻可以省略,因为单片机引脚灌电流的能力有限,限制了通过发光二极管电流的大小。
在仿真过程中,电阻R2~R9的大小要合适,太大LED将无法点亮。
)编程思路:当单片机上电后,所有的I/O口默认高电平,因而四个发光二极管在单片机上电后,都为熄灭状态。
此时,我们按下按键后,就可以调节各个发光二极管的亮灭状态。
当按一次按钮,将P2口的状态进行左移一位,同时将P2的最低位清零,就可以达到按一次按钮后,LED灯多亮一个。
如,当前只有P2口控制的最低位连接的LED点亮,当我们按一次按键,单片机首先将P2的状态循环左移一位,则刚才的最低位变为次低位,也就是倒数第二位点亮,同时将P2口的最低位清零,也就是倒数第一位连接的LED灯点亮,即按一次按钮后,倒数第一位和倒数第二位灯点亮。
其他状态与上述过程类似,这里不再赘述。
实验一发光二极管实验一、实验目的1、掌握AT89C51 单片机IO 口的输入输出。
2、掌握用查表方式实现AT89C51 单片机IO 口的控制。
3、练习单片机简单延时子程序的编写。
4、熟练运用Proteus 设计、仿真AT89C51 系统。
二、实验原理1、单片机最小系统由单片机芯片、时钟电路以及复位电路构成。
2、I/O 口P0 口:8 位双向I/O 口。
在访问外部存储器时,P0 口可用于分时传送低8 位地址总线和8 位数据总线。
能驱动8 个LSTTL 门。
P1 口:8 位准双向I/O 口(“准双向”是指该口内部有固定的上拉电阻)。
能驱动4 个LSTTL门。
P2 口:8 位准双向I/O 口。
在访问外部存储器时,P2 口可用于高8 位地址总线。
能驱动4 个LSTTL 门。
P3 口:8 位准双向I/O 口。
能驱动4 个LSTTL 门。
P3 口还有第二功能。
P1 口作为输出口时与一般的双向口使用方法相同。
当P1 口用为输入口时,必须先对它置“1”。
若不先对它置“1”,读入的数据可能是不正确的。
三、设计步骤:【PROTEUS 电路设计】在ISIS 中进行电路图设计,发光二极管流水灯实验装置电路原理图如下图所示。
图一1、按照元件清单从PROTEUS 库中选取元器件,进行第2、3、4、5、6 步,完3、放置电源和地;4、连线;5、参照原理图进行元件属性设置;6、电气检查。
【源程序设计】1、流程图:2、在KeilC 中进行源程序设计:3、编译、生成目标代码【PROTUES 仿真】1、在AT89C51 属性页中加载KeilC 中生成的目标代码;2、仿真、调试代码3、注意使用观察窗口四、实验内容1、编写延时子程序,延时时间为0.1S。
2、见图一。
通过AT89C51 单片机控制8 个发光二极管发光,实现亮点以由上到下循环移动,间隔时间为0.1S。
3、见图一。
通过AT89C51 单片机控制8 个发光二极管发光,循环实现亮点由上到下移动1 次(间隔时间为0.2S),由下到上移动1 次(间隔时间为0.2S),闪烁1 次(即先全亮0.1S,再全灭0.1S)。
设计4按键与LED控制实验
一、设计目的:
掌握按键与LED的控制、锻炼分析VHDL语言的能力。
学会对实验板上的FPGA进行编程下载,硬件验证自己的设计项目。
二、原理说明:
如图5-1所示,要控制发光二极管DK1~DK4的亮灭,我们只须控制LED1~LED4的电平。
从图中可以看出,当LED1~LED4中任意一位为低电平,对应的LED将被点亮。
当LED1~LED4全部为高电平时DK1~DK4全灭,全部为低电平时DK1~DK4全亮。
图5-1 LED电路原理图
图5-2为按键电路,按键SK1~SK4任意一个按下时,控制信号KEY1~KEY4中相应的信号变为低电平,如没有按键按下,则KEY1~KEY4都为高电平。
图5-2 按键电路
三、设计内容:
1、分析图5-3中的各语句功能、设计原理、逻辑功能。
图5-3 按键与LED控制VHDL源程序
2、对上述程序进行时序仿真,分析其电路的功能。
(注:信号sk1为实验板
上sk1的输入信号)。
3、仿真通过后,对程序进行下载(JTAG下载方式),硬件验证该程序。
(注:表1为锁定引脚对照表)。
4
等闪的频率,顺序等)的功能。
四、思考题:
根据本次试验的思想,给出霓虹灯控制的方法?五、设计报告:
根据以上的要求,将实验内容及思考题写入实验报告。
pyqt框架实现按键控制led灯的亮灭状态实验总结下文以中括号内的主题为中心,详细探讨了使用PyQt框架实现按键控制LED灯的亮灭状态实验,涵盖了实验目的、实验背景、实验步骤、实验结果与分析以及对实验的总结。
一、实验目的本实验的目的是利用PyQt框架实现按键控制LED灯的亮灭状态,通过控制电路中的LED灯,达到对灯的开关进行控制的目的。
通过这个实验,我们可以了解PyQt框架的基本应用以及灯的电路控制原理。
二、实验背景随着科技的不断发展,图形化界面已经成为了现代软件设计的重要一环。
PyQt是Python语言的GUI编程解决方案之一,它结合了Qt库的功能和Python语言的灵活性,具有操作方便、界面友好等特点,被广泛应用于各个领域。
LED灯是现代电子设备中常见的一种指示灯。
通过控制LED灯的亮灭状态,我们可以在软件界面上显示不同的状态,从而提高用户体验。
三、实验步骤1. 确认实验所需硬件设备:一个LED灯、一个电阻、一个面包板、杜邦线等。
2. 搭建电路:将LED灯通过电阻连接到电源正极,并将其负极连接到面包板上。
3. 准备开发环境:安装Python和PyQt,并导入相关库文件。
4. 创建GUI窗口:使用PyQt框架创建一个窗口,并设置窗口大小、标题等属性。
5. 设计界面元素:在窗口中添加一个按钮,用于控制LED灯的亮灭状态。
6. 编写控制逻辑:通过编写相应的代码,实现点击按钮时灯亮灭的切换。
7. 运行程序:在终端中运行程序,查看窗口显示效果。
8. 调试与优化:根据实际情况进行调试,修复可能出现的bug,并对程序进行优化。
四、实验结果与分析经过以上步骤的实验操作,我们成功地使用PyQt框架实现了按键控制LED灯的亮灭状态。
通过点击按钮,我们可以对LED灯进行开关控制,从而在界面上显示不同的状态。
对于实验结果的分析,我们可以从以下几个方面进行讨论:1. 界面友好度:PyQt框架提供了丰富的控件和布局方式,使得界面的设计更加美观、直观。
51单片机实验报告范文51单片机实验报告实验一点亮流水灯实验现象Led灯交替亮,间隔大约10ms。
实验代码#include〈reg51、h>voidDelay10ms(unsignedintc);voidmain(){)1(elihwﻩ{ﻩP0=0x00;Delay10ms(50);;ffx0=0Pﻩﻩ;)05(sm01yaleDﻩ}}voidDelay10ms(unsignedintc){unsignedchara,b;for(;c>0;c-—){)——b;0〉b;83=b(rofﻩ{ﻩﻩfor(a=130;a〉0;a--);}ﻩﻩ}}实验原理WWhiile(1)表示一直循环。
循环体内首先将P0得所有位都置于零,然后延时约550*10=500ms,接着0P0位全置于11,于就是DLED全亮了。
接着循环,直至关掉电源..延迟函数就是通过多个forr循环实现得。
实验2流水灯(不运用库函数)实验现象起初led只有最右面得那一个不亮,半秒之后从右数第二个led也不亮了,直到最后一个也熄灭,然后led除最后一个都亮,接着上述过程#includemain(){unsignedcharLED;LED=0xfe;while(1){ﻩ;DEL=0PﻩDelay10ms(50);;1〈〈DEL=DELﻩ)00x0==0P(fiﻩ{ﻩ;efx0=DELﻩ}ﻩ}ﻩ}voidDelay10ms(unsignedintc){unsignedchara,b;for(;c>0;c-—){ﻩﻩﻩ)—-b;0〉b;83=b(rofﻩ{;)--a;0>a;031=a(rofﻩ}ﻩ}ﻩ}实验原理这里运用了C语言中得位运算符,,位运算符左移,,初始值得二进制为11111110,之后左移一次变成111111000,当变成000000000时通过fif语句重置1111111110、延迟函数在第一个报告已经说出了,不再多说..实验3流水灯(库函数版)实验现象最开始还就是最右边得一个不亮,然后不亮得灯转移到最右边得第二个,此时第一个恢复亮度,这样依次循环.实验代码#include〈reg51、h>#include〈intrins、h〉voidDelay10ms(unsignedintc);voidmain(void){unsignedcharLED;;EFx0=DELﻩ)1(elihwﻩ{ﻩP0=LED;;)05(sm01yaleDﻩﻩ;)1,DEL(_lorc_=DELﻩ}ﻩ}voidDelay10ms(unsignedintc){ unsignedchara,b;for(;c〉0;c——){ﻩfor(b=38;b〉0;b—-){ﻩﻩ;)-—a;0〉a;031=a(rofﻩ}ﻩ}}实验原理利用头文件中得函数,_crol_(,,),可以比位操作符更方便得进行22进制得移位操作,,比位操作符优越得就是,该函数空位补全时都就是用那个移位移除得数据,,由此比前一个例子不需要fif语句重置操作..数码管实验实验现象单个数码管按顺序显示0-9与A-F。
实验5 独立键盘和矩阵键盘一、实验目的1、学会用C语言进行独立按键应用程序的设计。
2、学会用C语言进行矩阵按键应用程序的设计。
二、实验内容1、独立按键:对四个独立按键编写程序:当按k1时,8个LED同时100ms闪烁;当按k2时,8个LED从左到右流水灯显示;当按k3时,8个LED从右到左流水灯显示;当按k4时,8各LED同时从两侧向中间逐步点亮,之后再从中间向两侧逐渐熄灭;2、矩阵按键:采用键盘扫描方式,顺序按下矩阵键盘后,在一个数码管上顺序显示0~F,采用静态显示即可。
3、提高部分(独立按键、定时器、数码管动态扫描):编写程序,实现下面的功能。
用数码管的两位显示一个十进制数,变化范围为00~59,开始时显示00,每按一次k1,数值加1;每按一次k2,数值减1;每按一次k3,数值归零;按下k4,利用定时器功能使数值开始自动每秒加1;再按一次k4,数值停止自动加1,保持显示原数。
三、实验步骤1、硬件连接(1)使用MicroUSB数据线,将实验开发板与微型计算机连接起来;(2)在实验开发板上,用数据线将相应接口连接起来;2、程序烧入软件的使用使用普中ISP软件将HEX文件下载至单片机芯片内。
查看结果是否正确。
四、实验结果——源代码1. #include "reg52.h"typedef unsigned char u8;typedef unsigned int u16;#define LED P2sbit key1=P3^1;sbit key2=P3^0;sbit key3=P3^2;sbit key4=P3^3;const char tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; u8 code begMid[]={0x7e, 0xbd,0xdb,0xe7, 0xdb, 0xbd, 0x7e}; void Delay(u16 i){ while(i--);}void KeyDown(){u8 i;if(key2==0){Delay(1000);if(key2==0){for(i=0;i<8;i++){LED=tab[i];Delay(50000);}while(!key2);}LED=0xff;}else if(key1==0){Delay(1000);if(key1==0)for(i=0;i<3;i++){LED=0x00;Delay(10000);LED=0xff;Delay(10000);}}}}void Int0Init(){IT0=1;EX0=1;EA=1;}void Int1Init(){IT1=1;EX1=1;EA=1;} void main(){Int0Init();Int1Init();while(1){KeyDown();}}void Int0() interrupt 0{u8 i;if(key3==0){Delay(1000);if(key3==0)for(i=7;i>=0;i--){LED=tab[i];Delay(50000);}}}}void Int1() interrupt 2{u8 i;if(key4==0){Delay(1000);if(key4==0){for(i=0;i<=6;i++){LED=begMid[i];Delay(50000);}}}}2.#include "reg52.h"typedef unsigned int u16;typedef unsigned char u8;#define GPIO_DIG P0#define GPIO_KEY P1sbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4;u8 KeyValue;u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//??0~F?? void delay(u16 i){while(i--);}void KeyDown(void){char a=0;GPIO_KEY=0x0f;if(GPIO_KEY!=0x0f){delay(1000);if(GPIO_KEY!=0x0f){GPIO_KEY=0X0F;switch(GPIO_KEY){case(0X07): KeyValue=0;break;case(0X0b): KeyValue=1;break;case(0X0d): KeyValue=2;break;case(0X0e): KeyValue=3;break;}GPIO_KEY=0XF0;switch(GPIO_KEY){case(0X70): KeyValue=KeyValue;break;case(0Xb0): KeyValue=KeyValue+4;break;case(0Xd0): KeyValue=KeyValue+8;break;case(0Xe0): KeyValue=KeyValue+12;break;}while((a<50)&&(GPIO_KEY!=0xf0)){delay(1000);a++;}}}}void main(){LSA=0;LSB=0;LSC=0;while(1){KeyDown();GPIO_DIG=smgduan[KeyValue];}}3.#include <reg52.h>typedef unsigned int u16;typedef unsigned char u8;#define KEYPORT P3sbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4;sbit key1=P3^1;sbit key2=P3^0;sbit key3=P3^2;sbit key4=P3^3;u16 t;u8 sec;u8 DisplayData[2];u8 code smgduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void Time1Init(){TMOD |= 0x10;TH1=0Xd8;TL1=0Xf0;EA=1;ET1=1;}void delay(u16 i){while(i--); }void DigDisplay(){u8 i;for(i=0;i<2;i++){switch(i){case 0:LSA=0;LSB=0;LSC=0;break;case 1:LSA=1;LSB=0;LSC=0;break;}P0=DisplayData[i];delay(100);P0=0x00;}}void datapros(){DisplayData[0]=smgduan[sec%10];DisplayData[1]=smgduan[sec/10];}void main(){Time1Init();while(1){if(key4==0){delay(1000);if(key4==0){TR1=!TR1;while(key4==0);}}if(key3==0){delay(1000);if(key3==0){sec=0;while(key3==0);}}if(key2==0){delay(1000);if(key2==0){sec--;while(key2==0);}}if(key1==0){delay(1000);if(key1==0){sec++;while(key1==0);}}}}void Time1() interrupt 2{TH1=0Xd8;TL1=0Xf0;t++;if(t==100){t=0;sec++;if(sec>=60){sec=0;}}datapros();DigDisplay();}五、实验体会——结果分析1、独立按键:位定义四个按键key1、key2、key3、key4,宏定义LED为P2口,tab数组保存流水灯D0-D7依次点亮的数值,begMid数组保存流水灯同时从两侧向中间逐步点亮,之后再从中间向两侧逐渐熄灭的赋值方式。
EDA实验单元5
键盘、LED发光管实验
1.要求
使FreeDev开发板上以按钮KEY0~KEY3做输入通过FPGA连接到到LED0~LED3显示
2.分析
FreeDev开发板为用户准备了8个发光二极管,4个输入按钮,其原理图见下图:
标号LED0~LED7分别连接到FPGA的I/O引脚(具体引脚对应表见后),只要正确分配并锁定引脚后,在相应的引脚上输出高电平“1”,就可以实现点亮该发光二
极管的功能。
标号为sw0~sw3的4个按钮,接上拉电阻到V3.3,按钮按下时逻辑值为“0”,否则为“1”。
我们可以用按钮来输入逻辑值通过组合电路把结果显示在LED上。
3.程序设计
文件名:keyled.v。
module keyled (LED,SW);
i nput [3:0]SW;
o utput [3:0]LED;
a ssign LED=SW;
endmodule
4.实验方法
注意:在Quartus II创建工程的详细图示请参考EDA实验单元1《点亮LED 灯》部分,本范例不再赘述。
在Quartus II中创建以basegate.v为顶层模块的工程,按下表锁定引脚,编译下载后即可观察到LED灯周期性闪亮。
北京科技大学《微机原理及应用》实验报告实验内容:单片机及应用班级:智能12姓名:2015年1月5日目录实验一A VR单片机硬件开发平台 (1)一、实验目的 (1)二、实验内容 (1)三、实验所用仪表及设备 (1)四、实验步骤 (1)了解A VR系列单片机 (1)认识A VR_StudyV1.1实验板的组成模块 (2)五、思考题 (6)六、心得体会 (7)实验二A VR单片机软件开发环境 (9)一、实验目的 (9)二、实验内容 (9)三、实验所用仪表及设备 (9)四、实验步骤 (9)新建项目 (9)编译项目 (11)下载程序 (11)五、思考题 (13)六、实验现象 (13)七、遇到的问题及解决方法 (14)八、心得体会 (15)实验三I/O口操作实验 (16)一、实验目的 (16)二、实验内容 (16)三、实验所用仪表及设备 (16)四、实验步骤 (16)硬件接线图: (16)新建工程,实现实验内容1。
(17)新建工程,实现实验内容2。
(18)下载程序,观察实验现象。
(19)五、实验现象 (20)六、思考题 (21)七、遇到的问题及解决方法 (22)八、心得体会 (22)实验四数码管显示实验 (24)一、实验目的 (24)二、实验内容 (24)三、实验所用仪表及设备 (24)四、实验步骤 (24)新建项目,实现实验内容1。
(24)建立新项目,实现实验内容2。
(24)五、实验现象 (25)七、遇到的问题及解决方法 (27)八、心得体会 (27)实验五按键实验 (28)一、实验目的 (28)二、实验内容 (28)三、实验所用仪表及设备 (28)四、实验步骤 (28)新建项目 (28)五、实验现象 (29)六、思考题 (30)七、遇到的问题及解决方法 (32)八、心得体会 (32)实验六外部中断实验 (34)一、实验目的 (34)二、实验内容 (34)三、实验所用仪表及设备 (34)四、实验步骤 (34)新建项目实现实验内容 (34)新建项目实现实验内容2 (36)五、实验现象 (37)六、思考题 (38)七、遇到的问题及解决方法 (39)八、心得体会 (40)实验七定时计数器实验 (42)一、实验目的 (42)二、实验内容 (42)三、实验所用仪表及设备 (42)四、实验步骤 (42)新建工程 (42)普通模式 (43)CTC模式 (43)五、实验现象 (44)六、思考题 (44)七、遇到的问题及解决方法 (45)八、心得体会 (45)选作内容:基于A VR Mega16单片机的闹表测温仪设计 (47)一、实验目的 (47)二、功能简介 (47)三、功能细节设计 (47)实验设备 (48)端口、功能分配以及硬件连接设计 (49)六、程序结构设计 (50)七、各功能模块的具体实现 (53)九、实验心得 (56)附录源程序: (57)实验一AVR单片机硬件开发平台一、实验目的1.了解ATmega16单片机的组成。
EDA设计课程实验报告实验题目:键盘、LED发光实验学院名称:专业:班级:姓名:高胜学号小组成员:指导教师:一、实验目的通过实验让同学们进一步了解、熟悉和掌握FPGA开发软件的使用方法及Verilog HDL 的编程方法,并熟悉以Verilog HDL文件为顶层模块的设计;学会和体会分支条件语句case 的使用方法及FPGA I/O口的输出控制。
二、设计任务及要求smartSOPC试验箱上有八个按键KEY1~KEY8和八个发光二极管LED1~LED8。
在smartSOPC试验箱上有KEY1~KEY8通过跳线JP6的KEY1~KEY8分别与芯片的121~124、143、141、158、和156引脚相连(QuickSOPC芯片板上的KEY1~KEY4与SmartSOPC试验箱上KEY1~KEY4是并接的)。
本试验的内容是要求在SmartSOPC试验箱上完成对8个键盘KEY1~KEY8进行监控,一旦有键输入则判断其键值,并点亮相应个发光二极管。
三、系统设计1、整体设计方案FPGA的所有I/O控制块允许每个I/O引脚单独配置为输入口,不过这种配置是系统自动完成的。
当这种I/O口被设置为输入口使用时(如定义key0为输入引脚:input key0;),该I/O控制模块将直接使三态缓冲区的控制端接地,使得该I/O引脚对外呈高阻态,这样该I/O引脚可作为专用输入引脚。
正确分配并锁定引脚后,一旦在KEY1~KEY8中有键输入,即可判断其键值并作出相应的处理。
2、功能模块电路设计(1)输入输出模块框图(见图1)图1(键盘led发光模块图)(2)模块逻辑表达(见表1)表1(按键led发光真值表)(3)算法流程图(见图2)(4)Verilog源代码module ledkey(key,led); //模块名ledkeyinput [7:0]key; //输入按键状态output [7:0]led; //输出led发光状态reg [7:0]k; //定义8位按键状态寄存器k reg [7:0]l; //定义8位led状态寄存器lassign led=l; //输出led发光状态选择always @(key) //定义按键信号变化触发begink=key; //按键状态选择case (k)8'b11111110:l=8'b11111110; //亮一盏led8'b11111101:l=8'b11111100; //亮二盏led8'b11111011:l=8'b11111000; //亮三盏led8'b11110111:l=8'b11110000; //亮四盏led8'b11101111:l=8'b11100000; //亮五盏led8'b11011111:l=8'b11000000; //亮六盏led8'b10111111:l=8'b10000000; //亮七盏led8'b01111111:l=8'b00000000; //亮八盏leddefault:l=8'b11111111; //不亮endcaseendendmodule四、系统调试1、仿真调试(1)仿真代码`timescale 1ns/1nsmodule ledkey_tp;reg [7:0]key;wire [7:0]led;ledkey u1(key,led);initialbegin#100 key=8'b11111110;#100 key=8'b11111101;#100 key=8'b11111011;#100 key=8'b11110111;#100 key=8'b11101111;#100 key=8'b11011111;#100 key=8'b10111111;#100 key=8'b01111111;#100 key=8'b00111111;#100 $finish;endinitial $monitor($time,,,"%b,%b",key,led);endmodulemodule ledkey(key,led);input [7:0]key;output [7:0]led;reg [7:0]k;reg [7:0]l;assign led=l;always @(key)begink=key;case (k)8'b11111110:l=8'b11111110;8'b11111101:l=8'b11111100;8'b11111011:l=8'b11111000;8'b11110111:l=8'b11110000;8'b11101111:l=8'b11100000;8'b11011111:l=8'b11000000;8'b10111111:l=8'b10000000;8'b01111111:l=8'b00000000;default:l=8'b11111111;endcaseendendmodule(2)仿真波形图(见图3)图3(3)波形分析# 0 xxxxxxxx,xxxxxxxx # 100 11111110,11111110 # 200 11111101,11111100# 300 11111011,11111000 # 400 11110111,11110000 # 500 11101111,11100000 # 600 11011111,11000000 # 700 10111111,10000000 # 800 01111111,00000000 # 900 00111111,11111111 (4)引脚图表2-1 引脚锁定方法五、实验感想。
实验五:独立式键盘实验4.5.1 实验目的1. 掌握单片机独立键盘接口设计方法。
2. 掌握单片机键盘扫描程序设计方法。
3. 掌握按键功能设计方法。
4. 掌握软件消除按键抖动方法。
4.5.2 实验预习1.熟悉Keil集成编译环境的使用方法。
2. 复习单片机C语言程序设计方法。
3. 复习独立键盘工作原理。
4. 复习按键去抖动方法。
4.5.3 实验原理实验板上提供4个独立按键,与单片机接口如图4.5.1所示,每个按键单独接单片机一个I/O接口。
只要将相应端口设为1,然后判断端口状态,如果仍为1,则按键处于断开(释放)状态,如果为0,则按键处于接通(闭合)状态。
图4.5.1 独立键盘电原理图4.5.4 预作实验任务1. 用Proteus仿真软件绘制独立键盘电路图,包括如图4.5.1所示键盘接口,单片机最小系统以及数码管动态显示电路。
2. 简述按键识别过程中如何等待按键释放。
3. 简述按键抖动对单片机系统工作性能的影响,并简介消除按键抖动的方法。
4. 编写按键识别函数,要求正确识别4个按键的状态,如果有按键按下则返回键值,从左到右四个键值分别为1~4。
并通过仿真或实验板验证(要求用软件的方法消除按键抖动)。
5.为实验板上4个按键设定不同的功能,在数码管上显示数字128,4个按键按下后分别对显示的数字做如下修改:key1:数字+1;key2:数字-1;key3:数字+10;key4:数字-10;流程图如图4.5.2所示,试设计完整程序(按键识别子程序KEYSCAN和动态显示子程序DISPLAY可直接调用这里省略)。
图4.5.2 按键功能设计流程图4.5.5 实验任务1.开机时数码管显示1002.按键key1一次数字加1,按键key2一次数字减1。
加到999时再加1归零,减到000时再减1得999。
3.按住键key3不放实现连加功能,每0.2s加1。
4.按住键key4不放实现连减功能,每0.2s减1。
4.5.6 实验步骤1.分析题意,确定算法,绘制主程序流程图。
一、实验背景在单片机实验中,独立按键实验是一个基础且重要的实验项目。
通过本实验,我们能够了解独立按键的工作原理、硬件连接以及软件编程方法,从而为后续的单片机应用开发打下坚实的基础。
二、实验目的1. 掌握独立按键的工作原理及硬件连接方法;2. 学会编写独立按键的软件程序,实现按键控制LED灯的亮灭;3. 熟悉单片机编程过程中的延时函数、状态判断等基本操作。
三、实验内容1. 独立按键的工作原理独立按键是一种电子开关,通过内部金属片的接触与断开来控制电路的连通与断开。
在未按下按键时,内部金属片不接触,电路断开;当按下按键时,内部金属片接触,电路导通。
按键的内部结构如图1所示。
2. 独立按键的硬件连接本实验使用了一个独立按键和一个LED灯作为实验对象。
按键的一端接地,另一端连接到单片机的P3.0口,LED灯的正极连接到单片机的P1.0口,负极连接到地。
电路连接如图2所示。
3. 独立按键的软件编程(1)编写延时函数延时函数用于实现按键消抖处理。
以下是一个10ms延时的函数实现:```cvoid delay10ms(unsigned int ms){unsigned int i, j;for(i = 0; i < ms; i++)for(j = 0; j < 123; j++);}```(2)编写按键检测函数按键检测函数用于检测按键是否被按下。
以下是一个按键检测函数的实现:```cunsigned char checkKey(void){if(P3_0 == 0) // 检测按键是否被按下{delay10ms(500); // 延时消抖if(P3_0 == 0) // 再次检测按键是否被按下return 1; // 按键被按下}return 0; // 按键未被按下}```(3)编写主函数主函数用于实现按键控制LED灯的亮灭。
以下是一个主函数的实现:```cvoid main(void){while(1){if(checkKey()) // 检测按键是否被按下{LED = !LED; // 切换LED灯状态delay10ms(500); // 延时消抖}}}```四、实验总结通过本次独立按键实验,我们掌握了以下知识点:1. 独立按键的工作原理及硬件连接方法;2. 独立按键的软件编程,包括延时函数、按键检测函数以及主函数;3. 按键消抖处理的重要性及实现方法。
第1篇一、实验背景按键作为电子设备中常见的输入装置,其功能丰富,应用广泛。
本实验旨在通过设计和实现一系列按键功能,加深对按键工作原理的理解,并提高电子设计实践能力。
二、实验目的1. 掌握按键的基本原理和电路设计方法。
2. 熟悉按键在不同应用场景下的功能实现。
3. 培养电子设计实践能力,提高问题解决能力。
三、实验内容1. 实验器材:51单片机最小核心电路、按键、LED灯、电阻、电容、面包板等。
2. 实验内容:(1)单按键控制LED灯闪烁(2)按键控制LED灯点亮与熄灭(3)按键控制LED灯亮度调节(4)按键实现数字时钟调整(5)按键实现多功能计数器(6)按键实现密码输入与验证四、实验步骤1. 根据实验要求,设计电路图,并选择合适的元器件。
2. 使用面包板搭建实验电路,包括单片机、按键、LED灯、电阻、电容等。
3. 编写程序,实现按键功能。
4. 对程序进行调试,确保按键功能正常。
5. 实验完成后,撰写实验报告。
五、实验结果与分析1. 单按键控制LED灯闪烁实验结果:按下按键,LED灯闪烁;松开按键,LED灯停止闪烁。
分析:本实验通过单片机定时器实现LED灯的闪烁。
当按键按下时,定时器开始计时;当定时器达到设定时间后,LED灯点亮;定时器继续计时,当达到设定时间后,LED灯熄灭。
如此循环,实现LED灯的闪烁。
2. 按键控制LED灯点亮与熄灭实验结果:按下按键,LED灯点亮;再次按下按键,LED灯熄灭。
分析:本实验通过单片机的I/O口控制LED灯的点亮与熄灭。
当按键按下时,单片机将I/O口置为高电平,LED灯点亮;当按键再次按下时,单片机将I/O口置为低电平,LED灯熄灭。
3. 按键控制LED灯亮度调节实验结果:按下按键,LED灯亮度逐渐增加;松开按键,LED灯亮度保持不变。
分析:本实验通过单片机的PWM(脉宽调制)功能实现LED灯亮度的调节。
当按键按下时,单片机调整PWM占空比,使LED灯亮度逐渐增加;松开按键后,PWM占空比保持不变,LED灯亮度保持不变。
按键控制数码管和流水灯设计报告实验报告实验名称:按键控制数码管和流水灯设计报告一、实验目的本实验旨在通过使用按键来控制数码管和流水灯的显示,加深对数码管和流水灯工作原理的理解,并掌握按键的基本输入输出原理。
二、实验器材1. Arduino开发板2.数码管模块3.面包板4.面包板连接线5.按键模块6.跳线三、实验原理数码管是一种将数字和一些常用符号通过数码电路显示在特定位置的显示器件,由多个LED组成,可显示0-9及一些小于9的字母和符号。
流水灯是一种LED灯的组合,通过不同的时序控制,实现灯光依次点亮或熄灭的效果。
本实验通过使用按键控制器将数码管和流水灯的状态控制与显示,按下不同的按键可以使数码管切换显示不同的数字,同时控制流水灯的点亮或熄灭。
四、实验步骤1. 将数码管模块连接到Arduino开发板的数字I/O口,连接方式可参考数码管模块的接口定义和Arduino开发板的编号。
2. 将按键模块连接到Arduino开发板的数字I/O口,连接方式可参考按键模块的接口定义和Arduino开发板的编号。
3. 按键模块和数码管模块都需要使用面包板连接线和跳线连接到Arduino开发板的相应引脚上。
4.根据按键的读取状态,通过编程控制数码管显示相应的数字,利用流水灯实现通过按键的控制点亮或熄灭。
五、实验结果经过编程和调试,实验中数码管能够正确显示按键输入的数字,同时根据按键输入状态控制流水灯的点亮或熄灭。
按不同的按键可以切换数码管的数字显示,实现了按键对数码管和流水灯的控制。
六、实验总结本实验通过按键来控制数码管和流水灯的显示,加深了对数码管和流水灯的工作原理的理解。
同时,掌握了按键的基本输入输出原理,并通过编程控制实现了按键对数码管和流水灯的控制。
本实验还有一些可以改进的地方,例如可以增加多个按键,实现更多的控制功能;还可以通过增加延时函数控制流水灯的点亮或熄灭速度。
通过不断改进和练习,可以提高对Arduino开发板的理解和掌握。
实验五矩阵键盘实验一、实验内容1、编写程序,做到在键盘上每按一个数字键(0-F)用发光二极管将该代码显示出来。
按其它键退出。
2、加法设计计算器,实验板上有12个按键,编写程序,实现一位整数加法运算功能。
可定义“A”键为“+”键,“B”键为“=”键。
二、实验目的1、学习独立式按键的查询识别方法。
2、非编码矩阵键盘的行反转法识别方法。
三、实验说明1、MCS51系列单片机的P0~P3口作为输入端口使用时必须先向端口写入“1”。
2、用查询方式检测按键时,要加入延时(通常采用软件延时10~20mS)以消除抖动。
3、识别键的闭合,通常采用行扫描法和行反转法。
行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如读列值中某位为低电平,表明有键按下,否则扫描下一行,直到扫完所有行。
行反转法识别闭合键时,要将行线接一并行口,先让它工作在输出方式,将列线也接到一个并行口,先让它工作于输入方式,程序使CPU通过输出端口在各行线上全部送低电平,然后读入列线值,如此时有某键被按下,则必定会使某一列线值为0。
然后,程序对两个并行端口进行方式设置,使行线工作于输入方式,列线工作于输出方式,并将刚才读得的列线值从列线所接的并行端口输出,再读取行线上输入值,那么,在闭合键所在行线上的值必定为0。
这样,当一个键被接下时,必定可以读得一对唯一的行线值和列线值。
由于51单片机的并口能够动态地改变输入输出方式,因此,矩阵键盘采用行反转法识别最为简便。
行反转法识别按键的过程是:首先,将4个行线作为输出,将其全部置0,4个列线作为输入,将其全部置1,也就是向P1口写入0xF0;假如此时没有人按键,从P1口读出的值应仍为0xF0;假如此时1、4、7、0四个键中有一个键被按下,则P1.6被拉低,从P1口读出的值为0xB0;为了确定是这四个键中哪一个被按下,可将刚才从P1口读出的数的低四位置1后再写入P1口,即将0xBF写入P1口,使P1.6为低,其余均为高,若此时被按下的键是“4”,则P1.1被拉低,从P1口读出的值为0xBE;这样,当只有一个键被按下时,每一个键只有唯一的反转码,事先为12个键的反转码建一个表,通过查表就可知道是哪个键被按下了。
2025届吉林省长春市德惠市大区九年级物理第一学期期末复习检测模拟试题注意事项:1.答卷前,考生务必将自己的姓名、准考证号填写在答题卡上。
2.回答选择题时,选出每小题答案后,用铅笔把答题卡上对应题目的答案标号涂黑,如需改动,用橡皮擦干净后,再选涂其它答案标号。
回答非选择题时,将答案写在答题卡上,写在本试卷上无效。
3.考试结束后,将本试卷和答题卡一并交回。
一、单选题1.同学们做实验的装置如图所示,闭合开关,先将导体ab水平用力向右移动,导体cd也随之运动起来,则在以上的实验中,下列说法正确的是A.实验装置中的甲装置运用的原理是电磁感应现象B.实验装置中的甲装置把电能转化为动能C.实验装置中的乙装置产生的现象在生活中的应用是发电机D.若将导体ab水平用力向左移动,导体cd的运动方向不变2.将规格分别为“6V 6W”和“6V 3W”的甲乙两只小灯泡串联后接到电压为6V的电源上,两灯均发光,忽略灯丝电阻的变化,则下列说法中正确的是()A.甲灯两端电压较大B.通过乙灯的电流较大C.甲灯较亮D.乙灯较亮3.电工在断开开关时,取下灯泡,用测电笔测试灯头里面的两根导线,发现其中有一根导线使氖管发光,这种情况是否正常?原因是什么A.此现象正常,因为两根线一根是火线,另一根是零线B.此现象正常,因为开关断开的那根线不能使氖管发光C.此现象不正常,因为没接灯泡时,两根线都应使氖管发光D.此现象不正常,因为没接灯泡时,两根线都不应使氖管发光4.正常工作的电取暖器,它的发热管热的发红,而供电的电源线却不热,这主要是因为()A.电源线散热比发热管快得多B.通过电源线的电流小于发热管的电流C.电源线的绝缘隔热性能好D.电源线的电阻远小于发热管的电阻5.如图所示电路,电源电压保持不变,闭合开关,当滑动变阻器的滑片向左移动的过程中,下列判断正确的是()A.电流表示数变小,电压表示数变大B.电流表示数变大,电压表示数不变C.电流表示数变小,电压表示数变小D.电流表示数变大,电压表示数变大6.如图所示,闭合开关S,两电流表指针向右偏转角度相同,则R1与R2两端的电压之比U1∶U2= ,电流之比I1∶I2= ,电阻之比R1∶R2=,下列对应答案中正确的是()A.1∶1;4∶1 ;1∶4 B.1∶1;1∶4 ;4∶1C.1∶1;5∶1 ;1∶5 D.1∶4;1∶1 ;1∶47.如图所示实验,试管口木塞冲出过程A.试管口出现的白雾是水蒸气B.试管口出现白雾说明水蒸气内能增加C.能量转化情况与内燃机压缩冲程相同D.水蒸气对木塞做功,水蒸气的内能减少8.下列用电器中,主要是利用电流热效应来工作的是A.电风扇B.电视机C.电饭锅D.LED灯二、多选题9.如图是探究电流通过导体产生热量的多少跟什么因素有关的实验装置,两个透明容器中密封着等量的空气,U形管中液面的高度的变化反应密闭空气温度的变化,下列说法错误的是A.该实验装置是为了探究电流产生的热量与电阻的关系B.该实验装置是利用U形管中液体的热胀冷缩来反应电阻丝放出热量的多少C.不改变导线的连接方式,将左边容器中的电阻丝换成10Ω的电阻丝后,就可以探究电流产生的热量与电阻的关系D.不改变导线的连接方式,将右边容器上方的5Ω电阻丝也放入右边容器内,就可以探究电流产生的热量与电阻的关系10.如图所示,导体A 和导体B 的材料、长度完全相同,串联连接在一起接到电源上,设导体A 的电阻为R A,导体B 的电阻为R B,导体A 及导体B 两端的电压分别为U A、U B,流过的电流分别为I A、I B,消耗的电功率分别为P A和P B,则下列关系不正确的是()A.R A=R B,I A=I B,U A=U BB.R A>R B,I A=I B,U A>U BC.R A<R B,I A=I B,U A<U BD.R A<R B,I A>I B,U A=U B三、填空题11.如图所示,要使L1和L2并联在电路中,应闭合的开关_______________,使L1和L2串联在电路中,应闭合的开关是_________________12.来回弯折铁丝铁丝,弯折处温度上升,这是通过_____的方式改变铁丝的内能的,如图热风吹到头发上,头发的温度升高,这是通过_____的方式改变头发的内能的.13.一台电动机的额定电压是220V,额定功率是5.5kW,它正常工作时的电流____________,连续工作4h耗电______________________J。