跑马灯控制(定时中断应用)
PLC控制跑马灯系统的设计

河南工业职业技术学院2012—2013学年第一学期毕业设计课题名称:PLC控制跑马灯系统的设计设计时间:20012.9.25—20012.10.21 系部:机电工程系班级:机电1003*名:**指导教师:***目录前言 (3)第1章概论 (5)1.1跑马灯系统的意义、现状及要求 (5)1.1.2 技术现状 (5)1.2彩灯的发展 (6)1.2.1 彩灯的最初来源 (6)1.2.2 彩灯给城市带来的五彩缤纷 (6)1.3PLC的发展前景及趋势 (7)1.4PLC的定义及特点 (11)第2章硬件电路的设计 (13)2.1跑马灯电路的设计 (13)2.2开关电路的设计 (14)第3章软件设计 (15)3.1软件设计的方案 (11)3.2PLC结构 (14)3.3工作原理 (15)3.4编程语言 (16)3.5S7-200的指令系统 (18)3.6跑马灯的工作要求 (19)3.7梯形图 (20)结束语 (26)致谢 (27)参考文献 (28)附图 (29)PLC控制跑马灯系统的设计[摘要]本次毕业设计是应用S7-200 PLC跑马灯设计的硬件电路,并利用OB1的梯形图控制程序设计。
通过控制S7-200 PLC的定时继电器的功能来实现各彩灯按一定的规律点亮和熄灭。
接通延迟定时器SD的特点(如果RLO有正跳沿,则接通延迟定时器启动指令,以设定的时间值启动指令的定时器)。
这种控制电路结构简单,可靠性高,应用性强;软件程序适应范围广,对各彩灯按一定的规律点亮和熄灭的控制,只需要改变相应的定时器的时间接通即可。
[关键词] PLC 彩灯梯形图;前言随着科技的飞速发展,无论在日常生活中,还是在工农业发展中,PLC具有广泛的应用。
PLC的一般特点:抗干扰能力强,可靠性极高、编程简单方便、使用方便、维护方便、设计、施工、调试周期短、易于实现机电一体化。
PLC总的发展趋势是:高功能、高速度、高集成度、大容量、小体积、低成本、通信组网能力强。
跑马灯中断控制实训报告

一、实训目的本次实训旨在通过使用AT89C51单片机,结合中断技术实现对跑马灯的控制,加深对单片机中断系统、定时器/计数器以及程序设计方法的理解和掌握。
二、实训内容1. 硬件设计- 主控制器:AT89C51单片机- 驱动电路:ULN2003A驱动器- 显示电路:8个LED灯- 控制电路:按键开关2. 软件设计- 编写程序实现跑马灯的基本功能,包括:- 跑马灯模式:LED灯依次点亮,形成跑马灯效果。
- 定时控制:通过定时器实现LED灯点亮时间的控制。
- 中断控制:通过外部中断实现按键控制跑马灯模式的切换。
三、实训步骤1. 硬件连接- 将AT89C51单片机的P1.0至P1.7引脚连接至ULN2003A的输入端,用于驱动LED灯。
- 将按键开关连接至单片机的P3.2和P3.3引脚,用于控制跑马灯模式。
- 将ULN2003A的输出端连接至LED灯的正极,负极接地。
2. 程序设计- 初始化配置:- 初始化定时器T0,设置定时时间为50ms。
- 初始化外部中断0和外部中断1,配置中断触发方式为下降沿触发。
- 跑马灯控制:- 设置定时器T0中断,当定时器溢出时触发中断,实现LED灯的点亮和熄灭。
- 在中断服务程序中,通过移动LED灯的位置,实现跑马灯效果。
- 按键控制:- 当按下P3.2引脚对应的按键时,切换跑马灯模式。
- 当按下P3.3引脚对应的按键时,停止跑马灯运行。
3. 程序调试- 编译程序,将生成的HEX文件烧录至AT89C51单片机。
- 连接调试器,观察程序运行情况,确保跑马灯控制功能正常。
四、实训结果与分析1. 跑马灯效果通过实验,成功实现了跑马灯的基本功能,LED灯依次点亮,形成跑马灯效果。
定时器T0的设置保证了LED灯点亮时间的控制,中断技术实现了按键控制跑马灯模式的切换。
2. 中断控制外部中断0和外部中断1的配置保证了按键控制功能的实现。
当按下按键时,中断服务程序会根据按键的引脚和状态切换跑马灯模式或停止跑马灯运行。
微机原理跑马灯的设计原理

微机原理跑马灯的设计原理
跑马灯是一种实现循环显示效果的电路,常用于LED灯条、数字管、点阵等显示设备中。
它的设计原理与微机系统有关,具体包括以下几个方面:
1.微机系统:跑马灯的实现需要使用微机系统,包括CPU、存储器、输入输出接口等。
CPU用于控制程序的执行,存储器用于存储程序和数据,输入输出接口用于控制LED灯条的显示。
2.循环显示:跑马灯的核心是循环显示。
通过不断循环变化LED灯条的状态,形成灯条上移或下移的效果。
具体可以通过移位操作实现,将灯条的状态左移或右移,从而达到循环显示的效果。
3.定时器:为了保证跑马灯循环显示的频率和速度,需要使用定时器。
定时器可以产生一定的脉冲信号,控制每个LED灯的亮灭时间和显示周期。
定时器还可以配合中断技术实现自动循环和停止功能。
4.程序设计:跑马灯的程序设计需要采用适当的算法和流程控制语句。
一般采用循环结构控制灯条的状态变化,同时利用函数和数组等数据结构优化程序的效率和可维护性。
总之,跑马灯的设计涉及多个方面的技术,并需要综合考虑程序效率、硬件资源、用户体验等多个因素。
只有充分理解微机系统的原理和设计思路,才能更好地实
现跑马灯的功能和效果。
演示文稿2-2:跑马灯控制

0
0
0
0
0
0
0
1 0
项目实施--- 程序设计—重新赋值
项目实施--- 程序设计—停止清零
项目总结
1
2
3
移位指令的应用
定时器的灵活应用
数据传送指令的应用
项目拓展---
1
0
1
1
0
1
0
1
1
0 1
1
0
1
00 10
左移位指令功能图
知识学习--- 循环移位指令的应用
VB0存储器
初始值 执行传 送指令 执行移 位指令1
左循环移位梯形图
0 0 0 0 0 0 0 0
1
0
1
1
0
1
0
1
0
1
0 1
1
0
1
0
1
左移循环位指令功能图
项目实施--- I/O分配
输
输入继电器
入
输入元件 输出继电器
SLB OUT,N
字节左移位指令
SRB OUT,N
字节右移位指令
SLW OUT,N
字左移位指令
SRW OUT,N
字右移位指令
SLD OUT,N
双字左移位指令
SRD OUT,N
双字右移位指令
知识学习--- 循环移位指令
梯形图 语句表 指令名称 梯形图 语句表 指令名称
RLB OUT,N
字节循环左移位 指令
RRB OUT,N
字节循环右移位 指令
RLW OUT,N
字循环左移位指 令
RRW OUT, N
字循环右移位指 令
双字循环左移位 循环移位指令功能:将输入值IN中的各 指令 RLD OUT,N
第08课,定时器中断跑马灯

/quty88/
EA=1;
//打开总中断
while(1) //主程序循环 { if(ldelay) //发现有时间溢出标记,进入处理 { ldelay=0; //清除标记 P1=ledp[ledi]; //读出一个值送到 P1 口 ledi++; //指向下一个 if(ledi==4)ledi=0; //到了最后一个灯就换到第一个 } } } //定时器 2 中断 timer0() interrupt 5 { static uchar t; TF2=0; t++; if(t==30) //T2 的预置值 0x1000,溢出 30 次就是 1 秒钟,晶振 22118400HZ { t=0; ldelay=1;//每次长时间的溢出,就置一个标记,以便主程序处理 } } ――――――――――――――――――――――― 编译,进入仿真,看结果。可以看到 4 个灯以精确的 1 秒的速度不断循环跑动。
作业: 现在Βιβλιοθήκη 灯是从左到右跑动,请改为从右到左跑动。
/quty88/
第 8 课,定时器中断跑马灯 在第 3 课,我们用指令延时方式实现了跑马灯。这里我们用定时器方式再次实现,定 时器方式有效率高,定时准确等优点。 一个编程经验是,所有的中断都要尽快的运行和退出,中断服务程序越短越好,这样 才不至于干扰主程序的工作和其他中断的运行。 也就是,我们应该尽量把程序代码从中断服务函数里搬出来。 对于定时器的中断的工作方式,我们可以建立一个全局的标记,在中断里置这个标记, 然后就退出。在主程序里检查到这个标记之后,就运行相关的程序。对于 CPU 任务比较多 的项目来说,这种工作方式可以获得最佳的工作效率。当然,对于非常实时的应用要求, , 比如时钟,还是建议在中断里做完,因为使用标记的方式时,主程序可能太忙而造成错过标 记信号,就是这个标记还没有开始处理呢,下一个又来了。熟练的程序员还是可以避开这些 异常的情况的。 在我们的这个例程中,前一课的 1 秒钟输出信号,被换成了一个全局标记。在主程序 中去检查这个标记,再清 0 标记和处理相应的工作。 这一课的跑马灯输出方式也改变了,我们采用查表的方式,将要点亮的灯预先设置好, 到了时间,就一起送到 P1 口。这样,程序的执行效率会更高。 下面请认真学习和分析例程:
如何用51单片机数码管实现跑马灯功能?

如何用51单片机数码管实现跑马灯功能?51单片机数码管显示跑马灯程序源代码讲解基于51单片机学习板。
用S1键作为控制跑马灯的方向按键,S5键作为控制跑马灯方向的加速度按键,S9键作为控制跑马灯方向的减速度按键,S13键作为控制跑马灯方向的启动或者暂停按键。
记得把输出线P0.4一直输出低电平,模拟独立按键的触发地GND。
(2)实现功能:跑马灯运行:第1个至第8个LED灯一直不亮。
在第9个至第16个LED灯,依次逐个亮灯并且每次只能亮一个灯。
每按一次独立按键S13键,原来运行的跑马灯会暂停,原来暂停的跑马灯会运行。
用S1来改变方向。
用S5和S9来改变速度,每按一次按键的递增或者递减以10为单位。
数码管显示:本程序只有1个窗口,这个窗口分成3个局部显示。
8,7,6位数码管显示运行状态,启动时显示“on”,停止时显示“oFF”。
5位数码管显示数码管方向,正向显示“n”,反向显示“U”。
4,3,2,1位数码管显示速度。
数值越大速度越慢,最慢的速度是550,最快的速度是50。
(3)源代码讲解如下:#include "REG52.H"#define const_voice_short 40 //蜂鸣器短叫的持续时间#define const_key_time1 20 //按键去抖动延时的时间#define const_key_time2 20 //按键去抖动延时的时间#define const_key_time3 20 //按键去抖动延时的时间#define const_key_time4 20 //按键去抖动延时的时间void initial_myself();void initial_peripheral();void delay_short(unsigned int uiDelayShort);void delay_long(unsigned int uiDelaylong);。
8253,8259,8255中断延时跑马灯

实验名称 8253,8259,8255中断延时跑马灯实验时间 2019 年 6 月 10 日专业 17电信教师评语:姓名何明星成绩教师签名一、实验目的1.掌握8255,8259和8253的编程方法;2.利用8259和8253中断延时,8255并行输出实现跑马灯控制。
二、实验原理中断控制器的功能就是在有多个中断源的系统中,接收外部的中断请求,并进行判断,选中当前优先级最高的中断请求,再将此请求送到CPU的INTR端;当CPU响应中断并进入中断子程序后,中断控制器仍然负责对外部中断请求的管理,当某个外部中断请求的优先级高于当前正在处理的中断优先级时,中断控制器会让此中断通过而到达CPU的INTR端,从而实现中断的嵌套,反之,对他级别较低的中断则禁止。
可编程中断控制器8259的控制部分有7个8为寄存器,这些寄存器都是可编程的,即可用指令对其进行设置。
7个寄存器可分为两组,第一组寄存器为4个,它们用来存放初始化命令字ICW,分别为ICW1—ICW4;第二组寄存器为3个,它们用来存放操作命令字OCW,分别为OCW1—OCW3。
初始化命令字往往是计算机系统启动时由初始化程序来设置的,一旦设定,一般在系统工作中不再改变。
操作命令字则是由应用程序设定的,用来对中断处理过程作动态控制,在一个系统运行过程中,操作命令字可被的多次设置。
8259对外部中断请求的处理过程和工作原理如下:首先,一个外部中断请求信号通过中断请求线IRQ,传输到IMR(中断屏蔽寄存器),IMR根据所设定的中断屏蔽字(OCW1),决定是将其丢弃还是接受。
如果可以接受,则8259A将IRR(中断请求暂存寄存器)中代表此IRQ的位置位,以表示此IRQ有中断请求信号,并同时向CPU的INTR(中断请求)管脚发送一个信号,但CPU这时可能正在执行一条指令,因此CPU不会立即响应,而当这CPU正忙着执行某条指令时,还有可能有其余的IRQ线送来中断请求,这些请求都会接受IMR的挑选,如果没有被屏蔽,那么这些请求也会被放到IRR中,也即IRR中代表它们的IRQ的相应位会被置1。
11.2 跑马灯控制程序设计

1、任务分析
根据控制任务说明,我们会想到,如果使用 Q0.0至Q0.7对应控制L0至L7这8盏灯,要实现L0至 L7的顺次亮起,我们只要使1顺次填入Q0.0至Q0.7 即可,简单说就是左移顺次填1;而要使L7至L0顺 次熄灭,我们只要使0顺次填入Q0.7至Q0.0即可, 简单说就是右移顺次填0。而实际编程中,我们可 以根据这个思想,画出移位的工作流程图来,以 便辅助我们设计。如图所示。
厦电气门控大制学实物践理训与练M机O电OC工课程程学团院队
开始
初始化
左移填1
移位8次 到否?
是
右移填0
移位8次 到否?
是
按了启动按钮,系统开始工作,首
先要进行必要的初始化,特别是对
要进行移位操作区域的初始化,因
为初始化的数据不同,就意味着不
一样的移位效果。初始化好数据,
就可以左移填1,从Q0.0至Q0.7要 否 填8次,如果左移不满8次,继续左
移;当左移满8次时,开始启动右移
填0,如果右移不满8次,继续右移
,如果右移满8次说明一个完整的移
否
位过程结束,系统恢复到初始状态 ,准备再次左移。
厦电气门控大制学实物践理训与练M机O电OC工课程程学团院队
S1 SB1
提供移位脉冲
S2
为要移位的存储空间填入初值
S3
将指定存储空间每秒左移一位
左移达到8次
下面我们按步来看一下程序的编写: (2)S1步:S1步是起始步,表示程序开始运行,满足 转换条件SB1可以进入S2步。SB1为启动按钮I0.0,按 下后程序开始运行,S2步激活。我们使用M0.0来指示 启停状态,M0.0为1表示启动,M0.0为0表示停止。这 段程序比较简单,使用置位线圈指令,当I0.0按下, 使M0.0置位为1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
江 苏 省 盐 城 技 师 学 院
教 案 首 页
编 号:YJQD-0507-07 版 本:B/O 流水号: 编 制: 审 核: 批 准:
课题: 跑马灯控制(定时中断应用) 教学目的、要求:1、学习使用定时/计数器实现精确延时。
2、 熟练掌握移位指令。
教学重点、难点:熟练掌握移位指令
授课方法: 启发式教学、任务驱动型教学、实验教学 教学参考及教具(含电教设备):高职高专规划教材《单片机原理与控制技术》、多
媒体设备、DVCC 系列单片机微机仿真实验系统实验指导书。
授课执行情况及分析:
板书或教学设计:
授课日期
班 级
课题:跑马灯控制(定时中断应用)
一、知识回顾 二、任务引入 三、任务分析 四、相关知识 (1)电路功能 (2)硬件电路 (3)控制程序
五、任务实施 六、任务拓展 七、巡回指导 八、结束指导
课题 跑马灯控制(定时中断应用)
课前准备:
1、DVCC 系列单片机微机仿真实验系统
2、安装有DVCC 实验系统软件的计算机、多媒体投影仪
3、万用表及常用电工工具
组织教学:
检查学生人数、标志牌佩戴、工作服及工具准备情况。
知识回顾(复习提问):
定时中断的设定方法是什么?
任务引入:
开始时P1.0亮,延时0.2S 后,P1.1亮,如此左移7次后至P1.7再延时0.2S 右移至P1.6,如此右移7次至P1.0,循环显示。
任务分析:
一、硬件图
EA/VP 31X119X218
RESET 9RD 17WR 16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P20
21
P2122P2223P2324P2425P2526P2627P2728PSEN 29ALE/P 30TXD 11RXD 10Vss 20
Vcc 40U2
8051
R1200R2200R3200R4200R5200R6200R7200R8200
D1LED D2LED D3LED D4LED D5LED D6LED D7LED D8
LED
T1XTAL
C1
30p F
C2
30p F
a b f c g d
e
VCC 1234567a b c d e f g 8
dp
dp
9
DS1
AMBERCA
a b f c g d
e
VCC 1234567a b c d e f g 8dp
dp
9
DS2
AMBERCA
A B C D
R910K R1010K R1110K R1210K
+5V
+5V
R0110k
+5V
+
C01
22u F
二、功能说明
开始时P1.0亮,延时0.2S 后,P1.1亮,如此左移7次后至P1.7再延时0.2S 右移至P1.6, 如此右易7次至P1.0,循环显示。
任务实施:(示范操作)
1、汇编源程序 T0初值=216
-us
us
1200000=D8F0H
TH0=D8H TL0=F0H ORG 0000H START :MOV TMOD ,#01H CLR C
MOV A ,#FFH MOV R2,#08H LOOP :RLC A MOV P1,A MOV R3,#20H LCALL DLY DJNZ R2,LOOP MOV R2,#07 LOOP1:RRC A MOV P2,A LCALL DLY
DJNZ R2,LOOP1 LJMP START DLY : SETB TR0
AGI : MOV TH0,#0D8H
MOV TL0,#0F0H LOOP2:JBC TF0,LOOP3 LJMP LOOP2 LOOP3:DJNZ R3,AGI CLR TR0 RET END
2、将上述程序,进行分析与模拟。
3、用实验箱进行验证。
4、延时改成1s ,重新验证。
任务拓展:
(1)使用延时子程序实现1S的延时
(2)实现不同花样的跑马显示
巡回指导:
1、个别辅导;集中讲解。
2、对学生提出的不同意见进行逐个分析解答。
结束指导:
1、对学生提出的不同意见进行分析解答总结。
2、对在实习过程中所存在的问题提出改进措施。
序号班级学生任务实施过程中存在的问题1
2
3
4
5
3、清理实习工位、维护保养实习设备。