51单片机流水灯实验报告Word格式.docx
《51单片机流水灯实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《51单片机流水灯实验报告Word格式.docx(5页珍藏版)》请在冰豆网上搜索。
Loop:
moVp2,A
RLA
AcALLDeLAY
sJmpLoop
DeLAY:
moVR1,#255
DeL2:
moVR2,#250
DeL1:
DJnZR2,DeL1
DJnZR1,DeL2
ReT
end
实验结果:
六、实验总结
这次试验我通过proteus仿真实现对流水灯功能的实现。
受益匪浅,对80c51的功能和结构有了深层次的了解,我深刻的明白,要想完全了解c51还有一定距离,但我会一如既往的同困难作斗争。
在实验中,我遇到了不少困难,比如不知道怎么将程序写进单片机中,写好程序的却总出错,不知道什么原因,原来没有生成hex文件。
这些错误令我明白以后在试验中要步步细心,避免出错。
篇二:
实验(:
51单片机流水灯实验报告)一51单片机流水灯实验实验报告
“流水灯”实验报告
1.了解单片机I/o口的工作原理。
2.掌握51单片机的汇编指令。
3.熟悉汇编程序开发,调试以及仿真环境。
二、实验内容
通过汇编指令对单片机I/o进行编程(本实验使用p0口),以控制八个发光二极管以一定顺序亮灭。
(即流水灯效果)
通过更改p0口8位的高低电平,分别控制8个发光二极管的亮灭。
具体的亮灭情况如下表:
要实现“流水灯”效果,也就是需要将p0口的输出值发生以下变化:
Fe→FD→Fb→F7→eF→DF→bF→7F→bF→DF→eF→F7→Fb→FD→Fe→......
可以使用一个循环,不断对数据进行移位运算实现。
这里的移位指令采用RL和RR,即不带进位的位移运算指令。
如果使用带进位的位移运算指令(RLc和RRc),则需要定期把cY置0,否则会出现同时亮起两个发光二极管的情况。
1
四、实验过程
1.在仿真系统中绘制好单片机的电路图
2.编写汇编程序,程序如下:
oRg0000hsJmpstartstart:
moVA,#0Feh
moVp0,AcLRp2.7cLRp3.7move:
moVR2,#7h
moVR3,#7h
Rmove:
RLA
moVp0,AcALLDelayDJnZR2,Rmove
Lmove:
RRA
moVp0,AcALLDelayDJnZR3,LmovesJmpmove
2
Delay:
Delay1:
Delay2:
moVmoVnopDJnZDJnZReTenD
R0,#0FFhR1,#0FFh
R1,Delay2R0,Delay1
五、实验结果
为了便于实验结果的描述,下面分别把p0.0,p0.1…,p0.7对应的发光二极管编号为1,2,…,8号二极管。
在仿真系统中,先从1号二极管下面是在仿真系统中的实验结果:
3
实验的结果:
二极管的发光状态从1→2→3→4→5→6→7→8→7→…→1→2;
如此往复循环。
4
六、实验总结与分析
1.经过这次实验,不难总结出开发单片机程序的方法。
第一步:
根据需求连接好单片机;
第二步:
在仿真系统中,使用汇编指令写好单片机的程序;
第三步:
在仿真系统中对程序进行测试;
第四步:
把程序下载到单片机中,并观察程序运行结果;
如果程序运行不正确,则根据现象分析程序错误之处。
改正以后重新下载观察运行结果。
2.对单片机的悬空针脚进行相应处理:
悬空针脚接上高电平。
5
篇三:
51流水灯设计实验报告
《微处理器与接口技术课程设计》报告
——流水灯设计
专业:
电气工程及其自动化
班级:
电气1221
姓名:
学号:
20XX年7月14日
1.课程设计目的
1.1巩固和加深对单片机原理和接口技术知识的理解;
1.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;
1.3学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;
1.4学会软、硬件的设计和调试方法;
1.5能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,能用计算机绘制电路图和流程图。
2.课程设计要求
2.1不得无故缺课。
2.2独立完成规定的设计任务。
2.3完成所有实验资料。
3.硬件设计
3.1设计思想
1.尽可能采用功能强的芯片
(1)单片机的选型。
随着集成电路技术的飞速发展,许多外围部件都已集成
在芯片内,本身就是一个系统,这样可以省去许多外围部件的扩展工作,设计工作大大简化。
(2)优先选用片内带有闪烁存储器的产品。
(3)考虑epRom空间和RAm空间。
(4)对I/o端口的考虑
(5)预留A/D和D/A通道。
2.以软代硬
原则上,只要软件能做到且能满足性能要求,就不用硬件。
3.工艺设计
包括机箱、面板、配线、接插件等。
必须考虑到安装、调试、维修的方便。
另外,硬件抗干扰措施也必须在硬件设计时一并考虑进去。
3.2主要元器件介绍
LY-51s单片机开发板
8根杜邦线
AT89c51模块引脚
LeD显示灯模块
3.3功能电路介绍
使用德飞来单片机开发版,利用杜邦线将板子上LeD灯与AT89c5的引脚对应连接,然后通过keil和sTc-Isp烧制程序,达到LeD灯的不同程度点亮。
Rp1排阻:
330~430欧姆,J9插针,用于连接需要使用的Io口。
4.软件设计
4.1设计思想
首先将实验要求分成3部分看
先编写程序使LeD灯从左至右逐个点亮,使用带进位右移指令共显示两遍,共占用16位,然后再使用带进位左移使灯从右至左一盏一盏显示,共显示两遍,占用16位。
使用2次带进位左移从左至右1,3,5,7;
然后2,4,6,8;
占用8位闪烁一遍。
再使用2次带进位左移从右至1,3,5,7;
然后2,4,6,8,占用8位闪烁一遍。
第三步:
可采用幅值法使灯按要求点亮。
最后是实现从左至右1,2(两盏同时,一下同)-->
3,4-->
5,6-->
7,8;
两遍;
再从右至左1,2(两盏同时,一下同)-->
两遍,同样采用幅值法。
使用循环程序按上述顺序循环。
4.2软件流程图
开始
|
程序初始化
赋初值,使程序带进位左移,重复两遍,占16位
赋初值,使程序带进位右移,重复两遍,占16位
赋初值,使用两次带进位右移,实现从左至右间隔闪亮
先1357,后2468
赋初值,使用两次带进位左移,实现从右至左间隔点亮
赋初值,分别给每两次所亮的灯一一赋值,共赋16次,每次
赋值实现两盏灯同时亮
结束
4.3源程序
oRg00h
sTART1:
moVA,#0FFh;
从左到右闪亮cLRc
moVR2,#17
Loop1:
RLcA
moVp1,A
cALLDeLAY
DJnZR2,Loop1
moVR2,#8
JmpsTART2
sTART2:
moVA,#0FFh
cLRc
Loop2:
RRcA;
DJnZR2,Loop2
JmpsTART3
sTART3:
seTbc
Loop3:
RLcA;
RLcA
moVp1,A从右到左闪亮从左到右1357,2468