资源描述
编号:23
河北工业大学计算机硬件技术基础(MCS-51)2007年课程设计报告
学院 班级 姓名 学号
同组人 学号 成绩 __ ____
一、题目:汽车信号灯控制系统(编号23)
二、详细设计:
1、硬件详细设计:
硬件系统设计图
软件系统设计流程图
启动
↓
设置定时器0初值
↓
设置定时器0位模式1
↓
置软件计数器初值
↓
允许定时器0中断
总允许中断
↓
启动定时器0
↓
等待
接线:使用排线将A2区的J61接口与D1区的J52接口相连。
Sw1与p1.6相接 sw2与p1.7相接 k1与INTO相接 ,k2与INT1相接
三、程序清单
ORG 8000H
MAIN: MOV TMOD,#01H ;定义计时器,计时
MOV TH0,#4CH ;定义计时器高八位
MOV TL0,#00H ;定义计时器低八位
MOV IE,#82H ;开CPU的中断和中段源的允许标志位
MOV R0,#00H
MOV R2,#00H
SETB TR0 ;将TR0置1
LOOP: JBC TF0,DO1
SJMP LOOP
DO1: JNB P3.3,YINGJI ;判断P3.3=0跳至YINGJI
JB P1.6,ZUOZ ;判断P1.6=1跳至ZUOZ
JB P1.7,YOUZ ;判断P1.7=1跳至YOUZ
JNB P3.2,SHACHE ;判断P3.2=0跳至SHACHE
SJMP TING ;无条件跳至TING
YINGJI: INC R0 ;给R0加1
CJNE R0,#08H,NEXT1 ;判断R0,当R0=4时跳至NEXT1,延时400毫秒
CPL P1.0 ;取反P1.0
CPL P1.1 ;取反P1.0
CPL P1.2 ;取反P1.0
CPL P1.3 ;取反P1.0
CPL P1.4 ;取反P1.0
CPL P1.5 ;取反P1.0
MOV R0,#00H
JNB P3.3,NEXT1
SJMP DO1 ;此程序可实现六盏灯的频闪
ZUOZ: INC R2 ;给R2加1
CJNE R2,#14H,NEXT1 ;判断R2=8时,跳至NEXT1,延迟1秒
CPL P1.0 ;取反P1.0
CPL P1.1 ;取反P1.1
CPL P1.2 ;取反P1.2
SETB P1.3 ;把P1.3置1,使灯灭
SETB P1.4 ;把P1.4置1,使灯灭
SETB P1.5 ;把P1.5置1,使灯灭
MOV R2,#00H
JB P1.6,NEXT1
SJMP DO1 ;此程序可实现左转信号灯的频闪,时间间隔1秒
YOUZ : INC R2
CJNE R2,#14H,NEXT1
SETB P1.0
SETB P1.1
SETB P1.2
CPL P1.3
CPL P1.4
CPL P1.5
MOV R2,#00H
JB P1.7,NEXT1
SJMP DO1 ;同“ZUOZ”程序类似
NEXT1: MOV TH0,#4CH
MOV TL0,#00H
SJMP LOOP
SHACHE: SETB P1.0 ;把P1.0置1,使灯灭
SETB P1.1 ;把P1.1置1,使灯灭
CLR P1.2 ;把P1.2清零,左尾灯常亮
SETB P1.3 ;把P1.3置1,使灯灭
SETB P1.4 ;把P1.4置1,使灯灭
CLR P1.5 ;把P1.5清零,右尾灯常亮
JNB P3.2,SHACHE
SJMP DO1
TING: MOV P1,#0FFH
SJMP DO1 ;停车程序,六盏灯全灭
END
四、调试程序的方法
按照以前所学实验方法,将程序输入,编译无误,按照硬件系统设计图并对照实验书后的对照表进行接线,然后运行,通过开关控制灯的亮灭。
五、你所设计的程序最终完成的功能
1)功能:
(1)车辆转弯时,相应一侧之前灯、尾灯及仪表板指示灯均应闪烁。即左转时,左头灯、左尾灯、仪表板左转弯灯闪烁,右转时则右头灯、右尾灯和仪表板右转弯灯闪烁;
(2)紧急开关闭合时要求前述6个信号灯全部闪烁;
(3)刹车时2个尾灯亮,若转弯时刹车,则转弯时原应闪烁的信号灯仍应闪烁;
(4)转向闪烁频率1Hz,应急闪烁频率2.5Hz。
2)按照以前所学实验方法,将程序输入,编译无误,按照硬件系统设计图并对照实验书后的对照表进行接线,然后运行,通过开关控制灯的亮灭。
六、对该设计题目的更完善的方案
在满足原有基本动能的基础上,此方案又增加了一项:汽车停靠而停靠开关合上时(如在高速公上,车辆因故障停靠时)左头灯、右头灯、左尾灯、右尾灯应高频闪烁;及增加倒车灯,应再加两盏灯比较好。
七、收获及心得体会
通过这次课程设计,我对所学的知识有了更深一步的理解和认识。熟练掌握了MCS-51系列单片机各种操作指令的运用,中断及延时程序的原理及应用,用软件控制的汽车信号灯指示系统,及各种闪烁信号的产生办法
同时,通过这段时间的学习与操作,我明显的觉察出所学知识的漏洞,深刻体会到实践的重要性,在今后的学习中,我一定要扎扎实实,真正的把知识学到手,做到融会贯通,运用自如。
在这次课程设计中,我深刻认识到合作的重要性。在编程过程中,我和同伴互相帮助,配合默契,对设计的成功起了很大推动作用。
单片机的应用在生活中及其广泛,例如交通灯、洗衣机等日常生活中接触到的东西都是应用了单片机程序。我这次课程设计是有关汽车信号灯控制系统的,在制作过程中,虽然有很多地方不明白但是也通过学习讨论掌握了一些单片机基础知识。
在答辩过程中,通过老师的提问,我深刻认识到了自己对单片机知识的匮乏,知道了自己的不足之处,以后要针对不足展开深入的学习。
日期: 2007年12月30日
第4页/共4 页
展开阅读全文