单片机交通灯课程实验报告.docx

上传人:1564****418 文档编号:96668408 上传时间:2024-02-25 格式:DOCX 页数:30 大小:240.68KB
返回 下载 相关 举报
单片机交通灯课程实验报告.docx_第1页
第1页 / 共30页
单片机交通灯课程实验报告.docx_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《单片机交通灯课程实验报告.docx》由会员分享,可在线阅读,更多相关《单片机交通灯课程实验报告.docx(30页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、课程设计任务书学生姓名: 王凯 专业班级: 电子科学与技术 0901 班指导教师: 吴友宇 工作单位: 信息工程学院 题 目 : 交通信号灯掌握器的设计 初始条件:本设计既可以使用集成集成译码器、计数器、定时器、脉冲发生器和必要的门电路等。 本设计也可以使用单片机系统构建交通信号灯掌握器。用数码管显示时间计数值 ,用红、黄、绿 LED 作信号灯。要求完成的主要任务 : 包括课程设计工作量及其技术要求 , 以及说明书撰写等具体要求1 、课程设计工作量: 1 周。2 、技术要求: 要求甲车道和乙车道两条穿插道路上的车辆交替运行以红绿灯指示,每次通行 时间设为 030 秒可预置; 变更车道以前 ,黄

2、灯先亮 5 秒钟 ,黄灯亮时 ,要求每 秒钟闪亮一次; 两个车道均以减计数方式显示时间 。其余局部可依据状况自行发挥。 确定设计方案 ,按功能模块的划分选择元 、器件和集成电路 ,设计分电路 , 阐述 根本原理。绘制总体电路原理图。3 、查阅至少 5 篇参考文献 。按武汉理工大学课程设计工作标准要求撰写设计报告书。 全文用 A4 纸打印 , 图纸应符合绘图标准。时间安排:1 、2023 年 7 月 3 日集中,作课设具体实施打算与课程设计报告格式的要求说明。2 、 2023 年 7 月 3 日 ,查阅相关资料 ,学习电路的工作原理。2 、 2023 年 7 月 4 日 至 2023 年 7 月

3、 5 日 ,方案选择和电路设计。2 、 2023 年 7 月 6 日 至 2023 年 7 月 7 日 , 电路调试和设计说明书撰写。3 、 2023 年 7 月 8 日上交课程设计成果及报告 , 同时进展辩论。指导教师签名:年月日系主任或责任教师签名:年月日系主任或责任教师签名:年月日目 录摘 要 6交 通 信 号 灯 控 制 器 的 设 计 71 任 务 要 求 与 设 计 71. 1 设计目的 71.2 设计任务和内容 71.2. 1 设计任务 71.2.2 设计内容 72 总 体 方 案 比 较 82. 1 方案论证 82.2 方案选择 93 总 体 硬 件 电 路 设 计 及 核 心

4、 器 件 介 绍 103. 1 总体设计 104 单 元 电 路 模 块 设 计 114. 1 复位电路 、 晶振电路 114.2 LED 数码管显示电路 114.3 仿真原理图 125 软 件 编 程 设 计 135. 1 设计思想 135.2 程序框图 错误! 未定义书签。6 心 得 体 会 14参 考 文 献 15附 录 1 原 件 清 单 16附 录 3 总 电 路 图 17附 录 3 源 程 序 17摘 要交通在人们的日常生活中占有重要的地位 , 随着人们社会活动的日益频繁, 这点更是表达的淋漓尽致。交通信号灯的消灭,使交通得以有效管制,对于疏导 交通流量 、提高道路通行力量 ,削减

5、交通事故有明显效果 。本系统承受单片机 AT89C51 为中心器件来设计交通灯掌握器,系统有用性强、操作简洁、扩展性强。本设计就是承受单片机模拟十字路口交通灯的状态显示以及倒计时。本设计系统由单片机 I/O 口扩展系统、交通灯状态显示系统、LED 数码显示 系统、复位电路等几大局部组成。系统除根本的交通灯功能外,还具有倒计时功能 ,较好的模拟实现了十字路口可能消灭的状况。软件上承受汇编语言编程 ,主要编写了主程序,LED 数码管显示程序 。经过整机调试 , 实现了对十字路口交通灯的模拟。关键词: 交通灯 单片机 C 语言交通信号灯掌握器的设计1 任务要求与设计1.1 设计目的1加强对单片机和

6、C 语言的生疏 ,充分把握和理解设计各局部的工作原理、设计过程、选择芯片器件、模块化编程等多项学问。2用单片机模拟实现具体应用 ,使个人设计能够真正使用。3把理论学问与实践相结合 ,充分发挥个人力量 , 并在实践中熬炼。4提高利用已学学问分析和解决问题的力量。5提高实践动手力量。1.2 设计任务和内容1.2.1 设计任务要求甲车道和乙车道两条穿插道路上的车辆交替运行以红绿灯指 示,每次通行时间设为 0 30 秒可预置; 变更车道以前 ,黄灯先亮 5 秒钟 ,黄灯亮时 ,要求每秒钟闪亮一次; 两个车道均以减计数方式显示时间 。其余局部可依据状况自行发挥。确定设计方案 ,按功能模块的划分选择元 、

7、器件和集成电路 , 设计分电路 , 阐述根本原理。绘制总体电路原理图。1.2.2 设计内容1填写设计任务书。2进展总体设计 , 画出原理图。3编写并调试程序。4用 Proteus 软件进展仿真。2 总体方案比较为了实现上述功能 ,有两种选择 ,其一是承受纯硬件设置 ,可以使用集成集成 译码器、计数器、定时器、脉冲发生器和必要的门电路设计技术延时显示电路 , 只 需要手动按键 , 电路自行实现功能 。另一选择就是通过编程使用单片机系统 ,利用软件硬件结合。2.1 方案论证方案一: 如图 2- 1 承受集成集成译码器、计数器、定时器、脉冲发生器以及 所需要的门电路,首先周期为一秒的脉冲发生器产生脉

8、冲沿使计数器进展一秒钟 计数 ,计数通过译码器将计数值送给数码管显示作为交通灯的倒计时显示 ,倒计 时为零时产生计数脉冲转变 LED 灯的亮与灭 ,规律开关包括总开关、复位开关和预置数功能。规律开关按键数码管显示脉冲发生器计数器译码器计数脉冲 LED 灯显示图 2- 1 方案一原理框图方案二:如图 2-2 此方案主要以单片机为核心,承受 C 语言编程实现交通灯效 果 。此方式为软硬件结合 ,硬件包括单片机最小系统 , 复位电路 ,数码管显示模块和 LED 灯模块 。软件设计时包括四种状态转换 , 中断延时程序 。系统框图如图。AT89C51单片机LED 数码管显示 晶振电路 复位电路图 2-2

9、 方案二原理图2.2 方案选择第一 中方案使用纯硬件电路比较简洁理解也也不需要软件设计 ,但是硬件焊接 电路较简单 ,而且需要比较准确的脉冲信号源 ,对硬件电路要求较高 ,其次种方案 硬件电路很简洁也几乎不需要电阻电容的组织选择,而且只需要+5V 直接稳压电源, 承受程序实现数码管与 LED 灯显示功能,所以综合难易程度也可实现性,选择其次种方案。3 总体硬件电路设计及核心器件介绍3.1 总体设计整个设计以 AT89C51 单片机为核心 ,LED 数码管显示 , 晶振电路 , 复位电路组成。硬件模块入图 3- 1。数码管显示单片机LED 灯显示稳压电源复位电路晶振电路74LS04图 3- 1

10、硬件原理图4 单元电路模块设计4.1 复位电路、晶振电路复位电路、晶振电路总体电路图如图 4-1图 4-1 复位电路、晶振电路4.2 LED 数码管显示电路在单片机应用系统中,数码管显示常用两种方法:静态显示和动态扫描显示。 所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的 I/O 接口用于 笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用 管它了,直到要显示的数据时,再发送的字形码, 因此,使用这种方法单片 机中 CPU 的开销小 ,可以供给单独锁存的 I/O 接口电路很多,动态扫描电路软件设计较为简单 , 由于 89C52 的可供使用 I/O 口足够多所以承

11、受静态扫描。此处使用 74LS04 是由于数码管位选段选直接与单片机 I/O 口相连 ,但是单 片机 I/O 口输出电流很小,可能缺乏以带动数码管位选,则会导致数码管显示不够亮 ,此处使用的非门作为驱动 ,增加输出电流。电路图如图 4-2图 4-2 LED 数码管显示电路4.3 仿真原理图如图 4-3 数码管 LED 灯初始化显示倒计时为三十秒当数码管倒计时到 22 秒时 ,此时状态是南北路红灯亮而东西路绿灯亮。图 4-3 仿真原理图5 软件编程设计5.1 设计思想及程序框图软件编程是实现交通信号灯显示的灵魂 , 由于设计要求 LED 灯循环显示, 并且倒计数时间可以030s预置数 。程序可以

12、分为按键模块 ,LED 灯循环显示模块 ,数码管计数模块。如图 5-1 所示依据分析可以将交通灯依据其显示状况可以分为四个状态,可 以通过中断定时来掌握每个状态的时间 ,程序总思路是 首先设计一秒钟的中断 模块,在一秒到来时,数码管计数显示减一,当倒计时到五秒时状态转换到黄灯 亮另一路口连续红灯亮,倒计时到零 ,从显示预置数值 ,状态装换到一路口 红灯灭,另一路口路灯亮,然后连续倒计时五秒,装换状态,完成这四个状态构成一个完整的程序循环预置时间开 始总开关初始化南北绿灯亮 , 东西红灯亮 ,延时南北黄灯闪耀,东西红灯亮,延时南北红灯亮 , 东西绿灯亮 ,延时南北红灯亮,东西黄灯闪耀,延时图 5

13、-1 程序框图6 心得体会心得体会今年是其次次做课程设计 ,上次做的很匆忙 ,可想而知结果也很 糟糕 , 总结了上次的阅历与教训 , 这次预备的比较早 , 虽然遇到了很 多的困难与问题 ,但是在自己的自学和同学的帮助之下 , 圆满的完成任务 。本设计承受的是软硬件结合的方案 ,所以对软件编程和硬件焊接 排 布 都 有 一 定 的 要 求 ,而 且 这 也 是 我 第 一 次 自 己 写 C 语 言 程 序 ,刚 开 始思路很僵硬也不知道机械语言的那种很强的规律性 ,最终通过多看程序 , 多思考和改进最终实现软件功能 。虽然硬件电路比较简洁 ,但是首先要有比较好的布局 ,这关系到 美观和走线的便

14、利 ,再一个就是电路的排查方面 ,第一次焊出来的电路总是或多或少有一些接触不良的问题这就需要细心与急躁的排查 。总体觉得这次的课程设计对自己自学力量动手力量是一个很大的考验和检查 。参考文献1 叶挺拔.应用电子学.杭州: 浙江大学出版社 , 19942 朱承高. 电工及电子技术手册.北京: 高等教育出版社 , 19903 周润景.PEOTEUS 在 MCS-51&ARM7 系统中的应用百例.北京:电子工业出版社, 20234 李朝青.单片机原理及接口技术第三版.北京:北京航空航天大学出版社, 20235刘艳萍,高振斌,李志军EDA 有用技术及应用北京:国防工业出版社,2023.附录 1 原件清

15、单序号 名称 数量 型号1 万用板 2 块2 单片机 1 个 STC89C513 40 引脚插座 1 个4 非门芯片 1 个 74LS045 2 位数码管 2 个 LG5621BH6 LED 灯 7 个7 按键 4 个8 自锁开关 1 个9 排针 40 个10 USB 接口 1 个11 瓷片电容 1 个 10412 电解电容 1 个13 杜邦线 20 根14 0 欧电阻 10 个15 200 欧电阻 7 个16 14 引脚插座 1 个附录 2 总电路图附录 3 源程序#include#define uchar unsigned char#define uint unsigned intsbit

16、 kai=P22;sbit jia=P24;sbit jian=P23;sbit shiwen=P30;sbit gewen=P31;sbit LED_BLUE1=P32;sbit LED_RED1=P33;sbit LED_YELLOW1=P34;sbit LED_BLUE2=P25;sbit LED_RED2=P27;sbit LED_YELLOW2=P26;bit wen=1,guan;uchar TIME,i,z;char TIME_MAX1=30;/*uchar code table=0x30,0xf3,0x98,0x91,0x53,0x15,0x14,0xb3,0x10,0x11;

17、 */uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;ucharwenxuan=0,1 ;shuzi=0,0;void delayms(ucharz)ucharx,y;for(x=0;xfor(y=0;y110;y+);void re_display(ucharz)shuzi0=z/2/10;shuzi1=z/2%10;void displayP0=0xff;shiwen=wenxuanwen;gewen= !wenxuanwen;P0=tableshuziwen;void set_zhuangtai(uch

18、ar zhuangtai)if(zhuangtai=0)LED_BLUE1=0;LED_RED1=1;LED_YELLOW1=1;LED_BLUE2=1;LED_RED2=0;LED_YELLOW2=1;TIME=2*TIME_MAX1+1;elseif(zhuangtai=1)LED_BLUE1=1;LED_RED1=1;LED_YELLOW1= !LED_YELLOW1;LED_BLUE2=1;LED_RED2=0;LED_YELLOW2=1;elseif(zhuangtai=2)LED_BLUE1=1;LED_RED1=0;LED_YELLOW1=1;LED_BLUE2=0;LED_RE

19、D2=1;LED_YELLOW2=1;TIME=2*TIME_MAX1+1;elseif(zhuangtai=3)LED_BLUE1=1;LED_RED1=0;LED_YELLOW1=1;LED_BLUE2=1;LED_RED2=1;LED_YELLOW2= !LED_YELLOW2;void keywhile(!kai)delayms(10);if(!kai)guan=guan;set_zhuangtai(z);while(!kai);void tiaoif(jian=0)delayms(10);if(jian=0)if(-TIME_MAX130) TIME_MAX1=0;while(!jia);z=0;if(TIME_MAX15)if(1-TIME&TIME12)set_zhuangtai(z+1);if(TIME2)set_zhuangtai(z=2-z);elseif(-TIME2)set_zhuangtai(z=4-z);TIME=2*TIME_MAX1+1;else set_zhuangtai(z);re_display(TIME);void TIME1 interrupt 3TH1=(65532-2023)/256;TL1=(65536-2023)%256;display;wen=wen;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com