交通灯课程设计1.docx
《交通灯课程设计1.docx》由会员分享,可在线阅读,更多相关《交通灯课程设计1.docx(17页珍藏版)》请在冰豆网上搜索。
交通灯课程设计1
Xxxx学院
课程设计任务书
题目交通灯课程设计
完成期限:
指导教师签名:
课程负责人签名:
年月日
专业班级电气工程三班学号xxxxxxx姓名xx
主要内容:
基于单片机的应用技术,利用中断系统来控制定时器的时间,实现交通灯控制,了解单片机中断系统,掌握中断系统的编写方式。
基本要求:
(1)在通常情在一个十字路口的两条主干道上,分别装上一套红、黄、绿3种信号灯。
(2)况下,一条主干道为绿灯,另一条主干道为红灯。
(3)采用定时器中断方式控制南北向、东西向交通灯,指示时间为25s,当时间为5s时绿灯亮,为3s时黄灯点亮,25s时间到,交通灯换向。
亮灯规律:
南北红灯亮20s,东西绿灯亮20s
南北红灯亮3s,东西绿灯闪3s
南北红灯闪2s,东西黄灯亮2s
南北绿灯亮20s,东西红灯亮20s
南北绿灯闪3s,东西红灯亮3s
南北黄灯亮2s,东西红灯闪2s
主要参考资料:
《单片机原理及接口技术》李全利
《单片机应用技术》王文杰许文斌
《THDPJ-1-2实验指导书》
郑州华信学院
课程设计说明书
题目:
交通灯课程设计
姓名:
xx
院(系):
机电工程学院
专业班级:
电气工程三班
学号:
xx
指导教师:
学校
成绩:
时间:
2011年11月17日至2011年12月22日
目录
0.引言4
1.概述所作题目的意义、本人所做的工作及系统的主要功能4
2硬件电路设计及描述5
3交通灯的设计程序框图7
4.软、硬件调试过程8
4.1软件调试8
4.2硬件调试8
5交通灯程序的主程序9
6.主要参考资料:
13
7.附录14
7.1实验整体电路图14
7.2元器件表14
0.引言
单片机由于其体积小、功耗低、价格低廉,且具有逻辑判断、定时计数和程序控制等多种功能,广泛用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。
单片机已经完全渗透到生产生活的各个领域。
1.概述所作题目的意义、本人所做的工作及系统的主要功能
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
本系统采用单片机AT89C51为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。
2硬件电路设计及描述
1.基于单片机设计的振荡电路和复位电路,加显示器件构成单片机系统,单片机通过P2.1~P2.6端口及P3.0P3.1端口的第二功能进行数据和信息的传输交换从而实现对外电路的控制
2.由7405及LED灯构成的交通信号显示电路,由89C51送来信号,经7405分析处理将信号送入LED显示灯
3.由八位移位寄存器74ls164及七段数码管构成的数字显示器件,由单片机输出信号经八位移位寄存器译码后送入数码显管,从而显示数字
3交通灯的设计程序框图
4.软、硬件调试过程
4.1软件调试
4.2硬件调试
5交通灯程序的主程序
SECOND1EQU30H;东西路口计时寄存器
SECOND2EQU31H;南北路口计时寄存器
DBUFEQU40H;显示码缓冲区1
TEMPEQU44H;显示码缓冲区2
LED_G1BITP2.1;东西路口绿灯
LED_Y1BITP2.2;东西路口黄灯
LED_R1BITP2.3;东西路口红灯
LED_G2BITP2.4;南北路口绿灯
LED_Y2BITP2.5;南北路口黄灯
LED_R2BITP2.6;南北路口红灯
ORG0000H
LJMPSTART
ORG0100H
START:
MOVTMOD,#01H;置T0为工作方式1
MOVTH0,#3CH;置T0定时初值50ms
MOVTL0,#0B0H
CLRTF0
SETBTR0;启动T0
CLRA
MOVP1,A;关闭不相关的LED
LOOP:
MOVR2,#20;置1s计数初值,50ms*20=1s
MOVR3,#20;红灯亮20s
MOVSECOND1,#25;东西路口计时显示初值25s
MOVSECOND2,#25;南北路口计时显示初值25s
LCALLDISPLAY
LCALLSTATE1;调用状态1
WAIT1:
JNBTF0,WAIT1;查询50ms到否
CLRTF0
MOVTH0,#3CH;恢复T0定时初值50ms
MOVTL0,#0B0H
DJNZR2,WAIT1;判断1s到否?
未到继续状态1
MOVR2,#20;置50ms计数初值
DECSECOND1;东西路口显示时间减1s
DECSECOND2;南北路口显示时间减1s
LCALLDISPLAY
DJNZR3,WAIT1;状态1维持20s
MOVR2,#5;置50ms计数初值5*4=20
MOVR3,#3;绿灯闪烁3s
MOVR4,#4;闪烁间隔200ms
MOVSECOND1,#5;东西路口计时显示初值5s
MOVSECOND2,#5;南北路口计时显示初值5s
LCALLDISPLAY
WAIT2:
LCALLSTATE2;调用状态2
JNBTF0,WAIT2;查询50ms到否
CLRTF0
MOVTH0,#3CH;恢复T0定时初值50ms
MOVTL0,#0B0H
DJNZR4,WAIT2;判断200ms到否?
未到继续状态2
CPLLED_G1;东西绿灯闪
MOVR4,#4;闪烁间隔200ms
DJNZR2,WAIT2;判1s到否?
未到继续状态2
MOVR2,#5;置50ms计数初值
DECSECOND1;东西路口显示时间减1s
DECSECOND2;南北路口显示时间减1s
LCALLDISPLAY
DJNZR3,WAIT2;状态2维持3s
MOVR2,#5;置50ms计数初值
MOVR3,#2;黄灯闪烁2s
MOVR4,#4
MOVSECOND1,#2;东西路口计时显示初值2s
MOVSECOND2,#2;南北路口计时显示初值2s
LCALLDISPLAY
WAIT3:
LCALLSTATE3;调用状态3
JNBTF0,WAIT3;查询100ms到否
CLRTF0
MOVTH0,#3CH;恢复T0定时初值100ms
MOVTL0,#0B0H
DJNZR4,WAIT3;判断1s到否?
未到继续状态3
CPLLED_R2
MOVR4,#4
DJNZR2,WAIT3
MOVR2,#5;置100ms计数初值
DECSECOND1;东西路口显示时间减1s
DECSECOND2;南北路口显示时间减1s
LCALLDISPLAY
DJNZR3,WAIT3;状态3维持2s
MOVR2,#20;置50ms计数初值
MOVR3,#20;红灯闪20s
MOVSECOND1,#25;东西路口计时显示初值25s
MOVSECOND2,#25;南北路口计时显示初值25s
LCALLDISPLAY
WAIT4:
LCALLSTATE4;调用状态4
JNBTF0,WAIT4;查询100ms到否
CLRTF0
MOVTH0,#3CH;恢复T0定时初值100ms
MOVTL0,#0B0H
DJNZR2,WAIT4;判断1s到否?
未到继续状态4
MOVR2,#20;置100ms计数初值
DECSECOND1;东西路口显示时间减1s
DECSECOND2;南北路口显示时间减1s
LCALLDISPLAY
DJNZR3,WAIT4;状态4维持20s
MOVR2,#5;置50ms计数初值
MOVR4,#4;红灯闪20ms
MOVR3,#3;绿灯闪3s
MOVSECOND1,#5;东西路口计时显示初值5s
MOVSECOND2,#5;南北路口计时显示初值5s
LCALLDISPLAY
WAIT5:
LCALLSTATE5;调用状态5
JNBTF0,WAIT5;查询100ms到否
CLRTF0
MOVTH0,#3CH;恢复T0定时初值100ms
MOVTL0,#0B0H
DJNZR4,WAIT5;判断200ms到否?
未到继续状态5
CPLLED_G2;南北绿灯闪
MOVR4,#4;闪烁间隔200ms
DJNZR2,WAIT5;判断1s到否?
未到继续状态5
MOVR2,#5;置100ms计数初值
DECSECOND1;东西路口显示时间减1s
DECSECOND2;南北路口显示时间减1s
LCALLDISPLAY
DJNZR3,WAIT5;状态5维持3s
MOVR2,#5;置50ms计数初值
MOVR3,#2;红灯闪2s
MOVR4,#4
MOVSECOND1,#2;东西路口计时显示2s
MOVSECOND2,#2;南北路口计时显示2s
LCALLDISPLAY
WAIT6:
LCALLSTATE6;调用状态6
JNBTF0,WAIT6;查询50ms到否
CLRTF0
MOVTH0,#3CH;恢复T0定时初值100ms
MOVTL0,#0B0H
DJNZR4,WAIT6;判断1s到否?
未到继续状态6
CPLLED_R1
MOVR4,#4
DJNZR2,WAIT6
MOVR2,#5;置100ms计数初值
DECSECOND1;东西路口显示时间减1s
DECSECOND2;南北路口显示时间减1s
LCALLDISPLAY
DJNZR3,WAIT6;状态6维持2s
LJMPLOOP;大循环
STATE1:
SETBLED_G1;状态1
CLRLED_Y1;东西路口绿灯亮
CLRLED_R1
CLRLED_G2
CLRLED_Y2
SETBLED_R2;南北路口红灯亮
RET
STATE2:
CLRLED_Y1;状态2
CLRLED_R1
CLRLED_G2
CLRLED_Y2
SETBLED_R2;南北路口红灯亮
RET
STATE3:
CLRLED_G1;状态3
CLRLED_R1
CLRLED_G2
CLRLED_Y2
SETBLED_Y1;东西路口绿灯亮
RET
STATE4:
CLRLED_G1;状态4
CLRLED_Y1
SETBLED_R1;东西路口红灯亮
SETBLED_G2;南北路口绿灯亮
CLRLED_Y2
CLRLED_R2
RET
STATE5:
CLRLED_G1;状态5
CLRLED_Y1
SETBLED_R1;东西路口红灯亮
CLRLED_Y2
CLRLED_R2
RET
STATE6:
CLRLED_G1;状态6
CLRLED_Y1
CLRLED_G2
CLRLED_R2
SETBLED_Y2;南北路口红灯亮
RET
DISPLAY:
MOVA,SECOND1;数码显示,东西路口计时寄存器
MOVB,#10;十六进制数拆成两个十进制数
DIVAB
MOVDBUF+3,A
MOVA,B
MOVDBUF+2,A
MOVA,SECOND2;南北路口计时寄存器
MOVB,#10;十六进制数拆成两个十进制数
DIVAB
MOVDBUF+1,A
MOVA,B
MOVDBUF,A
MOVR0,#DBUF
MOVR1,#TEMP
MOVR7,#4
DP10:
MOVDPTR,#LEDMAP
MOVA,@R0
MOVCA,@A+DPTR
MOV@R1,A
INCR0
INCR1
DJNZR7,DP10
MOVR0,#TEMP
MOVR1,#4
DP12:
MOVR7,#8
MOVA,@R0
DP13:
RLCA
MOVP3.0,C
CLRP3.1
SETBP3.1
DJNZR7,DP13
INCR0
DJNZR1,DP12
RET
LEDMAP:
DB3FH,06H,5BH,4FH,66H,6DH;0,1,2,3,4,5
DB7DH,07H,7FH,6FH,77H,7CH;6,7,8,9,A,B
DB58H,5EH,7BH,71H,0,40H;C,D,E,F,,-
END
6.主要参考资料:
《单片机原理及接口技术》李全利
《单片机应用技术》王文杰许文斌
《THDPJ-1-2实验指导书》
7.附录
7.1实验整体电路图
7.2元器件表
器件代码
器件名称
器件数量
7SEG-COM-CAT-GRN\CATHODE
七段数码显管
红绿各一个
74LS164.IE
八位移位寄存器
4个
7405
反相器
6个
AT89C51
单片机
1个
CAP
电容
2个
CAP-ELEC
极性电容
1个
RES
电阻
1个
CRYSTAL
晶振
1个
LED
显示灯
红黄绿各3个
POWER/GROUND
地/电源
若干