《微处理器与接口技术课程设计》报告
——流水灯设计
专 业: 电气工程及其自动化
班 级: 电气1221
姓 名:
学 号:
2015年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(两盏同时,一下同)-->3,4-->5,6-->7,8;两遍,同样采用幅值法。使用循环程序按上述顺序循环。
4.2软件流程图
开始
|
程序初始化
|
赋初值,使程序带进位左移,重复两遍,占16位
|
赋初值,使程序带进位右移,重复两遍,占16位
|
赋初值,使用两次带进位右移,实现从左至右间隔闪亮
先1357,后2468
|
赋初值,使用两次带进位左移,实现从右至左间隔点亮
先1357,后2468
|
赋初值,分别给每两次所亮的灯一一赋值,共赋16次,每次
赋值实现两盏灯同时亮
|
结束
4.3 源程序
ORG 00H
START1:MOV A,#0FFH ;从左到右闪亮
CLR C
MOV R2,#17
LOOP1:RLC A
MOV P1,A
CALL DELAY
DJNZ R2,LOOP1
MOV R2,#8
JMP START2
START2:MOV A,#0FFH
CLR C
MOV R2,#17
LOOP2:RRC A ;从右到左闪亮
MOV P1,A
CALL DELAY
DJNZ R2,LOOP2
MOV R2,#8
JMP START3
START3:MOV A,#0FEH
SETB C
MOV R2,#8
LOOP3:RLC A ; 从左到右1357,2468
RLC A
MOV P1,A
CALL DELAY
DJNZ R2,LOOP3
MOV R2,#8
LOOP4:RRC A ;从右到左1357,2468
RRC A
MOV P1,A
CALL DELAY
DJNZ R2,LOOP4
MOV R2,#8
MOV P1,#0FCH ;不断赋初值实现2盏灯亮 从左往右
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
MOV P1,#0F3H
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
MOV P1,#0CFH
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
MOV P1,#03FH
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
MOV P1,#0FCH ;2盏灯亮 从左往右
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
MOV P1,#0F3H
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
MOV P1,#0CFH
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
MOV P1,#03FH
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
MOV P1,#03FH ;2盏灯亮 从右往左
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
MOV P1,#0CFH
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
MOV P1,#0F3H
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
MOV P1,#0FCH
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
MOV P1,#03FH ;2盏灯亮 从右往左
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
MOV P1,#0CFH
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
MOV P1,#0F3H
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
MOV P1,#0FCH
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
DELAY:MOV R3,#40 ; 延时程序
D1: MOV R4,#40
D2: MOV R5,#248
DJNZ R5,$
DJNZ R4,D2
DJNZ R3,D1
RET
END
5. 调试运行
5.1 (1)从左至右一盏一盏显示,共显示两遍;
(2)从右至左一盏一盏显示,共显示两遍;
(3)从左至右1,3,5,7;然后2,4,6,8;
(4)从右至左1,3,5,7;然后2,4,6,8;
(5)从左至右1,2(两盏同时,一下同)-->3,4-->5,6-->7,8;两遍.
(6)从右至左1,2(两盏同时,一下同)-->3,4-->5,6-->7,8;两遍.
重复(1)(2)(3)(4)(5)(6)
5.2调试成功
6. 设计心得体会
本次试验经历了整整一天,通过不断的修改源程序,不断地调试运行,不断地与同学交流与思考,实验最终成功。在最后环节设计LED灯两两点亮时,怎么修改都不能纠正错误,最终与别人讨论才得以成功。微机原理和接口技术是一门实践性强的学科,相关知识仅靠教科书不能很好的掌握,必须通过实践才能比较直观和深刻的理解。通过本次试验,我了解了流水灯设计的基本思路与方法,纸上得来终觉浅,绝知此事要躬行,课堂上听再多理论知识也是纸上谈兵,只有理论与实践相结合才能出佳绩,看到流水灯按照指定要求闪亮时,一切都值了。
参考书目:
[1]肖金球,增强型51单片机与仿真技术[M],清华大学出版社,北京,2011.10
[2]周明德,微机原理与接口技术[M]人民邮电出版社,北京,2007
[3]陈海宴,51单片机原理及应用[M],北京航空航天大学出版社,北京,2010
本文来源:https://www.2haoxitong.net/k/doc/d6a96dd5b52acfc788ebc941.html
文档为doc格式