流水灯实验可行性报告
一、 项目内容及作用
流水灯设计:设计一组共四个流水灯,依次点亮,灯与灯间隔2s点亮,要求可以显示出灯的序号
二、 项目论证内容及结论
利用单片机AT89C51设计的流水灯比利用电子电路设计的流水灯具有明显的优越性,单片机AT89C51控制的电路相对简单,软件方面程序也不复杂。制作原理简单,单功能作用并不低于电子电路所设计的,方便小巧又通俗易懂,所以我们选择单片机来做流水灯。
设计思路
由于水平不足,故以8流水灯为例,简述实验思路:
实验器材
个人电脑,80c51单片机,LED板
实验原理
单片机流水的实质是单片机各引脚在规定的时间逐个上电,使LED灯能逐个亮起来但过了该引脚通电的时间后便灭灯的过程,实验中使用了单片机的P2端口,对8个LED灯进行控制,要实现逐个亮灯即将P2的各端口逐一置零,中间使用时间间隔隔开各灯的亮灭。使用rl或rr a实现位的转换。
A寄存器的位经过rr a之后转换如下所示:
然后将A寄存器转换一次便送给P2即MOV P2,A便将转换后的数送到了P2口,不断循环下去,便实现了逐位置一操作。
实验电路图
通过仿真实验正确性
代码如下:ORG 0
MOV A,#00000001B
LOOP:MOV P2,A
RL A
ACALL DELAY
SJMP LOOP
DELAY:MOV R1,#255
DEL2:MOV R2,#250
DEL1:DJNZ R2,DEL1
DJNZ R1,DEL2
RET
End
由于实验原理基本一致,故在本次实验中可对上述8流水灯实验进行借鉴,进行小幅度的修改即可。
以上就是我组的可行性报告。
第二篇:流水灯实验
实验二 流水灯实验
一、实验目的
1. 学习Pl口的使用方法。
2. 学习延时子程序的编写和使用。
二、实验内容
1、P1口做输出口,接八只发光二极管(其输入端为高电平时发光二极管点亮),编写程序,使发光二极管循环点亮。
2、编写正确的延时程序,每个灯至少亮1S;
三、实验电路连线
P1.0 ●-----------------------● LED0
P1.1 ●-----------------------● LED1
P1.2 ●-----------------------● LED2
P1.3 ●-----------------------● LED3
P1.4 ●-----------------------● LED4
P1.5 ●-----------------------● LED5
P1.6 ●-----------------------● LED6
P1.7 ●-----------------------● LED7
四、实验说明
1、P1口是准双向口。它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口用作输入口时必须先对它置“1”。若不先对它置“1”,读入的数据是不正确的。
2、延时子程序的延时计算问题
对于程序 Delay:MOV R7,#200
DEL1: MOV R6, #123
NOP
DEL2: DJNZ R6,DEL2
DJNZ R7,DEL1
RET
查指令表可知执行MOV指令需用1个机器周期,DJNZ指令需用2个机器周期,在12MHz晶振时,一个机器周期时间长度为1μs,所以该段程序执行时间为:
[1+(1+1+2*123+2)*200+2]* 1μs ≈50ms
五、实验仪器和设备
PC机、KIEL软件、模拟仿真板
六、参考程序框图
七、学生进行实验操作
八、实验报告
九、实验小结:
1、流水灯程序设计方法。
2、单片机设计的一般方法与步骤。