




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要 熙熙攘攘的街头 人流车水有条不紊地行进着 这靠的就是交通灯的指挥 作用 交通灯的绿 红 黄灯交替工作着 指挥着交通 维持着秩序 在本次课程设计中 采用单片机 AT89S52 为中心器件来设计交通灯 从而模拟 十字路口交通灯的各种状态显示 设计由单片机 AT89S52 LED 八位数码显示管 及若干按键组成 软件上采用 C51 汇编编程实现 主要编写了主程序 数码管 显示程序 键扫程序和延时程序 经模拟 实现了交通灯的基本功能 该模拟 操作简单 设计简单易懂 但由于采用的是纯延时 因此会有一定的误差 但 不影响总体效果 关键词 交通灯 AT89S52 LED 延时 ABSTRACT Streams of people busily coming and going in the street traffic water everything in good order and well arranged to go forward it is relying on the traffic lights command role traffic lights are green red yellow light alternating work directing traffic maintained order During the course design using AT89S52 microcontroller to center device to design and simulate the traffic lights traffic lights at the crossroads of various state display Designed by the MCU AT89S52 LED eight digital display tube and a plurality of keys The software uses C51 programming realization The main preparation of the main program digital tube display program key scanning procedure and time delay procedure by simulation to achieve the basic functions of traffic lights The simulation has the advantages of simple operation simple design and easy to understand but due to the use of the pure time delay so there will be someerrors but does not affect the overall effect Key words traffic lights AT89S52 LED time delay 1设计课题任务 功能要求说明及总体方案介绍 1 1 设计课题任务 设计一个具有特定功能的十字路口交通灯 完成时间显示 自动控制等功 能 1 2 功能要求说明 设计一个具有特定功能的十字路口交通灯 该交通灯上电或按键复位后能 自动显示系统提示符 P 进入准备工作状态 按开始键则开始工作 按结 束键则返回 P 状态 要求甲车道和乙车道两条交叉道路上的车辆交替运行 甲车道为主车道 每次通车时间为 60 秒 乙车道为次车道 每次通车时间为 30 秒 要求黄灯亮 3 秒 并且 1 秒闪烁一次 有应急车辆出现时 红灯全亮 应急车辆通车时间 10 秒 同时禁止其他车辆通过 1 3 设计课题总体方案介绍及工作原理说明 该交通灯主要由单片机 显示数码管 按键构成 设计课题的总体方案如 图 1 1 所示 图 1 1 总体设计框图 程序设计采用汇编语言编写 一共有甲 乙两个车道及一个应急车道通车 其中 S0 为甲车道通车键 S1 到乙车道通车键 S2 为自定义复位键 S3 为应急 车道通车键 利用单片机定时器及计数器产生定时效果 通过编程形成所需交 通灯基本功能效果 再利用数码管动态扫描显示单片机内部处理的数据 同时 通过端口读入当前外部控制状态来改变程序的不同状态 实现不同功能 2 设计课题硬件系统的设计 2 1 设计课题硬件系统各模块功能简要介绍 本设计的硬件系统主要采用以下基本模块来实现 单片机最小系统模块 输入模块 输出模块 电源模块 1 单片机最小系统模块 包括低功耗 高性能 CMOS8 位微控制器 AT89S52 复位电路 晶振电路 本本模块 AT89S52 系统控制核心 单片机系统 复位由复位电路完成 单片机内部有一个高增益 反相放大器 其输入端为芯 片引脚 XTAL1 其输出端位位引脚 XTAL2 通过这两个引脚在芯片外并接石英晶 体振荡器和两只电容 这样就构成一个稳定的自激振荡器 2 输入模块 本模块共用到了 4 个独立式按键 S0 S1 S2 S3 其中 S0 键控制交通灯的甲车道通车状态 S1 键为乙车道通车控制按键 S2 键为复位键 S3 键为应急车道控制按键 它们可以独立实现相应的交通灯功能 3 输出模块 本次设计显示为 2 位 采用一个四位一体数码管 共阳极 作为显示窗口 既可以节约成本又能简化电路 数码管用 8 个 PNP 三极管驱动 4 电源模块 现在市面上销售的编程器有很多都是由 PC 机的 USB 口直接 供电为了降低本设计的成本及节省设计时间 没有另外设计编程器 而直接购 买了市场上的 USB 供电及下载器 2 2 设计课题电路原理图 PCB 图 元器件布局图 电路原理图参见附录 A PCB 顶层图 底层图参见附录 B 元器件布局图参 见附录 C 2 3设计课题元器件清单 参见附录 D 3 设计课题软件系统的设计 3 1 设计课题使用单片机资源的情况 设计课题使用单片机资源的情况如下 P0 口输出数码管段控信号 P2 口输出数码管位控信号 P1 口接按键 P3 口接流水灯 晶振 12MHz 按键 S0 P1 0 使甲车道通车 60s 按键 S1 P1 1 使乙车道通车 30s 按键 S2 P1 2 复位显示 P 按键 S3 P3 2 应急车道通 车 10s 30H 用于显示缓冲区个位 31H 用于显示缓冲区十位 堆栈栈底 70H 3 2 设计课题软件系统各模块功能简要介绍 本设计的软件系统主要采用以下基本模块来实现 主程序 中断服务程序 键盘输入程序模块 数码管及其驱动模块和延时模块 主程序 主要是用于对输入信号的处理 输出信号的控制和对各个功能程 序模块的运用及其控制 外部中断延时程序 主要是用外部中断程序来实现应急车道通车 外部中 断程序里面用到的延时 1s 和正常通车时用到的延时 1s 不是同一个延时程序 因为按键扫描是加在正常通车时的延时 1s 中 这样是为了防止其他按键影响中 断服务的进行 键盘输入程序模块 主要是用于确定按键并得到特定的键码值 数码管及其驱动模块 主要是用于驱动数码管及利用数码管显示时间 延时模块 其中包括延时 1ms 500ms 和 1s 延时程序在显示程序中用到 由于时间比较短 就采用纯延时 3 3 设计课题软件系统程序流程框图 系统软件采用汇编语言按模块化方式进行设计 然后通过 Keil 软件开发平台 将程序转变成十六进制程序语言 接着将编好的程序下载至之前做好的数码管系 统中 来验证和检验程序的正误 其中主程序流程框图如图 1 2 所示 键扫子程 序流程框图如图 1 3 所示 显示子程序流程框图如图 1 4 所示 键功能判断程序 流程框图如图 1 5 所示 开始 数据初始化 显示P 判断是否有键按下 判断是否是S0按下 判断是否是S1按下 判断是否是S2按下 判断是否是S3按下 结束 甲车道通车60秒 乙车道通车30秒 判断S3是否按下 判断S3是否按下 应急车道通车10秒 Y N N Y Y Y Y Y N N N N 图 1 2 主程序流程框图 图 1 3 键扫程序流程框图 图 1 4 显示程序流程框图 图 1 3 键扫子程序流程框图 图 1 4 显示子程序流程框图 开始 键值送往A 调按键扫描子程序 判断键值是否等于01H 判断键值是否等于02H 判断键值是否等于04H 结束 甲车道通车 乙车道通车 复位显示P Y Y Y N N N 图 1 5 键功能判断程序流程框图 3 4 设计课题软件系统程序清单 参见附录 E 4 设计结论及体会 4 1设计课题的设计结论及使用说明 本次课程设计完成了交通灯所要求的基本功能 经测试 也看到了各灯亮 的情况 在设计过程中 遇到了很多困难 但积累了许多宝贵经验 本次设计 中 按键 S0 为甲车道通车键 S1 为乙车道通车键 S2 为自定义复位键 S3 为 应急车道通车键 4 2设计课题的误差分析 该交通灯在运行中存在一定的误差 由于编程时采用的是纯延时 调延时 子程序的时候时间不能保证的很精确 因此会产生一定的误差 同时也存在很 多硬件系统上的问题 如 12MHZ 晶振 虽说频率稳定度很高 但终究还是有误 差的 并且也有外部因素的影响 如温度温度 湿度等干扰 故应该让单片机 工作在适宜的环境下 同时采用实时时钟芯片 这样能将误差降低到最小 4 3 设计体会 本次课程设计 我获益匪浅 学到了许多东西 我发现要将理论与实际结 合起来真的需要很扎实的基础知识 否则你连原理都搞不懂 更别提应用与实 践了 一开始 我不知从何下手 不知怎样编程才能达到所要求得任务 很急 躁 后来通过看书 一步步了解了许多要用到的东西 如如何编显示程序 键 扫程序等 然后通过请教本班的同学 认真搞清了交通灯的原理 然后一步步 摸索着编程 最终完成了这次的课程设计 但纯延时的编程所产生的误差还是 让我有点遗憾 这次编程也让我发现编写子程序可以让整个程序看起来更加简 洁易懂 增加了程序的易读性 回顾此次课程设计 自己付出了很多 同时也收获了很多 虽然过程中我 曾经失败过 但可贵的是我并没有放弃 坚持的过程在考验着我的毅力 这些 都是一笔笔可贵的财富啊 将使我终身受益 结束语 历经波折 终于将课程设计搞完了 经过测试 基本完成了所要求的功能 但同时也发现了自己很多不足的地方 只设计完成了最基本的功能 但这种将 理论应用于世实践的感觉真的很好 致 谢 本次单片机技术课程设计的完成 要感谢的人很多 其中有悉心教导的老 师 有帮助过自己的同学等 很感谢王韧老师的严格要求 严教之下才会更加 认真的去学 将知识归于己用 所以很感谢王老师 同时也感谢指导我编程的 同学 在你们的帮助下我才能完成这次的课程设计 真心感谢 参考文献 1 代启化 基于 Proteus 的电路设计与仿真 J 现代电子技术 2006 第 19 期 Dai QiHua Proteus based circuit design and simulation J Modern electronic technology 2006 No 19 2 刘文秀 单片机应用系统仿真的研究 J 现代电子技术 2005 第 286 期 Liu WenXiu Microcontroller Application System Simulation J Modern electronic technology 2005 No 286 3 曹巧媛 单片机原理及应用 M 北京 电子工业出版社 1997 7 Cao QiaoYuan Microcontroller Theory and Applications M Beijing Electronic Industry Press 1997 7 4 张洪润 兰清华 单片机应用技术教程 M 北京 清华大学出版社 1997 11 Zhang Hongrun Lan Qinghua MCU application technology tutorial M Beijing Tsinghua University Press 1997 11 5 李广第 单片机基础 M 北京航空航天大学出版社 2006 7 Li Guangdi Microcontroller based on M Beijing Aerospace University Press 2006 7 附录 A 附录 B 附录 C 附录 D 表 1 设计所用元器件清单 序号名称 大小数量 1 电阻 200 1 个 2 电阻 470 24 个 3 电阻 1K 3 个 4 电阻 4 7K 1 个 5 电容 22 F1 个 6 电容 33pF2 个 718B20 1 个 8AT89S52 1 个 9 单排插40 个 11 四位一体共阳极数码管2 个 12LED 9 个 13PNP 9 个 14 四脚按钮9 个 15 六脚开关1 个 16 USB 电源接口1 个 17 下载口1 个 18 晶振 12MHz1 个 附录 E 项目名称 交通灯 设 计 者 时 间 2011 年 12 月 30 日 项目功能 设计一个具有特定功能的十字路口交通灯 该交通灯上电或按键 复位后能自动显示系统提示符 P 进入准备工作状态 按开 始键则开始工作 按结束键则返回 P 状态 要求甲车道和乙 车道两条交叉道路上的车辆交替运行 甲车道为主车道 每次通 车时间为 60 秒 乙车道为次车道 每次通车时间为 30 秒 要求 黄灯亮 3 秒 并且 1 秒闪烁一次 有应急车辆出现时 红灯全亮 应急车辆通车时间 10 秒 同时禁止其他车辆通过 建立显示缓冲区 个位 30H 十位 31H ORG 0000H LJMP MAIN ORG 0003H LJMP TTC0 MAIN MOV SP 70H SETB EA SETB EX0 SETB IT0 MOV 30H 17 MOV 31H 16 显示 P SETB P3 0 SETB P3 1 SETB P3 3 SETB P3 4 SETB P3 5 关闭所有灯 MM LCALL OO LJMP MM 判有无按键按下 甲车道通车 60s JJ CLR P3 0 CLR P3 5 甲车道绿灯 乙车道红灯 SETB P3 3 SETB P3 1 SETB P3 4 SETB P3 6 MOV 30H 0 MOV 31H 6 LCALL DELAY MOV R4 05 LOOP1 DEC 31H MOV 30H 9 LCALL DELAY LOOP2 DEC 30H LCALL DELAY MOV A 30H CJNE A 00H LOOP2 LOOP3 DJNZ R4 LOOP1 FF MOV 30H 9 MOV 31H 0 LCALL DELAY DD1 DEC 30H LCALL DELAY MOV A 30H CJNEA 04H DD1 黄灯闪烁 3s SS CLR P3 3 甲车道黄灯亮 CLR P3 5 乙车道红灯亮 SETB P3 0 SETB P3 1 SETB P3 4 SETB P3 6 MOV 30H 3 MOV 31H 0 初始化 3S LCALL DLY 显示 500MS 并延时 SETBP3 3 LCALL DLY 显示 500MS 并延时 LOOP8 DEC 30H CLR P3 3 LCALL DLY 显示 500MS 并延时 SETBP3 3 LCALL DLY 显示 500MS 并延时 MOV A 30H CJNE A 00H LOOP8 乙车道通车 30s JJ1 CLR P3 4 CLR P3 1 SETB P3 0 SETB P3 3 SETB P3 5 SETB P3 6 MOV 30H 0 MOV 31H 3 LCALL DELAY MOV R3 02 LOOP0 DEC 31H MOV 30H 9 LCALL DELAY LP1 DEC 30H LCALL DELAY MOV A 30H CJNE A 00H LP1 LP2 DJNZ R3 LOOP0 FF1 MOV 30H 9 MOV 31H 0 LCALL DELAY DQ DEC 30H LCALL DELAY MOV A 30H CJNE A 04H DQ 黄灯闪烁 3s SS1 CLR P3 6 乙车道黄灯亮 CLR P3 1 甲车道红灯亮 SETB P3 0 SETB P3 5 SETB P3 3 SETB P3 4 MOV 30H 3 MOV 31H 0 初始化 3S LCALL DLY 显示 500MS 并延时 SETBP3 6 LCALL DLY 显示 500MS 并延时 LP8 DEC 30H CLR P3 6 LCALL DLY 显示 500MS 并延时 SETBP3 6 LCALL DLY 显示 500MS 并延时 MOVA 30H CJNE A 00H LP8 LJMP JJ 500ms 延时 DLY MOV A R0 PUSH ACC MOV R0 125 LL LCALL DIR LCALL OO DJNZ R0 LL MOV R0 A POP ACC RET 延时 1s 显示 DELAY MOV A R0 PUSH ACC MOV R0 250 LOO11 LCALL DIR LCALL OO DJNZ R0 LOO11 MOV R0 A POP ACC RET 显示程序 DIR PUSH DPH PUSH DPL PUSH ACC MOV DPTR TAB MOV P2 11111110B 选中个位数码 管 MOVA 30H MOVC A A DPTR MOV P0 A 送个位数 LCALL DL 延时 1ms MOV P0 0FFH MOV P2 11111101B 选中十位数码 管 MOV A 31H MOVC A A DPTR MOV P0 A LCALL DL MOV P0 0FFH POP ACC POP DPL POP DPH RET 延时 1ms DL MOV R7 01H DL1 MOV R6 8EH DL0 MOV R5 02H DJNZ R5 DJNZ R6 DL0 DJNZ R7 DL1 RET 应急车道 10s TTC0 PUSH PSW PUSH ACC PUSH B MOV B P3 MOV 35H 30H MOV 36H 31H CLR P3 1 CLR P3 5 亮两个红灯 SETB P3 4 SETB P3 0 SETB P3 3 SETB P3 6 关闭其他灯 MOV 30H 0 MOV 31H 1 初始化 10 秒 LCALL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年育婴员(五级)复审考试及考试题库及答案参考1
- 2025年杭州成考大学试卷及答案
- 2025年G2电站锅炉司炉操作证考试题及答案
- 糖坯制造工节假日后复工安全考核试卷含答案
- 汽车理论基础知识考试题
- 电力系统升级改造施工安全协议
- 2025年航空航天行业私人飞行交通工具前景研究报告
- 2025年健康管理行业数字化健康管理市场前景研究报告
- 2025年智能健康管理系统市场前景研究报告
- 智能化畜牧养殖环境监测系统创新创业项目商业计划书
- 2024版2025秋贵州黔教版综合实践活动五年级上册全册教案教学设计
- 转作风重实干课件
- 村干部饮水安全培训总结课件
- 安全生产治本攻坚三年行动半年工作总结
- 单招备考科学方案
- 医美咨询培训课件
- 海船船员适任 评估规范(2024)轮机专业
- DB50-T 1463.2-2023 牛羊布鲁氏菌病防控技术规范 第2部分:人员防护
- NoSQL数据库应用与实践 课件 第1-6章 认识NoSQL - 增删改查
- 20世纪宋史研究:主要趋势、热点领域与未来展望
- 2025年度餐饮店知识产权保护与合伙人合同
评论
0/150
提交评论