定时器控制流水灯
流水灯的实验原理及步骤
流水灯的实验原理及步骤流水灯(也称为跑马灯)是一种由多个LED灯组成的电子显示器件,常常被用于电子实验、电子产品展示等场合中。
流水灯可以通过变化发光的方式来传递信息或者装饰环境,具有简单、实用、灵活的特点。
下面将详细介绍流水灯的实验原理及步骤。
实验原理:流水灯的实现原理是通过控制每个LED灯的点亮与熄灭来形成一种连续而有序的动画效果,使得LED灯看起来像是在“流水”一样运动。
一般来说,流水灯采用的是LED的时分多路复用技术,即通过定时器控制每个LED点亮和熄灭的时刻,使得它们按照一定的顺序依次发光。
实验步骤:1. 准备材料:LED灯(数量根据需要决定)、电阻(限流电阻,选择合适的阻值)、电路板、导线、面包板或焊接工具等。
2. 连接电路:根据所需的LED数量,设计电路图,按照图上的连线方式将LED 连接到电路板上,注意保持连线的正确性。
3. 添加电阻:根据LED的工作电压和电流需求,计算每个LED对应的限流电阻的阻值,将电阻依次与LED进行串联连接。
4. 供电测试:将电路板连接到电源上,确认电源电压是否符合LED的工作电压要求。
注意检查整个电路的连线是否正确,电阻是否接在了正确位置。
5. 编写程序:使用单片机或其他控制芯片来控制LED的点亮和熄灭。
根据所采用的开发平台和编程语言,编写相应的代码,控制每个LED的状态和时间间隔。
6. 调试程序:将编写好的程序下载到控制芯片中,并连接到电路板上。
通过电脑或其他输入设备控制程序运行,观察LED的点亮和熄灭效果。
根据需要调整程序中每个LED的点亮时间和顺序,使得LED灯看起来像是在流水一样运动。
7. 完善电路:根据实际需求,可以设计并添加其他功能模块,如按键控制、调节亮度等。
总结:流水灯实验是一种常见的电子实验,通过控制LED灯的点亮和熄灭来形成一种连续的流动效果。
实验的原理是利用LED的时分多路复用技术和控制芯片的编程来实现。
实验步骤包括准备材料、连接电路、添加限流电阻、供电测试、编写程序、调试程序和完善电路等。
定时器控制流水灯实验
实验二定时器控制流水灯实验一、实验目的1、熟练掌握实验箱的使用方法和注意事项。
2、了解简单单片机应用系统的设计方法。
3、掌握定时/计数器中断的编程方法。
4、掌握Keil C51集成开发环境在硬件仿真条件下各参数的设置。
二、实验内容利用实验板上的八个LED做显示,利用中断法编写定时程序,控制单片机定时器进行定时,所定时间为1S。
三、实验器材PC机一台, 仿真器一台, 实验箱一台, 导线若干。
四、实验说明当AT89C51的P1口有低电平输出时,相应的发光二极管就会点亮。
应用这一原理我们可以容易的点亮一个LED,例如令P1口输出0111 1111时D1就会点亮。
若再把0111 1111向右循环一位,利用P1口输出,就会点亮D2。
通过定时器来保证每个LED灯点亮时间大约为1秒。
五、实验原理图单片机的P1口为准双向口,每一位均可独立定义为输入或输出,若要将P1口的某一位所对应的灯熄灭,则需要向该端口写“0”。
电路图如下:图3-1 接线图六、实验步骤1.按照实验一中的建立工程的步骤,建立本实验内容相应的工程;2.单片机的P1口接8个发光二极管L0~L7;3.运用调试工具,调试软件,观察现象;4.软件定时:即让机器执行一个程序段,这段程序本身没有具体的执行目的,只是为了磨时间。
执行这段程序所需要的时间就是延时时间。
这种程序前面已设计过。
这种方法定时占用CPU执行时间,降低了CPU利用率。
此次实验使用的是MCS-51系列单片机七、参考程序#include<reg51.h>#include<intrins.h>#define uint unsigned int; #define uchar unsigned char; uchar temp=0x01,num=0;void T0Int() interrupt 1 {TH0=19455/256;TL0=19455%256;num++;if(num==20){num=0;P1=_crol_(temp,1);temp=P1;}}void main(){EA=1;ET0=1;TMOD=0X01;TH0=19455/256;TL0=19455%256;TR0=1;while(1);}八、实验现象通过实验观察可以发现,当烧入正确程序并全速运行后,8个LED灯从左到右一次点亮,并且每个LED灯点亮时间大约为1秒,循环往复直至断电或者复位。
实验三流水灯实验(io口和定时器实验)
实验三流水灯实验(I/O口和定时器实验)一、实验目的1.学会单片机I/O口的使用方法和定时器的使用方法;2.掌握延时子程序的编程方法、内部中断服务子程序的编程方法;3.学会使用I/O口控制LED灯的应用程序设计。
二、实验内容1.控制单片机P1口输出,使LED1~LED8右循环轮流点亮(即右流水),间隔时间为100毫秒。
2.控制单片机P1口输出,使LED1~LED8左循环轮流点亮(即左流水),间隔时间为100毫秒。
3.使用K1开关控制上面LED灯的两种循环状态交替进行;4. 用定时器使P1口输出周期为100ms的方波,使LED闪烁。
5.使用定时器定时,使LED灯的两种循环状态自动交替,每一种状态持续1.6秒钟(选作)。
三、实验方法和步骤1.硬件电路设计使用实验仪上的E1、E5和E7模块电路,把E1区的JP1(单片机的P1口)和E5区的8针接口L1~L8(LED的驱动芯片74HC245的输入端)连接起来,P1口就可以控制LED 灯了。
当P1口上输出低电平“0”时,LED灯亮,反之,LED灯灭。
E7区的K1开关可以接单片机P3.0口,用P3.0口读取K1开关的控制信号,根据K1开关的状态(置“1”还是置“0”),来决定LED进行左流水还是右流水。
综上,画出实验电路原理图。
2.程序设计实验1和实验2程序流程图如图3-1实验3程序流程图如图3-2所示。
图3-1 实验1,2程序流程图图3-2 实验3程序流程图实验4程序流程图如图3-3,3-4所示。
实验5程序流程图如图3-5,3-6所示。
图3-5 实验5主程序流程图图3-6 定时器中断服务子程序流程图图3-4 定时器中断服务子程序流程图图3-3 实验4主程序流程图编程要点:(1)Pl,P3口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。
例如:MOV P1,A; P1口做输出MOV P1,#0FFHMOV A,P1;P1口做输入SETB P3.0MOV C,P3.1;从P3.1口读入数据(2)每个端口对应着一个寄存器,例:P1→90H(P1寄存器地址);P3→B0H(P3寄存器地址);寄存器的每一位对应着一个引脚,例:B0H.0→P3.0(3)对寄存器写入“0”、“1”,对应的外部引脚则输出“低电平”、“高电平”。
0305 定时器控制流水灯程序设计
THANK YOU!
定时器控制流水灯程序设计
PLC执行[>= T0 K20]指令和[< T0 K30] 指令,判断T0的经过值 是否在2~3秒时间段,如果T0的经 过值在此时段内,则PLC执行[MOV K4 K2Y000]指令,Y2线圈得电, 第3盏彩灯点亮。
任务实施
› (2)采用当前值比较方式编写程序
PLC执行[>= T0 K30]指令和[< T0 K40] 指令,判断T0的经过值是否在3~4 秒时间段,如果T0的经过值在此时段内,则PLC执行[MOV K8 K2Y000]指令 ,Y3线圈得电,第4盏彩灯点亮。 PLC执行[>= T0 K40]指令和[< T0 K50] 指令,判断T0的经过值是否在4~5 秒时间段,如果T0的经过值在此时段内,则PLC执行[MOV K16 K2Y000]指令 ,Y4线圈得电,第5盏彩灯点亮。
知识储备
定时器 时钟脉冲周期 编号范围(共256个) 定时范围
通用 定时器
100ms 10ms
T0~T199,共200个 0.1~3276.7s T200~T245,共46个 0.01~327.67s
积算 定时器
1ms 100ms
T246~T249,共4个 0.001~32.767s T250~T255,共6个 0.1~3276.7s
知识储备
› 1)通用定时器
在任意时刻,如果定时 器T0被断电或者是驱 动输入X000被断开, 定时器T0将被立即复 位,累计值清零、输出 触点复位。
当T0累计值等于设 定值K50时,定时 器T0的输出触点动 作,Y000得电。
X000接通,T0开 始对100ms的时钟 脉冲进行累计。
知识储备ቤተ መጻሕፍቲ ባይዱ
利用硬件定时实现流水灯
• T0、T1
80C52有3个16位定时/计数器:
• T0、T1、T2
定时/计数器(Timer/Counter,简称T/C)
定时器:来一个机器脉冲计数器的值加1 。当计数器值溢出(全1)时回0,定时时间 到,中断标志TF置1.
1个机器周期=12*1/振荡频率
任务三 利用硬件 定时实现流水灯
LOGO
常用延时方法
非精确延时
• For(i=0;i<100;i++); • i=0;while(i--);
精确延时
• 利用库函数_nop_ ( ) ; //延时一个机器周期
(需要include<intrins.h>)
• 利用定时器进行定时
定时/计数器(Timer/Counter,简称T/C)
LOGO
M1和M0:T0和T1工作方式控制位。定时/计数器的工作方 式有M1M0两位状态决定,这两位有四种编码方式,对应
于四种工作方式。四种方式定义如表所示:
M1M0 00 01 10 11
方式 方式0 方式1 方式2
方式3
说明
TL的低5位和TH的8位构成13位计数器
TL的8位和TH的8位构成16位的计数器
TMOD寄存器 不可位寻址
控制T1
控制T0
GATE C/T M1 M0 GATE C/T M1 M0
GATE:
0:软件控制 定时器工作
1:外部中断 控制定时器 工作
C/T 0:定时器 1:计数器
M1M0: 00:方式0 01:方式1 10:方式2 11:方式3
GATE:门控位,控制计数器的启动/停止操作方式。 当GATE=0时,外部中断信号不参与控制,计数器只有TR0 和TR1位软件控制启动和停止。TR1、TR0为1时,计数器
使用定时器1实现1秒定时,控制流水灯流水点亮。中断方式(PR=9)
使⽤定时器1实现1秒定时,控制流⽔灯流⽔点亮。
中断⽅式(PR=9)/***************************************************************************** ⽂件名:main.c* 功能:使⽤定时器0实现1秒定时,控制蜂鸣器蜂鸣。
(中断⽅式)* 说明:短接蜂鸣器跳线JP7。
断开CF卡跳线JP13、GPIO接⼝J17。
****************************************************************************/#include "config.h"#define LED1 1<<16 // P1.16#define LED2 1<<17 // P1.17#define LED3 1<<18 // P1.18#define LED4 1<<19 // P1.19#define LED5 1<<20 // P1.20#define LED6 1<<21 // P1.21#define LED7 1<<22 // P1.22#define LED8 1<<23 // P1.23#define LEDCON 0x00ff0000const uint32 DISP_TAB[8] = { 0xff01ffff, 0xff02ffff, 0xff04ffff, 0xff08ffff,0xff10ffff, 0xff20ffff, 0xff40ffff, 0xff80ffff};/***************************************************************************** 名称:IRQ_Time0()* 功能:定时器0中断服务程序,取反BEEPCON控制⼝。
流水灯定时控制
任务3 以定时方式控制流水灯
3.1.2 MCS-51单片机中断系统
IT0=0
INT0 IT0=1
T0
IT1=0
INT1 IT1=1
T1
TXD RXD
中断标 志位
TCON IE
IP
IE0
PX0
EX0
PT0
TF0 ET0
PX1
IE1 EX1
自 然 优 先 级
高 级 中 断 请
矢量 求
地址
PT1
TF1 ET1
任务3 以定时方式控制流水灯
(1) 中断源ห้องสมุดไป่ตู้
1)外部中断源:MCS-51系列单片机有2个外中 断源,称为外中断0和1,经由单片机上的P3.2、P3.3 这两个外部引脚引入,为 INT0 、INT1。
2)内部中断源 • 定时器溢出中断源。定时器溢出中断源由内 部定时器/计数器产生,属于内部中断。 • 串行口中断源。串行口中断是由内部串行口 中断源产生。
任务3 以定时方式控制流水灯
2. 中断的作用
1)CPU与外设并行工作。解决CPU速度快、外设速度 慢的矛盾。
2)实时处理。控制系统往往有许多数据需要采集或输 出。实时控制中有的数据难以估计何时需要交换。
3)故障处理。计算机系统的故障往往随机发生,如电 源断电、运算溢出、存储器出错等。采用中断技术,系统 故障一旦出现,就能及时处理。
IE0=1,外部中断1 向CPU申请中断
▪注意:该寄存器可以位寻址。
外部中断INT0触发方式 控制位(TCON.0): ▪ IT0=0,电平触发方式 ▪ IT0=1, 下降沿触发方 式
任务3 以定时方式控制流水灯
1)TCON的中断标志位
流水灯的工作原理
流水灯的工作原理
流水灯是一种常见的闪烁灯,其工作原理基于电子元器件的开关和频闪效应。
首先,流水灯由一排发光二极管(LED)组成,这些LED按
照一定顺序连接在一起。
其电路中包含一个定时器和一个计数器。
当定时器发出脉冲信号时,计数器开始计数。
计数器的计数值决定了哪些LED会被点亮。
每经过一个固定时间间隔,计数
器的值加1,并且亮灯的位置也相应地移动一个LED。
在流水灯的工作过程中,LED以非常快的速度进行开关操作,每个LED只被点亮一小段时间,然后熄灭。
这种频繁的开关
会使得LED的亮度在人眼中产生闪烁的效果。
通过调整定时器和计数器的参数,可以实现不同的流水灯效果。
比如,可以调整时间间隔和亮灭时长,使得流水灯的亮灭速度和频率不同,从而创造出不同的视觉效果。
总而言之,流水灯的工作原理是通过定时器和计数器控制
LED的亮灭顺序和时间,以实现LED灯的交替闪烁,从而产
生流动的灯光效果。
流水灯的工作原理
流水灯的工作原理
流水灯是一种常见的装饰灯具,其工作原理是通过控制电源交替给各个LED灯泡供电来实现灯光的闪烁效果。
流水灯通常由一串串的LED灯泡组成,这些灯泡通过电路连
接在一起。
每颗LED灯泡都有正负两个引脚,其中正极与负
极分别连接在电源的两个输出端。
在流水灯中,每组LED灯泡被分为多个段,每段由若干个灯
泡组成。
每一段的LED灯泡按照特定的顺序依次点亮,形成
类似“流水”的效果。
流水灯的控制电路通常采用计数电路或定时器等元件来控制,具体原理如下:
1. 首先,当电源接通时,流水灯的第一段LED灯泡会被点亮。
2. 然后,计数电路或定时器会发出脉冲信号,控制电源接通下一段LED灯泡。
3. 随着脉冲信号的持续发出,LED灯泡会依次点亮,形成流
水般的效果。
4. 当脉冲信号终止时,电源将停止供电,灯泡熄灭,流水灯进入待机状态。
5. 当需要重新开始流水效果时,电路会重新发出脉冲信号,重复上述过程。
总的来说,流水灯的工作原理基于电路控制LED灯泡的供电,
通过控制脉冲信号的发出来实现不同LED灯泡的点亮顺序,从而形成流水灯的炫彩效果。
基于PLC做的三种流水灯
三种流水灯设计实践报告学院:机械与电子工程学院班别:09电子信息工程3班课程:西门子PLC与工业网络技术指导老师:孙亚飞老师组员:罗龙标2号陈淼珊43号蒋家涛46号梁康祥51号一、第一种流水灯(脉冲定时器(SP))脉冲定时器方框图线圈图-(SP)-(1)脉冲定时器的时序功能图(2)脉冲定时器(SP)的工作原理由时序图可得,脉冲定时器的特点是在任何情况下只要起动输入端S有上升沿信号,定时器就被触发,并从TV预设时间值处重新开始定时,且定时器常开触点闭合,Q端输出1;在定时期间内,如果S端保持高电平1不变,则定时器运行到定时时间值结束,此时定时器常开触点释放,Q端由1变为0;如果定时期间,S端断开(由1变为0),则定时器停止运行,常开触点也随即释放,Q端输出为0。
从时序图看,定时器的运行在S端控制下呈现脉冲状,故称为脉冲定时器。
不论S端处于何种状态,只要复位端R的状态由0变为1,则定时器就被复位,Q端输出变为0,定时器常开触点断开。
(3)、流水灯的程序图(4)第一种流水灯仿真图(5)流水灯的工作原理当开关I0.0闭合的时候,脉冲定时器T0开始计时,在T0计时时间中,灯Q0.0开始工作,之后T0定时结束定时器常开触点释放,Q0.0停止工作,所以Q0.0常闭触点同时给T1一个上升沿,T1就开始计时,灯Q0.1开始工作、、、、、一直到Q0.3停止工作,Q0.3同时又给一个上升沿给T0,脉冲定时器T0又开始计时、、、、、以此循环,就可实现从Q0.0 到Q0.3 循环,再加上另外的灯,工作原理相同二、第二种流水灯(扩展脉冲定时器(SE))脉冲定时器方框图线圈图-(SE)- (1)扩展脉冲定时器的时序功能图(2)扩展脉冲定时器(SP)的工作原理由时序图可得,当起动输入端S有上升沿信号,定时器开始定时,定时期间定时器常开触点闭合,Q端输出高电平1,且保持到定时结束,之后变为0,常开触点断开;在定时期间内,即使S端变为0,定时器继续定时;如果在定时期间,S端重新触发定时器(即在定时期间S端又来一个上升沿信号),则定时器被重新起动,并从预设值开始定时。
第3章 流水灯定时及外部中断控制
15~0 TIM
15~0
TIMH
TIMER0PRD(周期寄存器)
15 PRD R/W-0 0
15 PRDH R/W-0
0
位
名称
功能描述
15~0
PRD
CPU定时器周期寄存器(PRDH:PRD)(低16位); 当TIMH:TIM递减到零时,在下一个输入时钟时TIMH :TIM寄存器重新装载PRDH:PRD寄存器的周期值; 当用户将定时器控制寄存器(TCR)的定时器重新装载 位(TRB)置位时,PRDH:PRD寄存器中的周期值也 会重新装载到TIMH:TIM中。
通过对0x08 8001单元写数据就可以改变8个LED的亮与灭。 本系统还应用了CPU定时器,产生定时中断,在响应中断时给0x08 8001
单元写数,从而实现了LED灯的定时闪烁。
当按下外部中断按钮时,产生外部中断,显示状态按要求不再发生变化。
74HC373介绍
74HC373的真值表
Dn H L X X LE H H L X OE L L L H Qn H L Q0 Z
Zone1的片选 使能线
Zone2和Zone6
Zone2和Zone6共享外部地址总线,对空间2和空间6的访问 是通过片选信号XZCS2和XZCS6AND7区分的。
其首地址分别为0x08 0000和0x10 0000。
Zone7
Zone7是个独立的地址空间。复位时,如果XMP/MC引 脚为高电平,Zone7空间映射到0x3F C000。系统复位 后,可以通过改变寄存器XINTCNF2中的
15~0
PRDH CPU定时器计数寄存器(PRDH:PRD)(高16位)
TIMER0TCR(控制寄存器)
15 TIF R-0 7 Reserved R-0 14 TIE R/W-0 6 5 TRB R/W-0 4 TSS R/W-0 3 Reserved R-0 13 12 Reserved 11 FREE R-0 10 SOFT R/W-0 9 8 Reserved R-0 0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
成绩
信息与通信工程学院实验报告
(操作性实验)
课程名称:微机原理与微控制器应用
实验题目:c51单片机的定时器实验指导教师:
班级: 学号:学生姓名:
一、实验目的和任务
1.掌握定时器中断的编程方法。
2.掌握keil C51集成开发环境在硬件仿真条件下各参数的设置。
二、实验仪器及器件
硬件:电脑一台、微机原理与单片机试验箱:51开发板、开关及LED显示单元、导线若干
软件:keil uVision4
三、实验内容及电路图
利用实验板上的八个LED灯作显示,利用定时器中断编写中断一次为50ms的定时程序,控制单片机定时器进行定时,总定时时间为0.75ms。
四、流程图与程序
#include "SST89x5x4.h"
#include<intrins.h>
int temp=0x01,num=0;
void T0Int() interrupt 1
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
num++;
if(num==15) {
num=0;
P1=_crol_(temp,1);
temp=P1;
}
}
void main()
{
EA=1;
ET0=1;
TMOD=0X01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
TR0=1;
while(1);
}
五、实验结果
八个LED灯由左往右依次亮起,并且每个LED灯点亮时间大约为0.75m。
六、实验数据分析及处理
从实验现象来看,LED灯从左到右依次点亮,符合实验要求,说明实验操作正确,实验结果正确。
七、实验结论与感悟(或讨论)。