基于proteus的51系列单片机交通灯的设计与仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于proteus的51系列单片机交通灯的设计与仿真一、 proteus软件的认识
Proteus是英国Labcenter electronics公司出版的EDA工具软件,能够进行电路分析与实物仿真软。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计,是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,能够支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。可以提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件,具有强大的原理图绘制功能。该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。
二、交通灯的设计电路图的硬件方框图、原理图
1.交通灯的硬件方框图
硬件原理:以89C52为核心,外加控制电路,采用共阳极数码管,实现东西南北四个方向上的交通控制,设计相应的程序使交通灯的亮灭在读秒结束后反映,实现了软件和硬件相结合。
2.交通灯的电路原理图
原理图(1)
原理图(2)
三、交通灯的程序流程图及源程序1.程序流程图:
2.汇编源程序:
REDTIME EQU 32H GREENTIME EQU 33H YELLOWTIME EQU 34H
ORG 0000H
AJMP MAIN
ORG 001BH
AJMP TISER
ORG 0030H
MAIN: MOV REDTIME,#15H MOV GREENTIME,#30H
MOV YELLOWTIME,#03H CLR P1.0
JB P1.0,LP
MOV R0,#15H
MOV R1,#5H
MOV R2,#10H
MOV 20H,#20
MOV TMOD,#10H
MOV TH1,#3CH
MOV TL1,#0B0H
SETB ET1
SETB TR1
SETB EA
LP: INC R0
JB P1.0,LP
AJMP RED
RED: MOV R0,REDTIME SETB P2.4
SETB P2.2
CLR P2.3
CLR P2.6
CLR P2.7
SETB P2.5
CLR P3.0
CLR P3.1
SETB P3.2
RED1: CJNE R0,#00H,RED2 AJMP YELLOW
RED2: ACALL DISPLAY
AJMP RED1
YELLOW: MOV R0,YELLOWTIME
CLR P2.4
SETB P2.3
SETB P2.2
SETB P2.6
CLR P2.7
CLR P2.5
CLR P3.0
CLR P3.2
SETB P3.1
YELLOW1: CJNE R0,#00H,YELLOW2 AJMP GREEN
YELLOW2:ACALL DISPLAY
AJMP YELLOW1
GREEN: MOV R0,GREENTIME
CLR P2.2
SETB P2.4
SETB P2.3
SETB P2.7
CLR P2.5
CLR P2.6
CLR P3.2
CLR P3.1
SETB P3.0
GREEN1: CJNE R0,#00H,GREEN2 AJMP YELLOW0
GREEN2: ACALL DISPLAY
AJMP GREEN1
YELLOW0: MOV R0,YELLOWTIME
CLR P2.4
SETB P2.3
SETB P2.2
SETB P2.6
CLR P2.7
CLR P2.5
CLR P3.0
CLR P3.2
SETB P3.1
YELLOW3: CJNE R0,#00H,YELLOW4 AJMP RED
YELLOW4:ACALL DISPLAY
AJMP YELLOW3
TABLE:
DB 0C0H
DB 0F9H
DB 0A4H
DB 0B0H
DB 99H
DB 92H
DB 82H
DB 0F8H
DB 80H
DB 90H DISPLAY:
CLR P2.1
SETB P2.0 MOV DPTR,#TABLE
MOV A,R0
ANL A,#0FH
MOVC A,@A+DPTR
MOV P0,A
ACALL DELAY10MS
CLR P2.0
SETB P2.1
MOV DPTR,#TABLE
MOV A,R0
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
MOV P0,A
ACALL DELAY10MS
RET
TISER:
PUSH PSW