单片机电子课程设计交通灯文档.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机电子课程设计交通灯文档

基于单片机交通灯控制器设计 一、任务要求 1)通过数字电路的设计,在面包板上模拟交通红绿灯。要求分主干道和支干道,每条道上安装红(主:R,支:r)绿(主:G,支:g)黄(主:Y,支:y)三种颜色灯,由四种状态自动循环构成(Gr?Yr?Rg?Ry); 2)在交通灯处在不同的状态时,设计一计时器以倒计时方式显示计时,并要求不同状态历时分别为:Gr:30秒,Rg:20秒,Yr,Ry:5秒。 二、总体方案 主控部分 主控部分 秒脉冲发生器 交通灯 倒计时控制部分 数码管显示 反馈 控制 三、单元电路设计 1)主控电路 在设计要求中要实现四种状态的自动转换,首先要把这四种状态以数字的形态表示出来。因2^2=4,所以可以两位二进制数表示所需状态(00—Gr, 01—Yr, 10—Rg, 11—Ry),循环状态:(00—01—10—11—00) 数字电路课程中介绍的计数器就是通过有限几个不同状态之间的循环实现不同模值计数,由此可以尝试设计一模值为4的计数器,其输出(代表不同状态)既可以循环转换,而且能够控制其他部分电路。在课程设计中本人利用74LS74(双上升沿D触发器)设计模4计数器作为主控部分电路。根据真值表化简,然后接线,这里就不详细介绍。 主控电路图如下: 2) 秒脉冲产生电路 通过555芯片按一定的线路接上不同的电阻和电容就可产生周期不的方波脉冲,即不同的频率脉冲。课程设计需要秒脉冲,利用的2个电容,2个电阻。 脉冲产生电路图如下: 3) 红绿灯(发光二极管)显示电路 红绿灯显示也是表示电路所处状态,其必然与主控电路的状态一一对应,受到主控电路控制,即主控电路的输出(A和B)决定了主干道和支干道的红绿灯的亮灭情况。 如亮用1表示,灭用0表示,则有, A B 主红(R) 主黄(Y) 主绿(G) 支红(r) 支黄(y) 支绿(g) 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 1 1 1 1 0 0 0 1 0 所以,R =A, Y=~AB G=~A~B r=~A y= AB g= A~B 这里应该注意: 我们可以用门电路实现(如与门,与非门,非门等)但是这些电路不稳定,容易出现错误,如果能够用中规模器件的话,我们尽量用中规模器件来实现,因为中规模器件不仅较小规模器件稳定,而且接线也教小规模器件简单. 上面红绿灯的状态完全由A和B控制,我们可以用74LS139双二-四译码器,但注意译码器的输出必须经非门处理后才能接入红绿灯线路. 红绿灯显示电路接线如下: 4) 计时部分电路 a) 计时器状态产生模块: 设计要求对不同的状态维持的时间不同,而且要以十进制倒计时显示出来。限于实验室器材本人采用两个74LS161完成计时器状态产生模块设计。 设计思路: 要以十进制输出,而又有一些状态维持时间超过10秒,则必须用两个74LS161分别产生个位和十位的数字信号。显然,计数器能够完成计时功能,我们可以用74LS161设计,并把它的时钟cp接秒脉冲。74LS161计数器是采用加法计数,要想倒计时,则在74LS161输出的信号必须经过非门处理后才能接入数码管的驱动74LS48,而在显示是最好以人们习惯的数字0---9显示计时,故在设计不同模值计数器确定有效状态时,本人以0000,0001,0010-----1111这些状态中靠后的状态为有效状态。 例如:有效状态1011—1100—1101—1110—1111 取非 0100—0011—0010—0001—0000 即 4------3-------2--------1---------0 实现模5的倒计时。 在将74LS161改装成其他模值时既可以采用同步清零法,也可采用异步置数法,但0000不可能为有效状态,所以采用异步置数法完成不同模值转化的实现。 首先对控制个位输出的74LS161设计 按要求对系统的状态不同,即红绿灯的状态不同,个位的进制也就要求不同。本人利用系统的状态量A,B控制74LS161的置数端D0D1D2D3。当系统处在Gr或Rg状态时,个位的进制是十(模10),即逢十进一,当系统处在Yr或Ry状态时,个位的进制是五(模5),即逢五进一,模10时,有效状态为0110,0111,1000,-----1111,置D3D2D1D0为0110,模5时有效状态为1011,1100,1101,1110,1111,置D3D2D1D为1011,由此有, A B D3 D2 D1 D0 0 0 0 1 1 0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 1 0 1 1 所以,D3=B D2=~B D1=1 D0=B 当

文档评论(0)

honey888 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档