毕业设计论文-基于proteus的智能交通灯控制系统的设计与仿真内容摘要:

灭第三位 MOV P0,6DH。 送 5的共阴极码 CLR ;第四位显示 5 ACALL D1MS。 延时 1MS SETB。 灭第四位 DJNZ R7, LOOP;不够一秒,继续扫描 NEXTNUMBER;到一秒显示下一个数 D1MS:。 1MS 延时程序 STAT1: MOV R4, 2 MOV R3,250 DJNZ R3,$ DJNZ R4, STAT1 RET 紧急转换开关电路 一般情 况下交通灯按照车流量大小合理分配通行时间,按一定规律变化,但考虑紧急车通行车况,设计紧急通行开关 ,下面简述单片机的中断原理。 Mcs— 51 的中断源 8051 有 5 个中断源,它们是两个外中断 INT0( )和 INT1( )、两个片内定时 /计数器溢出中断 TF0 和 TF1,一个是片内串行口中断 TI或 RI,这几个中断源由 TCON 和 SCON 两个特殊功能寄存器进行控制 ,其中 5个中断源的程序入口地址如表 2所示: 表 2 中断源程序入口 中断源的服务程序入口地址 中断源 入口地址 外中断 0 0003H 定时 /计数器 0 000BH 外中断 1 0013H 定时 /计数器 0 001BH 串行口中断 0023H 中断的处理流程 13 CPU 响应中断请求后,就立即转入执行中断服务程序。 不同的中断源、不同的中断要求可能有不同的中断处理方法,但它们的处理流程一般都如下所述: 1)现场保护和现场恢复: 中断是在执行其它任务的过程中转去执行临时的任务,为了在执行完中断服务程序后,回头执行原先的程序时,知道程序原来在何处打断的,各有关寄存器的内容如何,就必须在转入执行中断服务程序前,将这些内容和状态进行备份—— 即保护现 场。 中断开始前需将有关寄存器的内容压入堆栈进行保存,以便在恢复原来程序时使用。 中断服务程序完成后,继续执行原先的程序,就需把保存的现场内容从堆栈中弹出,恢复积存器和存储单元的原有内容,这就是现场恢复。 如果在执行中断服务时不是按上述方法进行现场保护和恢复现场,就会是程序运行紊乱,单片机不能正常工作。 2)中断打开和中断关闭: 在中断处理进行过程中,可能又有新的中断请求到来,这里规定,现场保护和现场恢复的操作是不允许打扰的,否则保护和恢复的过程就可能使数据出错,为此在进行现场保护和现场恢复的过程中,必须关闭总 中断,屏蔽其它所有的中断,待这个操作完成后再打开总中断,以便实现中断嵌套。 3)中断服务程序: 既然有中断产生,就必然有其具体的需执行的任务,中断服务程序就是执行中断处理的具体内容,一般以子程序的形式出现,所有的中断都要转去执行中断服务程序,进行中断服务。 4)中断返回: 执行完中断服务程序后,必然要返回,中断返回就是被程序运行从中断服务程序转回到原工作程序上来。 在 MCS51 单片机中,中断返回是通过一条专门的指令实现的,自然这条指令是中断服务程序的最后一条指令。 5) 交通灯中的中断处理流程: ( 1)现场 保护和现场恢复: 有特殊车辆要通过时就要进行中断,在中断之前,先将交通灯中断前情况保护好,当中断执行后再恢复现场,包括信号灯和时间显示电路。 ( 2)中断打开和中断关闭: 14 为了使特殊车辆通行按一下打开中断开关就可以打开中断,关闭中断开关就关闭中断。 ( 3)中断服务程序: 有中断产生,就必然有其具体的需执行的任务,中断服务程序就是执行中断处理的具体内容:即如果南北方向有特殊车辆要求通过,南北方向转换为绿灯,东西方向为红灯;如果东西方向有特殊车辆要求通过,东西方向转换为绿灯,南北方向为红灯。 ( 4)中断返回: 执 行完中断服务程序后,必然要返回,即回交通灯信号回到中断前状态,显示时间也和中断前一样。 第四章 智能交通灯软件系统设计 智能交通灯的软件设计流程图 智能交通灯的软件设计流程图如图 8 所示: 图 8交通灯的软件设计流程图 15 程序源代码 见附录 第五章 智能交通灯方案的仿真 PROTEUS嵌入式系统仿真软件在设计时已经注意到和单片机各种编译程序的整合了,如它可以和 Keil ,Wave6000等编译模拟软件结合使用。 由于 Wave6000使用方便,具备强大的 软件仿真和硬件仿真功能。 把 Proteus和 Wave6000结合起来调试硬件就方便多了,这里就是采用“ Proteus+Wave6000”的仿真方法,具体步骤如下: 1)首先运行 PROTEUS VSM 的 ISIS,选择 Source→ Define Code Generation Tool 菜单项,将出现如图 8所示定义代码生成工具对话框。 图 9 定义代码生成工具对话框 在 Tool下拉列表框中选择代码生成工具,在这一示例中,电路中的微处理器为 8051系列单片机,因此选择 ASEM51, 单击 Browse按钮,选取 Wave6000的安装路径。 单击 OK按钮,结束代码生成工具的定义。 选择 Source→ Add/Remove Source File 菜单项,将出现 Add/Remove Source Code Files对话框,如图 10所示: 16 图 10添加 /删除源文件对话框 2)在 Code Generation Tool 选项区,单击下三角按钮,选择 ASEM51工具 单击 New按钮,将出现如图 11所示对话框。 图 11 创建源代码对话框 选择用 Wave6000创建好的 ,即完成了文件的创建。 就这样当用Wave6000对 文件进行更改时每一次运行 PROTEUS VSM 的 ISIS对电路进行仿真时 Wave6000都会对 ,。 电路图绘制完成后 , 再添加 AT89C51 的应用程序。 将鼠标移至 AT89C51 上 , 单击鼠标右键使之处于选中状态 , 在该器件上单击左键 , 打开如图 12所示的对话框。 在 Program File 栏添加编译好的十六进制格式的程序文件 (可以接受 3 种格式的文件 ) ,给 AT89C51输入晶振频率,此处默认为 12MHZ, 单击 OK 按 17 钮完成程序添加工作 , 下面就可以进行系统仿真了。 单击主界面下方的按钮开始系统仿真。 PROTEUS VSM 所进 行的是一种交互式仿真 , 在仿真进行中可以对各控制按钮、开关等进行操作 , 系统对输入的响应会被真实的反映出来如图 13。 图 12 AT89C51添加程序文件 图 13 交通灯仿真界面 18 小 结 在毕业设计的整个过程中,我深切地体会到 :实践是理论运用的最好检验。 毕业设计是对我们 3年所学知识的一次综合性测试和考验,无论是在动手能力方面还是理论知识的运用能力方面,都使得我有了很大的提高。 经 过总结和分析,我意识到 在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常 ,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。 本次毕业设计为我的大学生活画上了圆满的句 号,为我即将的工作和生活奠定了坚实的基础。 致谢词 在整个毕业设计中,我得到了学校电子实验室的大力支持,为我提供了各种所需的仪器设备。 感谢学校为我们安排了本次毕业设计, 让我们的理论知识和实际操作经验更加紧密的结合了在一起;同时又拓展了我们的知识面。 同时十分感激夏老师对我的悉心指导和帮助,使我能够顺利的完成此次毕业设计。 此次毕业设计让我从中受益匪浅,最后再次感谢老师对我的培养和教育。 参考文献 [1] 徐爱钧 《智能化测量控制仪表原理与设计》(第二版) [M].北京:北京航空航天大学出版社, 2020 年; [2] 吴金戌、沈 庆阳、郭庭吉 《 8051 单片机实践与应用》 [M].北京:清华大学出版社, 2020 年; [3] 谢自美 《电子线路设计实验测试》(第三版) [。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。