基于proteus智能交通灯的设计与实现内容摘要:

16 条地址线,其中低 8位的地址线与数据线共用 P0 口,在发出低 8位的地址信号时 ALE 有效,用它 控制外部锁存器锁存地址低 8位,发出数据时 , ALE 无效,P0 输出数据。 正常操作时又因能按主振频率 1/6 的固定频率,从 ALE 端发出正脉冲信号。 所以有时 可以加以利用,但应注意,每次访问外部数据存储器时会少输出一个 ALE 脉冲。 这个引脚另一功能是在 EPROM 编程时,作为编程脉冲输入。 PSEN ( 29)用于输出外部程序存储器选通信号。 在对外部程序存储器取指操作时非 PSEN 置有效(低电平);在执行对片内程序存储器取指操作时,非 PSEN为无效(高电平)。 对外部取指时, PSEN 每个机器周期 有效两次。 EA /Vpp(31)用于 输入从外部程序存储器取指或从内部程序存储器取指的选择信号。 当 EA 接高电平时低 4KB 指令在片内读取, EA 接低电平时则所有指令均在片外读取。 XTAL1 ( 18 ) 外接晶体的一个引脚,若采用外部时钟信号,此引脚接地。 XTAL2( 19)外接晶体的另一个引脚,若采用外部时钟信号,此引脚接外部振荡器。 MCS51 的中断源 引起终端的原因,或者 能发出中断申请的来源,称为中断源。 中断可以认为设定,也可以是为响应突发性随机事件而设置,通常有 I/O设备,实时控制系统中的随机参数和信息故障源等, 8051 有 5 个中断源,它们是两个外中断 INT0( )和 INT1( )、两个片内定时 /计数器溢出中断 TF0 和 TF1,一个是片内串行口中断 TI 或 RI,这几个中断源由 TCON 和 SCON 两个特殊功能寄存器进行控制。 其中 5个中断源的程序入口地址如(表 21)所示 : 中断源的服务程序入口地址 中断源 入口地址 外中断 0 0003H 定时 /计数器 0 000BH 外中断 1 0013H 定时 /计数器 1 001BH 串行口中断 0023H (表 21) 中断源程序入 口地址 10 中断处理流程 CPU 响应中断请求后,就立即转入执行中断服 务程序。 它们的 一般 处理流程如 图( 22) 所述: 中断请求 中断响应 中断服务 中断返回 图 22 中断一般处理流程 但对于 不同的中断源、不同的中断要求可能有不同的中断处理方法 ,具体如图( 23) 所述 : 现场保护和现场恢复 中断打开和中断关闭 中断服务程序 中断返回 图 23 具体的中断处理流程 (1)现场保护和现场恢复: 中断是在执行其它任务的过程中转去执行临时的任务,为了在执行完中断服务程序后,回头执行原先的程序时,知道程序原来在何处打断的,各有关寄存器的内容如何,就必须在转入执行中断服务程序前,将这些内容和状态进行备份 —— 即保护现场。 我们举个例子,在看书时,电话玲响需传去接电话时,必须在书本上做个记号,以便在接完电话后回来看书时,知道从哪些内容继续往下看。 计算机的中断处理方法也如此,中断开始前需将有关寄存器的内容压入 堆栈进行保存,以便在恢复原来程序时使用。 中断服务程序完成后,继续执行原先的程序,就需把保存的现场内容从堆栈中弹出,恢复积存器和存储单元的原有内容,这就是现场恢复。 如果在执行中断服务时不是按上述方法进行现场保护和恢复现场,就会是程序运行紊乱,程序跑飞,自然使单片机不能正常工作。 (2)中断打开和中断关闭: 在中断处理进行过程中,可能又有新的中断请求到来,这里规定,现场保护和现场恢复的操作是不允许打扰的,否则保护和恢复的过程就可能使数据出错,为此在进行现场保护和现场恢复的过程中,必须关闭总中断,屏蔽其它所有的 中断,待这个操作完成后再打开总中断,以便实现中断嵌套。 (3)中断服务程序: 中断服务程序从中断入口地址执行,到返回指令 RETI 为止,一般包括两部分内容:一是保护现场;二是完成中断源请求的任务。 既然有中断产生,就必然有其具体的需执行的任务,中断服务程序就是执行中断处理的具体内容,一般以子程序的形式出现,所有的中断都要转去执行中断服务程序,进行中断服务。 (4)中断返回: 中断返回通常是指中断服务完成后,计算机返回原来断开的位置(即断点),继续执行原来的程序,中断返回由中断返回指令 RETI 来实现,这条指令的 功能是指断点地址从堆栈中弹出,送回到程序计时器 PC,此外,还通知中断系统已完成中断处理,并同时消除优先级状态触发器。 11 交通灯的中断处理流程 (1)现场保护和现场恢复: 有特殊车辆要通过时就要进行中断,在中断之前,先将交通灯中断前情况保护好,当中断执行后再恢复现场,包括信号灯和时间显示电路。 (2)中断打开和中断关闭: 为了使特殊车辆通行按一下打开中断开关就可以打开中断,关闭中断开关就关闭中断。 (3)中断服务程序: 如 有中断产生,就必然有其具体的需执行的任务,中断服务程序就是执行中断处理的具体 内容:即如果 有特殊车辆需要经过时,南北东西均亮红灯,让特殊车辆通过。 (4) 中断返回: 执行完中断服务程序后,必然要返回,中断返回就是被程序运行从中断服务程序转回到原工作程序上来。 在 MCS51 单片机中,中断返回是通过一条专门的指令实现的,自然这条指令是中断服务程序的最后一条指令。 交通灯的硬 件设计原理图 交通灯的硬件设计原理图如(图 24)所示 : 12 图 24 原理图 及部分程序 根据智能交通灯的设计要求与原理我们设计的交通灯的软件设计流程图如(图 25)所示: 设 T0 的工作方式为工作方式 1, T0 的定时初值为 50ms,设东西南北各路口的时间显示初值为 25s。 但东西南北时间警告时设定的东西南北计时初值为 5s,绿灯闪烁 3s,黄灯闪烁 2s。 13 图 25 程序设计流程图 开始 工作方式、 设定初值 设各路口显示初值 25s 东西绿灯亮20s,南北亮红灯 东西绿灯闪烁 3s 东西黄灯亮 2s 南北绿灯亮20s,东西亮红灯 20s 到否。 南北绿灯闪烁 3s 3s 到否 ? 南北黄灯亮 2s 2s 到否 ? 下一个循环 2s 到否 ? 3s 到否。 20s 到否。 14 部分程序如下: LOOP: MOV R2,20。 置 1s 计数初值 ,50ms*20=1s MOV R3,20。 红灯亮 20s MOV SECON。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。