单片机proteus仿真设计交通灯(汇编语言)_第1页
单片机proteus仿真设计交通灯(汇编语言)_第2页
单片机proteus仿真设计交通灯(汇编语言)_第3页
单片机proteus仿真设计交通灯(汇编语言)_第4页
单片机proteus仿真设计交通灯(汇编语言)_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计成果说明书题目:城市交道口交通灯控制系统姓名:学号:学院:班级:指导教师:任务:设计并制作一个城市交道口交通灯控制糸统要求:根据下图交道口模型,装上交通灯。交道口模型如图所示。车道晌车道I双I黄|线晌车道一双尊西晌车道彳加车道二人mt人行人行晌车道晌车道晌车道二彳叭车道人僦交通灯控制规则如如下:1)每个街口有左拐、种颜色。自行车与汽车共用左拐、右拐和直行灯。2)共有四种通行方式:道直示灯。每个灯有红、绿两车辆南北直行、各路右拐,南北向行人通行。南北向通行时间为1分钟,各路右拐比直行滞后10秒钟开放。南北向左拐、各路右拐,行人禁行。通行时间为1分钟。东西向直行、各路右拐,东西向行人通行。

2、东西向通行时间为1分钟,各路右拐比直行滞后10秒钟开放。东西向左拐、各路右拐。行人禁行。通行时间为1分钟。3)在通行结束前10秒钟,绿灯闪烁直至结束。基本部分:按照上述控制要求,用发光二极管代替交通灯,用PROTEUS绘制电路图,并仿真调试实现之。发挥部分:1.有倒计时时间显示。若交道口出现紧急情况,交警可将糸统设置成手动:全路口车辆禁行行人通行。紧急情况结束后再转成自动状态。当有119、120等特种车辆通过时,糸统自动转为特种车放行,其它车辆禁止状态。特种车辆通过15秒钟后,糸统自动恢复,用模型车演示。其它自选措施。城市交道口交通灯控制系统系统功能的确定功能一:可以实现红绿灯的转换以及控制路

3、口的基本功能。功能二:有倒计时功能和最后十秒绿灯闪烁的功能。功能三:出现紧急情况时,可以警察手动控制特殊状态,并维持交通。功能四:119或120等特种车经过时,可转换成为特种车道行驶状态,并在情况消除后15秒,恢复原状。2.方案论证2.1方案一:如下图所示,为proteus仿真图。Ir:alB口DqmE3i-ZE*5sa5SS3弧w騎皤n_n_n_n_n_n_n_n_ddddddwrid.E-mIJEdLsmdOLWrid匚EEEdQLE-rlEdAxt_-.nL艮百EdH.Hnlx二-Klxc其中,P1,PO端口的8位分别来控制东西,南北方向的红绿灯。且运用了4个74LS164的8位移位寄存

4、器(串行输入,并行输出)来控制4个LED的数码显示,通过AT89C51单片机的P3.0,P3.1两个扩展端口来接4个并行连接的74LS164的DIN和CLK两个端口来显示倒计时的功能,这会产生乱码使得显示杂乱,而主程序以顺序执行为主,其中穿插着对P3.7的端口高低电平的测试和跳转语句来实现功能三,并且功能一、二在主程序中实现,没有功能四的的实现程序。所以该方案可行却不完善,故不选用。方案二:如下图所示,为proteus仿真图。下岗Fl宵內得F舁3.qTE:B.qTE:6.;TTTTl;TTT7TEG:EDJ-51-*ET-67FfF-r-Ed.Hr&IJEd匸听爱LLLEd匚gEEdELLN一

5、诃EdtDUJLndmwNdLVHZdEL盍NdNLW*NdLLHEZdEW丙Nd豈LNdSVHZd1:sl:ml:卩扁:-r-4m*ijqr1*viU_piliP1.1P1PinP1.1P2Pidpi.P1SPi.5口iTl其中,P0,P2端口的8位分别来控制东西,南北方向的红绿灯。而P1端口的P1.0P1.6来控制四个LED的码值显示,而P3.0P3.3这四位用来片选这四个LED。并且,依旧用P3.7高低电平来实现功能三的内容,并且考虑用P3.6的高低电平来实现功能四的内容。程序依旧与方案一相似,却可以消除显示乱码,程序杂乱,不易读写。所以,该方案可行却仍不完善,故不选用。方案三:如下图所

6、示,为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的电位变化分别来实现功能三,四。其中,这可以用跳变触发中断或电平触发中断来实现主要是ITO,IT1置位就是跳变触发方式,置零就是电平触发方式。这样,软硬件对于该实验所要求的功能的实现均较易实现,

7、而且程序较易编写和读取。所以,综上所述,最终选择方案三来进行实验。系统硬件的设计主控制器的设计以及接口电路的设计(电路图及设计说明)该电路图的proteus仿真图即和方案三的一致,正常运行时如下所示:LLMlErldHJ-E-rqndNOXLLTEil貝百ndag?J?S衲貝押旺gJLHJ-r-Ed.H_.t=-IJEdLEEdPTJ-ntm二二二二二二:二二二二二二二二二二二二二二m二二二二二二二主要运用到的硬件是:一块AT89C51单片机,两个两段共阴LED显示器,SW1,SW2两个双掷开关以及32个发光二极管。其中,16个红色,16个绿色发光二极管,每两个为一组。若P0端口得电压输出电流

8、不足以驱动LED,就利用上拉电阻使LED能正常工作,但不需电阻亦可。单片机晶振选用12MHz。系统软件的设计程序的编写思想:本次实验设计的程序主要包含:主程序,两个中断程序,显示程序(显示程序里含延时1ms的程序)。具体见以下叙述。主程序的设计主程序中,是顺次执行,从SETBP3.7开始运行南北方向为主的两个60秒,接着CLRP3.7再运行东西方向为主的两个60秒,接着P3.7重新置位,再次循环。流程图如下:4交通灯控制系统定乂中断系统开始程序:SETBP3.7CLRP3.74判断P3.7的电位南北直行和行人均绿灯,其余均红灯,并延时10秒东西直行和行人均绿灯,其余均红灯,并延时10秒I南北直

9、行、行人和右拐均绿灯,其余红灯,并延时40秒东西直行、行人和右拐均绿灯,其余红灯,并延时40秒南北直行、行人和右拐均绿灯,且闪烁。其余红灯,并延时10秒东西直行、行人和右拐均绿灯,日闪烁。苴余红灯.并延时10秒南北左拐,右拐绿灯,东西右拐绿灯.其余红灯.并延时50秒东西左拐,右拐绿灯,南北右拐绿灯,其余红灯,并延时50秒南北左拐,右拐绿灯,东西右拐绿灯,且闪烁。其余红灯,并延时10秒东西左拐,右拐绿灯,南北右拐绿灯,且闪烁。其余红灯,并延时10秒两个中断程序的设计两个中断程序分别靠双掷开关SW1和SW2控制高低电位而实现,中断程序STARTO和中断程序START1为了实现功能三和四。流程图如下

10、:.恢复原状并返回显示程序的设计流程图如下所示:显示程序开始返回循环5次调用延时程序(1毫秒的延时)调用延时程序(1毫秒的延时)将时间转化为十进制,高低位分别存在50H,51H处选通低位,显示51H内值选通高位,显示50H内值该显示程序主要是为了实现倒计时的显示,先将存在SECOND内的数值从十六进制数转化为十进制,并存在DBUF,DBUF+1(即50H,51H)单元中,然后通过LEDMAP取出字形,并选通每个两段共阴LED的显示管的高,低位显示出来。5系统调试5.1硬件调试设计小程序让发光二极管导通,点亮二极管,并向两段共阴LED显示管赋值,观察是否显示,调试到所有硬件设备均可正常即可。软件

11、调试主要是编程,以下是实现本次实验功能的程序:SECONDEQU30HDBUFEQU50HORG0000HLJMPSTARTORG0003HLJMPSTART0ORG0013HLJMPSTART1START:MOVR7,#5MOVSP,#60HSETBEASETBEX0SETBEX1SETBIT0SETBIT1MOVTCON,#00HMOVTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0HCLRTF0SETBTR0MOVA,#0FFHMOVP2,AMOVP0,A(以上程序主要是一些赋值程序,和定时器,中断等的开启,以及初始化红绿灯等).TxTxTxTxTxTxTxTxTxTxTx

12、TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxLOOPM:SETBP3.7LJMPLOOPLOOPK:CLRP3.7LOOP:MOVR2,#20MOVR3,#10MOVSECOND,#60JNBP3.7,LP1LCALLSTATE1LJMPZ1LP1:LCALLSTATE4Z1:LCALLDISPLAYJNBTF0,Z1CLRTF0MOVTH0,#3CHMOVTL0,#0B0HDJNZR2,Z1MOVR2,#20DECSECONDLCALLDISPLAYDJNZR3,Z1(以上程序主要是通过对P3.7电位的高低来选择红绿灯的状态,状态一和四

13、的选择)*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*.TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxMOVR2,#20MOVR3,#40MOVSECOND,#50JNBP3.7,LP2LCALLSTATE2LJMPZ2LP2:LCALLSTATE5Z2:LCALLDISPLAYJNBTF0,Z2CLRTF0MOVTH0,#3CHMOVTL0,#0B0HDJNZR2,Z2MOVR2,#20DECSE

14、CONDLCALLDISPLAYDJNZR3,Z2(以上程序主要是控制状态二和五的选择).TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxMOVR2,#20MOVR3,#10MOVR4,#1MOVSECOND,#10Z3:LCALLDISPLAYJNBP3.7,LP3LCALLSTATE2LJMPMM1LP3:LCALLSTATE5MM1:NBTF0,Z3CLRTF0MOVTH0,#3CHMOVTL0,#0B0HJNBP3.7,SS1MOVP2,#0BFHLJMPSS2SS1:MOVP0,#0BFH

15、SS2:DJNZR4,Z3MOVR4,#1DJNZR2,Z3MOVR2,#20DECSECONDLCALLDISPLAYDJNZR3,Z3(以上程序主要是控制状态二和五的转换选择,且绿灯闪烁)*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*.TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxMOVR2,#20MOVR3,#50MOVSECOND,#60Z4:LCALLDISPLAYJNBP3.7,LP4L

16、CALLSTATE3LJMPMM2LP4:LCALLSTATE6MM2:JNBTF0,Z4CLRTF0MOVTH0,#3CHMOVTL0,#0B0HDJNZR2,Z4MOVR2,#20DECSECONDLCALLDISPLAYDJNZR3,Z4(以上程序主要是控制状态三和六的选择)*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*.TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxMOVR2,#20MOVR

17、3,#10MOVR4,#1MOVSECOND,#10Z5:LCALLDISPLAYJNBP3.7,LP5LCALLSTATE3LJMPMM3LP5:LCALLSTATE6MM3:JNBTF0,Z5CLRTF0MOVTH0,#3CHMOVTL0,#0B0HDJNZR4,Z5MOVP1,#75HJNBP3.7,SS3MOVP2,#0EEHMOVP0,#0AEHLJMPSS4SS3:MOVP2,#0AEHMOVP0,#0EEHSS4:MOVR4,#1DJNZR2,Z5MOVR2,#20DECSECONDLCALLDISPLAYDJNZR3,Z5JBP3.7,KKLJMPLOOPMKK:LJMPLOO

18、PK(以上程序主要是控制状态三和六的选择且绿灯闪烁,并长跳回去再循环开始).TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxSTART0:ACALLDISPLAYACALLDISPLAYJBP3.2,K0PUSHACCMOVA,P0PUSHACCMOVA,P2PUSHACCMOVP2,#0A9HMOVP0,#0A9HA0:JBP3.2,A1ACALLDISPLAYLJMPA0A1:ACALLDISPLAYACALLDISPLAYJNBP3.2,A0POPACCMOVP2,APOPACCMOVP0,A

19、POPACCK0:RETI*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*.TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxSTART1:ACALLDISPLAYACALLDISPLAYJBP3.3,K1PUSHACCMOVA,P0PUSHACCMOVA,P2PUSHACCMOVA,R2PUSHACCMOVA,R3PUSHACCMOVA,SECONDPUSHACCMOVP2,#56HMOVP0,#56H

20、A2:JBP3.3,A3ACALLDISPLAYLJMPA2A3:ACALLDISPLAYACALLDISPLAYJNBP3.3,A2MOVR2,#20MOVR3,#15MOVSECOND,#15A4:LCALLDISPLAYJNBTF0,A4CLRTF0MOVTH0,#3CHMOVTL0,#0B0HDJNZR2,A4MOVR2,#20DECSECONDLCALLDISPLAYDJNZR3,A4POPACCMOVSECOND,APOPACCMOVR3,APOPACCMOVR2,APOPACCMOVP2,APOPACCMOVP0,APOPACCK1:RETI(以上两段程序主要实现了中断IT0和I

21、T1).TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxSTATE1:MOVP2,#99HMOVP0,#0AAHRETSTATE2:MOVP2,#95HMOVP0,#0AAHRETSTATE3:MOVP2,#66HMOVP0,#0A6HRETSTATE4:MOVP0,#99HMOVP2,#0AAHRETSTATE5:MOVP0,#95HMOVP2,#0AAHRETSTATE6:MOVP0,#66HMOVP2,#0A6HRET*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1

22、*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*.TxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxTxDISPLAY:(以下是显示程序及结束)MOVA,SECONDMOVB,#10DIVABMOVDBUF,AMOVA,BMOVDBUF+1,AMOVR0,#DBUFMOVR1,#DBUF+1MOVDPTR,#LEDMAPDP:MOVA,R0MOVCA,A+DPTRMOVP1,ACLRP3.0ACALLDELAYSETBP3.0MOVA,R1MOVCA,A+DPTRMOVP1,ACLRP3.1ACALLDELAYSETBP3.1DJNZR7,DPMOVR7,#5RETDELAY:MOVR6,#01HAA1:MOVR5,#0FFHAA:DJNZR5,AADJNZR6,AA1RETLEDMAP:DB3FH,06H,5BH,4FH,66H,6DHDB7DH,07H,7FH,6FH,77H,7CHDB58H,5EH,7BH,71H,00H,40HEND(以上是状态一至六的赋值程序)综合调试将程序在Me

温馨提示

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

评论

0/150

提交评论