




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 1 交通灯的设计目的及方案介绍1设计课题的目的通过单片机的课程设计, 加深和巩固单片机知识, 提高综合及灵活运用 所学的知识来解决日常生活及工业控制的能力, 提高针对知识的需要, 选择和查 阅其他资料书籍、灵活运用其中知识及自学能力,提高组成系统、编程、制版、 调试的全方面能力,通过对课题设计方案的分析、选择、比较,熟悉单片机运用 于系统开发、研制的过程,软硬件设计的方法、内容及步骤。培养发现问题、分 析问题和解决问题的能力以及创新能力和创新思维的提高。1.2 设计要求及说明设计一个具有特定功能的十字路口交通灯。 该交通灯上电或按键复位后 能自动显示系统提示符“ P. ”, 进入准备工作状态
2、。按开始键则开始工作,按 结束键则返回“ P. ”状态。要求甲车道和乙车道两条交叉道路上的车辆交替运 行,甲车道为主车道,每次通车时间为 60 秒,乙车道为次车道,每次通车时间 为 30 秒,要求黄灯亮 3 秒,并且 1 秒闪烁一次。有应急车辆出现时,红灯全亮, 应急车辆通车时间 10 秒,同时禁止其他车辆通过。1.3 方案介绍及工作原理1.3.1 方案介绍系统整体框图如图 1.1 所示:1.3.2 工作原理该系统采用的是使用现有单片机最小的硬件电路和 P3 口控制交通灯, P2 口 控制数码管各位,P0 口控制数码管各段,P1.0、P1.1 口线控制数码管各位和P1.2 口接收紧急信号电路集
3、合而成, 构成交通灯的总体电路, 即交通灯。 通过对单片 机编写对应的程序 , 控制各个部分,达到预期的效果。2 交通灯的硬件设计及 PCB 图2.1 交通灯原理图电路原理图如附录一,电路原理图由各功能模块组成。2.2 交通灯各模块功能2.2.1 单片机最小系统电路单片机最小系统由CPU复位电路,振荡电路三部分构成,CPU采用的是 Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全 兼容的AT89S52芯片。AT89S52具有以下标准功能: 8k字节Flash,256字节 RAM,32位I/O 口线,看门狗定时器,2个数据指针,三个16位 定时器/计 数器,一个6向
4、量2级中断结构,全双工串行口,片内晶振及时钟电路。另外, AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模 式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉 电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8位微控制器 8K字节在系统可编程FlashAT89S52 。复位电路用于产生复位信号,通过RST引脚送入单片机,进行复位操作。而 复位电路又可以分为上电复位,按键电平复位和按键脉冲复位这三种,在这次设计中,选用的是按键电平复位电路。其功能为:上电的同时,RC回路开始充电,RST引脚端出现正脉
5、冲,只要 RST段保持10ms以上的高电平,就能够使单片机 有效的复位。振荡电路是从AT89S52的XTAL1和 XTAL2接入时钟信号的。由外接晶振及电 容C1, C2所构成的并联谐振电路接在放大器的反馈回路中。在设计电路板时为 减小干扰,晶振和电容应该尽可能的与单片机近些,以减少寄生电容,更好的保证振荡器稳定可靠。其功能为:产生振荡脉冲,为单片机运行提供时序。上拉电阻是为了拉高电压,增强IO 口的驱动能力。2.2.2显示电路设计单片机应用系统最常用的显示器是 LED(发光二极管显示器)、LED(液晶显 示器)。这两种显示器可显示数字、字符及系统的状态。它们的驱动电路简单、 易于实现且价格低
6、廉,因此,得到了广泛应用。本次设计要显示数字倒计时,用 数码管动态显示。将LED显示器各位数码管的所有段控端相应地并联在一起,由P0的8个口线控制,形成段选线多路复用,而各位数码管的共阳极分别由P2 口的其中四个口线控制,实现各位的分时选通。共阳极数码管字形代码表如表2.1所示。表2.1共阳极数码管字形代码表字型共阳代码字型共阳代码0C0H682H1F9H7F8H2A4H880H3B0H990H499HP.0CH592H灭FFH223数码管驱动电路设计本设计采用的数码管驱动是采用 PNP三极管驱动,有效增强数码管显示的亮 度。当给P2 口线与三极管的发射极相连,用于连接数码管位控与三极管的集电
7、 极相连,三极管的基极通过电阻与地相连,当给P2高电平的同时,输出高电平信号控制数码管的显示位显示。2.2.4紧急按键电路设计紧急信号为低电平,通过设计紧急按键电路与P1.2 口相连接,紧急信号通过P1.2输入单片机内部,当紧急事件过去后,单片机回到原来的地方继续工作。 2.2.5程序下载口电路设计ATME公司的89S5XX提供了支持ISP(在线下载程序)并口下载功能,它只需 一块八位锁存器就可以实现了 ,原理如下:MOSI:数据串行输出(S52P1.5脚),MISO:串行数据输入(S52 P1.6脚),SCK:同步控制时钟(S51 P1.7脚),RST 接单片机复位脚,当有足够的高电平使S5
8、1处于复位状态,它就会开启读写程序 功能。2.2.6电源电路设计因为本次设计所需电源的模块有单片机最小系统, 数码管显示器,二极管交 通灯,它们所需电源都为+5V,因而电源设计只需设计一个+5V电源。为了供电 方便,我们直接在插孔处引一根数据线用 USB接 口供电。2.2.7交通灯元器件清单交通灯元件清单如表2.2。表2.2交通灯元件清单元件名称元件个数元件特性AT89S521电阻254.7K Q31K Q1200 Q电容233pF极性电容r 1 :22 口 FLED数码管24位一体共阳晶振112M发光二极管4红色4绿色按键9四角开关1六角USB电源接口12.3 PCB设计图我们可以根据设计电
9、路原理图,以购买的元器件的尺寸、引脚,仔细封装各 个元器件,如果不能在库里找到的我们自己根据实际需要,自己创建封装。2.3.1元器件布局图交通灯元器件布局图如附录二所示2.3.2PCB 图根据电路原理图,将每个元器件放置在适当的位子,按照PCBB线的原则,以正确,美观,认真将各个元器件连接起来。PCB图如附录三所示。3交通灯的软件设计3.1单片机资源分配由电路原理图可知,单片机 AT89S52的资源分配如下:第9脚RST接复位电路和下载口复位端;第18脚XTAL1第19脚XTAL2接振荡电路;P0 口用于数码管显示器的段控控制;P1 口接数码管的位控控制P3 口接LED灯3.2软件系统各模块功
10、能3.2.1 显示P.模块该模块的功能是在单片机上电或者复位后,在数码管上显示“P. ”,此时系统处于等待工作状态。在按下开始按钮后,跳出此模块,进入正常的工作状态。3.2.2亮灯模块该模块的功能是控制交通灯的亮与灭,在程序中,先控制主路的绿灯亮57S, 再黄灯闪烁3秒,即每秒亮半秒灭半秒,同时支路上的红灯亮60S;再控制支路上的绿灯亮27S,再黄灯闪烁3秒,即每秒亮半秒灭半秒,同时主路上的红灯亮 30S。正常情况下,随着主程序循环。当紧急按钮按下后,控制两个路口的红灯 同时亮十秒,待紧急时间过去,主动跳出。3.2.3显示模块该模块的功能是主路和支路上的时间显示。 当系统开始运行时, 同时在主
11、路 和支路上显示60S的倒计时,待60S过后,同时在主路和支路上显示 30S的倒计 时,正常情况下,随着主程序循环。当按下紧急按钮之后,同时在主路和支路上 显示 10S 的倒计时,之后主动跳出。紧急按钮模块该模块的功能是在出现紧急情况下, 按下紧急按钮, 送入单片机信号, 系统 进入紧急状态,在数码管显示10S倒计时,同时主路和支路的红灯都亮。待 10S 过后,自动跳出。延时模块该模块的功能是为其他各模块提供延时。 不论是数码管显示的延时, 红绿灯 亮的延时,黄灯的闪烁, 都需要此模块来提供延时。 采用延时子程序, 延时 50ms。 3.3 程序流程框图交通灯程序流程框图如图 3.1 所示。图
12、3.1程序流程框图Y中断结束3.4交通灯程序清单交通灯程序清单如附录四所示4交通灯设计仿真4.1仿真原理图仿真是我们检测我们的硬件设计和软件与硬件的结合好坏的重要方法,也能为我们做实物提供保障。我们采用Kiel结合Proteus仿真,仿真电路原理图如附录五所示。图4.1“P. ”显示(2)当按开始按钮时,数码显示管和交通灯均开始正常工作。如图4.2所示图4.2正常工作显示(3)当紧急按钮按下时,数码显示管和交通灯均按照计划工作。如图4.3所示ABCDEFG DF 12I I I I I I I I II图4.3紧急情况下显示5 设计体会及出现的问题5.1 设计体会 通过这次对交通灯的设计, 我
13、们更加认识了单片机, 更加熟悉了对单片机的 应用。在这次设计的过程中, 从电路原理图的设计, 就透彻的理解了单片机最小系 统的构成及其工作原理。 从数码管的选择中, 懂得了可以采用不同的元器件, 只 要我们运用相应的程序, 就能达到同样的效果。 从三极管的应用中, 发现了理论 跟实践存在的巨大差别。 只有实践才能检验所学的理论, 才能发自己对理论认识 的误区和盲点。在软件的设计过程中, 收获更大。 通过此次设计程序, 透彻的明白了每一个 指令的应用方法和功能, 很好的统一复习了单片机的指令系统。 也正是在运用中 也发现了自己对部分指令的错误认识和误区, 在改正错误中获得了收获。 在实验 的基础
14、上, 再一次对 keil 软件进行了一次全面的运用, 更加熟悉了 keil 软件的 各项功能。在做实物的过程中, 很好的锻炼了自己的动手能力, 同时也提高了自己发现 问题,解决问题的能力。当最终看到自己的成果握在手中时, 有一种非常美妙的成就感, 也激发了自 己的学习兴趣。增强了自信,培养了自己的各个方面的能力。5.2 设计中出现的问题 在本次试验中,由于理论和实践经验缺乏,出现了很多问题。首先是先到倒 计时的问题, 我设计了 1 秒钟的子程序, 然后再按键功能 1 中调用它, 同时在最 后 3 秒钟闪烁灯, 后来发现这样根本不能实现灯闪烁一秒, 而是两秒, 针对这个 问题,我就将 1 秒钟的
15、子程序改为 0.5 秒,然后再程序里面两次调用它。 其次出 现了按了一个键实现了功能不能跳往另外一个键功能程序, 我就想到了要分别在 键功能程序里面再调用子程序, 这个问题就解决了。 最后在应急的时候我只想到 了在应急里面循环, 在老师的提点下, 我想到了应急之后应该恢复原来的交通秩 序,这个就要牵扯到现场的保护和恢复, 于是我马上联想到刚学完不久的中断知 识,首先我想用外部中断,但是发现外部中断的两根口线已经被 LED灯占用,然 后我就想到要用定时器中断,编好以后,发现又有新的问题出现了。 。6 鸣谢附录一原理图 附录二 程序清单 附录三仿真电路图 附录四PCB图附录二 *J*;设计者: X
16、X;设计日期: 2010年 12月 24 日 *J*;堆栈栈底 :7FH *J*;LED 数码管设置:;P0.0P0.7 接段控线,分别接 a,b,c,d,e,f,g,dp.;P2.0P2.7 接位控线,分别接(从右至左) LED1LED8 ;显示缓冲区: LED1LED8 分别对应 78H7FH *J*;独立式键盘:;八个按键 S0S7 分别接 P1.0P1.7 *J*;LED 流水灯设置:;八个 LED 灯 LED1LED8 分别接 P3.0P3.7 *J*;项目名称:交通灯;KEYA (S0 键键功能程序 );KEYB (S1 键键功能程序 );KEYC (S2 键键功能程序 ) *J*
17、;常数表格 ;KKK( 系统显示四位序号表 );TAB( 共阳数码管字型代码表 ) *J*; 子程序 ;DELAY (延时 10ms 子程序);DL (延时2ms子程序);KEY( 键扫描子程序 );LOOP0(P1.0 口数据处理子程序 );LOOP1(P1.1 口数据处理子程序 );LOOP2(P1.2 口数据处理子程序 ) ;DISP (数码管显示子程序) ;KK0(0.5 秒显示处理程序 ) *J*; 起始程序区:ORG 0000HLJMP MAINORG 0030HMAIN:MOVSP,#7FH;堆栈初始化MOVR0,#20H;对 RAM 区清零MOVR2,#96QL:MOVR0,#
18、00HINCR0DJNZR2,QLMOVP2,#7FH;送位控MOVP0,#0CH;送段控显示 P.* J监控程序*程序初始化*KEY: LCALLKEYK;监控程序JB20H.0,LOOP0JB20H.1,LOOP11JB20H.2,LOOP22LJMPKEYLOOP11: LJMPLOOP1LOOP22: LJMPLOOP2* J键功台匕能程序*LOOP0:MOVR3,#60;甲通道显示初值 60 秒MOVR5,#57;乙通道显示初值 57 秒MM0:MOVP3,#33H;显示交通灯,甲通道绿,乙通道红LCALLKK0;调显示程序LCL0:LCALLKK0JNBP1.0,LCL0;判按键
19、0 是否按下JNBP1.1,LOOP1;判按键 1 是否按下JNBP1.2,LL0;判按键 2 是否按下LJMPLK0LL0:LCALLLOOP2LK0:DECR5DECR3CJNER5,#00H,MM0M1:MOVR3,#03;等于 3 时显示乙通道黄灯处理MOVR5,#03MM1:MOVP3,#33HLCL1:LCALLKK0JNBP1.1,LOOP1JNBP1.2,LL1JNBP1.0,LCL1MOVP3,#077HLCALLKK0LJMPLK1LL1:LCALLLOOP2LK1:DECR3DECR5CJNER3,#00H,MM1M2:MOVR3,#30;乙通道亮绿灯,甲通道亮红灯MOV
20、R5,#27MM2:MOVP3,#0CCH;点亮交通灯LCALLKK0LCL2:LCALLKK0JNBP1.0,LCL2JNBP1.1,LOOP1JNBP1.2,LL2LJMPLK2LL2:LCALLLOOP2LK2:DECR3DECR5CJNER5,#05H,MM2M3:MOVR3,#03MOVR5,#03MM3:MOVP3,#0CCH;等于三秒时甲通道黄灯处理LCL3:LCALLKK0JNBP1.0,LCL3JNBP1.1,LOOP1JNBP1.2,LL3LJMPLK3LL3:LCALLLOOP2LK3:MOVP3,#0DDHLCALLDECDECCJNEKK0R3R5R3,#00H, M
21、M3;等于三秒时乙通道黄灯处理LJMPLOOP0;没有按键按下则在此程序循环LOOP1:MOVP3,#0FFH;按键 1 按下处理程序LCALLFUWEIJNBP1.0,KEY0JNBP1.2,LOOP2LJMPLOOP1;没有按键按下则在此程序循环LOOP2:MOV24H,R3;按键 2 按下处理程序MOV25H,R5;将原寄存器内容保存MOVR3,#10MOVR5,#10MOVR7,#00HMOVP3,#55HMM5:LCALLKK0LCALLKK0JNBP1.1,LOOP1DECR3DECR5CJNER3,#00H, MM5MOVR3,24H;返回时将原寄存器内容还原MOVR5,25H;保护现场RET;紧急十秒处理后返回KEY0:LJMPLOOP0KEY1:LJMPKEY*显示子程序DISP: PUSHDPHPUSHDPLPUSHACCPUSHPSWCLRRS0SETBRS1MOVR1,#78HMOVR5,#08HMOVR2,#0FEHDISP1: MOVA,R1MOVDPTR,#TAB*;保护 DPTR 内容MOVCA,MOVP0,MOVP2,LCALLDLMOVA,RLAMOVR2,INCR1DJ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅行合同范本
- 施工合同内容的修订与公告
- 人力资源专员录用合同
- 喷洒除草剂安全协议书(2篇)
- 中医护理八项操作
- 2025年统编版小学道德与法治三年级下册《大家的“朋友”》说课课件
- 不动产审核责任协议
- 中专汽车钣金课件
- 健身俱乐部保证金合同
- 汽车漆面修复及保养协议
- 2025年食安食品考试题及答案
- 2025年租赁料场协议
- 2025年北森题库测试题及答案
- 2025年必考保安证试题及答案
- 新式茶饮创业趋势
- 中国大唐集团有限公司陆上风电工程标杆造价指标(2023年)
- 2025年江苏经贸职业技术学院单招职业技能考试题库带答案
- 2024年晋中职业技术学院单招职业技能测试题库附答案
- 保证食品安全的规章制度清单
- 江苏省建筑与装饰工程计价定额(2014)电子表格版
- 2024年大唐杯5G必考试题库 (带答案)
评论
0/150
提交评论