找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 17499|回复: 4
打印 上一主题 下一主题
收起左侧

单片机交通灯实验报告

[复制链接]
跳转到指定楼层
楼主
实验五:交通灯一、实验目的
  • 熟悉51单片机的汇编指令。
  • 进一步了解8255芯片的结构及编程方法
  • 学习模拟交通控制的实现方法
二、实验设备
STC89C52单片机实验板、串口下载线、USB连接线、电脑
3、程序框图
4、实验电路
五、实验原理及内容
  • 交通灯原理图
  • 8255PA0~PA7PB0~PB3 接发光二极管 L15~L13L11~L9L7~L5L3~L1
  • 执行程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后东西路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,再切换到东西路口方向,之后重复以上过程。
  • 实验接线图:
  • 程序代码(汇编版)
ORG    0BB0H
0BB0 758160                  JOD0: MOV    SP,#60H
0BB3 90FFDB                             MOV    DPTR,#0FFDBH
0BB6  7488                             MOV    A,#88H
0BB8 F0                             MOVX   @DPTR,A               ;8255初始化
0BB9 90FFD8                             MOV    DPTR,#0FFD8H
OBBC 74B6                             MOV    A,#0B6H
0BBE  F0                             MOVX   @DPTR,A
0BBF  A3                             INC    DPTR
0BC0 740D                             MOV    A,#0DH
0BC2  F0                             MOVX   @DPTR,A               ;点亮4个红灯
0BC3 7A25                             MOV    R2,#25H               ;延时
0BC5  120213                             LCALL  DELY
0BC8 90FFD8                  JOD3: MOV    DPTR,#0FFD8H
0BCB  7475                             MOV    A,#75H
0BCD  F0                             MOVX   @DPTR,A
0BCE A3                             INC    DPTR
0BCF  740D                             MOV    A,#0DH
0BD1 F0                             MOVX   @DPTR,A                 ;东西绿灯亮,;南北红灯亮
0BD2  7A55                             MOV    R2,#55H
0BD4 120213                             LCALL  DELY               ;延时
0BD7  7F05                             MOV    R7,#05H               ;闪烁次数
0BD9 90FFD8                 JOD1: MOV    DPTR,#0FFD8H
0BDC  74F3                             MOV    A,#0F3H
0BDE  F0                             MOVX   @DPTR,A
0BDF A3                             INC    DPTR
0BE0  740C                             MOV    A,#0CH
0BE2  F0                             MOVX   @DPTR,A               ;东西黄灯亮,南北红灯亮
0BE3  7A20                             MOV    R2,#20H
0BE5  120213                             LCALL  DELY               ;延时
0BE8 90FFD8                             MOV    DPTR,#0FFD8H
0BEB  74F7                             MOV    A, #0F7H
0BED F0                             MOVX   @DPTR, A
0BEE A3                             INC    DPTR
0BEF 740D                             MOV    A,  #0DH
0BF1 F0                             MOVX   @DPTR, A               ;南北红灯亮
0BF2 7A20                             MOV    R2, #20H
0BF4 120213                             LCALL  DELY               ;延时
0BF7 DFE0                             DJNZ   R7, JOD1               ;闪烁次数未到,继续
0BF9 90FFD8                             MOV    DPTR,#0FFD8H
0BFC 74AE                             MOV    A, #0AEH
0BFE F0                             MOVX   @DPTR,A
0BFF A3                             INC    DPTR
0C00 740B                             MOV    A, #0BH
0C02 F0                             MOVX   @DPTR,A               ;东西红灯亮,南北绿灯亮
0C03 7A55                             MOV    R2,#55H
0C05 120213                             LCALL  DELY               ;延时
0C08 7F05                             MOV    R7,#05H               ;闪烁次数
0C0A 90FFD8               JOD2:               MOV    DPTR,#0FFD8H
0C0D 749E                             MOV    A,#9EH
0C0F F0                             MOVX   @DPTR,A
0C10 A3                             INC    DPTR
0C11 7407                             MOV    A,#07H
0C13 F0                             MOVX   @DPTR,A               ;东西红灯亮,南北黄灯亮
0C14 7A20                             MOV    R2,#20H
0C16 120213                             LCALL  DELY               ;延时
0C19 90FFD8                             MOV    DPTR,#0FFD8H
0C1C 74BE                             MOV    A,#0BEH
0C1E F0                             MOVX   @DPTR,A
0C1F A3                             INC    DPTR
0C20 740F                             MOV    A,#0FH
0C22 F0                             MOVX   @DPTR,A               ;东西红灯亮
0C23 7A20                             MOV    R2,#20H
0C25  120213               LACLL  DELY          ;延时
0C28  DFE0                 DJN    R7,JOD2       ;闪烁次数未到继续
0C2A  020BC8               LJMP   JOD3          ;循环                               ORG    0213H
0213    C002      DELY:   PUSH    02H
0215    C002      DEL2:    PUSH    02H
0217    C002      DEL3:    PUSH    02H                  ;延时
0219    DAFE      DEL4:    DJNZ    R2,DEL4
021B    D002               POP     02H
021D    DAF8               DJNZ    R2,DEL3
021F    D002               POP     02H
0221    DAF2               DJNZ    R2,DEL2
0223    D002               POP     02H
0225    DAEC               DJNZ    R2,DELY
0227    22                 RET                                                    END
六、实验结果
七、实验收获及体会
本次试验我们做的是交通灯的实验,并且成功完成了此次实验。
在本次试验中,我们学习到了如何对8255的PC口进行位操作:8255的控制字中,D7位为1时表示方式选择,D7位为0时,表示对C口进行置为/复位。C口共有8个二进制位,控制字中的D3、D2、D1三位的编码与C口的某一位对应,而对指定位进行的操作则由D0确定。如:D0=0时,D3、D2、D1分别为1、0、1,则C口的第五位PC5置0;若D0=1时,D3、D2、D1分别为0、0、1,则C口的第一位PC1置1。在控制字中D6、D5、D4是无效位。在实验中,由于对于片选端口所对应的地址不是很熟悉,使得程序运行结果出错;经过翻阅实验书,找到了片选区中各个片选口所对应的端口地址,并将其改正。

完整单片机实验报告下载(word格式 可编辑):
http://www.51hei.com/bbs/dpj-88784-1.html



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:417992 发表于 2018-10-30 16:04 | 只看该作者
有没有C语言程序阿
回复

使用道具 举报

板凳
ID:417992 发表于 2018-10-30 16:04 | 只看该作者
大佬,又没有C语言程序阿
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表