3991|8

74

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求组 急急急急~!!!!!!!!!!!! [复制链接]

用8051单片机设计一交通信号灯模拟控制系统,晶振采用12MHz,具体要求:正常情况下,A、B道(A、B道交叉组成十字路口,A是主道,B是支道)轮流放行:
1:A道放行10s:        (1)用定时器实现0.5s延时()
(2)用8段数码管来显示10s延时,如用4个数码管显示开始为“A10B10”,延时一秒后,下一个显示为“A9B9”。
(3)同时用16*16点阵来显示通行的图标“A->”,用2个8*8点阵显示禁止图标“B●”;
2:B道放行8秒:        (1)用定时器实现0.5s延时
(2)用8段数码管来显示8s倒计时,开始为“A8B8”,延时一秒后,下一个显示为“A7B7”。
(3)同时用16*16点阵来显示通行的图标“A●”,“B->”。
3:A道有车,B道无车时,使有车车道放行(不需要实现A道无车,B道有车的情况):
(1)        A放行6秒
(2)        数码管显示计时6秒,即“A6B6”
(3)        点阵显示“A->”“B●”
4:有紧急车辆通过时,A、B都是红灯。
(1)        延时5秒
(2)        数码管显示计时5秒,即“A5B5”
(3)        点阵显示“A->”“B●”
5:思考:怎样实现点阵图形可以从左到右滚动。
各位高手帮帮我,怎么样实现几个模块的连接,我的程序不能加进去,还有数码管的程序没有,请帮忙补,实现上面的效果,请帮忙改正 谢谢谢谢]
   
      显示点阵
ROW     EQU  30H
           DOT     EQU  31H
           DOT1    equ  32h

           ROW1     EQU  33H
           DOT2     EQU  34H
           DOT3    equ   35h
           ORG     0000H
            AJMP    MAIN
           ORG     0030H
MAIN:      MOV  DPTR,#TAB
           MOV  ROW,#01H
           MOV  ROW1,#01H
           MOV  DOT,#00H
           MOV  DOT1,#00H
           mov  DOT2,#00h
           MOV  DOT3,#00H

           MOV  R7,#08H
          ; MOV  R6,#10H
NEXT_COL:  MOV  A,ROW
           mov DPTR,#0FFE2H
           MOVX @DPTR,A
           ;MOV  P2,A
           RL   A
           MOV  ROW,A
           MOV  A,DOT
           MOV DPTR,#TAB
           MOVC A,@A+DPTR
           MOV DPTR,#0FFE0H
           MOVX @DPTR,A
           MOV  A,DOT1
           MOV DPTR,#TAB1
           MOVC A,@A+DPTR
           MOV DPTR,#0FFE3H
           MOVX @DPTR,A
           ;MOV  P0,A
           LCALL DELAY_1MS
           INC  DOT
           inc  DOT1
           DJNZ R7,NEXT_COL
           CLR  A
           mov DPTR,#0FFE2H
           MOVX @DPTR,A
           
           ;LCALL DELAY_1MS
           MOV R7,#08H
           
NEXT_COL1:  MOV  A,ROW1

           mov DPTR,#0FFE1H
           MOVX @DPTR,A
           MOV  P2,A
           RL   A
           MOV  ROW1,A
           MOV  A,DOT2
           MOV DPTR,#TAB3
           MOVC A,@A+DPTR
           MOV DPTR,#0FFE0H
           MOVX @DPTR,A
           MOV  A,DOT3
           MOV DPTR,#TAB2
           MOVC A,@A+DPTR
           MOV DPTR,#0FFE3H
           MOVX @DPTR,A
           MOV  P0,A
           LCALL DELAY_1MS
           INC  DOT2
           inc  DOT3
           DJNZ R7,NEXT_COL1
           CLR  A
           mov DPTR,#0FFE1H
           MOVX @DPTR,A

           SJMP MAIN
TAB:       DB   08H,0cH,0eH,0ffH,0ffH,0eH,0cH,08H
TAB1:      db   18h,24h,42h,81h,0ffh,81h,81h,81h
TAB2:      db   7Ch,42h,42h,7Ch,7Ch,42h,42h,7Ch
TAB3:      db   3Ch,7Eh,0FFh,0FFh,0FFh,0FFh,7Eh,3Ch
DELAY_1MS: MOV R4,#250
D0:        NOP
           NOP
           DJNZ R4,D0
           RET
           END

交通灯控制程序
                    ORG        0000H
                 AJMP        MAIN                                ;指向主程序
                 ORG        0003H
                 AJMP        INTT0                                ;指向紧急车辆出现中断程序
                 ORG        0013H
                 AJMP        INTT1                                ;指向一道有车另一道无车中断程序

                 ORG        0100H
MAIN:                SETB         PX0                                        ;置外部中断0为高优先级中断
                MOV        TCON,#00H                    ;置外部中断0、1为电平触发
                MOV        TMOD,#10H               ;置定时器1为方式1
                MOV        IE,#85H                    ;开CPU中断,开外中断0、1中断
DISP:                MOV          P1,#0F3H                    ;A绿灯放行,B红灯禁止
                MOV        R2,#6EH                    ;置0.5秒循环次数
DISP1:                ACALL         DELAY                            ;调用0.5秒延时子程序
                DJNZ         R2,DISP1                    ;55秒不到继续循环
                MOV          R2,#06                                ;置A绿灯闪烁循环次数
WARN1:         CPL        P1.2                                        ;A绿灯闪烁
                ACALL         DELAY
                DJNZ          R2,WARN1                    ;闪烁次数未到继续循环
                MOV          P1,#0F5H                    ;A黄灯警告,B红灯禁止
                MOV        R2,#04H
YEL1:                ACALL         DELAY
                DJNZ         R2,YEL1                    ;2秒未到继续循环
                MOV        P1,#0DEH                    ;A红灯,B绿灯
                MOV        R2,#32H
DISP2:                ACALL         DELAY
                DJNZ         R2,DISP2                    ;25秒未到继续循环
                MOV        R2,#06H
WARN2:         CPL                 P1.5                                    ;B绿灯闪烁
                ACALL         DELAY
                DJNZ          R2,WARN2
                MOV        P1,#0EEH                    ;A红灯,B黄灯
                MOV        R2,#04H
YEL2:                ACALL        DELAY
                DJNZ        R2,YEL2
                AJMP         DISP                            ;循环执行主程序
INTT0:                PUSH        P1                                        ;P1口数据压栈保护
                PUSH        03H                                        ;R3寄存器压栈保护
                PUSH        TH1                                 ;TH1压栈保护
                PUSH        TL1                                        ;TL1压栈保护
                MOV        P1,#0F6H                          ;A、B道均为红灯
                MOV        R5,#28H                    ;置0.5秒循环初值
DELAY0:        ACALL        DELAY
                DJNZ         R5,DELAY0                    ;20秒未到继续循环
                POP                TL1                                        ;弹栈恢复现场
                POP                TH1
                POP                03H
                POP                P1
                RETI                                                ;返回主程序
INTT1:                CLR                EA                                        ;关中断
                PUSH        P1                                        ;压栈保护现场
                PUSH        03H
                PUSH        TH1
                PUSH        TL1
                SETB         EA                                        ;开中断
                JNB        P3.0,BP                    ;A道无车转向
                MOV        P1,#0F3H                    ;A绿灯,B红灯
                SJMP         DELAY1                            ;转向5秒延时
BP:                JNB        P3.1,EXIT                    ;B道无车退出中断
                MOV        P1,#0DEH                    ;A红灯,B绿灯
DELAY1:        MOV        R6,#0AH                    ;置0.5秒循环初值
                NEXT:        ACALL         DELAY
                DJNZ          R6,NEXT                    ;5秒未到继续循环
EXIT:                CLR        EA
                POP     TL1                                        ;弹栈恢复现场
                POP        TH1
                POP        03H
                POP        P1
                SETB        EA
                RETI
DELAY:         MOV        R3,#0AH
                MOV        TH1,#3CH
                MOV        TL1,#0B0H
                SETB         TR1
LP1:                JBC         TF1,LP2
                SJMP        LP1
LP2:                MOV        TH1,#3CH
                MOV        TL1,#0B0H
                DJNZ        R3,LP1
                RET
                END

最新回复

不明LZ在说什么  详情 回复 发表于 2008-5-1 03:47
点赞 关注

回复
举报

71

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
面试题?
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
不是  面试题
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

4
 
怎么样才能把显示点阵的程序放在交通灯的程序控制啊?
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

5
 
汇编啊

只能顶下
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

6
 
汇编啊

我也只能顶下
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

7
 
这个东东好象每本教材上都有类似例子吧
这里太没有人气了,是我们不够活跃,还是搞这行的人太少了呢?
我狂顶!
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

8
 
这一版块,太没人气了,是不是大家都成大侠了

如果成大侠了,也常回家看看嘛,家里太冷清了

据说努力顶帖也是一种美德,但我只想大家常回家看看

毕竟每天都有新手需要帮忙,而我能帮的只能是把帖子顶起来
 
 
 

回复

53

帖子

0

TA的资源

一粒金砂(初级)

9
 
不明LZ在说什么
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表