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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

控制电路.docx

1、控制电路十字路路口交通灯控制电路的设计1.设计任务设计并制作一个十字路口的交通灯控制电路(用红、绿、黄发光二极管模拟显示灯),同时用数码管显示禁止和通行时间。2.电路工作原理利用AT89S51单片机电路设计并制作。3.设计要求3.1、绿灯亮表示允许通行,时间设定为25S;红灯亮表示禁止通行,时间设定为25S黄灯亮表示警告,并要求后5S中,绿灯闪2S,黄灯亮3S。3.2、时间显示为倒计时,三个指示灯的交替显示要准确。4.方案论证和总体设计4.1 提出方案:实现此设计可有三种常用的方法。4.1.1 用传统的数字电路设计并制作。 数字电路制作交通灯的制作流程图为:图4-1数字电路交通灯设计流程图电路

2、电路图如图4-2所示:图4-2 数字电路控制交通灯电路图图中所示,选用JK触发器,设状态编码为:S0=00S1=01S2=11 S3=10,其输出为Q1 Q0倒计时显示采用七段数码管作为显示,它由计数器驱动并显示计数器的输出值。计数器选用集成电路74190进行设计。74190是十进制同步可逆计数器,它具有异步并行置数功能、保持功能。74190没有专用的清零输入端,但可以借助QA、QB、QC、QD的输出数据间接实现清零功能。现选用两个74190芯片级联成一个从可任意设定时间0099倒计至00的计数器,其中作为个位数的74190芯片的CLK接秒脉冲发生器(频率为1),再把个位数74190芯片输出端

3、的QA、QD用一个与门连起来,再接在十位数74190芯片的CLK端。当个位数减到0时,再减1就会变成9, 0(0000)和9(1001)之间的QA、QD同时由0变为1,把QA、QD与起来接在十位数的CLK端,此时会给十位数74190芯片一个脉冲数字减1,相当于借位。整个交通灯控制系统需要有4个时间显示器,28个交通灯。我在这里共接了6个时间显示器,其中4个用于交通倒计时,另外2个用于显示当前置数 4.1.2 选择MAX7000S系列的EPM7128SLC84-7芯片设计制作。电路划分为控制器和受控电路两部分。在本系统中,设定系统的工作情况如下。路口交通灯控制系统的东西路有交通灯R(红)、Y(黄

4、)、G(绿);东西人行安全通道灯:RXR(红)、RXG(绿)。南北路有交通灯:r1(红)、y1(黄)、g1(绿);南北人行安全通道灯:rxr1(红)、rxg1(绿),所有灯均为高电平点亮。设置15s的通行时间和5s转换时间的变模定时电路,由预置输入整数cnt决定是模15还是模5,输入逻辑cx是用来决定计数到4时清零还是到14时清零。Clk是外部提供的基准秒脉冲信号。x0、x1、x2、x3是由控制器输出的表示计数时间的四位二进制数。图4-3是该系统控制器的符号框图。 图4-3 控制器的ASM图根据系统设计要求,得到控制器的ASM图,如图2所示。在这里,所有输入信号均为高电平有效。该ASM图反映了

5、交通灯系统的不同状态的转换过程及持续时间。 图4-4 控制器的VHDL程序设计根据所分析的系统的ASM图,结合系统的设计要求,用VHDL语言对各个模块进行编程,最后形成顶层文件,在MAX+PLUS环境下进行编译与仿真,检查所编程序是否运行正确。如果出现错误,需要进行修改,直到完全通过为止。需要说明的是,在进行程序编译时,要先从底层程序开始,所有底层程序都正确后,才能开始顶层程序的编译。这是因为顶层程序是对底层程序的概括,它是把底层程序各个模块连接起来,就相当于把每个模块的功能汇聚到一起,实现整个系统的控制功能,所以底层程序的正确与否,关系到顶层程序的运行结果。 在控制器的程序设计中,在定义结构

6、体时,有两种程序设计方法均可以通过编译及仿真,但在进行时序分析时结果却不同。(1)如果这样定义:.ARCHITECTURE con1_arc of con1 ISSIGNAL current_state:state;BEGIN.在进行程序调试时,均通过了编译及仿真,但在进行时序分析中,却出现了不按设定的计数顺序工作的结果:14, 13, 2,1, 0.。经过反复修改调试,对程序进行了修改,如(2)所定义的。(2)ARCHITECYTURE con1_arc OF con1 ISSIGNAL current_state:state;SIGNAL TEMP_STATE:state;.TEMP ST

7、ATE=current_state;BEGIN.在这种设计方法中,多定义了一个信号变量,从而使得程序能按设定的状态14,13,12.进行转换。通过这个实例,可以看出EDA技术作为电子设计工具的功能修改及调试的方便快捷,即不需要硬件电路的支持就可以找到问题所在并进行修改,体现了它的优越性。硬件电路实现根据交通灯系统的控制要求,图4-5所示为本系统的硬件电路图。该电路包含了1个CPLD芯片,2个七段LED数码显示器,20个分别表示各个方向上的红、黄、绿灯,以及相应的限流电阻。这个电路与其他控制方法相比,所用器件可以说是比较简单经济的。经过实验,实现了预定的交通灯系统的控制功能。 图4-5 系统的硬

8、件电路图4.1.2利用AT89S51单片机电路设计并制作。单片机采用ATM 公司的AT89S51,这类芯片容易购买,用起来也很方便。显示部分分为两部分,一部分就是数码管实现倒计时显示,一部分就是三种不同颜色的发光二极管模拟红、绿、黄交通灯。数码管采用四个一位的七段数码管。电路用串口方式显示,这种方式可以节省单片机的接口,实现的程序也比较容易。电路采用74LS164来实现串口对并口的转换,这种芯片价格便宜,容易买到。电路图如图4-6所示:图4-6利用AT89S51单片机电路设计并制作的电路图4.2 方案比较:如上所述,采用传统的数字电路设计并制作方案。电路复杂,设计复杂,设计思维能力要求较高,调

9、试起来也有一定的难度。加上电路需要的硬件多,成本高。所以不采用这种方案。采用MAX7000S系列的EPM7128SLC84-7芯片设计制作方案。电路硬件比较少,但是采用的芯片比较贵,并且软件的设计难度比较大,对软件的设计要借助一定的工具。而这实现这种逻辑编程的工具很贵。所以也不宜采用这种方案。利用AT89S51单片机电路设计并制作。这种方案硬件少,基本上硬件是设计没有什么难度,都是常用的接法。软件实现难度不高。并且单片机电路也是常用的电路,芯片容易买到,价格又相对便宜。所以我们决定采用这种方案。5.单元电路设计电路设计总体上可以分为软件的设计和硬件设计两个部分。而硬件设计部分主要由三个部分组成

10、:单片机最小系统、串口转并口显示电路、模拟红、绿、黄三色灯部分电路。 而软件部分,主要有定时计数模块、七段数码管的输出显示模块和红、绿、黄三色灯的控制模块。下面将各部分的设计分析如下,包括有关电路图和电路原理的分析。 51单片机最小系统。 单片机采用ATM 公司的AT89S51,组面的电路包括,复位电路、晶振电路,和51单片机芯片。电路图如图5-1所示。图5-1 单片机最小系统图中所示,电路,晶振采用11。0592M,提供电路工作时序。复位电路是上电时使单片机芯片的I/O口置高电平。接法和其它元器件的参数如图5-1所示。 52串口转并口显示电路数码管采用四个一位的七段数码管。电路用串口方式显示

11、,这种方式可以节省单片机的接口,实现的程序也比较容易。电路采用74LS164来实现串口对并口的转换。其引脚和内部结构图如图5-2、图5-3所示:图5-2 74LS164引脚图图5-3 74LS164内部结构图74LS164的真值表如图表5-4所示H高电平 L低电平 X任意电平 低到高电平跳变 QA0,QB0,QH0 规定的稳态条件建立前的电平 QAn,QGn 时钟最近的前的电平串口转并口显示电路总体电路图如图5-5所示图5-5 串口转并口显示电路53模拟红、绿、黄三色灯部分电路 此部分电路由红绿黄三色发光二极管和一个非门集成芯片74LS05组成。其中非门集成芯片74LS05的引脚和内部结构图如

12、图5-6所示:图5-6 74LS05的引脚和内部结构图模拟红、绿、黄三色灯部分电路的总体电路图如图5-7所示:图5-7 模拟红、绿、黄三色灯部分电路图硬件部分的总体电路图如图5-8所示: 54软件部分软件部分,主要有定时计数模块、七段数码管的输出显示模块和红、绿、黄三色灯的控制模块。其程序如下所示:SECOND1 EQU 30H ;东西路口计时寄存器SECOND2 EQU 31H ;南北路口计时寄存器 DBUF EQU 40H ;显示码缓冲区1TEMP EQU 44H ;显示码缓冲区2LED_R1 BIT P2.1 ;东西路口红灯LED_G1 BIT P2.2 ;东西路口绿灯LED_Y1 BI

13、T P2.3 ;东西路口黄灯LED_Y2 BIT P2.4 ;南北路口黄灯LED_G2 BIT P2.5 ;南北路口绿灯LED_R2 BIT P2.6 ;南北路口红灯 ORG 0000H LJMP START ORG 0100HSTART: MOV TMOD,#01H ;置T0为工作方式1 MOV TH0,#3CH ;置T0定时初值50ms MOV TL0,#0B0H CLR TF0 SETB TR0 ;启动T0 CLR A MOV P2,A ;关闭不相关的LED;*LOOP: MOV R2,#20 ;置1s计数初值,50ms*20=1s MOV R3,#20 ;红灯亮20s MOV SECO

14、ND1,#25 ;东西路口计时显示初值25s MOV SECOND2,#25 ;南北路口计时显示初值25s LCALL DISPLAY LCALL STATE1 ;调用状态1WAIT1: JNB TF0,WAIT1 ;查询50ms到否 CLR TF0 MOV TH0,#3CH ;恢复T0定时初值50ms MOV TL0,#0B0H DJNZ R2,WAIT1 ;判断1s到否?未到继续状态1 MOV R2,#20 ;置50ms计数初值 DEC SECOND1 ;东西路口显示时间减1s DEC SECOND2 ;南北路口显示时间减1s LCALL DISPLAY DJNZ R3,WAIT1 ;状态

15、1维持20s;* MOV R2,#5 ;置50ms计数初值 5*4=20 MOV R3,#3 ;绿灯闪3s MOV R4,#4 ;闪烁间隔200ms MOV SECOND1,#5 ;东西路口计时显示初值5s MOV SECOND2,#5 ;南北路口计时显示初值5s LCALL DISPLAYWAIT2: LCALL STATE2 ;调用状态2 JNB TF0,WAIT2 ;查询50ms到否 CLR TF0 MOV TH0,#3CH ;恢复T0定时初值50ms MOV TL0,#0B0H DJNZ R4,WAIT2 ;判断200ms到否?未到继续状态2 CPL LED_G1 ;东西绿灯闪 MOV

16、 R4,#4 ;闪烁间隔200ms DJNZ R2,WAIT2 ;判1s到否?未到继续状态2 MOV R2,#5 ;置50ms计数初值 DEC SECOND1 ;东西路口显示时间减1s DEC SECOND2 ;南北路口显示时间减1s LCALL DISPLAY DJNZ R3,WAIT2 ;状态2维持3s;* MOV R2,#20 ;置50ms计数初值 MOV R3,#2 ;黄灯闪2s MOV SECOND1,#2 ;东西路口计时显示初值2s MOV SECOND2,#2 ;南北路口计时显示初值2s LCALL DISPLAYWAIT3: LCALL STATE3 ;调用状态3 JNB TF

17、0,WAIT3 ;查询100ms到否 CLR TF0 MOV TH0,#3CH ;恢复T0定时初值100ms MOV TL0,#0B0H DJNZ R2,WAIT3 ;判断1s到否?未到继续状态3 MOV R2,#20 ;置100ms计数初值 DEC SECOND1 ;东西路口显示时间减1s DEC SECOND2 ;南北路口显示时间减1s LCALL DISPLAY DJNZ R3,WAIT3 ;状态3维持2s;* MOV R2,#20 ;置50ms计数初值 MOV R3,#20 ;红灯闪20s MOV SECOND1,#25 ;东西路口计时显示初值25s MOV SECOND2,#25 ;

18、南北路口计时显示初值25s LCALL DISPLAYWAIT4: LCALL STATE4 ;调用状态4 JNB TF0,WAIT4 ;查询100ms到否 CLR TF0 MOV TH0,#3CH ;恢复T0定时初值100ms MOV TL0,#0B0H DJNZ R2,WAIT4 ;判断1s到否?未到继续状态4 MOV R2,#20 ;置100ms计数初值 DEC SECOND1 ;东西路口显示时间减1s DEC SECOND2 ;南北路口显示时间减1s LCALL DISPLAY DJNZ R3,WAIT4 ;状态4维持20s;* MOV R2,#5 ;置50ms计数初值 MOV R4,

19、#4 ;红灯闪20ms MOV R3,#3 ;绿灯闪3s MOV SECOND1,#5 ;东西路口计时显示初值5s MOV SECOND2,#5 ;南北路口计时显示初值5s LCALL DISPLAYWAIT5: LCALL STATE5 ;调用状态5 JNB TF0,WAIT5 ;查询100ms到否 CLR TF0 MOV TH0,#3CH ;恢复T0定时初值100ms MOV TL0,#0B0H DJNZ R4,WAIT5 ;判断200ms到否?未到继续状态5 CPL LED_G2 ;南北绿灯闪 MOV R4,#4 ;闪烁200ms DJNZ R2,WAIT5 ;判断1s到否?未到继续状态

20、5 MOV R2,#5 ;置100ms计数初值 DEC SECOND1 ;东西路口显示时间减1s DEC SECOND2 ;南北路口显示时间减1s LCALL DISPLAY DJNZ R3,WAIT5 ;状态5维持3s;* MOV R2,#20 ;置50ms计数初值 MOV R3,#2 ;红灯闪2s MOV SECOND1,#2 ;东西路口计时显示初值2s MOV SECOND2,#2 ;南北路口计时显示初值2s LCALL DISPLAY WAIT6: LCALL STATE6 ;调用状态6 JNB TF0,WAIT6 ;查询100ms到否 CLR TF0 MOV TH0,#3CH ;恢复

21、T0定时初值100ms MOV TL0,#0B0H DJNZ R2,WAIT6 ;判断1s到否?未到继续状态6 MOV R2,#20 ;置100ms计数初值 DEC SECOND1 ;东西路口显示时间减1s DEC SECOND2 ;南北路口显示时间减1s LCALL DISPLAY DJNZ R3,WAIT6 ;状态6维持2s LJMP LOOP ;大循环;*STATE1: ;状态1 SETB LED_G1 ;东西路口绿灯亮 CLR LED_Y1 CLR LED_R1 CLR LED_G2 CLR LED_Y2 SETB LED_R2 ;南北路口红灯亮 RETSTATE2: ;状态2 CLR

22、 LED_Y1 CLR LED_R1 CLR LED_G2 CLR LED_Y2 SETB LED_R2 ;南北路口红灯亮 RETSTATE3: ;状态3 CLR LED_G1 CLR LED_R1 CLR LED_G2 CLR LED_Y2 SETB LED_R2 ;南北路口红灯亮 SETB LED_Y1 ;东西路口绿灯亮 RETSTATE4: ;状态4 CLR LED_G1 CLR LED_Y1 SETB LED_R1 ;东西路口红灯亮 SETB LED_G2 ;南北路口绿灯亮 CLR LED_Y2 CLR LED_R2 RETSTATE5: ;状态5 CLR LED_G1 CLR LED

23、_Y1 SETB LED_R1 ;东西路口红灯亮 CLR LED_Y2 CLR LED_R2 RETSTATE6: ;状态6 CLR LED_G1 CLR LED_Y1 SETB LED_R1 ;东西路口红灯亮 CLR LED_G2 CLR LED_R2 SETB LED_Y2 ;南北路口红灯亮 RETDISPLAY: ;数码显示 MOV A,SECOND1 ;东西路口计时寄存器 MOV B,#10 ;16进制数拆成两个10进制数 DIV AB MOV DBUF+3,A MOV A,B MOV DBUF+2,A MOV A,SECOND2 ;南北路口计时寄存器 MOV B,#10 ;16进制数

24、拆成两个10进制数 DIV AB MOV DBUF+1,A MOV A,B MOV DBUF,A MOV R0,#DBUF MOV R1,#TEMP MOV R7,#4DP10: MOV DPTR,#LEDMAP MOV A,R0 MOVC A,A+DPTR MOV R1,A INC R0 INC R1 DJNZ R7,DP10 MOV R0,#TEMP MOV R1,#4DP12: MOV R7,#8 MOV A,R0DP13: RLC A MOV P3.0,C CLR P3.1 SETB P3.1 DJNZ R7,DP13 INC R0 DJNZ R1,DP12 RETLEDMAP: DB

25、 3FH,06H,5BH,4FH,66H,6DH ;0,1,2,3,4,5 DB 7DH,07H,7FH,6FH,77H,7CH ;6,7,8,9,A,B DB 58H,5EH,7BH,71H,0,40H ;C,D,E,F, ,- END6.电路仿真调试我们采用Protues对电路进行了仿真调试,并且采用Keil c对程序进行了调试。仿真电路图如图6-1 、图6-2所示:图6-1仿真电路图1 图6-2仿真电路图27.心得体会EDA课程设计,给我最大感想就是:从设计,到仿真调试,再到电路的焊接,最后成品的制成,每一个步骤都可能存在很多难点,.出现很多的问题。这要求我们首先要有信心和耐心,还得细心

26、,其次要有正确的学习态度,最后你得有扎实的理论基础和一定的动手能力。要明白不管看上去多么简单的电路,实际做起来还是很难的,为了不走太多的弯路,一开始就要有认真对待的准备。作品的选题和设计过程中,我们选取了一道我们有把握,知识点我们觉得可以掌握的题,这样做起来才能够实现理论和实践的接合,从中学到更多的知识。在设计过种中我们分难点分步进行设计,首先在心中要有一个模块,然后在把想法拿到仿真软件里去一一验证。这一步是很重要的,也是实实在在学习的关健所在。这其中我们碰到的难题就是,实验参数的设计。要达到课程的数据要求,必需进行了大量的仿真调试和大量查阅相关的芯片参数。这其中要求你要有一定的数电模电的基础知识。这其中另一个关键之处就是组员的合作,要把问题摆出来充分讨论共同去查阅解决。做到这点,才能事半功倍。我们这组一个人理论知识很好,一个人动手能力很好的人,这样设计起来才能很好的把理论和实践之间的不同点接合起来,少走了不少的弯路。

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

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