ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:50.54KB ,
资源ID:963960      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/963960.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于proteus的单片机控制模拟交通灯的设计.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于proteus的单片机控制模拟交通灯的设计.docx

1、基于proteus的单片机控制模拟交通灯的设计基于proteus的单片机控制模拟交通灯的设计AT89C51单片机的片内硬件结构AT89C51单片机的主要工作特性:1内含4KB的FLASH存储器,擦写次数1000次。2内含28字节的RAM。3具有32根可编程I/O线。4具有2个16位可编程定时器。5具有6个中断源、5个中断矢量、2级优先权的中断结构。6具有1个全双工的可编程串行通信接口。7具有一个数据指针DPTR。8两种低功耗工作模式,即空闲模式和掉电模式。9具有可编程的3级程序锁定定位。 AT89C51的工作电源电压为5(10.2)V且典型值为5V,最高工作频率为24MHz。 AT89C51各

2、部分的组成及功能: 单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。(1) 运算器运算器主要用来实现算术、逻辑运算和位操作。其中包括算术和逻辑运算单元ALU、累加器ACC、B寄存器、程序状态字PSW和两个暂存器等。ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。算术运算包括加、减、乘、除、增量、减量、BCD码运算;逻辑运算包括“与”、“或”、“异或”、左移位、右移位和半字节交换,以及位操作中的位置位、位复位等。暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。ALU的输出也是两个:一个是累加器,数据经运算后,其结果

3、又通过内部总线返回到累加器;另一个是程序状态字PSW,用于存储运算和操作结果的状态。累加器是CPU使用最频繁的一个寄存器。ACC既是ALU处理数据的来源,又是ALU运算结果的存放单元。单片机与片外RAM或I/O扩展口进行数据交换必须通过ACC来进行。B寄存器在乘法和除法指令中作为ALU的输入之一,另一个输入来自ACC。运算结果存于AB寄存器中。(2)控制器控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部件,主要包括程序计数器PC、PC增量器、指令寄存器、指令译码器、定时及控制逻辑电路等,其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。AT89C51单片机

4、中,PC是一个16位的计数器,可对64KB程序存储器进行寻址。复位时PC的内容是0000H。 (3)存储器片机内部的存储器分为程序存储器和数据存储器。AT89C51单片机的程序存储器采用4KB的快速擦写存储器Flash Memory,编程和擦除完全是电器实现。 (4)外围接入电路 AT89C51单片机的外围接口电路主要包括:4个可编程并行I/O口,1个可编程串行口,2个16位的可编程定时器以及中断系统等。 AT89C51的工作原理:1. 引脚排列及其功能AT89C51的封装形式有PDIP,TQFP,PLCC等,现以PDIP为例。(1) I/O口线P0口8位、漏极开路的双向I/O口。当使用片外存

5、储器及外扩I/O口时,P0口作为低字节地址/数据复用线。在编程时,P0口可用于接收指令代码字节;程序校验时,可输出指令字节。P0口也可做通用I/O口使用,但需加上拉电阻。作为普通输入时,应输出锁存器配置1。P0口可驱动8个TTL负载。P1口8位、准双向I/O口,具有内部上拉电阻。P1口是为用户准备的I/O双向口。在编程和校验时,可用作输入低8位地址。用作输入时,应先将输出锁存器置1。P1口可驱动4个TTL负载。P28位、准双向I/O口,具有内部上拉电阻。当使用外存储器或外扩I/O口时,P2口输出高8位地址。在编程和校验时,P2口接收高字节地址和某些控制信号。P38位、准双向I/O口,具有内部上

6、拉电阻。P3口可作为普通I/O口。用作输入时,应先将输出锁存器置1。在编程/校验时,P3口接收某些控制信号。它可驱动4个TTL负载。(2) 控制信号线RST复位输入信号,高电平有效。在振荡器稳定工作时,在RST脚施加两个机器周期以上的高电平,将器件复位。EA/VPP 外部程序存储器访问允许信号EA。当EA信号接地时,对ROM的读操作限定在外部程序存储器,地址为0000H-FFFFH;当EA接VCC时,对ROM的读操作从内部程序存储器开始,并可延续至外部程序存储器。在编程时,该引脚可接编程电压5V或12V。在编程校验时,该引脚可接VCC。PSEN片外程序存储器读选通信号PSEN,低电平有效。在片

7、外程序存储器取指期间,当PSEN有效时,程序存储器的内容被送至P0口;在访问外部RAM时,PSEN 无效。ALE/PROG低字节锁存信号ALE。在系统扩展时,ALE的下降沿将P0口输出的低8位地址锁存在外接的地址锁存器中,以实现低字节地址和数据的分时传送。此外,ALE端连续输出正脉冲,频率为晶振频率的1/6,可做外部定时脉冲使用。 (3)外部晶振引线XTAL1片内振荡器反向放大器和时钟发生线路的输入端。使用片内振荡器时,连接外部石英晶体和微调电容。XTAL2片内振荡器反相放大器的输出端。当使用片内振荡器时,外接石英晶体和微调电容。2. 存储器组织和特殊功能寄存器AT89C51的存储器将程序存储

8、器和数据存储器分开,并有各自的存储空间和访问指令。它有4个存储空间:片内存储器、片外存储器、片内数据存储器及片外存储器。3. 时钟电路和工作时序(1) 振荡器电路原理(2) 震荡电路的接法第一章 硬件电路原理图设计第二章 软件程序设计源程序:SECOND EQU 30HH_RED BIT P2.1 ;定义IO端口H_GREEN BIT P2.2H_YELLOW BIT P2.3L_RED BIT P2.4L_GREEN BIT P2.5L_YELLOW BIT P2.6 ORG 0000H LJMP MAINORG 0030HMAIN: MOV TMOD,#01H ;设置定时器0,为方式1 M

9、OV TH0,#3CH ;置定时器的初始值,定时50ms MOV TL0,#0B0H CLR TF0 ;清定时器0溢出标志 SETB TR0 ;启动定时器START: CLR A MOV P1,A ;首先关闭显示 MOV P3,A;*;状态1,东西方向绿灯亮,南北方向红灯亮;* MOV R2,#20 MOV R3,#21 MOV SECOND,#20 ;20秒初值 LCALL STATE1 LCALL COUNT;*;状态2,东西方向绿灯闪,南北方向红灯亮;* MOV R0,#01H ;标志位,南北方向绿灯闪 MOV R2,#2 MOV R3,#4 MOV R4,#10 MOV SECOND,

10、#3 ;3秒初值 LCALL DISPLAY LCALL STATE2 LCALL COUNT1;*;状态3,东西方向黄灯闪,南北方向红灯亮;* MOV R0,#02H ;标志位,南北方向黄灯闪 MOV R2,#2 MOV R3,#3 MOV R4,#10 MOV SECOND,#2 ;2秒初值 LCALL STATE3 LCALL COUNT1;*;状态4,东西方向红灯亮,南北方向绿灯亮;* MOV R2,#20 MOV R3,#21 MOV SECOND,#20 ;20秒初值 LCALL STATE4 LCALL COUNT;*;状态5,东西方向红灯亮,南北方向绿灯闪;* MOV R0,#

11、03H ;标志位,东西方向绿灯闪 MOV R2,#2 MOV R3,#4 MOV R4,#10 MOV SECOND,#3 ;3秒初值 LCALL STATE5 LCALL COUNT1;*;状态6,东西方向红亮,南北方向黄灯闪;* MOV R0,#04H ;标志位,东西方向黄灯闪 MOV R2,#2 MOV R3,#3 MOV R4,#10 MOV SECOND,#2 ;2秒初值 LCALL STATE6 LCALL COUNT1 LJMP START;*;计时程序 ;*COUNT: LCALL DISPLAYWAIT1: JNB TF0,WAIT1 ;定时器50ms未到,则等待 CLR T

12、F0 ;定时器50ms到了;清定时器0溢出标志 MOV TH0,#3CH MOV TL0,#0B0H LCALL DISPLAY DJNZ R2,WAIT1 ;是否到1秒 MOV R2,#20 DEC SECOND ;到1秒则秒值减1 DJNZ R3,WAIT1 ;20秒是否倒计时减完,未完则返回 RETCOUNT1: LCALL DISPLAYWAIT2: JNB TF0,WAIT2 CLR TF0 MOV TH0,#3CH MOV TL0,#0B0H LCALL DISPLAY DJNZ R4,WAIT2 ;是否到500ms,未到则返回 CJNE R0,#01H ,D1 CPL L_GREEN ;到了500ms,则闪南北方向绿灯D1: CJNE R0,#02H ,D2 CPL L_YELLOW ;闪南北方向黄灯D2: CJNE R0,#03H ,D3 CPL H_GREEN ;闪东西方向绿灯D3: CJNE R0,#04H ,D4 CPL H_YELLOW ;闪东西方向黄灯D4: MOV R4,#10 DJNZ R2,WAIT2 ;是否到1秒 MOV R2,#2 DEC SECOND DJNZ R3,WAIT2 RET;*;LED显示状态;*

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1