PLC交通灯设计——毕业设计 下载本文

湖北理工学院毕业设计 (论文)

图示意:

引脚示意图

从上图可以看出,要是数码管显示数字,有两个条件:1、是要在VT端(3/8脚)加正电源;2、要使(a,b,c,d,e,f,g,dp)端接低电平或“0”电平。这样才能显示的。

图2-5 共阳极LED数码管的内部结构原理图

20

湖北理工学院毕业设计 (论文)

图2-6 共阴极LED数码管的内部结构原理图

显示数字对应的二进制电平信号

21

湖北理工学院毕业设计 (论文)

LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。

A、静态显示驱动:

静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O口进行驱动,或者使用如BCD码二-十进位转换器进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O口多,如驱动5个数码管静态显示则需要5×8=40根I/O口来驱动,要知道一个89S51单片机可用的I/O口才32个呢。故实际应用时必须增加驱动器进行驱动,增加了硬体电路的复杂性。 B、动态显示驱动:

数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动

22

湖北理工学院毕业设计 (论文)

是将所有数码管的8个显示笔划\的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。 透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感。 将S 指定的元件低4 位中的十六进制数译码后送给7 段显示器,译码信号存于D 指定的元件中,输出要占7 个输出点

用PLC 控制七段数码管循环显示数字0~9,显示间隔1s。

使用Y10~Y17输出控制十位数数码管的a、b、c、d、e、f、g的点亮显示;使用Y20~Y27输出控制个位数数码管的a、b、c、d、e、f、g的点亮显示。程序中使用了数据传送MOV指令,数据减一DEC指令,7段码译码SEGD指令,区间复位ZRST等功能指令。程序运行时将不断变化的时间数据传送给7段码译码SEGD指令,7段码译码SEGD指令再驱动数码管,显示不断变化的时间。

23

湖北理工学院毕业设计 (论文)

Y10 启动按钮 X0 X1 Y11 Y12 Y13 Y14 Y15 Y16 P L C SB2 停止按钮 com1 com2 15V Y20 Y21 Y22 Y23 Y24 Y25 COM Y26

图2-7 PLC的外部硬件接线图 显示过程分析

M8002指令为初始脉冲。k0赋初始值给D0为“0”。当按下SB1时,x0闭合,m0自锁。1s脉冲指令m8013有输入信号,实现1s一个脉冲送给INC加1指令,D0从“0”一直加到“30”。SUB为减法指令,30减去D0得出的D1就是最终所要得出的倒计时。

因为显示一个十位数需要两个数码管,所以要分别取出个位数和十位数。DIV指令为二进制数除法指令,用得出结果D1除以10,得出的二进制数D2,即该结果的十位数。而后,为了方便取其个位数,用MUL乘法指令把D2乘以10得出D3,再用SUB减法指令,把结果D1减去D3得出其个位数。

最终D2为倒计时的十位数,D4为个位数。再用SEGD七段码译码指令,把D2和D4分别在y000和y010显示出来,得出一个两位数。当D1倒数到“0”时,利用RST指令返回D0的初始值为“0”。按下SB2停止按钮,使x1断开,y000和y010没有输出信号,数码管停止显示。

24