- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机基于AT89S52实现交通灯系统实验报告.
西安培华学院
实验报告
课程名称:单片机原理及接口应用技术
实验名称:交通灯管制系统设计与实现
专业:计算机科学与技术 7B0931
姓名: ***
2012-4-10
一、实验目的:
熟练掌握AT89S52单片机的原理及应用,能够按照要求设计出完成一定功能的城市交通灯系统;
熟练应用 Protel 99SE、Keil软件,编写单片机的汇编源程序,画出交通灯系统的原理图,并进行仿真,调试。利用Protel 99SE画出交通灯系统的PCB电路板,学习如何布线;
熟悉一般课程设计的流程,审题——设计原理图——编写程序——仿真,调试——设计PCB板——实物焊接——烧制程序——进一步调试,完善。
二、实验时间及地点:2012年3月 1511教室
三、实验设备:单片机,电脑,电烙铁,恒流电源,示波器,下载线
四、实验内容
1、 系统组成原理:本系统采用单片机AT89S52 为中心器件设计交通灯控制器,显示系统,驱动电路,复位电路,还具有加减时间功能。
2、系统电路设计:
用AT89S52单片机的P1口控制汇编程序下载
通过P2口控制交通灯的计数器即LED显示 ,P1.0 和P1.1作为两个LED的选通信号,进行动态扫描
通过P0口控制共阴极发光二极管的亮灭
用P3口来检测外界按键的状态,利用程序来改变显示的状态。
3、系统程序设计:
功能按键
电路设计:
1、复位电路:。
从单片机的第9脚通过反相器与按键相连,通过对电容的充放电来实现高低电平跳变
CUP响应复位信号并进行内部初始化操作,将ALE和PSEN非两引脚置成高电平。主机在RST有效后的第二个机器周期开始执行内部复位操作,并且在RST变为低电平前的每个机器周期均重复执行内部复位。
2、功能按键:
接一个上拉电阻维持高电平,当按下开关时变成低电平,来实现改变延时时间
以此根据实际情况,适当的控制电路增加(或减少)延时时间,达到缓解交通的目的。
3、LED显示器:通过P1口控制LED显示器显示延时时间
从单片机的p1口 通过74LS07驱动电路来与7断码显示器,p0~p7口,分别控制a~g和dg。通过改变单片机端口的高低电平,来实现数码管的显示
4、红黄绿灯:
通过单片机的P0口,通过编写程序,控制灯的亮灭:1、东西方向红灯亮,南北方向绿灯亮;2、东西方向红灯亮,南北方向黄灯亮;3、东西方向绿灯亮,南北方向红灯亮。P0~p2来控制东西方向;p3~p5口控制南北方向
-----------------------------------------------------------
软件编程设计
-----------------------------------------------------------
源程序:
ORG 0000
AJMP START
ORG 100H
P0 EQU 80H
P1 EQU 90H
P2 EQU 0A0H
START:
MOV P0,#21H
MOV R5,#10
LOP1:
LCALL SHOW ;调用显示子程序
DJNZ R5,LOP1 ;完成状态1的循环
MOV R5,#00H
LCALL SHOW
MOV P0,#11H
MOV R5,#3
LOP2:
LCALL SHOW ;调用显示子程序
DJNZ R5,LOP2 ;完成状态2的循环
MOV R5,#00H
LCALL SHOW
MOV P0,#0CH
MOV R5,#10
LOP3:
LCALL SHOW ;调用显示子程序
DJNZ R5,LOP3 ;完成状态3的循环
MOV R5,#00H
LCALL SHOW ;为了显示0s
MOV P0,#0AH
MOV R5,#3
LOP4:
LCALL SHOW ;调用显示子程序
DJNZ R5,LOP4 ;完成状态4的循环
MOV R5,#00H
LCALL SHOW ;为了显示0s
JMP START
SHOW :
MOV R1,#50
DELAY:
MOV R2,#20 ;设置延时常数
SHOW_1:
MOV A,R5
MOV B,#10
DIV AB ;将计时值的个位和十位分开,商为十位,放在A中,余
文档评论(0)