找回密码
 立即注册

QQ登录

只需一步,快速开始

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

智能交通灯控制系统的仿真图和单片机汇编语言程序

[复制链接]
跳转到指定楼层
楼主
智能交通灯系统的仿真图:


单片机控制程序(汇编语言)如下:
  1. ORG 0000H
  2.          LJMP START
  3.          ORG 0003H
  4.          LJMP INT0
  5.          ORG 000BH
  6.          LJMP T0
  7.         a ORG 0013H
  8.          LJMP INT1
  9.          ORG 001BH

  10.   START: MOV SP,  #60H
  11.          MOV 40H, #5      ;在南北红灯缓存区南北红灯时间
  12.          MOV 41H, #3      ;在南北绿灯缓存区南北绿灯时间
  13.          MOV 42H, #4      ;在东西红灯缓存区东西红灯时间
  14.          MOV 43H, #4      ;在东西绿灯缓存区东西绿灯时间
  15.          MOV 27H,#0FFH    ;标示位
  16.          MOV 30H,#05H
  17.          MOV 31H,#00H
  18.          MOV TMOD, #01H    ;定时器初始化
  19.          MOV TH0,  #3CH
  20.          MOV TL0,  #0AFH
  21.          MOV 60H,  #20
  22.          CLR 4EH
  23.          CLR 4FH
  24.          SETB EA
  25.          SETB EX1
  26.          SETB EX0
  27.          SETB ET0
  28.          SETB TR0
  29. DISPLAY1:MOV P1, #0CCH     ;显示南北红灯与东西绿灯时间
  30.          MOV R3, 40H
  31.          MOV R4, 43H
  32.   LOOP1: MOV A,  R3
  33.          MOV B,  #0AH
  34.          DIV AB
  35.          MOV DPTR,#TAB
  36.          MOVC A,@A+DPTR
  37.          MOV P2,#0F0H
  38.          MOV  P0,A
  39.          LCALL DELAY
  40.          MOV A, B
  41.          MOVC A,@A+DPTR
  42.          MOV  P2,#0F1H
  43.          MOV  P0,A
  44.          LCALL DELAY
  45.          MOV A,  R4
  46.          MOV B,  #0AH
  47.          DIV AB
  48.          MOV DPTR,#TAB
  49.          MOVC A,@A+DPTR
  50.          MOV P2,#0F6H
  51.          MOV  P0,A
  52.          LCALL DELAY
  53.          MOV A, B
  54.          MOVC A,@A+DPTR
  55.          MOV  P2,#0F7H
  56.          MOV  P0,A
  57.          LCALL DELAY
  58.          JNB TR0,SETIN1
  59.          JB P2.6,WAY1  ;判断两通道是否都有车
  60.          LCALL  DELAY
  61.          JB P2.6,OUT1
  62.          JNB P2.7,OUT1
  63.          LJMP DISPLAY2
  64. WAY1:    JB P2.7,OUT1
  65.          LCALL DELAY
  66.          JB P2.7,OUT1
  67.          LJMP DISPLAY1
  68. OUT1:    JMP E1
  69.    SETIN1:       LJMP SETT
  70.       E1:   JNB 4FH,LOOP1
  71.          CLR 4FH
  72.          DEC R3
  73.          DEC R4
  74.          CJNE R4,#0FFH,LOOP1
  75.          MOV P1, #0CAH             ;东西绿灯灭黄灯亮
  76. LOOP2:   MOV A,  R3
  77.          MOV B,  #0AH
  78.          DIV AB
  79.          MOV DPTR,#TAB
  80.          MOVC A,@A+DPTR
  81.          MOV P2,#0F4H
  82.          MOV  P0,A
  83.          LCALL DELAY
  84.          MOV P2,#0F0H
  85.          MOV  P0,A
  86.          LCALL DELAY
  87.          MOV  P2, #0F6H
  88.          MOV  P0, A
  89.          LCALL DELAY
  90.          MOV A, B
  91.          MOVC A,@A+DPTR
  92.          MOV  P2,#0F5H
  93.          MOV  P0,A
  94.          LCALL DELAY
  95.          MOV  P2,#0F1H
  96.          MOV  P0,A
  97.          LCALL DELAY
  98.          MOV  P2, #0F7H
  99.          MOV  P0, A
  100.          LCALL DELAY
  101.          JNB TR0,SETIN2
  102.          JB P2.6,WAY2 ;判断两通道是否都有车
  103.          LCALL  DELAY
  104.          JB P2.6,OUT2
  105.          JNB P2.7,OUT2
  106.          LJMP DISPLAY2
  107. WAY2:    JB P2.7,OUT2
  108.          LCALL DELAY
  109.          JB P2.7,OUT2
  110.          LJMP DISPLAY1
  111. OUT2:    JMP E2
  112.     SETIN2:LJMP SETT
  113.    E2:      JNB 4FH,LOOP2
  114.          CLR 4FH
  115.          DEC R3
  116.          CJNE R3,#0FFH,LOOP2
  117. DISPLAY2:        MOV P1, #0E1H     ;南北红灯时间到,南北绿灯亮,东西红灯亮
  118.          MOV R3, 41H       ;显示南北绿灯,东西红灯时间
  119.          MOV R4, 42H
  120.   LOOP3: MOV A,  R3
  121.          MOV B,  #0AH
  122.          DIV AB
  123.          MOV DPTR,#TAB
  124.          MOVC A,@A+DPTR
  125.          MOV P2,#0F2H
  126.          MOV  P0,A
  127.          LCALL DELAY
  128.          MOV A, B
  129.          MOVC A,@A+DPTR
  130.          MOV  P2,#0F3H
  131.          MOV  P0,A
  132.          LCALL DELAY
  133.          MOV A,  R4
  134.          MOV B,  #0AH
  135.          DIV AB
  136.          MOV DPTR,#TAB
  137.          MOVC A,@A+DPTR
  138.          MOV P2,#0F4H
  139.          MOV  P0,A
  140.          LCALL DELAY
  141.          MOV A, B
  142.          MOVC A,@A+DPTR
  143.          MOV  P2,#0F5H
  144.          MOV  P0,A
  145.          LCALL DELAY
  146.          JNB TR0 ,SETIN3
  147.          JB P2.6,WAY3   ;判断两通道是否都有车
  148.          LCALL  DELAY
  149.          JB P2.6,OUT3
  150.          JNB P2.7,OUT3
  151.          LJMP DISPLAY2
  152. WAY3:    JB P2.7,OUT3
  153.          LCALL DELAY
  154.          JB P2.7,OUT3
  155.          LJMP DISPLAY1
  156. OUT3:    JMP E3
  157.    SETIN3: LJMP SETT
  158.      E3   : JNB 4FH,LOOP3
  159.          CLR 4FH
  160.          DEC R3
  161.          DEC R4
  162.          CJNE R3,#0FFH,LOOP3
  163.          MOV P1, #0D1H
  164. LOOP4:   MOV A,  R4             ;显示东西红灯,南北黄灯时间
  165.          MOV B,  #0AH
  166.          DIV AB
  167.          MOV DPTR,#TAB
  168.          MOVC A,@A+DPTR
  169.          MOV P2,#0F0H
  170.          MOV  P0,A
  171.          LCALL DELAY
  172.          MOV P2,#0F4H
  173.          MOV  P0,A
  174.          LCALL DELAY
  175.          MOV  P2, #0F2H
  176.          MOV  P0, A
  177.          LCALL DELAY
  178.          MOV A, B
  179.          MOVC A,@A+DPTR
  180.          MOV  P2,#0F1H
  181.          MOV  P0,A
  182.          LCALL DELAY
  183.          MOV P2,#0F5H
  184.          MOV  P0,A
  185.          LCALL DELAY
  186.          MOV  P2, #0F3H
  187.          MOV  P0, A
  188.          LCALL DELAY
  189.          JNB TR0,SETIN4
  190.          JB P2.6,WAY4    ;判断两通道是否都有车
  191.          LCALL  DELAY
  192.          JB P2.6,OUT4
  193.          JNB P2.7,OUT4
  194.          LJMP DISPLAY2
  195. WAY4:    JB P2.7,OUT4
  196.          LCALL DELAY
  197.          JB P2.7,OUT4
  198.          LJMP DISPLAY1
  199. OUT4:    JMP E4
  200.    SETIN4:  LJMP SETT
  201.    E4:      JNB 4FH,LOOP4
  202.          CLR 4FH
  203.          DEC R4
  204.          CJNE R4,#0FFH,LOOP4
  205.    SETOUT :      LJMP DISPLAY1
  206. SETT:  JB  TR0,SETOUT
  207.          ACALL DISP
  208.         JB P3.0,M1
  209. M1:     MOV C,P3.0           ;按键消振
  210.         JC M2
  211. M2:     LCALL DELAY
  212.         MOV C,P3.0
  213.         JC ML10
  214. STOP1:  MOV C,P3.0
  215.         JNC STOP1
  216.         LCALL DELAY
  217.         MOV C,P3.0
  218.         JNC STOP1
  219.         MOV R6,27H
  220.         CJNE R6,#00H,RRRR
  221.         MOV    R5,43H
  222.         INC  R5
  223.         MOV  43H,R5               ;;;加一
  224.         MOV  R5,40H
  225.         INC R5
  226.         MOV 40H,R5
  227.         CJNE R5, #99,DSS
  228.         MOV 40H,#0
  229.         MOV 43H,#0
  230.         LJMP DSS
  231. RRRR:  MOV R5,41H
  232.         INC R5
  233.         MOV 41H ,R5
  234.         MOV R5,42H
  235.         INC R5
  236.         MOV 42H,R5
  237.         CJNE R5,#99,DSS
  238.         MOV 42H,#0
  239.         MOV 41H,#0
  240.    DSS: MOV A,R5
  241.         MOV     B,#0AH
  242.         DIV     AB
  243.         MOV     31H,A
  244.         MOV     30H,B
  245.         ACALL  DISP
  246. ML10:   JB P3.1,M3
  247. M3:     MOV C,P3.1                    ;按键消振
  248.         JC M4
  249. M4:     LCALL DELAY
  250.         MOV C,P3.1
  251.         JC  SETT
  252. STOP2:  MOV C,P3.1
  253.         JNC STOP2
  254.         LCALL DELAY
  255.         MOV C,P3.1
  256.         JNC STOP2
  257.          MOV R6,27H
  258.             CJNE R6,#00H,RRRR1
  259.         MOV    R5,43H
  260.         DEC  R5
  261.         MOV  43H,R5
  262.         MOV  R5,40H
  263.         DEC R5
  264.         MOV 40H,R5
  265.         CJNE R5,#0FFH,DSSS;;;;;;;;减一
  266.         MOV 40H,#99
  267.         MOV 43H,#98
  268.         MOV R5,40H
  269.         LJMP DSSS
  270. RRRR1:  MOV R5,41H
  271.         DEC R5
  272.         MOV 41H ,R5
  273.         MOV R5,42H
  274.         DEC R5
  275.         MOV 42H,R5
  276.         CJNE R5,#0FFH,DSSS
  277.         MOV 42H,#99
  278.         MOV 41H,#98
  279.         MOV R5,42H
  280.   DSSS:      MOV A,R5
  281.         MOV     B,#0AH
  282.         DIV     AB
  283.         MOV     31H,A
  284.         MOV     30H,B
  285.         ACALL  DISP
  286.         LJMP   SETT
  287. ;;;;;;;;;;;;定时器中断;;;;;;;;;;;;
  288. T0:     PUSH ACC
  289.          PUSH B
  290.          PUSH PSW
  291.          MOV TH0,#3CH
  292.          MOV TL0,#0AFH
  293.          DJNZ 60H,OVER
  294.          MOV 60H,#20
  295.          SETB 4FH
  296. OVER:    POP PSW
  297.          POP B
  298.          POP ACC
  299.          RETI
  300.    ;;;;;;;;;;;;;;;显示模块2 ;;;;;;;;;;;;;;;;;
  301. DISP:
  302.         MOV DPTR,#DSEG1
  303.         MOV A,30H
  304.         MOVC A,@A+DPTR
  305.         MOV P2,#0EFH
  306.         MOV P0,A
  307.         LCALL DL1
  308.         MOV DPTR ,#DSEG1
  309.         MOV A,31H
  310.         MOVC A,@A+DPTR
  311.         MOV P2,#0DFH
  312.         MOV P0,A
  313.         LCALL DL1
  314.         RET
  315. ;;;;;;;;;;;;;;;DELAY
  316. DL1:        MOV        R7,#05H
  317. DL:        MOV        R6,#0FFH
  318. DL6:        DJNZ        R6,$
  319.         DJNZ        R7,DL
  320.         RET
  321. DSEG1:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
  322. ;;;;;;;;;;;;;INT1中断修改;;;;;;;;;;
  323.   INT1:
  324.         PUSH ACC
  325.         PUSH B
  326.         PUSH PSW
  327.         MOV P1,#0CH
  328.         SETB P1.0
  329.         CLR P1.1
  330.         CLR P1.2
  331.         SETB P1.4; 紧急情况,东西(B道)方向,南北(A道)方向都是红灯亮,其余灯灭
  332.         CLR P1.5
  333.         CLR P1.6
  334. TAB3:   MOV P0,#0FFH
  335.         MOV P2,#0
  336. ……………………

  337. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
ac05d11fb430f757a805bcfa632209f4.rar (26.7 KB, 下载次数: 76)

评分

参与人数 1黑币 +4 收起 理由
793603160 + 4 我上学时也做过相关的作业,但是使用plc做.

查看全部评分

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

使用道具 举报

沙发
ID:72444 发表于 2017-6-20 16:20 | 只看该作者
不错,支持下
回复

使用道具 举报

板凳
ID:213119 发表于 2017-6-27 10:46 | 只看该作者
感谢楼主。
回复

使用道具 举报

地板
ID:168523 发表于 2017-10-26 16:43 | 只看该作者
不错的东西,学习
回复

使用道具 举报

5#
ID:243170 发表于 2017-10-26 16:48 | 只看该作者
支持一下
回复

使用道具 举报

6#
ID:243170 发表于 2017-10-26 16:49 | 只看该作者
支持楼主的分享
回复

使用道具 举报

7#
ID:635227 发表于 2019-11-4 10:44 | 只看该作者
支持楼主的分享11
回复

使用道具 举报

8#
ID:663191 发表于 2019-12-14 17:03 | 只看该作者
能说下元件代号嘛
回复

使用道具 举报

9#
ID:663191 发表于 2019-12-14 17:03 | 只看该作者
能说明一下元件代号嘛
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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