微机原理及接口技术课程设计交通灯控制文档格式.docx
- 文档编号:20662850
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:18
- 大小:366.85KB
微机原理及接口技术课程设计交通灯控制文档格式.docx
《微机原理及接口技术课程设计交通灯控制文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理及接口技术课程设计交通灯控制文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
交通灯控制
内容:
实现十字路口的交通灯控制。
十字路口的交通灯采用红绿数码管,红绿灯时间显示在2位数码管。
二、课程设计要求
1.根据具体设计课题的技术指标和给定条件,独立进行方案论证和电路设计,要求概念清楚、方案合理、方法正确、步骤完整;
2.查阅有关参考资料和手册,并能正确选择有关元器件和参数,对设计方案进行仿真;
3.完成预习报告,报告中要有设计方案,设计电路图,还要有仿真结果;
4.进实验室进行电路调试,边调试边修正方案;
5.撰写课程设计报告——最终的电路图、调试过程中遇到的问题和解决问题的方法。
三、进度安排
1.时间安排
序号
内容
学时安排(天)
1
方案论证和系统设计
2
完成电路仿真,写预习报告
3
电路调试
4
写设计总结报告与答辩
合计
5
设计调试地点:
电气楼410
2.执行要求
微机原理与接口技术课程成绩优秀的可以自拟题目,其余的同学都是指定题目。
,每组不得超过2人,要求学生在教师的指导下,独力完成所设计的详细电路(包括计算和器件选型)。
严禁抄袭,严禁两篇设计报告雷同。
摘要
本设计通过8051单片机模拟实现十字路口的交通灯控制,十字路口的交通灯采用红绿黄LED显示,红绿灯倒计时时间显示在2位数码管,用按键控制交通灯电路的开启与关闭。
关键词:
交通灯控制、8051单片机、程序设计
一、系统方案设计·
·
1
1.1.任务内容·
1.2.电路设计·
1.3.程序设计·
7
二、仿真·
12
2.1仿真电路图·
2.2仿真结果·
13
三、电路调试·
14
四、结论·
15
五、心得体会与建议·
16
附录:
元器件清单·
17
第一章系统方案设计
1.任务内容
能控制东、西、南、北四个路口的红绿黄信号灯正常工作。
当东西方向放行、南北方向禁行时,东西方向绿灯亮25s,然后黄灯闪烁5s;
南北方向红灯亮30s。
当南北方向放行、东西方向禁行时,南北方向绿灯亮25s,然后黄灯闪烁5s;
东西方向红灯亮30s。
通电后,不按键时,红绿黄灯和数码管均不启动;
按键后,交通灯启动;
再次按键,交通灯停止。
2.电路设计
1)设计思路
模拟交通灯控制器就是使用单片机来控制一些LED和数码管,模拟真实交通
灯的功能。
红、绿、黄灯交替启亮,利用数码管计数显示倒计时,用于管理十字路的
车辆及行人通过,计时牌显示路口通行转换剩余时间。
2)部分芯片功能介绍
1 AT89C51
AT89C51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,AT89C51在众多嵌入式控制应用系统中得到广泛应用。
AT89C51主要功能列举如下:
1、为一般控制应用的8位单芯片
2、晶片内部具有时钟振荡器(传统最高工作频率可至12MHz)
3、内部程式存储器(ROM)为4KB
4、内部数据存储器(RAM)为128B
5、外部程序存储器可扩充至64KB
6、外部数据存储器可扩充至64KB
7、32条双向输入输出线,且每条均可以单独做I/O的控制
8、5个中断向量源
9、2组独立的16位定时器
10、1个全多工串行通信端口
11、8751及8752单芯片具有数据保密的功能
单芯片提供位逻辑运算指令
2 74LS245
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)部分芯片接口的控制
主要用到的硬件:
AT89C51的P0口、P1口、P2口、P3口、LED数码管、LED发光二级管、
P1口、P3口、:
控制发光二极管及按键,控制如下:
接口
6
7
P1
按键
ER
EG
EY
NR
NG
NY
P3
WR
WG
WY
SR
SG
SY
P0控制数码管(字位),P2控制字形,控制如下:
P0
S1
S2
E1
E2
W1
W2
N2
N1
P2
A
B
C
D
E
F
G
DP
4)电路图
AT89C51子电路
按键子电路
晶振子电路
245子电路
显示子电路
总电路
3.程序设计
1)程序流程图
2)汇编程序
ORG0000H
LJMPMAIN
ORG0030H
MAIN:
MOVP1,#00H;
各数码管和灯全灭
MOVP3,#00H
MOVP0,#0FFH
SETBP1.0
READKEY1:
;
按键的开启检测
JNBP1.0,KEYPRO1
AJMPREADKEY1
KEYPRO1:
ACALLDELAY12MS;
延时12ms,防抖
JBP1.0,READKEY1;
判断P1.0是不是1,是1跳回按键检测
KEY1:
再次延时
JNBP1.0,KEY1;
再判断P1.0是不是1,是1向下走,不是1接着判断,直到变回1
再次变回1,说明按键一次,开始
START:
对计数器初始化,设定计数器初值,开计数器
MOV30H,#20;
20次50ms
MOVR6,#00H
MOVR7,#00H
MOVDPTR,#TAB
MOVTMOD,#01H
MOVTH0,#3CH
MOVTL0,#0D4H
MOVIE,#00H
SETBTR0
JTD1:
东西红,南北绿
MOVP1,#00100010B;
东红,北绿
MOVP3,#00100001B;
西红,南绿
MOVR6,#30;
红30s
MOVR7,#25;
绿25s
JTD2:
ACALLDISP;
数码管显示
CJNER7,#00H,JTD2
MOVP1,#01000010B;
东红,北黄
MOVP3,#01000001B;
西红,南黄
JTD3:
南北黄闪,东西红
ACALLDISP
CPLP3.6;
黄灯闪烁
CPLP1.6
CJNER6,#00H,JTD3
MOVP1,#00010100B;
东绿,北红
MOVP3,#00010010B;
西绿,南红
MOVR7,#30;
MOVR6,#25;
JTD4:
东西黄,南北红
CJNER6,#00H,JTD4
MOVP1,#00011000B;
东黄,北红
MOVP3,#00010100B;
西黄,南红
JTD5:
东西黄灯闪烁,南北红灯
CPLP1.3;
CPLP3.2
CJNER7,#00H,JTD5
AJMPJTD1
DISP:
按键的关闭检测及数码管显示1s
READKEY2:
按键的关闭测试
JNBP1.0,KEYPRO2
AJMPDISPLED
KEYPRO2:
ACALLDELAY12MS;
延时12ms
JBP1.0,DISPLED;
判断p1.0是不是1,是1返回原处,接着显示程序
KEY2:
JNBP1.0,KEY2;
判断P1.0是不是1,是1向下走,不是1接着判断,直到变回1
MOVP1,#1;
再次变回1,按键1次,各数码管和灯全灭
MOVP3,#0
AJMPREADKEY1;
跳转到开始的按键检测
DISPLED:
MOVA,R6;
显示东西方向数码管
MOVB,#10
DIVAB
MOVP0,#11101011B;
输出十位
MOVCA,@A+DPTR;
找寻相应的字形
MOVP2,A
ACALLDELAY2MS;
降低动态显示频率,十位与个位显示之间隔2ms
MOVA,B
MOVP0,#11010111B;
输出个位
MOVCA,@A+DPTR
ACALLDELAY2MS
MOVA,R7;
显示南北方向数码管
MOVP0,#01111110B;
MOVP0,#10111101B;
输出个位;
JBCTF0,LOOP;
判断是否计满50ms
AJMPDISP
LOOP:
MOVTH0,#3CH;
计满50ms重新给定时器赋值
MOVA,30H
DECA
MOV30H,A
JNZDISP;
判断是否计满20次50ms,即1s
DECR6;
计满1s,东西倒计时减1,南北倒计时减1
DECR7
重新1s次数,重新计时
RET
DELAY12MS:
按键检测防抖
MOVR2,#30
DELAY12MS1:
MOVR1,#40
DELAY12MS2:
DJNZR1,DELAY12MS2
DJNZR2,DELAY12MS1
DELAY2MS:
MOVR4,#20
DELAY2MS1:
MOVR3,#50
DELAY2MS2:
DJNZR3,DELAY2MS2
DJNZR4,DELAY2MS1
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
第二章仿真
用Proteus7.8进行仿真
1.仿真电路图
2.仿真结果
第三章调试
1.将实验室单片机仿真头装入电路板,接入电源和接地,载入源程序执行,电路板上LED和数码管全亮并常亮,并未出现所要结果。
2.将仿真头换一个方向接入,执行后电路板灯全灭,按下按键,LED和数码管都按照要求显示。
待循环显示2次后,再按下按键,LED全灭,但两数码管有残余显示。
3.在源程序加入清零语句
清LED:
MOVP1,#1
MOVP3,#0
清数码管:
MOVP0,#0FFH
最后执行一次,全部达到要求。
第四章结论
1.单片机P1、P3口控制LED,P0控制字位,P2控制字形,采用内部T0计时器定时,倒计时显示时间。
2.模拟交通灯的LED和数码管,按键开启后,东西方向红灯30s,南北方向绿灯25s、黄灯5s;
东西方向绿灯25s、黄灯5s,南北方向红灯30s,如此循环显示,再次按键,交通灯全
灭。
第五章心得体会与建议
这次单片机课程设计主要体验了画图、编程、调试等过程,对单片机的知识有了更深的掌握。
首先是从电路板绘制电路图的体验,从电路板观察出芯片和接线,绘制出大致的电路图。
经自学Proteus7.8后,绘制仿真电路图,跟电路板上电路基本相同。
接下来就是程序的编写,根据要求画出程序流程图,编写子程序模块,最后连接成完整的无编译错误的程序。
将程序装入Proteus仿真,得到结果。
经过这一过程,基本掌握了Proteus单片机仿真的步骤,又掌握了一种电路设计的手段。
附录:
元器件清单
1.电阻
R1-R3,R5-R7,R9-R11,R13-R15,R251kΩ
R17-R24470Ω
R265kΩ
RN1512Ω
2.电容
C1,C215pF无极性电容
CN1100nF无极性电容
C310μF电解电容
3.芯片
AT89C51
74LS245两片
排阻4片
4.石英振荡器一个16MHz
5.LED红色、绿色、黄色各4个
6.数码管8个
7.按键一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 课程设计 交通灯 控制