ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:479.85KB ,
资源ID:18840413      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18840413.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于proteus智能交通灯的设计与实现Word格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于proteus智能交通灯的设计与实现Word格式文档下载.docx

1、系统还可以加上红外线接收器,相应地,紧急车辆(如消防车、救护车等)上应当装置红外线放射器。这样,在离交通信号灯远处,紧急车辆就可以开红外线放射器使交通信号灯全部显示红灯,避免因交通问题导致不必要的人命伤亡和金钱损失。另外系统还可以加一个点阵式LED中文显示屏,用以显示温度、天气情况、空气指数等,方便司机对外界情况的了解。第一章 交通灯的设计思路1.1系统模拟交通灯的控制要求假设十字路口为东西南北走向,初始状态0东西南北都是红灯,然后转状态1东西绿灯通车25s,南北红灯,过25s转状态2东西绿灯闪3s转黄灯亮2s,南北仍亮红灯。过后转状态3南北绿灯通车25s,东西红灯,过25s转状态4南北绿灯闪

2、3s转黄灯亮2s,东西仍亮红灯。依次循环执行下去。1.2 设计方案目前设计交通灯的方案有很多,有应用CPLD实现交通信号灯控制器的设计,有应用PLC实现对交通灯控制系统的设计。由于AT89S51单片机自单带有2计数器,6个中断源,能满足系统的设计要求。用单片机设计不但设计简单,而且成本低,用其设计的交通灯也满足了要求,所以本文采用单片机设计交通灯,系统构图如(图1-1)所示:图1-1系统构图1.3 设计思路用6只发光二极管模拟交通信号灯,以单片机的P2口控制东西南北灯的走向;口线输出高电平则“信号灯”亮,口线输出低电平则“信号灯”熄,各口线控制功能及相应的控制码如(表1-1)所示:P2.1P2

3、.2P2.3P2.4P2.5P2.6东西绿灯东西黄 灯东西 红 灯南北 绿 灯南北 黄 灯南 北 红 灯1表1-1控制码表控制码所对应的流程图如(图1-2)所示图1-2流程图第二章 单片机主控电路和中断系统2.1主控电路及管脚说明2.1.1 主控电路单片机主控电路一般采用的主要元件是AT89C51,但在实际应用中我们主要采用AT89S51,AT89S51相对于AT89C51增加的新功能包括:- 新增加很多功能,性能有了较大提升,价格基本不变,甚至比89C51更低。- ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。- 最高工作频

4、率为33MHz,而89C51的极限工作频率是24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。- 具有双工UART串行通道。- 内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。- 双数据指示器。- 电源关闭标识。- 全新的加密算法,这使得对于89S51的解密变为不可能,程序的XX性大大加强,这样就可以有效的保护知识产权不被侵犯。- 兼容性方面:向下完全兼容51全部字系列产品。比如8051、89C51等早期MCS-51兼容产品。也就是说所有教科书、网络教程上的程序(不论教科书上采用的单片机是8051还是89C51还是MCS-51等等),在89S51上一样可以

5、照常运行,这就是所谓的向下兼容。AT89S51的外形及单片机最小系统如(图2-1)所示:图2-1AT89S51外形及最小系统AT89S51 是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51是一个低功耗高性能单片机,

6、40个引脚,8k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),5个中断优先级2层中断嵌套中断,看门狗(WDT)电路,片内时钟振荡器。32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89S51可以按照常规方法进行编程,也可以在线编程。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDI

7、P、TQFP和PLCC等三种封装形式,以适应不同产品的需求。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。2.1.2管脚说明VCC(40):供电电压,引入单片机的工作电源。(本设计中隐藏)GND(20):接地。P0口(32-39)双向输入/出口,如果系统接有外部存储器则P0口作为数据总线和低8位的地址总线,通过分时操作达到服用的目的。CPU对外部存储器操作时先作地址总线,在ALE信号的下降沿,将地址锁存,然后转为数据总线。P1口(1-8)准双向输入/出口,准双向是指该口内部有上拉电阻,能驱动4个LS/TTF负载。P2口(21-28)准双

8、向输入/出口,能驱动4个LS/TTF负载。如果系统接有外部存储器,则CPU访问外部存储器时改口成为高8位地输出线。P3口(10-17)准双向输入/出口,能驱动4个LS/TTF负载。P3口每一引脚都有两种功能,其第二功能如下: P3.0 RXD, 串行口接收端。 P3.1 TXD,串行口发送端。 P3.2 ,外部中断请求0的输入端。 P3.3 P3.4 T0, 定时/计数器0的外部计数信号输入端。 P3.5 T1, 定时/计数器1的外部计数信号输入端。 P3.6 , 外部数据存储器写选通信号。 P3.7 ,外部数据存储器读选通信号。 P3口同时为闪烁编程和编程校验接收一些控制信号。RST: 复位

9、输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。此引脚也可作为备用电源输入端,当Vcc失电期间,由Vpd向片内RAM提供电源,以保护其中内容。ALE/ (30)用于输出允许地址锁存信号。8051单片机可寻址64KB,应有16条地址线,其中低8位的地址线与数据线共用P0口,在发出低8位的地址信号时ALE有效,用它控制外部锁存器锁存地址低8位,发出数据时,ALE无效,P0输出数据。正常操作时又因能按主振频率1/6的固定频率,从ALE端发出正脉冲信号。所以有时可以加以利用,但应注意,每次访问外部数据存储器时会少输出一个ALE脉冲。这个引脚另一功能是在EPROM编程时,作为编程脉冲输

10、入。(29)用于输出外部程序存储器选通信号。在对外部程序存储器取指操作时非PSEN置有效(低电平);在执行对片内程序存储器取指操作时,非PSEN为无效(高电平)。对外部取指时,每个机器周期有效两次。/Vpp(31)用于输入从外部程序存储器取指或从内部程序存储器取指的选择信号。当接高电平时低4KB指令在片内读取,接低电平时则所有指令均在片外读取。XTAL1 ( 18 ) 外接晶体的一个引脚,若采用外部时钟信号,此引脚接地。XTAL2(19)外接晶体的另一个引脚,若采用外部时钟信号,此引脚接外部振荡器。2.2MCS-51的中断源引起终端的原因,或者能发出中断申请的来源,称为中断源。中断可以认为设定

11、,也可以是为响应突发性随机事件而设置,通常有I/O设备,实时控制系统中的随机参数和信息故障源等,8051有5个中断源,它们是两个外中断INT0(P3.2)和INT1(P3.3)、两个片内定时/计数器溢出中断TF0和TF1,一个是片内串行口中断TI或RI,这几个中断源由TCON和SCON两个特殊功能寄存器进行控制。其中5个中断源的程序入口地址如(表2-1)所示:中断源的服务程序入口地址中断源入口地址外中断00003H定时/计数器0000BH外中断10013H定时/计数器1001BH串行口中断0023H(表2-1) 中断源程序入口地址2.3中断处理流程CPU响应中断请求后,就立即转入执行中断服务程

12、序。它们的一般处理流程如图(2-2)所述:图2-2 中断一般处理流程但对于不同的中断源、不同的中断要求可能有不同的中断处理方法,具体如图(2-3)所述: 图2-3 具体的中断处理流程()现场保护和现场恢复:中断是在执行其它任务的过程中转去执行临时的任务,为了在执行完中断服务程序后,回头执行原先的程序时,知道程序原来在何处打断的,各有关寄存器的内容如何,就必须在转入执行中断服务程序前,将这些内容和状态进行备份即保护现场。我们举个例子,在看书时,玲响需传去接时,必须在书本上做个记号,以便在接完后回来看书时,知道从哪些内容继续往下看。计算机的中断处理方法也如此,中断开始前需将有关寄存器的内容压入堆栈

13、进行保存,以便在恢复原来程序时使用。中断服务程序完成后,继续执行原先的程序,就需把保存的现场内容从堆栈中弹出,恢复积存器和存储单元的原有内容,这就是现场恢复。如果在执行中断服务时不是按上述方法进行现场保护和恢复现场,就会是程序运行紊乱,程序跑飞,自然使单片机不能正常工作。()中断打开和中断关闭:在中断处理进行过程中,可能又有新的中断请求到来,这里规定,现场保护和现场恢复的操作是不允许打扰的,否则保护和恢复的过程就可能使数据出错,为此在进行现场保护和现场恢复的过程中,必须关闭总中断,屏蔽其它所有的中断,待这个操作完成后再打开总中断,以便实现中断嵌套。()中断服务程序:中断服务程序从中断入口地址执

14、行,到返回指令RETI为止,一般包括两部分内容:一是保护现场;二是完成中断源请求的任务。既然有中断产生,就必然有其具体的需执行的任务,中断服务程序就是执行中断处理的具体内容,一般以子程序的形式出现,所有的中断都要转去执行中断服务程序,进行中断服务。()中断返回:中断返回通常是指中断服务完成后,计算机返回原来断开的位置(即断点),继续执行原来的程序,中断返回由中断返回指令RETI来实现,这条指令的功能是指断点地址从堆栈中弹出,送回到程序计时器PC,此外,还通知中断系统已完成中断处理,并同时消除优先级状态触发器。2.4 交通灯的中断处理流程有特殊车辆要通过时就要进行中断,在中断之前,先将交通灯中断

15、前情况保护好,当中断执行后再恢复现场,包括信号灯和时间显示电路。为了使特殊车辆通行按一下打开中断开关就可以打开中断,关闭中断开关就关闭中断。如有中断产生,就必然有其具体的需执行的任务,中断服务程序就是执行中断处理的具体内容:即如果有特殊车辆需要经过时,南北东西均亮红灯,让特殊车辆通过。()中断返回:执行完中断服务程序后,必然要返回,中断返回就是被程序运行从中断服务程序转回到原工作程序上来。在MCS-51单片机中,中断返回是通过一条专门的指令实现的,自然这条指令是中断服务程序的最后一条指令。2.5 交通灯的硬件设计原理图交通灯的硬件设计原理图如(图2-4)所示:图2-4 原理图2.6交通灯的软件

16、设计流程图及部分程序根据智能交通灯的设计要求与原理我们设计的交通灯的软件设计流程图如(图2-5)所示:设T0的工作方式为工作方式1,T0的定时初值为50ms,设东西南北各路口的时间显示初值为25s。但东西南北时间警告时设定的东西南北计时初值为5s,绿灯闪烁3s,黄灯闪烁2s。图2-5程序设计流程图部分程序如下:LOOP: MOV R2,#20 ;置1s计数初值,50ms*20=1sMOV R3,#20 ;红灯亮20s MOV SECOND1,#25 ;东西路口计时显示初值25s MOV SECOND2,#25 ;南北路口计时显示初值25sLCALL DISPLAYLCALL STATE1 ;调

17、用状态1WAIT1: JNB TF0,WAIT1 ;查询50ms到否CLR TF0 MOV TH0,#3CH ;恢复T0定时初值50msMOV TL0,#0B0HDJNZ R2,WAIT1 ;判断1s到否?未到继续状态1MOV R2,#20 ;置50ms计数初值 DEC SECOND1 ;东西路口显示时间减1sDEC SECOND2 ;南北路口显示时间减1sDJNZ R3,WAIT1 ;状态1维持20s子程序如下:DISPLAY: ;数码显示MOV A,SECOND1 ;东西路口计时寄存器MOV B,#10 ;16进制数拆成两个10进制数DIV ABMOV DBUF+3,AMOV A,BMOV

18、 DBUF+2,AMOV A,SECOND2 ;南北路口计时寄存器MOV DBUF+1,AMOV DBUF,AMOV R0,#DBUFMOV R1,#TEMPMOV R7,#4STATE1: ;状态1SETB LED_G1 ;东西路口绿灯亮CLR LED_Y1CLR LED_R1CLR LED_G2CLR LED_Y2SETB LED_R2 ;南北路口红灯亮RET第三章基于PROTEUS的电路设计和仿真3.1 PROTEUS软件简介PROTEUS嵌入式系统仿真与开发平台是由英国公司开发的EDA工具软件,是目前世界上最先进最完整的嵌入式系统设计和仿真平台,Proteus软件有十多年的历史,在全球

19、广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,Proteus为我们建立了完备的电子设计开发环境。真正实现了在没有目标原形时就可对系统进行调试,测试和验证,PROTEUS软件大大提高了企业的开发效率,降低了开发风险。3.2 PROTEUS软件的强大功能Proteus组合了高级

20、原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。此系统受益于15年来的持续开发,被电子世界在其对PCB设计系统的比较文章中评为最好产品“The Route to PCB CAD”。Proteus 产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。其功能模块:个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真; ARES PCB设计.PROSPICE 仿真器的一个扩展PROTEUS V

21、SM:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LED甚至LCD显示CPU模型. (1)支持许多通用的微控制器,如PIC,AVR,HC11以及8051.(2)交互的装置模型包括:LED和LCD显示,RS232终端,通用键盘,(3)强大的调试工具,包括寄存器和存储器,断点和单步模式(4)IAR C-SPY 和Keil uVision2等开发工具的源层调试(5)应用特殊模型的DLL界面-提供有关元件库的全部文件 Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其

22、它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。所以说PROTUES是一种十分优秀的软件。3.3 用PROTEUS绘制电路图运行PROTEUS VSM 的ISIS 后出现如(图3-1) 所示的界面, 点状的栅格区域为绘图区。左侧的上方为电路图概览区, 下方是元器件列表区。单击P后出现(图3-2) 所示的Pick Device添加元器件的对话框, 输入所要添加的器件名称, 则该器件就会出现在右侧, 单击OK 按钮,

23、 完成一个元器件的添加。重复以上过程, 添加好电路中所需的元器件。绘图区图3-1运行PROTEUS VSM 的ISIS 后出现的界面图3-2添加元器件的对话框在元器件列表区选中某元器件后, 在电路图概览区会出现该元器件, 用鼠标将其拖至绘图区, 将所有需要的元器件在绘图区放置好, 即可开始连线。连线方法很简单, 将鼠标移至元器件引脚后会出现一个小十字, 单击鼠标左键后移动鼠标, 将线引至某一引脚处会再次出现小十字, 再次单击左键就完成了一条连线。在布线时, 如果需要转弯,可以在转弯处单击鼠标左键。此处以89S51 构成的交通灯为例, (图3-3)是绘制完成的电路图。图3-3绘制完成的电路图3.

24、4 PROTEUS和KEIL编译器的结合使用Proteus在设计时已经注意到和单片机各种编译程序的整合了,如它可以和Keil ,Wave6000等编译模拟软件结合使用。由于Keil使用方便,具备强大的软件仿真和硬件仿真功能。把Proteus和Keil结合起来调试硬件就方便多了,本设计就是采用“Proteus+Keil”的仿真方法,具体步骤如下:(1) 首先运行PROTEUS VSM 的ISIS,选择SourceDefine Code Generation Tool 菜单项,将出现如(图3-4)所示定义代码生成工具对话框。图3-4定义代码生成工具对话框在Tool下拉列表框中选择代码生成工具,在这

25、一示例中,电路中的微处理器为8051系列单片机,因此选择ASEM51, 单击Browse按钮,选取Keil的安装路径。单击OK按钮,结束代码生成工具的定义。选择SourceAdd/Remove Source File 菜单项,将出现Add/Remove Source Code Files对话框,如(图3-5)所示:图3-5 添加/删除源文件对话框在Code Generation Tool 选项区,单击下三角按钮,选择ASEM51工具。(2)单击New按钮,将出现如(图3-6)所示对话框。图3-6创建源代码对话框选择用Keil创建好的AA.ASM文件,即完成了文件的创建。就这样当用Keil对AA

26、.ASM 文件进行更改时每一次运行PROTEUS VSM 的ISIS对电路进行仿真时Keil都会对AA.ASM进行编译,AA.HEX文件也会随时更新。3.5 PROTEUS对单片机的仿真电路图绘制完成后, 再添加AT89S51 的应用程序。将鼠标移至AT89S51 上, 单击鼠标右键使之处于选中状态, 在该器件上单击左键, 打开如(图3-7) 所示的对话框。在 Program File 栏添加编译好的十六进制格式的程序文件AA.hex(可以接受3 种格式的文件) ,给AT89S51输入晶振频率,此处默认为8MHZ, 单击OK 按钮完成程序添加工作, 下面就可以进行系统仿真了。单击主界面下方的按

27、钮开始系统仿真。PROTEUS VSM 所进行的是一种交互式仿真, 在仿真进行中可以对各控制按钮、开关等进行操作, 系统对输入的响应会被真实的反映出来。仿真结果如(图3-8、3-9、3-10、3-11)所示。在本设计中, 开始仿真后,开关,按钮通过鼠标单击来改变状态,所改变状态的状态会在LED和数码管显示出来。 图3-7 为AT89S51添加程序图3-8东西绿灯南北红灯图3-9 东西黄灯警告图3-10 东西红灯南北绿灯图3-11 南北黄灯警告以上是一个完整的交通灯仿真结果。图(3-8)是东西绿灯南北红灯,显示时间是25s,若25s未到则继续执行,若25s时间到则转至图(3-9)东西黄灯警告黄灯亮2s;若2s时间到就继续循环执行转至图(3-10)东西红灯南北绿灯,同样执行25s,若25s未到则继续执行,若25s时间到则转至图(3-11)南北黄灯警告黄灯亮2s。程序则一直如此循环执

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1