北京交通大学单片机课程设计交通灯.docx
- 文档编号:5363078
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:12
- 大小:141.45KB
北京交通大学单片机课程设计交通灯.docx
《北京交通大学单片机课程设计交通灯.docx》由会员分享,可在线阅读,更多相关《北京交通大学单片机课程设计交通灯.docx(12页珍藏版)》请在冰豆网上搜索。
北京交通大学单片机课程设计交通灯
交通灯设计
班级:
姓名:
学号:
2016年5月5日
1课程设计总体目标
1.1总体结构
1.设计一个十字路口交通控制器。
2.开始运行后,先南北绿灯60S(通行60S)、东西红灯65S(禁止65S);然后,南北转黄灯闪烁5S;接着,东西绿灯30S(通行30S),南北红灯35S(禁止35S);最后,东西转黄灯闪烁5S;
3.在二极管亮或者闪烁的同时两个方向的数码管显示倒计时,东西向一组数码管,南北向一组数码管。
2硬件设计
包括硬件电路及工作原理描述
1.设计思路
模拟交通灯控制电路时运用单片机来控制红、黄、绿三色LED灯显示,并通过定时器中断来控制数码管显示倒计时。
红、黄、绿交替闪亮,利用数码管计数显示间隔等,用于管理十字路口的车辆及行人通过,计时牌显示路口通行转换剩余时间。
2.单片机总控制电路如下图:
STC89C51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,STC89C51在众多嵌入式控制应用系统中得到广泛应用。
3.74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。
74LS245还具有双向三态功能,既可以输出,也可以输入数据。
当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。
当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)DIR=“1”,信号由A向B传输;(发送)当CE为高电平时,A、B均为高阻态。
由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。
P0口与74LS245输入端相连,E端接地,保证数据线畅通。
8051的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1←D1),其它时间处于输出(P0.1→D1)。
3软件设计
程序流程框图
程序:
C语言:
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitRED_A=P0^0;//东西向指示灯
sbitYELLOW_A=P0^1;
sbitGREEN_A=P0^2;
sbitRED_B=P0^3;//南北向指示灯
sbitYELLOW_B=P0^4;
sbitGREEN_B=P0^5;
//延时倍数,闪烁次数,操作类型变量
ucharTime_Count=0,Flash_Count=0,Operation_Type=1;
//定时器0中断函数
voidT0_INT()interrupt1
{
TL0=-50000/256;
TH0=-50000%256;
switch(Operation_Type)
{
case1:
//东西向绿灯与南北向红灯亮
RED_A=0;YELLOW_A=0;GREEN_A=1;
RED_B=1;YELLOW_B=0;GREEN_B=0;
if(++Time_Count!
=100)return;//65s(65*100*50ms)切换
Time_Count=0;
Operation_Type=2;
break;
case2:
//东西向黄灯开始闪烁,绿灯关闭
if(++Time_Count!
=8)return;
Time_Count=0;
YELLOW_A=~YELLOW_A;GREEN_A=0;
if(++Flash_Count!
=10)return;//闪烁
Flash_Count=0;
Operation_Type=3;
break;
case3:
//东西向红灯与南北向绿灯亮
RED_A=1;YELLOW_A=0;GREEN_A=0;
RED_B=0;YELLOW_B=0;GREEN_B=1;
if(++Time_Count!
=100)return;//30s(30*100*50ms)切换
Time_Count=0;
Operation_Type=4;
break;
case4:
//南北向黄灯开始闪烁,绿灯关闭
if(++Time_Count!
=8)return;
Time_Count=0;
YELLOW_B=~YELLOW_B;GREEN_A=0;
if(++Flash_Count!
=10)return;//闪烁
Flash_Count=0;
Operation_Type=1;
break;
}
}
//主程序
voidmain()
{
TMOD=0x01;//T0方式1
IE=0x82;
TR0=1;
while
(1);
}
汇编语言:
ZXEQU42H
ZWEQU43H
KCOUNTEREQU50H
ORG0
LJMPMAIN
ORG0BH
LJMPT0INT
ORG30H
MAIN:
MOVSP,#6FH
MOV46H,#2;0.1s
MOVTMOD,#01H
MOVTH0,#3CH;50ms
MOVTL0,#0D4H
MOVIE,#82H
SETBTR0
LP1:
LCALLZT1
SJMPLP1
T0INT:
CLRTR0
PUSHACC
PUSH0
DJNZ46H,T0
MOV46H,#2
INCR1;判断用数字变量
DECR2;南北计时变量
DECR3;东西数字变量
T0:
MOVTH0,#3CH
MOVTL0,#0D4H
SETBTR0
P0P0
POPACC
RETI
ZT1:
MOVR2,#60
MOVR3,#66;南北绿灯60s,东西红灯65s
L0:
MOVP1,#23H
MOVP3,#21H
LCALLDATAPRO
LCALLKEYPRO
LCALLDISP
MOVA,R2
H1:
CJNER1,#61,L0
MOVR1,#0
MOVP1,#43H
MOVP3,#41H
MOVR2,#5;南北黄灯5秒,东西仍是红灯
H2:
MOVA,R1;南北黄灯闪烁开始
MOVB,#2
DIVAB
MOVA,B
CJNEA,#1,L1
MOVP1,#43H
MOVP3,#41H
LCALLDATAPRO
LCALLKEYPRO
LCALLDISP
SJMPL2
L1:
MOVP1,#03H
MOVP3,#01H
LCALLDATAPRO
LCALLKEYPRO
LCALLDISP
L2:
CJNER1,#6,H2
MOVR1,#0;南北黄灯闪烁结束
MOVR2,#36
MOVR3,#30;南北红灯35秒,东西绿灯30秒
T1:
MOVP1,#15H
MOVP3,#12H
LCALLDATAPRO
LCALLKEYPRO
LCALLDISP
H3:
CJNER1,#36,T1
MOVR1,#0
MOVP1,#19H
MOVP3,#14H
MOVR3,#5;南北仍是红灯,东西黄灯5秒
H4:
MOVA,R1;东西黄灯闪烁开始
MOVB,#2
DIVAB
MOVA,B
CJNEA,#1,L3
MOVP1,#18H
MOVP3,#14H
LCALLDATAPRO
LCALLKEYPRO
LCALLDISP
SJMPL4
L3:
MOVP1,#11H
MOVP3,#10H
LCALLDATAPRO
LCALLKEYPRO
LCALLDISP
L4:
CJNER1,#6,H4
MOVR1,#0;东西黄灯闪烁结束
RET
DISP:
MOVR0,#20H
MOV44H,#8
MOVZW,#0FEH
LP2:
MOVZX,@R0
LCALLDISPLED
INCR0
MOVA,ZW
RLA
MOVZW,A
DJNZ44H,LP2
RET
DISPLED:
MOVA,ZW
MOVP0,A
MOVDPTR,#TAB
MOVA,ZX
MOVCA,@A+DPTR
MOVP2,A
LCALLDELAY
RET
DELAY:
MOV41H,#20
DL1:
MOV42H,#50
DL2:
DJNZ42H,DL2
DJNZ41H,DL1
RET
TAB:
DB03FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
DATAPRO:
MOVA,R2;将计时变量分十位,个位
MOVB,#10
DIVAB
MOV20H,A
MOV26H,A
MOV21H,B
MOV27H,B
MOVA,R3
MOVB,#10
DIVAB
MOV22H,A
MOV24H,A
MOV23H,B
MOV25H,B
RET
4实验结果
5心得
经过了8周的单片机课程的学习,我们掌握了一定的单片机原理知识,但是却没有运用实践的过程,因此在实际操作方面匮乏一定的经验。
此次课程设计就为我们带来的很好的机会,通过使用VmwareWorkstatio12.0虚拟机运行Keil3来不断进行调试单片机,我成功的将课本上的知识运用到了实际中去,在实践中锻炼了动手能力,增加了对单片机的兴趣,也巩固了课堂上学到的东西。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北京 交通大学 单片机 课程设计 交通灯