基于proteus的单片机流水灯设计与仿真

(整期优先)网络出版时间:2018-12-22
/ 1

基于proteus的单片机流水灯设计与仿真

裴潇湘

(天津铁道职业技术学院天津市300240)

摘要:本文设计了利用proteus仿真软件中AT89C51单片机控制8个发光二极管的点亮系统,该系统可以通过改变设计程序实现二极管不同的点亮顺序,实现流水灯的多样性。

关键词:单片机;流水灯;proteus

引言

随着城市的发展,都市夜文化也发展起来,随处可见的绚烂的灯光,如流水般闪烁的霓虹灯,多样变换使得夜文化活泼灵动,而这些美丽的光景可以利用单片机来控制来实现。本文通过proteus软件设计编程仿真实现不同流水灯的形式。

1.整体设计

利用proteus仿真软件中AT89C51芯片,控制8个发光二极管的有序亮灭,呈现流水灯的效果,以依次顺序亮灭为例进行设计仿真。

单片机实现控制功能设计包含硬件系统设计与软件系统设计,硬件系统设计有单片机最小控制系统,单片机最小控制系统即是能实现单片机功能的最简单的电路,有复位电路、时钟电路、电源等。硬件系统还有灯光控制电路的设计,即是能实现单片机对灯光亮灭的设计。软件系统设计即是利用proteus本身功能利用汇编语言编写程序进行编译实现控制。

2.硬件系统设计

首先打开proteus软件,在图形编辑窗口将AT89C51单片机芯片放好,接下来画出复位电路、始终电路等构成的最小系统,在此基础上,选择输入输出引脚控制二极管,选择P1口的8个引脚控制8个发光二极管。二极管另一端接电源,在这里需要注意的是,二极管的特性是单向导通,即是正偏导通,反偏截止。设计二极管阳极接电源,那么要想让二极管“亮”该二极管对应的引脚的输出信号需为低电平,“灭”相反,硬件电路设计需与软件电路设计相对应。

如图所示流水灯硬件电路原理图1。

图1流水灯硬件电路原理图

3.软件系统设计

通过proteus软件添加源代码,利用汇编语言编写程序,该程序控制流水灯的亮灭,软件设计需与硬件设计相对应,由于二极管单向导通的特性那么要想让二极管“亮”该二极管对应的引脚的输出信号需为低电平,“灭”相反。对应P1口引脚控制8个二极管的亮灭,那么利用送数指令将要显示的现象对应的数据通过P1口送出,比如第一个灯D1亮,其余灯灭,且二极管阳极接电源,那么只要P1口第一个引脚对应0即可,即P1口的数据应为11111110B,对应传送指令可以写成,MOVP1,#0FEH同样的传送数据依次点亮第二个、第三个…。在编写程序这里也可以用到移位指令,编写程序如下:MOVA,#0FEH

MOVP1,ALCALLDELAYRLA移位指令就省去了依次编写传送数据,更简单。

4.变换点亮方式

在此硬件系统电路下,若想实现其他的点亮方式,比如一次顺两个灯同时亮其余灯灭的情况,那么只需改变软件设计程序编写对应的P1口的数据,此时第一二个灯亮其余灭,那么P1口的数据应为11111100B,对应传送指令可以写成,MOVP1,#0FCH即可。

5.结论

本设计通过搭建硬件电路与编写程序实现了二极管亮灭的控制,并可以通过改写程序实现了流水灯亮灭形式的多样性。

参考文献

[1]闫玉德,俞虹.MCS-51单片机原理与应用(C语言版)[M].北京:机械工业出版社,2003.

[2]田清华.单片机流水灯Proteus仿真[J].科技传播,2013.

[3]王超,杨莲红.Proteus仿真软件在单片机实践教学中的应用[J].现代电子技术,2014(07).