单片机实验6 定时器控制循环彩灯实验

合集下载

定时器实验(循环彩灯)

定时器实验(循环彩灯)
定时器实验(循环 彩灯
目录
• 实验目的 • 实验材料 • 实验步骤 • 实验总结
01
CATALOGUE
实验目的
理解定时器的工作原理
定时器是一种用于产生精确时间间隔 的电子设备,通常用于控制时间、产 生脉冲信号或测量时间间隔。
在本实验中,我们将使用微控制器中 的定时器模块,了解其工作原理和配 置方法。
04
04
CATALOGUE
实验总结
分析实验过程中遇到的问题及解决方法
问题1
LED灯无法正常闪烁。
01
解决方法1
02 检查连接线路是否正确,确保
电源和信号线都已正确连接。
问题2
03 定时器设置不准确,导致LED
灯闪烁频率不稳定。
解决方法2
04 调整定时器的设置参数,确保
定时器能够准确控制LED灯的 闪烁频率。
在使用LED灯时,要注意LED灯的工作电 压和电流,避免过载或烧毁。
注意事项
确保定时器的设置参数合理,避免出现 闪烁频率不稳定或颜色偏差等问题。
思考如何将本实验应用于实际项目或产品中
01
可以将本实验中的定时器和 LED灯控制技术应用于家庭装 饰灯光、舞台灯光、广告牌灯 光等领域。
02
通过调整定时器的设置参数和 LED灯的颜色、模式等,可以 实现多样化的灯光效果,增强 视觉效果和氛围。
问题3
LED灯出现颜色偏差。
05
解决方法3
06 检查LED灯的型号和颜色是否
一致,确保所有LED灯的颜色 都符合要求。
总结定时器在LED灯控制中的应用和注意事项
应用:定时器可以用于控制LED灯的闪 烁频率、颜色和模式,实现多样化的灯 光效果。

实验、中断控制的8个LED灯轮流点亮电路

实验、中断控制的8个LED灯轮流点亮电路

实验八、中断控制的8个LED灯轮流点亮电路专业: 班级:姓名: 学号:成绩:一、实验目的1.掌握中断程序的分析方法和设计方法。

2.学习电平触发方式及负脉冲触发方式的电路设计方法。

3.学习读程序,并能写出中断初始化程序段。

二、实验器材单片机开发设备一套。

三、实验内容和步骤试设计一个用单片机中断控制的8个LED灯轮流点亮的仿真控制系统,当按下一个按键之后,LED1灯亮,再按下一个按键后,彩灯顺次点亮一个。

要求按照电平触发和负脉冲触发两种方式来设计电路并进行程序设计。

电平触发方式下的仿真图:附加题:请设计一个电路,能实现开关控制的数码管显示0-9数字。

电平触发方式下的程序:ORG 0000HAJMP MAINORG 0013HAJMP SERVERORG 0030HMAIN:MOV A,#01HCLR IT1SETB EX1SETB EA SJMP $ORG 0200H SERVER:CLR P3.0 NOPNOPSETB P3.0MOV P1,ARL ARETIEND负脉冲触发方式下接于P3.3端口的仿真图:负脉冲触发方式下的程序:ORG 0000HAJMP MAINORG 0013HAJMP SERVERORG 0030HMAIN:MOV A,#11111110B MOV P1,A SETB IT1SETB EX1SETB EASJMP $ORG 0200HSERVER:CLR P3.3NOPNOPSETB P3.3MOV P1,ARL ARETIEND。

循环彩灯控制系统实验报告

循环彩灯控制系统实验报告

循环彩灯控制系统实验报告一、设计要求1、程序中由3个按钮控制每按下一个按钮都会出现不同的彩灯循环现象二、硬件电路设计1、单片机最小系统(2)发光二极管的电路三、软件设计(一)1、在Keil uVision4.LNK上写好程序后通过STC_ISP_V480.exe.lnk和USB口输入到reg52.h单片机中按下开关蓝色指示灯亮,然后按下P3^7按钮发光二极管从左往右依次点亮;2、①在不复位的情况下按下P3^6时发光二极管可以做往返运动依次点亮②在复位时按下P3^6发光二极管是从右往左依次点亮的;3、①在不复位的情况下按下P3^5时发光二极管可以在从左往右或者从右往左点亮后1,3,5,7与2,4,6,8交替闪烁(在看先点亮P3^6还是P3^5 来实现从左还是从右开始循环)②在复位时按下P3^5发光二极管是作1,3,5,7与2,4,6,8交替闪烁。

(二)说明(“0”“1”“2”“3”“4”“5”“6”“7”按键P3^7 0X7F 0XBF 0XDF 0XEF 0XF7 0XFB 0XFD 0XFE 复位P3^6 0XFE 0XFD 0XFB 0XF7 0XEF 0XDF 0XBF 0X7F 复位P3^5 0X7F/0XFF 0XFF/0XBF0XDF/0XFF0XFF/0XEF0XF7/0XFF0XFF/0XFB0XFD/0XFF0XFF/0XFE复位8421码10=A 11=B 12=C 13=D 14=E 15=F四、系统测试步骤1:新建工程→New Project→选择单片机型号→Atmel→AT89C52取名→保存2:新建文档→New file→取名→保存(—3个按键控制两种LED现象.C)3:点右键→Add file to group→选择(—3个按键控制两种LED现象.C)4:点工程右键→options “output”(√)create hex file5产出hex档→编译按钮(↓)(↓↓)(↓↓↓)STC下载软件1:选择单片机型号“STC89C52RC”2:打开文件→(流水灯.hex)3:选择COM口(裝置管理員)4:点下载按鈕→开启电源按钮→“OK 已加密”附录源程序清单#include <reg52.h>#define uint unsigned int#define uchar unsigned charsbit key1 =P3^7; //第一个按键sbit key2 =P3^6; //第二歌按键sbit key3 =P3^5; //第三个按键uchar A1=0,A2=0,A3=0;void delay(uint z){uint i,j;for(i=0;i<z;i++)for(j=0;j<110;j++);}void O_to_E() //1,3,5,7与2,4,6,8交替闪烁{P0=0Xaa;delay(200);P0=~0Xaa;delay(200);}{if(!key1){delay(10); //延时if(!key1)A1=1;}if(!key2){delay(10); //延时if(!key2)A2=1;}if(!key3){delay(10); //延时if(!key3)A3=1;}}void main(){uchar i;while(1){if(A1){for(i=0;i<8;i++) //从左往右亮,每盏灯亮一次{P0=~(0x7f>>i);delay(100);}}if(A2){for(i=0;i<8;i++) //从右往左亮,每盏灯亮一次{P0=~(0xfe<<i);delay(100);}}if(A3){O_to_E(); //1,3,5,7与2,4,6,8交替闪烁}}}附加图片(因为手机问题从左往右跟从右往左还有左右往返的看不出来所以就拍了2张图片)1、从左往右、从右往左、往返2、//1,3,5,7与2,4,6,8交替闪烁超。

实验六 循环彩灯控制器的设计

实验六  循环彩灯控制器的设计

实验六循环彩灯控制器的设计一、设计目的1、学习用状态机设计特色电路;2、牢固掌握用VHDL语言编写状态机程序的方法和技巧。

二、设计要求1、编写循环彩灯控制器的VHDL源程序;2、在MAX+PLUSII上进行编译、综合、适配、引脚锁定、下载测试;3、在MAX+PLUSII上进行波形仿真的测试;4、写出设计性实验报告。

三、设计提示1、设计一种楼梯照明控制器,该控制器控制红、绿、黄三个发光管循环发光,要求红灯亮2秒,绿灯亮3秒,黄灯亮1秒。

2、引脚锁定及下载测试提示:如果目标器件是EPF10K10,自行锁定引脚。

3、设计的VHDL程序所用时钟频率为1HZ。

四、实验报告要求根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;设计原程序,程序分析报告、仿真波形图及其项目分析。

程序清单:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CAIDENG ISPORT(CLK,RST:IN STD_LOGIC;R,G,Y:OUT STD_LOGIC);END CAIDENG;ARCHITECTURE one OF CAIDENG ISTYPE STATE_TYPE IS(S0,S1,S2,S3,S4,S5);SIGNAL STATE:STATE_TYPE;BEGINPROCESS(CLK,RST)BEGINIF RST='1'THEN STATE<=S0;ELSIF CLK'EVENT AND CLK='1' THEN CASE STATE ISWHEN S0=>R<='1';G<='0';Y<='0';STATE<=S1;WHEN S1=>R<='1';G<='0';Y<='0';STATE<=S2;WHEN S2=>R<='0';G<='0';Y<='1';STATE<=S3;WHEN S3=>R<='0';G<='1';Y<='0';STATE<=S4;WHEN S4=>R<='0';G<='1';Y<='0';STATE<=S5;WHEN S5=>R<='0';G<='1';Y<='0';STATE<=S0;END CASE;END IF;END PROCESS;END one;实验结果:。

定时器控制led灯闪烁实验报告

定时器控制led灯闪烁实验报告

定时器控制led灯闪烁实验报告实验目的:掌握使用定时器控制LED灯闪烁的方法,了解定时器的工作原理以及其在嵌入式系统中的应用。

实验材料:1. MCU开发板2. LED灯3. 面包板4. 连接线5. 电源实验步骤:1. 连接电路:将LED的正极连接至MCU开发板的GPIO口,将LED的负极连接至地线。

2. 编写程序:使用适当的程序开发工具,编写程序并上传至MCU开发板。

程序中应包括以下内容:- 初始化定时器:设置定时器的工作模式、计数器的初始值和计数器的预设值。

- 打开定时器中断:使能定时器中断,并设置中断优先级。

- 配置GPIO口:将使用的GPIO口配置为输出模式。

- 进入主循环:在主循环中不断检测定时器中断标志位,若中断发生,则将GPIO口状态翻转,从而控制LED的闪烁。

3. 连接电源:将MCU开发板连接至电源,确保系统正常运行。

4. 运行实验:观察LED灯是否按照预期进行闪烁,如果有问题,可检查代码和电路连接是否正确,并进行调试。

实验结果与分析:根据实验步骤进行实验后,LED灯应该按照预期进行闪烁。

定时器的中断周期决定了LED的闪烁频率,可以通过调整定时器的计数器值来改变LED闪烁的频率。

通过这个实验,我们可以掌握使用定时器控制LED灯闪烁的方法,并了解了定时器在嵌入式系统中的应用。

实验拓展:1. 实现呼吸灯效果:通过调整定时器的计数器值和PWM功能,使得LED灯的亮度逐渐增加然后逐渐减小,形成呼吸灯效果。

2. 多LED控制:使用多个GPIO口和定时器,控制多个LED灯的闪烁效果,可以实现不同频率、不同亮度的LED灯组合效果。

3. 控制其他外设:除了LED灯,定时器还可以用来控制其他外设,比如蜂鸣器、电机等,可以进行相应的实验拓展。

单片机led循环点亮的实验总结

单片机led循环点亮的实验总结

单片机led循环点亮的实验总结下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!单片机LED循环点亮的实验总结在学习单片机编程过程中,LED循环点亮是一个经典的实验,有助于理解单片机IO口控制以及简单的循环结构。

制作循环彩灯实习报告

制作循环彩灯实习报告

制作循环彩灯实习报告制作循环彩灯实习报告制作循环彩灯实习报告循环彩灯摘要:设计一个循环彩灯控制电路,该电路实现了让八个彩灯循环闪烁的功能,并且循环闪烁的时间为1秒。

其中,闪烁时间由555定时器这样的时钟电路产生周期为1秒的脉冲所控制;彩灯的循环闪烁由十进制计数器接受定时器产生的脉冲所控制;彩灯显示功能由三线八线译码器实现,输出分配数据直接控制灯的闪烁。

用Multisim 10对设计电路进行仿真可得到八个发光二极管循环闪烁的结果。

关键词:循环彩灯;555定时器;计数器;译码器;发光二极管目录1.设计背景……………………………………………………………………21.1了解数字电路系统的定义及组成………………………………………21.2掌握时钟电路的作用及基本构成…………………………………………22.设计方案……………………………………………………………………22.1任务分析……………………………………………………………………22.2方案论证……………………………………………………………………33.方案实施…………………………………………………………………33.1原理图设计…………………………………………………………………33.2电路仿真……………………………………………………………………73.3PCB制作...........................................................................84.结果与结论...........................................................................85.收获与致谢........................................................................96.参考文献..............................................................................97.附件 (97).1电路原理图………………………………………………………………107.2 PCB布线图………………………………………………………………117.3元器件清单……………………………………………………………111. 设计背景1.1 了解数字电路系统的定义及组成用数字信号完成对数字量进行算术运算和逻辑运算的电路称为数字电路,或数字系统。

定时器控制led灯闪烁实验报告

定时器控制led灯闪烁实验报告

定时器控制led灯闪烁实验报告实验目的:学习使用定时器控制LED灯闪烁。

实验器材:Arduino UNO开发板、面包板、杜邦线、1个LED灯、220Ω电阻器。

实验原理:在Arduino开发板中,有三个可以设置的定时器,分别是Timer0、Timer1和Timer2。

定时器的作用就是在指定时间间隔内进行一定操作。

在本实验中,我们使用Timer0来控制LED灯的闪烁。

实验步骤:1. 连接电路。

将LED灯通过220Ω电阻器与Arduino开发板的数字口Pin13相连。

2. 编写程序。

下面是本实验的程序代码:int ledPin=13;void setup() {pinMode(ledPin, OUTPUT);//使用Timer0控制TCCR0B |= (1<<CS02) | (1<<CS00); //设置预扫频率为1024 }void loop() {static boolean output = LOW;static unsigned long previousMillis = 0;unsigned long currentMillis = millis();if (currentMillis - previousMillis >= 1000) { //闪烁周期为1spreviousMillis = currentMillis;if (output == LOW)output = HIGH;elseoutput = LOW;digitalWrite(ledPin, output);}}3. 上传程序。

将编写好的程序上传至Arduino UNO开发板。

4. 实验结果。

当我们打开串口监视器时,LED灯会每隔1秒钟闪烁一次。

实验结论:通过使用定时器控制LED灯的闪烁,我们学习到了如何使用Arduino开发板的Timer0功能,掌握了定时器的使用方法,进一步加深了对Arduino的理解。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华南农业大学实验报告
专业班次08电信1 组别200831120102 题目实验六定时器控制循环彩灯姓名陈建泽日期2010.11.4
一、实验目的
1.学习89C51内部定时器的使用和编程方法。

2.进一步掌握中断处理程序的编写方法。

二、实验设备:
STC89C52单片机实验板、串口下载线、USB连接线、电脑
三、实验原理
1.定时常数的确定
定时器/计数器的输入脉冲周期与机器周期一样,为振荡频率的1/12。

本实验中时钟频率为12.0 MHZ,现要采用中断方法来实现0.5秒延时,要在定时器1中设置一个时间常数,使其每隔0.05秒产生一次中断,CPU响应中断后将R0中计数值减一,令R0=0AH,即可实现0.5秒延时。

时间常数可按下述方法确定:
机器周期=12÷晶振频率=12/(12×106)=1us
设计数初值为X,则(216-x)×1×10-6=0.05,可求得X=15536
化为十六进制则X=3CB0H,故初始值为TH1=3CH,TL1=B0H
2.初始化程序
包括定时器初始化和中断系统初始化,主要是对IP、IE、TCON、TMOD的相应位进行正确的设置,并将时间常数送入定时器中。

由于只有定时器中断,IP不必设置。

3.设计中断服务程序和主程序
中断服务程序除了要完成计数减一工作外,还要将时间常数重新送入定时器中,为下一次中断做准备。

四、实验步骤
1. 分析实验所用到的电路原理图,根据需要连接跳线帽。

2. 89C51内部定时器1按方式1工作,即作为16位定时器使用,每0.05秒钟T1溢
出中断一次。

P1口的P1.0~P1.7分别接发光二极管的LED1~LED8。

要求编写程序模拟一循环彩灯。

彩灯变化花样为:①LED1、LED2、…LED8依次点亮;②LED1、
LED2、…LED8依次熄灭;③LED1、LED2、…LED8全亮、全灭。

各时序间隔为0.5 成绩:教师:日期:
秒。

让发光二极管按以上规律循环显示下去。

3.根据流程图,编写实验程序,并完成调试。

五、实验流程图
定时器控制循环彩灯流程图
六、实验程序
根据实验流程图,编写出一下实验程序,并完成调试。

//*******************实验6 定时器控制循环彩灯实验**************
;实验名称:定时器控制循环彩灯实验
;功 能:彩灯变化花样为:①LED1、LED2、…LED8依次点亮;
; ②LED1、LED2、…LED8依次熄灭;③LED1…LED8全亮、全 灭。

; 各时序间隔为0.5秒。

让发光二极管按以上规律循环显示下去。

;编 写 人:08电信1 陈建泽
;编写时间:2010年11月4日
//***********************程序代码如下*****************************
ORG 0000H
AJMP START
ORG 000BH ;定时器0中断服务子程序入口
AJMP T0INT
ORG 0030H
START:MOV TMOD,#01H ;定时0工作模式1
MOV TH0,#(65536-50000)/256 ;定时器0高八位初值
MOV TL0,#(65536-50000)MOD 256 ;定时器0低八位初值
SETB EA ;开总中断 开始 定时器初始化,50ms 一次中断 R0做中断次数寄存器 A 控制P1口 等待中断 中断产生 各灯依次点亮 各灯依次熄灭 全亮、全灭
给A 重装初值 中断返回
SETB ET0 ;开定时器0中断
SETB TR0 ;启动定时器0
MOV A,#0FEH ;先点亮第一盏灯
MOV P1,A
MOV R0,#00H ;R0为中断次数寄存器
AJMP $
//*******************定时器0中断服务子程序**********************
T0INT:MOV TH0,#(65536-50000)/256
MOV TL0,#(65536-50000)MOD 256
INC R0
CJNE R0,#10,TEND ;每中断一次为50ms,R0增1
MOV R0,#00H ;中断10次后,为0.5S,R0清零
CJNE A,#0FFH,LOOP0 ;若A为FFH,则循环了一次,应转去使其全亮
AJMP LOOP2
LOOP0:JNB ACC.7,LOOP1 ;若A最高位为0了,则全部都亮完,转去依次灭CLR ACC.7 ;若A最高位为1,则清零循环左移,依次点亮各灯RL A
MOV P1,A
AJMP TEND
LOOP1:SETB ACC.7 ;置位,循环左移,依次熄灭各灯
RL A
MOV P1,A
AJMP TEND
LOOP2:MOV P1,#00H ;循环依次后,使全部亮
ACALL D05S ;延时0.5S
MOV P1,#0FFH ;使全部等灭
ACALL D05S ;延时0.5S
MOV A,#0FEH ;赋值A为FEH
MOV P1,A
TEND: RETI
//*********************0.5S延时子程序****************************
D05S: MOV R3,#5
L1: MOV R2,#200
L2: MOV R1,#248
DJNZ R1,$
DJNZ R2,L2
DJNZ R3,L1
RET
END
//*********************程序编写结束*****************************
七、调试遇到问题及解决办法
1.使用定时器中断时,往往在主程序中赋初值的寄存器,在中断服务程序中也要重新赋初值。

例如本例中的TH1、TL1,还有控制P1口的累加寄存器A。

2.因为在主程序中涉及全亮和全灭,这两个配合使用了两次一般的延时子程序,但是大部分的延时还是依靠定时器中断完成的。

相关文档
最新文档