




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理与应用课程设计报告题 目: 简单交通灯控制系统 专 业: 计算机科学与技术 班 级: 09计算机1班 学 号: 09070009 姓 名: 陈民厅 天津理工大学中环信息学院计算机工程系2011年12月29 日交通灯控制系统设计摘 要设计一个交通灯控制系统,该控制系统工作后,交通灯按照下列规律变化:初始态东南西北均为红灯,持续时间为2s;然后转为状态1(10s),为东西红、南北绿;状态2(3s)东西红灯不变、南北绿灯灭、黄灯闪烁三次;状态3(15s),为东西绿、南北红;状态4(3s),为东西绿灯灭、黄灯闪烁三次、南北红灯不变;最后回到状态1,依此循环。如遇到特殊情况,可拨动应急开关,使
2、各向均为红灯,特殊车辆不受红灯限制,待其顺利通过后拨动另一个开关,系统返回继续运行。同时用LED用倒计时方式显示各路口亮灯时间。关键词: 单片机,交通灯,应急开关,LED1绪论1.1设计背景红绿交通灯自动控制系统在城市十字(或丁字)路口有着广泛的应用。随着社会的进步,人们生活水平的提高,私家车数量会不断增加,对城市交通带来前所为有的压力。道路建设也将随之发展,错综复杂的道路将不段增多。为维持稳定的交通秩序,红绿灯自动控制系统将得到更为广泛的应用。现在实际应用的红绿灯系统中一般没有倒计时功能,使司机和行人不知道指示灯还有多久将会改变现有状态。本设计应用基本数字电路知识,采用LED灯作红、绿、黄三
3、交通灯,用七段数码管作同步倒计时显示。实现两方向通行时间不相等的控制并配有倒计时。1.2设计目的熟悉单片机控制系统,并了解系统设计的一般规律。掌握8255芯片的结构及编程方法。熟悉模拟交通灯控制的实现方法。1.3设计任务及要求设计一个交通灯控制系统,该控制系统工作后,交通灯按照下列规律变化:初始态东南西北均为红灯,持续时间为2s;然后转为状态1(10s),为东西红、南北绿;状态2(3s)东西红灯不变、南北绿灯灭、黄灯闪烁三次;状态3(15s),为东西绿、南北红;状态4(3s),为东西绿灯灭、黄灯闪烁三次、南北红灯不变;最后回到状态1,依此循环。如遇到特殊情况,可拨动应急开关,使各向均为红灯,特
4、殊车辆不受红灯限制,待其顺利通过后拨动另一个开关,系统返回继续运行。同时用LED用倒计时方式显示各路口亮灯时间。2 设计使用的仪器和设备2.1 达爱思教仪 本实验采用达爱思教仪型号是Dais-PG206FD2.2八段数码管数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管, 2.3 8255芯片 8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(8255引脚如图1,8255编程模式如图2)。其各口功能可由软件选择,
5、使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部 分、控制部分。图1 8255引脚图2 8255编程模式3系统硬件设计方案3.1系统硬件方案框图交通灯系统硬件方案框图如图(3)键盘控制模块8255单片机交通灯控制系统八段管倒计时模块八段管信息演示模块接口电路交通灯演示模块紧急中断模块图3交通灯系统硬件方案框图3.2电路原理图
6、电路原理图是借鉴外部中断实验(急救车与交通灯)修改的如图4,增加P2.1连接K1和P2.2连接K2。如遇到特殊情况,可拨动应急开关K1,使各向均为红灯,特殊车辆不受红灯限制,待其顺利通过后拨动另一个开关K2,系统返回继续运行。图 4 交通灯与急救车3.3相关知识及原理介绍8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。 其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。8255特性:(1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外
7、围的接口.(2)具有24个可编程设置的I/O口,即3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4PC7),B组包括B口及C口(低4位,PC0PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定.交通灯控制系统,该控制系统工作后,交通灯按照下列规律变化:初始态东南西北均为红灯,持续时间为2s;然后转为状态1(10s),为东西红、南北绿;状态2(3s)东西红灯不变、南北绿灯灭、黄灯闪烁三次;状态3(15
8、s),为东西绿、南北红;状态4(3s),为东西绿灯灭、黄灯闪烁三次、南北红灯不变;最后回到状态1,依此循环。如遇到特殊情况,可拨动应急开关,使各向均为红灯,特殊车辆不受红灯限制,待其顺利通过后拨动另一个开关,系统返回继续运行。同时用LED用倒计时方式显示各路口亮灯时间。4系统软件设计方案4.1工具介绍汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言,作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等
9、。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。大多数情况下Linux程序员不需要使用汇编语言,因为即便是硬件驱动这样的底层程序在Linux操作系统中也可以完全用C语言来实现,再加上GCC这一优秀的编译器目前已经能够对最终生成的代码进行很好的优化,的确有足够的理由让我们可以暂时将汇编语言抛在一边了。但实际情况是Linux程序员有时还是需要使用汇编,或者不得不使用汇编,理由很简单:精简、高效
10、和libc无关性。假设要移植Linux到某一特定的嵌入式硬件环境下,首先必然面临如何减少系统大小、提高执行效率等问题,此时或许只有汇编语言能帮上忙了。 汇编语言源程序的设计步骤:(1) 拟制设计任务书(2) 建立数学模型(3) 确立算法(4) 绘制程序流程图(5) 编制汇编语言源程序(6) 上机调试单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机
11、如图(5)图5单片机4.2程序流程图交通灯控制系统流程框图如图6,如遇到特殊情况外部中断子程序框图如图7开始开外中断状态3(15s),为东西绿、南北红状态1(10s),为东西红、南北绿状态2(3s)东西红灯不变、南北绿灯灭、黄灯闪烁三次初始状态东西南北都是红灯(2s)状态4(3s),为东西绿灯灭、黄灯闪烁三次、南北红灯不变外部中断入口保护现场东西,南北都亮红灯特殊车辆通过,拨动开关恢复现场中断返回图6主程序流程框图 图7 外部中断子程序框图4.3程序源代码及注释CS8255 EQU 0FFFFh ;8255命令控制口OUTSEG EQU 0FFFCh ;字形控制口OUTBIT EQU 0FFF
12、Dh ;字位/键扫控制口SECOND EQU 30HNUM EQU 31HTIME EQU 32HTIME1 EQU 33H ORG 0000H ;主程序的入口地址 LJMP MAIN ;跳转到主程序的开始处 ORG 0003H ;外部中断0的中断程序入口地址 LJMP INT ORG 000BH ;定时器0的中断程序入口地址 LJMP T0_INT ;跳转到中断服务程序处MAIN : MOV SP,#50H MOV TCON,#01h ;下降沿, IT0 MOV IE,#8FH ;CPU开中断,允许T0中断,T1中断和外部中断1中断 MOV TMOD,#51H ;设置T1为计数方式,T0为定
13、时方式,且都工作于模式1 MOV DPTR ,#CS8255 MOV A, #80H ;给8255赋初值,8255工作于方式0 MOVX DPTR, A MOV R3,#5 LCALL DISP LCALL DELAY;-Na: SETB TR0 ;启动T0计时器Na0: MOV R3,#02h ;东西方向禁止,南北方向通行 MOV P1,#0DBH ;置8255A口,东西南北方向红灯亮Na2: CJNE R3,#00H,Na2 ;比较SECOND中的值是否为0,不为0转到当前指令处执行;-N00: MOV R3,#0ah ;东西方向禁止,南北方向通行 10s MOV P1,#0ddH ;置8
14、255A口,东西方向红灯亮,南北方向绿灯亮N02: CJNE R3,#00H,N02 ;比较SECOND中的值是否为0,不为0转到当前指令处执行;-黄灯闪烁3秒程序- MOV R3,#3N1: MOV P1,#0DEH ;置P1口,东西,南北方向黄灯亮N11: MOV R4,#00HN12: CJNE R4,#7DH,$ ;黄灯持续亮0.5秒N13: MOV P1,#0DFH ; 置P1口,南北方向黄灯灭N14: MOV R4,#00H CJNE R4,#7DH,$ ;黄灯持续灭0.5秒 CJNE R3,#00H,N1 ;闪烁时间达3秒则退出;-N2: MOV R7,#00H MOV R3,#
15、0fh ;东西通行,南北禁止 15s MOV P1,#0EBH ; 置P1口,东西方向绿灯灭,南北方向红灯亮N22: CJNE R3,#00H,N22;-黄灯闪烁3秒程序- MOV R3,#03HN3: MOV P1,#0F3H ;置P1口,东西,南北方向黄灯亮N31: MOV R4,#00H CJNE R4,#7DH,$ ;黄灯持续亮0.5秒N32: MOV P1,#0FBH ; 置P1口,南北方向黄灯灭N33: MOV R4,#00H CJNE R4,#7DH,$ ;黄灯持续灭0.5秒 CJNE R3,#00H,N3 ;闪烁时间达3秒则退出;-N41: MOV R7,#00H MOV R3
16、,#03h ;东西通行,南北禁止 3s MOV P1,#0bBH ; 置P1口,东西方向绿灯灭,南北方向红灯亮N42: CJNE R3,#00H,N42 SJMP N00;-1秒延时子程序-T0_INT:MOV TL0,#9AH ;给定时器T0送定时10ms的初值 MOV TH0,#0F1H INC R4 INC R5 CJNE R5,#0FAH,T01 ;判断延时是否够一秒,不够则调用显示子程序 MOV R5,#00H ;R5清零 DEC R3 ;倒计时初值减一T01: ACALL DISP ;调用显示子程序 RETI ;中断返回INT: PUSH PSW MOV TIME1,R3 MOV
17、NUM,P1 MOV P1,#1BHI1: ;CALL DELAY1 JB P3.1,I1 MOV R3,TIME1 MOV P1,NUM POP PSW RETI;-显示子程序-DISP:MOV B,#0AH MOV A,R3 ;SECOND中值二转十显示转换 DIV AB MOV R0,A MOV R2,#00000010b;Loop: MOV DPTR,#OUTBIT CLR A MOVX DPTR,A ;关所有八段管MOV DPTR,# LEDMAP MOV A,R0 MOVC A,A+DPTR MOV DPTR,#OUTSEG MOVX DPTR,A MOV DPTR,#OUTBIT
18、 MOV A,R2 MOVX DPTR,A ;显示一位八段管MOVR6,#01 CALL DELAY MOV A,R2 ;显示下一位 RR A MOV R2,AMOV DPTR,# LEDMAPMOV A,B MOVC A,A+DPTR MOV DPTR,#OUTSEG MOVX DPTR,A MOV DPTR,#OUTBIT MOV A,R2 MOVX DPTR,A ;显示一位八段管MOVR6,#01 CALL DELAY MOV DPTR,#OUTBIT CLR A MOVX DPTR,A ;关所有八段管 RET ;-延时4MS子程序-DELAY: MOV R1,#0AHLP: MOV R
19、7,#64H NOPLP1: DJNZ R7,LP1 DJNZ R1,LP RETDELAY1:MOV TIME,#0FHLP4: MOV R1,#0FFHLP2: MOV R7,#0FFH NOPLP3: DJNZ R7,LP3 DJNZ R1,LP2 DJNZ TIME,LP4 RETLEDMAP: ;八段管显示码 DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H DB 080H,090H,088H,083H,0C6H,0A1H,086H,08EH END5硬件、软件调试步骤5.1安装注意事项首先观察原理图,根据电气要求进行合理的整体布局,最大限度的减少叉线和飞线,降低干扰。自己要形成一个大致的布局和接线方法,而且要尽量美观。步骤如下:(1) 用万用表检查万能板的内部结构,确定其内部的电气连接属性。(2) 安装前先检查元器件的质量,安装时注意、集成芯片的引脚和极性。5.2调试(1) 不通电检查电路安装完毕后,不要急于通电,应首先认真检查接线是否正确, 包括多线、少线、错线等,尤其是电源线不能接错或接反,以免通电后烧坏电路或元器件。(2) 直观检查连线检查完毕后,直观检查电源,元器件接线端之间有无短路,连线 处有无接触不良。(3)运行软件观察交通灯运行情况,出现问题对软件程序进行修改。5.3调试注意事项(1) 测试之前要熟悉各种
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度咨询顾问协议模板锦集:环境与能源咨询顾问合作协议
- 2025年度房屋产权置换及公共设施配套建设合同
- 2025年度共有产权住房赠予协议
- 2025年度不动产基金份额代持与资产保全合同
- 2025年度跨境电商股份合作合同
- 2025年度房产中介员工劳动合同及保密责任约定
- 科技力量塑造新时代的产业发展格局
- 2025年度建筑工地施工人员工伤赔偿与康复服务协议
- 医院废渣运输服务合同
- 2025年旅游饭店住宿服务项目可行性分析报告
- 1.1青春的邀约 教学课件 2024-2025学年七年级道德与法治下册(统编版2024)
- 2024年财政部会计法律法规答题活动题目及答案一
- 2024年01月广州期货交易所2024年招考笔试历年参考题库附带答案详解
- 中小学教师家访记录表内容(18张)8
- 《冠心病》课件(完整版)
- 建筑工地紧急事件处理流程图
- 中山市培养引进紧缺适用人才导向目录(2011-2012年)
- 小学三年级下册开学语文老师家长会发言
- 对讲机测试报告
- 3、分段计费问题
- 防渗墙专项施工方法
评论
0/150
提交评论