定时器控制流水灯
流水灯的实验原理及步骤

流水灯的实验原理及步骤流水灯(也称为跑马灯)是一种由多个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灯的交替闪烁,从而产
生流动的灯光效果。
- 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灯从左到右依次点亮,符合实验要求,说明实验操作正确,实验结果正确。
七、实验结论与感悟(或讨论)。