单片机proteus仿真设计交通灯(汇编语言).doc_第1页
单片机proteus仿真设计交通灯(汇编语言).doc_第2页
单片机proteus仿真设计交通灯(汇编语言).doc_第3页
单片机proteus仿真设计交通灯(汇编语言).doc_第4页
单片机proteus仿真设计交通灯(汇编语言).doc_第5页
免费预览已结束,剩余10页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计成果说明书题 目 :城市交道口交通灯控制系统姓 名: 学 号: 学 院: 班 级: 指导教师: 年 月 日一、 任务:设计并制作一个城市交道口交通灯控制糸统二、 要求:根据下图交道口模型,装上交通灯。交道口模型如图所示。交通灯控制规则如下:1)每个街口有左拐、右拐、直行及行人四种指示灯。每个灯有红、绿两种颜色。自行车与汽车共用左拐、右拐和直行灯。2)共有四种通行方式: 车辆南北直行、各路右拐,南北向行人通行。南北向通行时间为1分钟,各路右拐比直行滞后10秒钟开放。 南北向左拐、各路右拐,行人禁行。通行时间为1分钟。 东西向直行、各路右拐,东西向行人通行。东西向通行时间为1分钟,各路右拐比直行滞后10秒钟开放。 东西向左拐、各路右拐。行人禁行。通行时间为1分钟。3)在通行结束前10秒钟,绿灯闪烁直至结束。1, 基本部分:按照上述控制要求,用发光二极管代替交通灯,用PROTEUS绘制电路图,并仿真调试实现之。2, 发挥部分: 1.有倒计时时间显示。2若交道口出现紧急情况,交警可将糸统设置成手动:全路口车辆禁行、行人通行。紧急情况结束后再转成自动状态。3当有119、120等特种车辆通过时,糸统自动转为特种车放行,其它车辆禁止状态。特种车辆通过15秒钟后,糸统自动恢复,用模型车演示。4其它自选措施。城市交道口交通灯控制系统1. 系统功能的确定功能一:可以实现红绿灯的转换以及控制路口的基本功能。功能二:有倒计时功能和最后十秒绿灯闪烁的功能。功能三:出现紧急情况时,可以警察手动控制特殊状态,并维持交通。功能四:119或120等特种车经过时,可转换成为特种车道行驶状态,并在情况消除后15秒,恢复原状。2. 方案论证2.1方案一:如下图所示,为proteus仿真图。其中,P1,P0端口的8位分别来控制东西,南北方向的红绿灯。且运用了4个74LS164的8位移位寄存器(串行输入,并行输出)来控制4个LED的数码显示,通过AT89C51单片机的P3.0,P3.1两个扩展端口来接4个并行连接的74LS164的DIN和CLK两个端口来显示倒计时的功能,这会产生乱码使得显示杂乱,而主程序以顺序执行为主,其中穿插着对P3.7的端口高低电平的测试和跳转语句来实现功能三,并且功能一、二在主程序中实现,没有功能四的的实现程序。所以,该方案可行却不完善,故不选用。2.2方案二:如下图所示,为proteus仿真图。其中,P0,P2端口的8位分别来控制东西,南北方向的红绿灯。而P1端口的P1.0P1.6来控制四个LED的码值显示,而P3.0P3.3这四位用来片选这四个LED。并且,依旧用P3.7高低电平来实现功能三的内容,并且考虑用P3.6的高低电平来实现功能四的内容。程序依旧与方案一相似,却可以消除显示乱码,程序杂乱,不易读写。所以,该方案可行却仍不完善,故不选用。2.3方案三:如下图所示,为proteus仿真图。如下页所示仿真图。其中,在方案二的基础上,将四个LED分开的显示器用两个一起的LED,并且运用动态扫描显示倒计时,而P0,P2端口的8位分别来控制东西,南北方向的红绿灯。而P1端口的P1.0P1.7来连接两个LED的数码管的AF,DP这8个接口处。P3.0,P3.1分别接每个LED的1,2接口处来控制数码管显示的高低位。顺次执行的主程序采用中断程序来实现,用P3.2,P3.3的电位变化分别来实现功能三,四。其中,这可以用跳变触发中断或电平触发中断来实现,主要是IT0,IT1置位就是跳变触发方式,置零就是电平触发方式。这样,软硬件对于该实验所要求的功能的实现均较易实现,而且程序较易编写和读取。所以,综上所述,最终选择方案三来进行实验。3.系统硬件的设计3.1主控制器的设计以及接口电路的设计(电路图及设计说明)该电路图的proteus仿真图即和方案三的一致,正常运行时如下所示:主要运用到的硬件是:一块AT89C51单片机,两个两段共阴LED显示器,SW1,SW2两个双掷开关以及32个发光二极管。其中,16个红色,16个绿色发光二极管,每两个为一组。若P0端口得电压输出电流不足以驱动LED,就利用上拉电阻使LED能正常工作,但不需电阻亦可。单片机晶振选用12MHz。4.系统软件的设计4.1程序的编写思想:本次实验设计的程序主要包含:主程序,两个中断程序,显示程序(显示程序里含延时1ms的程序)。具体见以下叙述。4.2主程序的设计主程序中,是顺次执行,从SETB P3.7开始运行南北方向为主的两个60秒,接着CLR P3.7再运行东西方向为主的两个60秒,接着P3.7重新置位,再次循环。流程图如下:4.3两个中断程序的设计两个中断程序分别靠双掷开关SW1和SW2控制高低电位而实现,中断程序START0和中断程序START1为了实现功能三和四。流程图如下: 4.4显示程序的设计流程图如下所示:该显示程序主要是为了实现倒计时的显示,先将存在SECOND内的数值从十六进制数转化为十进制,并存在DBUF,DBUF+1(即50H,51H)单元中,然后通过LEDMAP取出字形,并选通每个两段共阴LED的显示管的高,低位显示出来。5系统调试 5.1硬件调试设计小程序让发光二极管导通,点亮二极管,并向两段共阴LED显示管赋值,观察是否显示,调试到所有硬件设备均可正常即可。5.2软件调试主要是编程,以下是实现本次实验功能的程序:SECOND EQU 30H DBUF EQU 50H ORG 0000H LJMP START ORG 0003H LJMP START0 ORG 0013H LJMP START1START:MOV R7,#5 MOV SP,#60H SETB EA SETB EX0 SETB EX1 SETB IT0 SETB IT1 MOV TCON,#00H MOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HCLR TF0SETB TR0MOV A,#0FFHMOV P2,AMOV P0,A(以上程序主要是一些赋值程序,和定时器,中断等的开启,以及初始化红绿灯等);*LOOPM: SETB P3.7 LJMP LOOPLOOPK: CLR P3.7LOOP:MOV R2,#20MOV R3,#10MOV SECOND,#60JNB P3.7,LP1LCALL STATE1LJMP Z1LP1: LCALL STATE4Z1: LCALL DISPLAY JNB TF0,Z1CLR TF0MOV TH0,#3CHMOV TL0,#0B0HDJNZ R2,Z1MOV R2,#20 DEC SECONDLCALL DISPLAYDJNZ R3,Z1(以上程序主要是通过对P3.7电位的高低来选择红绿灯的状态,状态一和四的选择);*MOV R2,#20MOV R3,#40MOV SECOND,#50JNB P3.7,LP2LCALL STATE2LJMP Z2LP2: LCALL STATE5Z2: LCALL DISPLAY JNB TF0,Z2CLR TF0MOV TH0,#3CHMOV TL0,#0B0HDJNZ R2,Z2MOV R2,#20DEC SECONDLCALL DISPLAYDJNZ R3,Z2(以上程序主要是控制状态二和五的选择);* MOV R2,#20MOV R3,#10MOV R4,#1MOV SECOND,#10Z3: LCALL DISPLAY JNB P3.7,LP3 LCALL STATE2 LJMP MM1LP3: LCALL STATE5 MM1: NB TF0,Z3CLR TF0MOV TH0,#3CHMOV TL0,#0B0HJNB P3.7,SS1MOV P2,#0BFHLJMP SS2SS1: MOV P0,#0BFHSS2:DJNZ R4,Z3 MOV R4,#1DJNZ R2,Z3MOV R2,#20DEC SECONDLCALL DISPLAYDJNZ R3,Z3(以上程序主要是控制状态二和五的转换选择,且绿灯闪烁);* MOV R2,#20MOV R3,#50MOV SECOND,#60Z4: LCALL DISPLAY JNB P3.7,LP4 LCALL STATE3 LJMP MM2LP4: LCALL STATE6MM2:JNB TF0,Z4CLR TF0MOV TH0,#3CHMOV TL0,#0B0HDJNZ R2,Z4MOV R2,#20DEC SECONDLCALL DISPLAYDJNZ R3,Z4(以上程序主要是控制状态三和六的选择);*MOV R2,#20MOV R3,#10MOV R4,#1MOV SECOND,#10Z5: LCALL DISPLAY JNB P3.7,LP5 LCALL STATE3 LJMP MM3LP5: LCALL STATE6MM3: JNB TF0,Z5CLR TF0MOV TH0,#3CHMOV TL0,#0B0HDJNZ R4,Z5MOV P1,#75HJNB P3.7,SS3MOV P2,#0EEHMOV P0,#0AEHLJMP SS4SS3: MOV P2,#0AEH MOV P0,#0EEHSS4:MOV R4,#1DJNZ R2,Z5MOV R2,#20DEC SECONDLCALL DISPLAYDJNZ R3,Z5JB P3.7,KKLJMP LOOPMKK:LJMP LOOPK(以上程序主要是控制状态三和六的选择,且绿灯闪烁,并长跳回去再循环开始);*START0: ACALL DISPLAYACALL DISPLAYJB P3.2,K0PUSH ACCMOV A,P0PUSH ACCMOV A,P2PUSH ACC MOV P2,#0A9H MOV P0,#0A9HA0: JB P3.2,A1 ACALL DISPLAY LJMP A0A1: ACALL DISPLAYACALL DISPLAYJNB P3.2,A0POP ACCMOV P2,APOP ACCMOV P0,APOP ACCK0: RETI;*START1: ACALL DISPLAYACALL DISPLAYJB P3.3,K1PUSH ACCMOV A,P0PUSH ACCMOV A,P2PUSH ACCMOV A,R2PUSH ACCMOV A,R3PUSH ACCMOV A,SECONDPUSH ACC MOV P2,#56H MOV P0,#56HA2: JB P3.3,A3 ACALL DISPLAY LJMP A2A3: ACALL DISPLAYACALL DISPLAYJNB P3.3,A2MOV R2,#20MOV R3,#15MOV SECOND,#15A4: LCALL DISPLAY JNB TF0,A4CLR TF0MOV TH0,#3CHMOV TL0,#0B0H DJNZ R2,A4MOV R2,#20 DEC SECONDLCALL DISPLAYDJNZ R3,A4POP ACCMOV SECOND,APOP ACCMOV R3,APOP ACCMOV R2,APOP ACCMOV P2,APOP ACCMOV P0,APOP ACCK1: RETI (以上两段程序主要实现了中断IT0和IT1) ;*STATE1:MOV P2,#99HMOV P0,#0AAHRETSTATE2: MOV P2,#95HMOV P0,#0AAHRETSTATE3:MOV P2,#66H MOV P0,#0A6HRETSTATE4: MOV P0,#99HMOV P2,#0AAHRETSTATE5: MOV P0,#95HMOV P2,#0AAHRETSTATE6: MOV P0,#66HMOV P2,#0A6HRET;* DISPLAY: (以下是显示程序及结束) MOV A,SECONDMOV B,#10DIV ABMOV DBUF,AMOV A,BMOV DBUF+1,AMOV R0,#DBUFMOV R1,#DBUF+1MOV DPTR,#LEDMAPDP: MOV A,R0MOVC A,A+DPTRMOV P1,ACLR P3.0ACALL DELAYSETB P3.0MOV A,R1MOVC A,A+DPTRMOV P1,ACLR P3.1ACALL DELAYSETB P3.1 DJNZ R7,DP MOV R7,#5 RETDELAY: MOV R6,#01H AA1: MOV R5,#0FFH AA: DJNZ R5,AA DJNZ R6,AA1 RETLEDMAP:DB 3FH,06H,5BH,4FH,66H,6DHDB 7DH,07H,7FH,6FH,77H,7CHDB 58H,5EH,7BH,71H,00H,40HEND(以上是状态一至六的赋值程序)5.3综合调试将程序在MedWen上运行以后,将产生的hex格式的文件加载到proteus仿真图上的AT89C51单片机上进行仿真实验。具体情况如下:5.3.1正常运行的状态:5.3.2实现功能三的状态:5.3.3实现功能四的状态:6指标测试通过5的调试和仿真以后,可以知道程序运行成功,效果不错。7. 总结成果经过两三个星期的努力,翻阅大量的资料和编程调试,最终得到了自我比较满意的运行结果,可能程序和仿真还有些许瑕疵,但是得到了所要求的功能以及良好的显示效果,所以,实验是比较成功的。这次的大工作量和编程的经历给了我很多的启示,有编程失败的沮丧和调试成功一霎那的欣喜若狂

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论