华中科技大学单片机实验报告完整版LED灯控制器
单片机LED灯控制器报告

单片机LED灯控制器报告一、引言LED(Light Emitting Diode)是一种使用半导体材料发光的固态光源。
相较于传统的白炽灯和荧光灯,LED灯具具有功耗低、寿命长、发光效率高等优点,在室内和室外照明中得到了广泛应用。
为了更好地控制LED灯具,提高其照明效果和节能效益,研究和设计了单片机LED灯控制器。
二、设计原理1.软件设计通过单片机的编程控制,可以实现对LED灯的各种控制。
首先,需要确定控制的方式,包括亮灭控制、调光控制和颜色控制等。
根据不同的控制方式,编写相应的程序来实现。
2.硬件设计LED灯控制器的硬件设计主要包括电源电路、单片机电路和LED驱动电路。
(1)电源电路电源电路是提供工作电压和电流的重要组成部分。
一般采用稳压电源,以确保正常工作时的稳定电压和电流。
(2)单片机电路单片机电路主要由单片机、晶振、运放、电容和电阻等组成。
其中,晶振用于提供单片机的时钟信号,运放用于对输入信号进行放大和滤波。
(3)LED驱动电路LED驱动电路是将单片机输出的信号转化为适合LED灯工作的电压和电流的关键部分。
常用的驱动电路有恒流驱动电路和恒压驱动电路。
三、实验步骤1.搭建硬件电路按照设计原理中的硬件电路图,搭建LED灯控制器的电路,包括电源电路、单片机电路和LED驱动电路。
2.编写程序根据实际需要,编写单片机的程序。
根据控制方式的不同,可以编写相应的亮灭控制、调光控制和颜色控制程序。
3.烧录程序将编写好的程序通过编程器烧录到单片机中。
4.进行实验将LED灯连接到LED驱动电路中,然后接通电源,通过操作控制单片机来控制LED灯的亮度、颜色和闪烁频率等。
四、实验结果和分析经过实验,成功地搭建了单片机LED灯控制器,并通过编程实现了对LED灯的亮灭控制、调光控制和颜色控制。
通过改变单片机程序中的参数,可以调节LED灯的亮度和闪烁频率,实现不同的照明效果。
同时,还能通过控制RGB三基色来实现各种颜色的控制。
单片机实验报告——LED灯控制器

单片机实验报告——LED灯控制器
实验名称:LED灯控制器设计与实现
实验目的:
1.学习和掌握单片机的基本原理及其应用;
2.熟悉LED灯控制器的工作原理,并能够实现基本的灯光控制功能;
3.提高动手能力和解决实际问题的能力。
实验原理:
本实验基于单片机来控制LED灯的亮灭,通过按键输入来控制LED灯的工作状态。
实验材料和器件:
1.AT89C51单片机开发板;
2.电源适配器;
3.LED灯;
4.电阻、电容、按键等元器件。
实验步骤:
1.连接电路
将AT89C51单片机开发板与电源适配器连接,并将LED灯与单片机开发板上的GPIO引脚连接。
2.编写程序
使用Keil C编写程序,实现按下按钮时,LED灯亮起,再次按下按钮时,LED灯熄灭。
3.烧录程序
将编写好的程序通过编程器烧录到AT89C51单片机中。
4.运行程序
上电后,按下按钮,观察LED灯的亮灭情况,验证程序的正确性。
5.调试和优化
根据实际情况,对程序进行调试和优化,确保LED灯的控制能够稳定可靠。
实验结果:
经过调试和优化后,LED灯控制器工作正常。
按下按钮时,LED灯亮起,再次按下按钮时,LED灯熄灭,实现了基本的灯光控制功能。
实验总结:
通过本次实验,我对单片机的基本原理和应用有了更深入的了解,学会了使用单片机控制LED灯的方法和技巧。
同时,我也提高了动手实践和解决实际问题的能力。
在今后的学习和工作中,我会继续深入学习单片机的应用,不断提升自己的技术水平。
单片机LED灯实验报告

单片机LED灯实验报告
本次实验我们使用单片机控制LED灯的亮灭,这是一个非常简单的实验,适合初学者。
1、实验原理
单片机是一种集成电路芯片,具有计算机的基本结构和功能,可以通过编程实现对外
设的控制。
在本实验中,我们通过编程控制单片机的输出口,使其控制LED灯的亮灭。
2、实验器材
1)单片机开发板
2)LED灯
3)导线
4)电池
5)万用表
3、实验步骤
第一步:连接电路,将开发板上的输出口与LED灯的正极连接起来,将GND和LED灯
的负极连接起来。
第二步:打开开发板和计算机,用Keil uVision软件编写程序,将程序下载至单片机。
第三步:将电池接电,观察LED灯的亮灭情况。
第四步:使用万用表进行电压和电流检测,确保电路工作正常。
4、实验结果
当单片机控制输出端口时,LED灯会随之变化。
当单片机输出低电平时,LED灯熄灭;输出高电平时,LED灯亮起。
通过这次实验,我们掌握了单片机的基本原理和一些控制技巧。
这对于我们以后了解
和使用单片机会有很大的帮助。
同时,也加深了我们对电路基础知识的认识和理解。
华中科技大学单片机实验实验报告MCS51单片机

华中科技大学单片机实验报告MCS-51系列单片机(单片机原理及应用实验)(根据2014年电气与电子工程学院单片机实验课程改编)专业:电气工程及其自动化班级:气卓1301姓名:廖鹏毅学号:ALL RIGHT RESERVED目录实验3.1 软件仿真实验 (3)实验2“跑马灯”实验 (8)实验3 数码管显示功能的实现 (11)实验5 按键功能的实现 (23)实验7 A/D转换器件TLC1543的用 (29)实验8 D/A转换器件TLV5617的应用 (34)实验14指示灯的外部中断控制 (47)实验18定时器控制继电器 (49)自行设计实验 (53)实验总结 (55)实验3.1 软件仿真实验一实验目的1 掌握软件仿真的方法2 熟悉集成开发环境的使用3 熟悉常用指令的功能4 熟悉程序调试的方法5 学习自己编写、调试计算机程序二实验内容1 将Keil软件设置为软件仿真的方式2 将3.1.4介绍的示例程序录入、编译、调试3 观察有关寄存器、变量的值,理解程序及指令的功能4 编译、调试、验证自己编写的子程序三实验步骤1 先阅读课本,大致了解仿真软件的使用和注意事项2 结合课本,边看书边上机操作,逐步了解和掌握仿真软件的使用3 阅读和理解3.1.4介绍的示例程序,并将其录入、编译、调试4 赋值给示例程序时,打开各观察窗口,观察有关寄存器、变量的值,验证其功能5 自行编译、调试、验证自己编写的子程序四实验结果1 给十六进制数转换为十进制数子程序赋初值,MOV H_DAT0,#01HMOV H_DAT1,#00H则编译加载调试该子程序,打开各观察窗口观察有关变量,实验发现D_DA T0,D_DAT1,D_DAT2,D_DAT3中的值分别为00,00,00,01。
则符合实际,即验证其功能。
2 给双字节乘法运算子程序赋初值,MOV R4,#8MOV R5,#9MOV R6,#6MOV R7,#7然后编译加载调试该子程序,并用观察窗口观察有关变量,实验发现MUL_0,MUL_1,MUL_2,MUL_3分别为08,04,04,07.则符合实际,即验证其功能。
华中科技大学单片机实验报告完整版LED灯控制器

【任务要求】利用C8051F310单片机设计一个LED灯控制器, LED灯外接于P0.0端,LED灯分别按2Hz,1Hz和0.5Hz三种不同频率闪动,各持续10s,在LED灯开始和停止闪烁时蜂鸣器分别鸣响1次,利用单片机内部定时器定时,要求采用中断方式。
设计思路【设计思路】设置定时器T0定时时间为25ms,每隔25ms开一次中断,共R1次,R0与R2共同作用构成循400次循环,以达到定时10秒的目的。
首先LED灯以2Hz频率闪动,初始赋值R1=10,循环执行10次中断后,即过去0.25s,灯闪烁一次,依次循环,直至10s定时时间到,蜂鸣器响一次,2Hz频率的闪烁结束。
然后LED灯以1Hz频率闪动,设置R1=20,与上类似,每过0.5s灯闪烁一次,十秒定时到,蜂鸣器响一次,到下一阶段。
最后LED灯以0.5Hz频率闪动,设置R1=40即可,思路同上。
当三十秒执行完毕后,使用无条件转移语句跳转到程序开始处,循环以上过程。
【资源分配】R1:定时0.25秒,0.5秒或1秒R0,R2:循环400次,定时10秒定时器T0:定时中断25ms定时器T1:定时10s【流程图】【源代码(含文件头说明、资源使用说明、语句行注释)】;------------------------------------;- Generated Initialization File --;------------------------------------$include (C8051F310.inc)public Init_DeviceINIT SEGMENT CODErseg INITORG 0000HLJMP MAINORG 000BH ;T0中断入口LJMP IT0P ;转T0中断服务程序ORG 001BH ;T1中断入口LJMP IT1P ;转T1中断服务程序ORG 1000H ;主程序MAIN: LCALL Init_Device ;设备初始化MOV SP , #60H ;赋堆栈指针MOV TMOD , #11H ;T1定时方式1,T0定时方式1 MOV R0 , #40 ;循环400次MOV R2 , #10MOV R1 , #10 ;定时0.25sMOV TH1 , #38H ;T1置初值MOV TL1 , #9EHMOV TH0 , #38H ;T0置初值SETB EA ;允许中断SETB ET0SETB ET1LOOP: SETB TR0 ;计时开始SETB TR1CJNE R1 , #0,LOOP ;判断是否到达0.25sCLR P3.1CPL P0.0 ;取反MOV R1 , #10CJNE R0 , #0,LOOP ;判断是否到达10sCLR TR0 ;清零CLR TR1MOV R1 , #20 ;R1重新赋值MOV R0 , #40 ;循环400次MOV R2 , #10SETB P3.1LOOP1: SETB TR0 ;计时SETB TR1CJNE R1 , #0 ,LOOP1 ;判断是否到达0.5sCLR P3.1CPL P0.0 ;取反MOV R1 , #20CJNE R0 , #0 ,LOOP1 ;判断是否到达10sCLR TR0 ;清零CLR TR1MOV R1 , #40 ;R1再次赋值MOV R0 , #40 ;循环LOOP2: SETB P3.1SETB TR0 ;计时SETB TR1CJNE R1 , #0 ,LOOP2 ;判断是否到达1sCLR P3.1CPL P0.0 ;取反MOV R1 , #40CJNE R0 , #0 , LOOP2 ;判断是否到达10sCLR TR0 ;清零CLR TR1HERE: AJMP HERE ;等待中断ORG 1500H ;T0中断服务程序IT0P: MOV TH0 , #38H ;重置计数初值MOV TL0 , #9EHDJNZ R2 , LOOP0 ;循环MOV R2 , #10DEC R0RETILOOP0: RETIORG 1600H ;T1中断服务程序IT1P: MOV TH1 , #38H ;重置计数初值 MOV TL1 , #9EHDEC R1RETI; Peripheral specific initialization functions, ; Called from the Init_Device labelPCA_Init:anl PCA0MD, #0BFhmov PCA0MD, #000hretTimer_Init:mov TMOD, #001hretPort_IO_Init:; P0.0 - Unassigned, Open-Drain, Digital ; P0.1 - Unassigned, Open-Drain, Digital ; P0.2 - Unassigned, Open-Drain, Digital ; P0.3 - Unassigned, Open-Drain, Digital ; P0.4 - Unassigned, Open-Drain, Digital ; P0.5 - Unassigned, Open-Drain, Digital ; P0.6 - Unassigned, Open-Drain, Digital ; P0.7 - Unassigned, Open-Drain, Digital; P1.0 - Unassigned, Open-Drain, Digital ; P1.1 - Unassigned, Open-Drain, Digital ; P1.2 - Unassigned, Open-Drain, Digital ; P1.3 - Unassigned, Open-Drain, Digital ; P1.4 - Unassigned, Open-Drain, Digital ; P1.5 - Unassigned, Open-Drain, Digital ; P1.6 - Unassigned, Open-Drain, Digital ; P1.7 - Unassigned, Open-Drain, Digital ; P2.0 - Unassigned, Open-Drain, Digital; P2.1 - Unassigned, Open-Drain, Digital ; P2.2 - Unassigned, Open-Drain, Digital ; P2.3 - Unassigned, Open-Drain, Digitalmov XBR1, #040hretOscillator_Init:mov OSCICN, #083hretInterrupts_Init:mov IE, #082hret; Initialization function for device,; Call Init_Device from your main programInit_Device:lcall PCA_Initlcall Timer_Initlcall Port_IO_Initlcall Oscillator_Initlcall Interrupts_Initretend【程序测试方法与结果、软件即硬件性能分析】【一】软件测试与性能分析1.开始时,LED灯以2Hz频率闪动,P0.0位输入,可以看到P0.0位的闪动。
单片机实验报告——LED灯控制器

《微机实验》报告LED灯控制器指导教师:专业班级:姓名:学号:联系方式:一、任务要求实验目的:加深对按时/计数器、中断、IO端口的理解,掌握按时/计数器、中断的应用编程技术及中断程序的调试方式。
实验内容:利用C8051F310单片机设计一个LED灯控制器主要功能和技术指标要求:1. LED灯外接于端。
2. LED灯别离按2Hz,1Hz和三种不同频率闪动,各持续10s。
3. 在LED灯开始和停止闪烁时蜂鸣器别离鸣响1次。
4. 利用单片机内部按时器按时,要求采用中断方式。
提高要求:利用按键(KINT)控制LED灯闪烁模式的切换。
二、设计思路C8051F310单片机片上晶振为,采用8分频后为,输入时钟信号为48个机械周期,所以T1按时器采用按时方式1,单次按时最长能够达到的时刻为,能够知足是的按时要求。
基础部份:给TMOD赋值10H,即选用T1按时器采用按时方式1,三种频率对应的半周期时刻为、、1s。
计算得需给TH1和TL1为C1H、B1H;83H、63H;06H、C6H。
要使闪烁持续10s,三种模式需要各循环40、20、10次。
用LOOP3:MOV C, ;为标志位,进按时器中断后置一JNC LOOP3代替踏步程序等待中断,以便中断完后回到主程序继续向下执行。
为了减少代码长度,能够采用循环结构,循环主题中,将R一、R2别离赋给TH一、TL1,R7为循环次数(用DJNZ语句实现);按时中断里,从头给TH一、TL1赋值时同理。
如此,循环时只要把按不时刻和循环次数赋给R一、R二、R7即可,达到减少代码长度的效果。
蜂鸣器也采用T1按时方式1,按时一秒。
提高部份:采用外部中断0,下降沿触发。
外部中断程序里置标志位和R0,用于判断执行完一种模式后,是不是跳出循环结束。
R0用于判断执行何种模式,每按一次后RO加一,第四次时就将R0和清零,如此程序就又回到了基础部份的循序执行。
因为中断程序执行完后,会回到原来程序中断的地方,继续向下执行而给程序运行带来诸多不便。
单片机实验报告-LED灯控制器.doc

单片机实验报告-LED灯控制器.doc本文主要介绍了一款基于51单片机的LED灯控制器的设计与实现,讲述了设计过程及原理,并列举了操作方法和应用场景。
一、设计过程1. 系统结构设计本系统主要包括三个模块:单片机模块、按键输入模块和LED控制模块。
单片机模块主要负责控制整个系统的运行,所以选用了AT89C51单片机;按键输入模块通过按键输入来控制LED灯的亮灭和灯光颜色的选择;LED控制模块通过单片机控制LED灯的亮度和颜色。
2. 硬件电路设计按键输入模块主要是通过8个按键输入实现。
通过8个按键分别控制LED的开关和颜色的选择,具体实现原理如下:当按键按下时,对应的IO口从高电平变为低电平,单片机从低电平口读取输入数据,判断按键的状态,并进行相应的操作。
由于按键输入电平不稳定,需要增加一个脉冲抗干扰的电路,以保证按键输入的稳定性。
LED控制模块主要采用的是3路PWM调光电路,配合RGB LED灯实现颜色选择。
该PWM 调光电路是通过改变占空比来实现LED灯的亮度控制,实现原理如下:单片机通过PWM信号控制三个三极管的ON/OFF,以调节LED灯的亮度。
3. 软件程序设计主要实现功能包括:初始化系统、按键读取、LED颜色选择、LED亮度调节等。
初始化系统:主要是对单片机进行初始化,包括IO口配置、定时器/计数器配置等。
按键读取:通过循环扫描的方式,读取按键输入,判断按键状态,根据不同的按键按下情况进行相应的操作。
LED颜色选择:通过按键选择不同的颜色,将对应的PWM输出数字量传递给三联杆TRIAC,实现LED灯颜色的选择。
二、系统实现及测试我们根据以上设计过程,设计出了一个简单的LED灯控制器,通过51单片机控制按键输入和LED亮度和颜色的选择,实现了简单的灯光场景切换。
2. 系统测试经过实际测试,系统可以稳定运行,按键输入灵敏度、LED亮度和颜色切换效果均达到预期目标。
三、操作方法1. 颜色选择按下对应颜色的按钮即可选择对应颜色。
单片机监控灯实训报告

一、实训目的本次实训旨在通过实际操作,学习单片机的应用,掌握单片机在监控灯系统中的应用原理和编程方法,提高学生的动手能力和实际应用能力。
通过本次实训,使学生能够:1. 理解单片机的基本原理和组成。
2. 掌握51单片机的编程方法和调试技巧。
3. 熟悉监控灯系统的基本设计方法和实现过程。
4. 培养学生的创新思维和团队协作能力。
二、实训内容本次实训以51单片机为核心,设计并实现一个简单的监控灯系统。
系统主要由以下几部分组成:1. 单片机核心模块:采用51单片机作为核心控制器,负责处理信号、控制LED灯的亮灭以及进行数据传输。
2. 传感器模块:通过光敏传感器检测环境光线强度,当光线强度低于设定阈值时,自动开启LED灯。
3. LED灯模块:用于照明,当环境光线强度不足时,LED灯自动点亮。
4. 电源模块:为整个系统提供稳定的电源供应。
三、实训步骤1. 硬件设计:- 设计电路原理图,包括单片机、传感器、LED灯和电源等模块的连接方式。
- 选择合适的元器件,并进行焊接和组装。
2. 软件设计:- 编写单片机程序,实现以下功能:- 读取光敏传感器的信号,判断环境光线强度。
- 根据光线强度控制LED灯的亮灭。
- 实现数据传输功能,将光线强度等信息传输到上位机。
- 使用C语言进行编程,并在Keil环境中编译和调试程序。
3. 系统调试:- 将编写好的程序烧录到单片机中。
- 连接传感器、LED灯和电源等模块,进行系统调试。
- 调整参数,确保系统稳定运行。
四、实训结果与分析1. 硬件设计:- 电路原理图设计合理,元器件选择合适,焊接质量良好。
- 系统组装完成后,各模块连接正常,电源供应稳定。
2. 软件设计:- 编写的单片机程序功能完善,实现了监控灯系统的各项功能。
- 程序调试过程中,通过修改参数和代码,解决了出现的问题。
3. 系统调试:- 系统运行稳定,能够根据环境光线强度自动控制LED灯的亮灭。
- 数据传输功能正常,能够将光线强度等信息传输到上位机。
单片机花样灯实训报告

一、实训目的通过本次单片机花样灯实训,使学生掌握单片机的编程方法,熟悉单片机硬件结构,提高学生动手实践能力,培养学生在嵌入式系统设计方面的综合素质。
二、实训背景随着电子技术的飞速发展,单片机作为嵌入式系统中的核心控制器,得到了广泛应用。
在许多领域,如智能家居、工业控制、通信设备等,单片机都发挥着重要作用。
本次实训以单片机为基础,设计并实现一种具有多种花样显示功能的LED灯。
三、实训内容1. 硬件设计本次实训所使用的单片机为AT89C51,具有丰富的外设资源。
硬件电路主要包括以下部分:(1)单片机AT89C51(2)LED灯模块:32个LED灯,用于显示花样(3)按键模块:用于控制LED灯的开关和花样切换(4)时钟电路:为单片机提供稳定的时钟信号(5)复位电路:保证单片机在正常工作状态下2. 软件设计软件设计主要包括以下内容:(1)主程序:初始化单片机,设置定时器,实现LED灯的开关控制(2)定时器中断服务程序:定时切换LED灯的花样显示(3)按键中断服务程序:读取按键状态,实现花样的切换(4)LED灯花样显示程序:根据当前花样,控制LED灯的亮灭四、实训步骤1. 硬件搭建(1)根据电路图,焊接好单片机、LED灯模块、按键模块、时钟电路和复位电路(2)检查电路连接是否正确,确保无短路或断路现象2. 软件编写(1)使用C语言编写程序,利用Keil软件进行编译(2)编写主程序,初始化单片机,设置定时器,实现LED灯的开关控制(3)编写定时器中断服务程序,定时切换LED灯的花样显示(4)编写按键中断服务程序,读取按键状态,实现花样的切换(5)编写LED灯花样显示程序,根据当前花样,控制LED灯的亮灭3. 调试与优化(1)将编译好的程序烧录到单片机中(2)打开电源,观察LED灯的显示效果,检查程序是否正常运行(3)根据实际情况,对程序进行优化,提高显示效果五、实训结果与分析1. 实训结果本次实训成功实现了具有多种花样显示功能的LED灯,包括流水灯、闪烁灯、跑马灯等。
单片机实验--实验报告-LED灯闪烁实验

单片机实验--实验报告-LED灯闪烁实验
为了深入了解单片机,本次实验我们选取LED灯闪烁实验,研究单片机控制LED闪烁
的原理。
经过这次实验,初步了解了单片机实验的基本设备及操作步骤,掌握了单片机语
言操控LED进行简单应用。
实验做法如下:
一、设计流程:
1.实验目的
本次实验的目的是了解单片机的原理,掌握单片机语言的基本使用方法,编制可控制LED灯闪烁的程序,完成LED灯闪烁的控制。
2.实验设备
实验设备主要包括:单片机51系列主控板,51单片机芯片,备有LED等硬件。
3.原理描述
本次实验主要是利用单片机来实现LED灯发出的闪烁效果,将单片机的P0作为一个
数据口出口实现闪烁的控制,这里使用一个定时器定时,通过程序实现数据口的翻转,可
以实现LED的闪烁效果。
二、实验步骤:
1.硬件的准备及接线
准备所需要的硬件,将单片机的芯片插入51系列主控板,将LED灯接线到主控板上。
2.软件编译
打开Keil软件,创建一个单片机工程文件,然后调用单片机库函数,建立用于控制LED灯闪烁的相关函数。
3.程序下载
编译、链接生成hex文件,将hex文件下载到单片机芯片上,运行程序(此处使用51编程器),完成LED的闪烁控制。
4.程序调试
完成程序的编写、下载即可实现LED的闪烁,对程序做个完整的测试,保证程序的可
靠性。
led灯控制实验报告

led灯控制实验报告LED灯控制实验报告摘要:本实验旨在探究LED灯的控制原理及实际应用。
通过对LED灯进行控制实验,我们验证了LED灯在不同电压和电流条件下的亮度变化,并且利用Arduino控制LED灯的亮度和闪烁频率,展示了LED灯在实际应用中的灵活性和多样性。
引言:LED(Light Emitting Diode)是一种半导体器件,具有高效、长寿命、低功耗等优点,因此在照明、显示、指示等领域得到了广泛应用。
LED灯的控制是LED应用中的重要环节,通过控制LED的电压、电流和信号输入,可以实现LED灯的亮度调节、颜色变换和闪烁效果。
本实验旨在通过实际操作,深入了解LED灯的控制原理和应用技术。
实验步骤:1. 准备工作:准备LED灯、面包板、电阻、导线、Arduino开发板等实验器材。
2. LED灯亮度实验:将LED灯连接到面包板上,通过改变电压和电流的大小,观察LED灯的亮度变化。
3. LED灯闪烁实验:利用Arduino开发板控制LED灯的闪烁频率,观察LED灯的闪烁效果。
4. LED灯亮度调节实验:通过改变电阻的阻值,实现对LED灯亮度的调节。
实验结果:1. LED灯亮度实验结果表明,LED灯的亮度随着电压和电流的增大而增大,但是当电压和电流达到一定值后,LED灯的亮度不再增加,甚至出现损坏的情况。
2. LED灯闪烁实验结果表明,通过Arduino控制LED灯的闪烁频率,可以实现LED灯的快闪、慢闪等不同的闪烁效果。
3. LED灯亮度调节实验结果表明,通过改变电阻的阻值,可以实现对LED灯亮度的精细调节,使LED灯的亮度呈现出连续变化的效果。
讨论与结论:通过本实验,我们深入了解了LED灯的控制原理和实际应用技术。
LED灯的亮度受电压和电流的影响,可以通过改变电压和电流实现LED灯的亮度调节。
利用Arduino等控制器可以实现LED灯的闪烁、颜色变换等复杂控制效果。
LED 灯的控制技术在照明、显示、指示等领域具有广泛的应用前景,对于LED灯的控制技术的深入研究具有重要的意义。
(1)LED 灯控制实验

实验报告11.实验名称:LED 灯控制实验2.实验原理:程序通过配置CC2530 IO 寄存器的高低电平来控制LED 灯的状态,用循环语句来实现程序的不间断运行。
ZigBee(CC2530)模块硬件上设计有2 个LED 灯,用来编程调试使用。
分别连接CC2530 的P1_0、P1_1两个IO 引脚。
从原理图上可以看出,2 个LED 灯共阳极,当P1_0、P1_1 引脚为低电平时候,LED灯点亮。
3.实验原理图:4.实验结果:一个LED灯亮,一个LED灯闪。
5.实验改进需求:两个LED等交替闪烁6.代码:原始代码:#include<ioCC2530.h>#define uint unsigned int#define uchar unsigned char//定义控制LED灯端口#define LED1 P1_0#define LED2 P1_1void Delay(uint n);void Initial(void);//延时void Delay(uint n){uint i,t;for(i=0;i<5;i++)for(t=0;t<n;t++);}//初始化void Initial(void){P1DIR |= 0x03; //P1_0、P1_1定义为输出LED1=1; //灯熄灭LED2=1; //灯熄灭}//主函数void main(void){Initial();LED1 = 0;//灯变亮LED2 = 0;//灯变亮while(1){LED2=!LED2;Delay(50000);}}改进后代码:#include<ioCC2530.h>#define uint unsigned int //定义uint为无符号整型#define uchar unsigned char//定义控制LED灯端口#define LED1 P1_0#define LED2 P1_1void Delay(uint n);void Initial(void);//延时void Delay(uint n){uint i,t;for(i=0;i<5;i++)for(t=0;t<n;t++);}//初始化void Initial(void){P1DIR |= 0x03; //P1_0、P1_1定义为输出LED1=1; //灯熄灭LED2=1; //灯熄灭}//主函数void main(void){Initial(); //调用初始化函数LED1 = 0; //灯点亮LED2 = 0; //灯点亮while(1){LED2=!LED2; //灯熄灭if(LED2==0){LED1=1; //}else{LED1=0;}Delay(50000);}}7.更改代码之后的结果:红灯和蓝灯交替闪烁。
单片机io口控制led实验报告

单片机io口控制led实验报告
一、实验背景
单片机是一种集成电路,它可以通过编程来控制各种电子设备。
在这个实验中,我们将学习如何使用单片机的IO口来控制LED灯。
二、实验材料
1. STC89C52RC单片机开发板
2. LED灯
3. 220欧姆电阻
4. 杜邦线
三、实验原理
单片机的IO口可以用来控制数字信号。
当IO口输出高电平时,LED 灯就会亮起来;当IO口输出低电平时,LED灯就会熄灭。
为了保护单片机和LED灯,我们需要使用一个220欧姆的电阻。
这个电阻可以限制电流流过LED灯和单片机之间的连接。
四、实验步骤
1. 将一个杜邦线连接到单片机的P
2.0引脚。
2. 将另一个杜邦线连接到单片机的GND引脚。
3. 将一个220欧姆的电阻连接到P2.0引脚和LED正极之间。
4. 将另一个杜邦线连接到LED负极。
5. 将另一个220欧姆的电阻连接到LED负极和单片机的GND引脚之间。
五、实验结果
当单片机的P2.0引脚输出高电平时,LED灯会亮起来;当P2.0引脚输出低电平时,LED灯会熄灭。
六、实验总结
这个实验展示了如何使用单片机的IO口来控制数字信号。
我们还学习了如何使用电阻来保护单片机和LED灯。
在实际应用中,我们可以使用单片机的IO口来控制各种设备,例如电机、传感器等。
这个实验是学习单片机编程的基础,对于想要深入学习嵌入式系统开发的人来说是非常重要的。
单片机实习报告(彩灯完整版)

单片机实习报告(彩灯完整版)《单片机接口设计》课程设计报告班级:姓名:学号:日期:一、课程设计的要求1、花型种类不少于四种,花型自拟;2、彩灯按预设的花型自动进行变换;3、可用键控制分别用快/慢两种节拍实现花型变换。
4、通信设计:本机地址为00H,当接到上位机发的00H时,则回发00H,当接到上位机发的AAH时,则将预设花型代号发出,当收到55H时,则后面的数据为新的花型二、设计过程1、软件流程图图2 主从机2、硬件系统设计说明彩灯控制器由显示部分、单片机芯片、晶振电路、复位电路、按键、通讯部分等组成。
本设计选择用数码管代替LED彩灯。
总的原理图如下:所使用的单片机型号为80C51,如下图。
由于我们在课堂上学习了80C51,所以比较了解。
80C51单片机实物图:80C51单片机原理图:复位电路所提供的复位功能是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。
同时,复位操作也使单片机内相应的寄存器复位到初始值。
如图:晶振电路原理图:按键是由P1.0——P1.34个I/O口连接,按键没有按下时,四个口均为高电平,当有按键按下的时候,相应的口为低电平,原理图如下:数码管采用共阴极型,由P2口输出所要显示的花型。
原理图如图所示:3、设计程序ORG 0000HLJMP MAINORG 0023HLJMP CUK ;串行中断入口地址ORG 0100HMAIN:MOV SP,#1FHMOV R2,#5MOV SCON,#0D8H ;接收发送串行口数据MOV TMOD,#20H ;定时器T0,T1赋初值MOV TL1,#0FAHMOV TH1,#0FAHSETB TR1SETB EACLR TISETB ESSETB P1.0 ;5个按键SETB P1.1SETB P1.2SETB P1.3SETB P3.2MOV P2,A ;数码管显示START:JNB P1.0,LOOP1JNB P1.1,LOOP2JNB P1.2,LOOP3JNB P1.3,LOOP4AJMP STARTLOOP1:MOV P0,#5BH ;2MOV P2,#0FCHACALL DEMOV P2,#0F0HACALL DEMOV P2,#0C0HACALL DEMOV P2,#00HACALL DEMOV P2,#03HACALL DEMOV P2,#0FHACALL DEMOV P2,#3FHACALL DEMOV P2,#0FFHACALL DEAJMP LOOP1LOOP2: MOV P0,#66H ;4MOV A,#0AAH ;隔灯亮MOV P2,AACALL DEMOV P2,#55HACALL DEAJMP LOOP2LOOP3:MOV P0,#7DH ;6MOV P2,#7EH ;对灯亮,亮少灭多,亮多灭少ACALL DEMOV P2,#3CHACALL DEMOV P2,#18HACALL DEMOV P2,#00HACALL DEMOV P2,#81HACALL DEMOV P2,#0C3HACALL DEMOV P2,#0E7HACALL DEAJMP LOOP3HERE:LJMP LOOP1LOOP4:MOV P0,#7FH ;8MOV P2,#7EH ;对灯亮,三亮一灭,三灭一亮ACALL DEMOV P2,#0BDHACALL DEMOV P2,#0DBHACALL DEMOV P2,#0E7HACALL DEMOV P2,#18HACALL DEMOV P2,#24HACALL DEMOV P2,#42HACALL DEMOV P2,#81HACALL DEAJMP LOOP4DE:JNB P3.2,MMJNB P1.1,LOOP2JNB P1.2,LOOP3JNB P1.3,LOOP4JNB P1.0,HERE ;两种节拍,p2.4按下时快节拍,0.5s,不按下时,1s LCALL S1MM:LCALL S2RETS1:MOV R5,#20 ;慢节拍B1:MOV R6,#20 ;1sB2:MOV R7,#248DJNZ R7,$DJNZ R6,B2DJNZ R5,B1RETS2:MOV R5,#20 ;快节拍B3:MOV R6,#10B4:MOV R7,#248 ;0.5sDJNZ R7,$DJNZ R6,B4DJNZ R5,B3RETCUK:PUSH APUSH PSW ;串行中断服务程序CLR RIMOV A,SBUF ;接收地址,判断与本从机地址是否一致XRL A,#00HJZ YZRETU: POP PSWPOP ARETIYZ: CLR SM2MOV A,#00HMOV SBUF,AJNB RI,$CLR RIJNB RB8,ZLSETB SM2SJMP RETUZL:MOV A,SBUF ;接收指令,判断是AA还是55 CJNE A,#0AAH,AA1 ;若是AA,将预设花型发给主机MOV A,#7FHSETB ACC.1MOV SBUF,AJNB TI,$CLR TILCALL DELAYMOV 60H,#5CDZ:MOV SBUF,R5JNB TI,$CLR TILCALL DELAYDJNZ 60H,CDZSETB SM2SJMP RETUAA1:CJNE A,#55H,BB1 ;若是55,接收主机数据MOV A,#7FHSETB ACC.0MOV SBUF,AJNB TI,$CLR TILCALL DELAYMOV R2,#3MOV R1,#40HZDC:JNB RI,$CLR RIMOV @R1,SBUFINC R1DJNZ R2,ZDCSETB SM2SJMP RETUBB1:MOV SBUF,#80H ;不识别指令,就回发80H JNB TI,$CLR TISJMP RETUDELAY:MOV 30H,#0FFH ;延时程序FF:MOV 31H,#0FFHDJNZ 31H,$DJNZ 30H,FFRETEND三、遇到的问题及解决方法在小学期中,我们遇到了一些困难和问题,开始我们没有用老师提供的板子,而是自己焊了板子,浪费了很多的时间和精力,后来及时改正了程序,才获得了较好的效果。
单片机闪灯控制实训报告

一、实训目的1. 掌握单片机基本原理及工作方式。
2. 熟悉单片机编程软件及下载器的基本操作。
3. 学习使用汇编语言进行单片机编程。
4. 实现LED灯闪烁控制,掌握单片机控制外部设备的基本方法。
二、实训内容1. 实验器材:单片机(如PIC16F886)、LED灯、电阻、下载器(及相关线)等。
2. 实验任务:使用汇编语言编程,实现LED灯闪烁。
三、实训步骤1. 硬件连接(1)将单片机PIC16F886的Vdd、Vss分别连接到电源正负极。
(2)将LED灯的正极连接到单片机的P1.0引脚,负极通过电阻连接到地。
(3)将下载器连接到单片机的编程接口。
2. 编写程序(1)首先,设置单片机的时钟频率。
在汇编语言中,通常使用MOVLW指令设置时钟频率。
(2)编写延时程序。
延时程序用于控制LED灯的亮灭时间。
可以使用计数器来实现延时。
(3)编写主程序。
主程序用于控制LED灯的闪烁。
在主程序中,通过调用延时程序,实现LED灯的闪烁。
3. 程序下载(1)打开编程软件,连接单片机。
(2)选择单片机的型号和编程器。
(3)将编写好的程序下载到单片机中。
4. 程序调试(1)打开示波器,将探针连接到LED灯的正极。
(2)运行程序,观察LED灯的闪烁情况。
(3)根据实际情况调整延时程序,使LED灯的闪烁频率和亮灭时间比例达到预期效果。
四、实验现象及分析1. 实验现象通过编程,成功实现了LED灯的闪烁。
在调试过程中,发现以下现象:(1)当使用默认时钟频率时,LED灯的闪烁频率较低。
(2)当调整时钟频率时,LED灯的闪烁频率随之改变。
(3)当调整延时程序时,LED灯的亮灭时间比例随之改变。
2. 实验分析(1)时钟频率:单片机的时钟频率决定了程序执行的速度。
提高时钟频率可以加快程序执行速度,但过高的时钟频率可能导致程序执行不稳定。
(2)延时程序:延时程序用于控制LED灯的亮灭时间。
通过调整延时程序的计数器,可以改变LED灯的亮灭时间比例。
实验一单片机控制LED灯

实验一单片机控制LED灯实验一单片机控制LED灯一、实验目的1.进一步熟悉编程和程序调试2.学习P1口的使用方法3.学习延时子程序的编写和使用二、实验说明P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据是不正确的。
三、实验步骤及参考例子实验步骤说明:本实验需要用到单片机最小应用系统和十六位逻辑电平显示模块。
用P1口做输出口,接十六位逻辑电平显示,程序功能使发光二极管点亮。
1.使用单片机最小应用系统。
根据实验要求,用proteus仿真软件绘制电路原理图,用数据线连接单片机P1口与LED灯。
2.打开Keil uVision3仿真软件,首先建立本实验的项目文件,输入源程序,进行编译、调试,直到编译无误,生成hex文件。
可通过单步调试,来查看I/O的状态3.在proteus环境中,把hex文件下载到单片机中,运行观察发光二极管显示情况是否与设计程序中一致。
参考例子:1) 点亮板子上的第一个灯L02) 点亮板子上的L0、L2、L4、L 6灯,与L 1、L 3、L 5、L 7灯交替闪烁3) 流水灯:从L 0--- L 7依次点亮四、参考程序1)#include<reg51.h>void main(){P1=0xfe;}2)#include<reg51.h>#define uint unsigned int#define uchar unsigned char void delay();void main(){while(1){P1=0xaa;delay();P1=0x55;delay();}}void delay(){uint x,y;for(x=100;x>0;x--)for(y=600;y>0;y--); }3)#include<reg51.h> #include <intrins.h> #define uint unsigned int #define uchar unsigned charuchar temp;void delay(uint);void main(){temp=0xfe;while(1){for(num=0;num<8;num++){P1=temp;delay(100);temp=_crol_(temp,1);P1=0xff;delay(100);}}}void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=120;y>0;y--);}五、电路图VCCU1FVCC P1.0140P1.0VCCP1.1239P0.0P1.0510*8L0P1.1P0.0VCCP1.2338P0.1P1.1P1.2P0.1P1.3437P0.2P1.2RESETP1.3P0.2L1P1.4536P0.3P1.3 P1.4P0.3P1.5635P0.4P1.4P1.5P0.4P1.6734P0.5P1.5L2R2FP1.6P0.5P1.7833P0.6P1.6100C3FP1.7P0.632P0.7P1.710uFP0.7L3989C51RST31EAEAR1FP3.010P3.0/RXDL41KP3.11130ALEP3.1/TXDALE/PROGP3.21229PSENP3.2/INT0PSENP3.31328P2.7L5P3.3/INT1P2.7P3.41427P2.6P3.4/T0P2.6P3.51526P2.5P3.5/T1P2.5L6P3.61625P2.4P3.6/WRP2.4P3.71724P2.3P3.7/RDP2.3XTAL1A1823P2.2L7XTAL2P2.211.0592MHz1922P2.1XTAL1P2.12021P2.0VSSP2.0 C3AC2A 22pF22pF六、实验内容请在keil环境下编写一下程序,并在proteus仿真环境中实现动画效果:1)点亮最后一个LED2)点亮1、2、5、6这四个LED3)让第三个LED闪烁4)设计出流水灯程序,从L7—L05) 设计出流水灯双向流动程序,从L0-L7-L0反复循环。
华中科技大学单片机实验二报告

华中科技大学单片机实验二报告《单片机实验》报告实验名称分支程序设计指导教师刘冬生专业班级学号联系方式一.任务要求熟练掌握KeilC 环境下汇编语言程序的调试方法,加深对汇编语言指令、机器码、寻址方式等基本内容的理解,掌握分支程序和简单程序的设计与调试方法,了解并行IO 口的使用。
1. 设有8bits 符号数X 存于外部RAM 单元,按以下方式计算后的结果Y 也存于外部RAM 元,请按要求编写程序。
240/2204020X X Y X X XX ?≥?=<<??≤?当当当2.利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩BCD 码的形式)。
为低电平时开始计时,为高电平时停止计时。
提高部分(选做):a. 实现4位十进制加、减1计数,千位、百位由P1口输出;十位、个位由P2口输出。
利用状态选择加、减计数方式。
b. 利用P3口低四位状态控制开始和停止计数,控制方式自定。
二.设计思路1.分段函数设计对于第一个任务,根据变量X 的值的不同进行相应的计算。
所以我们首先要判断X 的值属于那个范围。
我们可利用比较转移指令CJNE 来判断X 是否等于临界值20,40,若不等,再根据执行CJNE 指令后的进位位CY 的值来判断X 与临界值的的大小关系,如:CY=0则X 大于临界值,CY=1则X 小于临界值;然后根据X 的值所在的区间进行相应的计算。
应该注意的是,除法计算中可能产生余数,商和余数应该分开存储,若乘方运算结果大于255,高八位与低八位应分开存储2.24进制时钟本程序须可以构建两部分循环。
首先构建一个三重循环实现“一秒延时”,循环体利用NOP 指令(单字节指令,1μs)经多次循环达到延时一秒的效果。
再利用已经构建好的“一秒延时”部分,设计计时系统的三重循环,秒(0-59)、分(0-59)、时(0-23)。
秒和分计60次,小时计24次,但,是从0开始计,所以在分、秒达到59,小时达到23时,下一次应该为零。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【任务要求】
利用C8051F310单片机设计一个LED灯控制器, LED灯外接于P0.0端,LED灯分别按2Hz,1Hz和0.5Hz三种不同频率闪动,各持续10s,在LED灯开始和停止闪烁时蜂鸣器分别鸣响1次,利用单片机内部定时器定时,要求采用中断方式。
设计思路
【设计思路】
设置定时器T0定时时间为25ms,每隔25ms开一次中断,共R1次,R0与R2共同作用构成循400次循环,以达到定时10秒的目的。
首先LED灯以2Hz频率闪动,初始赋值R1=10,循环执行10次中断后,即过去0.25s,灯闪烁一次,依次循环,直至10s定时时间到,蜂鸣器响一次,2Hz频率的闪烁结束。
然后LED灯以1Hz频率闪动,设置R1=20,与上类似,每过0.5s灯闪烁一次,十秒定时到,蜂鸣器响一次,到下一阶段。
最后LED灯以0.5Hz频率闪动,设置R1=40即可,思路同上。
当三十秒执行完毕后,使用无条件转移语句跳转到程序开始处,循环以上过程。
【资源分配】
R1:定时0.25秒,0.5秒或1秒
R0,R2:循环400次,定时10秒
定时器T0:定时中断25ms
定时器T1:定时10s
【流程图】
【源代码(含文件头说明、资源使用说明、语句行注释)】;------------------------------------
;- Generated Initialization File --
;------------------------------------
$include (C8051F310.inc)
public Init_Device
INIT SEGMENT CODE
rseg INIT
ORG 0000H
LJMP MAIN
ORG 000BH ;T0中断入口
LJMP IT0P ;转T0中断服务程序
ORG 001BH ;T1中断入口
LJMP IT1P ;转T1中断服务程序
ORG 1000H ;主程序
MAIN: LCALL Init_Device ;设备初始化
MOV SP , #60H ;赋堆栈指针
MOV TMOD , #11H ;T1定时方式1,T0定时方式1 MOV R0 , #40 ;循环400次
MOV R2 , #10
MOV R1 , #10 ;定时0.25s
MOV TH1 , #38H ;T1置初值
MOV TL1 , #9EH
MOV TH0 , #38H ;T0置初值
SETB EA ;允许中断
SETB ET0
SETB ET1
LOOP: SETB TR0 ;计时开始
SETB TR1
CJNE R1 , #0,LOOP ;判断是否到达0.25s
CLR P3.1
CPL P0.0 ;取反
MOV R1 , #10
CJNE R0 , #0,LOOP ;判断是否到达10s
CLR TR0 ;清零
CLR TR1
MOV R1 , #20 ;R1重新赋值
MOV R0 , #40 ;循环400次
MOV R2 , #10
SETB P3.1
LOOP1: SETB TR0 ;计时
SETB TR1
CJNE R1 , #0 ,LOOP1 ;判断是否到达0.5s
CLR P3.1
CPL P0.0 ;取反
MOV R1 , #20
CJNE R0 , #0 ,LOOP1 ;判断是否到达10s
CLR TR0 ;清零
CLR TR1
MOV R1 , #40 ;R1再次赋值
MOV R0 , #40 ;循环
LOOP2: SETB P3.1
SETB TR0 ;计时
SETB TR1
CJNE R1 , #0 ,LOOP2 ;判断是否到达1s
CLR P3.1
CPL P0.0 ;取反
MOV R1 , #40
CJNE R0 , #0 , LOOP2 ;判断是否到达10s
CLR TR0 ;清零
CLR TR1
HERE: AJMP HERE ;等待中断
ORG 1500H ;T0中断服务程序IT0P: MOV TH0 , #38H ;重置计数初值
MOV TL0 , #9EH
DJNZ R2 , LOOP0 ;循环
MOV R2 , #10
DEC R0
RETI
LOOP0: RETI
ORG 1600H ;T1中断服务程序IT1P: MOV TH1 , #38H ;重置计数初值 MOV TL1 , #9EH
DEC R1
RETI
; Peripheral specific initialization functions, ; Called from the Init_Device label
PCA_Init:
anl PCA0MD, #0BFh
mov PCA0MD, #000h
ret
Timer_Init:
mov TMOD, #001h
ret
Port_IO_Init:
; P0.0 - Unassigned, Open-Drain, Digital ; P0.1 - Unassigned, Open-Drain, Digital ; P0.2 - Unassigned, Open-Drain, Digital ; P0.3 - Unassigned, Open-Drain, Digital ; P0.4 - Unassigned, Open-Drain, Digital ; P0.5 - Unassigned, Open-Drain, Digital ; P0.6 - Unassigned, Open-Drain, Digital ; P0.7 - Unassigned, Open-Drain, Digital
; P1.0 - Unassigned, Open-Drain, Digital ; P1.1 - Unassigned, Open-Drain, Digital ; P1.2 - Unassigned, Open-Drain, Digital ; P1.3 - Unassigned, Open-Drain, Digital ; P1.4 - Unassigned, Open-Drain, Digital ; P1.5 - Unassigned, Open-Drain, Digital ; P1.6 - Unassigned, Open-Drain, Digital ; P1.7 - Unassigned, Open-Drain, Digital ; P2.0 - Unassigned, Open-Drain, Digital
; P2.1 - Unassigned, Open-Drain, Digital ; P2.2 - Unassigned, Open-Drain, Digital ; P2.3 - Unassigned, Open-Drain, Digital
mov XBR1, #040h
ret
Oscillator_Init:
mov OSCICN, #083h
ret
Interrupts_Init:
mov IE, #082h
ret
; Initialization function for device,
; Call Init_Device from your main program
Init_Device:
lcall PCA_Init
lcall Timer_Init
lcall Port_IO_Init
lcall Oscillator_Init
lcall Interrupts_Init
ret
end
【程序测试方法与结果、软件即硬件性能分析】
【一】软件测试与性能分析
1.开始时,LED灯以2Hz频率闪动,P0.0位输入,可以看到P0.0位的闪动。
10秒前,蜂鸣器位P3.1一直为低电平。
截图如下:
此时时间为:
2.10s时刻,蜂鸣器响一次,P
3.1恰变为高电平,截图如下:
此时时间为:
3.之后LED灯以1Hz频率闪动,观察发现,P0.0口的闪动比之前慢,且与显示时间对应,符合设计要求,截图如下:
此时时间为:
4.20s时刻,蜂鸣器响一次,对应的P3.1口变为高电平。
截图如下:
此时时间为:
5.20s之后,LED灯以0.5Hz频率闪动,观察发现,P0.0口的闪动比之前又慢一些,且与显示时间对应,符合设计要求,截图如下:
此时时间为:
6.30s时刻,蜂鸣器又响一次,P3.1口变为高电平,截图如下:
此时时间为:
7.30s之后,LED灯又以2Hz闪动,即循环执行以上过程,截图如下:
通过以上分析可知程序在每一步骤运行正常,0~10sLED灯内以频率2Hz闪动,10s时蜂鸣器响一次,之后10s~20s间,LED灯以频率1Hz闪动,20s时蜂鸣器又响一次,之后LED 灯以频率0.5s闪动,30s时蜂鸣器响一次,30s之后循环以上操作。
软件运行结果达到预期目标,测试成功!
【二】硬件测试(照片说明)
【思考题】
1.若想实现3种闪耀方式的持续时间在5s-20s范围内可调,且每种方式的持续时间各不相同,应如何设计程序?
答:可以通过更改定时器T1的多次循环计时次数,来使10s计时变为其他时间。
通过KINT键进入更改模块,使用矩阵键盘以1s的步长增减T1计时时间。