找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2528|回复: 3
收起左侧

单片机十字路口交通灯AT89C51仿真

[复制链接]
ID:350270 发表于 2018-6-12 15:23 | 显示全部楼层 |阅读模式
0.png

单片机源程序如下:

  1.            #include <REGX51.H>

  2.                 SECOND1 EQU 30H
  3.                 SECOND2 EQU 31H
  4.                 DBUF EQU 40H
  5.                 TEMP EQU 44H
  6.                 LED_G1 BIT P2.1
  7.                 LED_Y1 BIT P2.2
  8.                 LED_R1 BIT P2.3
  9.                 LED_G2 BIT P2.4
  10.                 LED_Y2 BIT P2.5
  11.                 LED_R2 BIT P2.6

  12.                 ORG 0000H
  13.                 LJMP START
  14.                 ORG 0100H
  15. START:
  16.                 MOV TMOD,#01H
  17.                 MOV TH0,#3CH
  18.                 MOV TL0,#0B0H
  19.                 CLR TF0
  20.                 SETB TR0
  21.                 CLR A
  22.                 MOV P2,A

  23. LOOP:
  24.                 MOV R2,#20
  25.                 MOV R3,#20
  26.                 MOV SECOND1,#25
  27.                 MOV SECOND2,#25
  28.                 LCALL DISPLAY
  29.                 LCALL STATE1
  30. WAIT1:
  31.                 JNB TF0,WAIT1
  32.                 CLR TF0
  33.                 MOV TH0,#3CH
  34.                 MOV TL0,#0B0H
  35.                 DJNZ R2,WAIT1
  36.                 MOV R2,#20
  37.                 DEC SECOND1
  38.                 DEC SECOND2
  39.                 LCALL DISPLAY
  40.                 DJNZ R3,WAIT1

  41.                 MOV R2,#5
  42.                 MOV R3,#3
  43.                 MOV R4,#4
  44.                 MOV SECOND1,#5
  45.                 MOV SECOND2,#5
  46.                 LCALL DISPLAY
  47. WAIT2:
  48.                 LCALL STATE2
  49.                 JNB TF0,WAIT2
  50.                 CLR TF0
  51.                 MOV TH0,#3CH
  52.                 MOV TL0,#0B0H
  53.                 DJNZ R4,WAIT2
  54.                 CPL LED_G1
  55.                 MOV R4,#4
  56.                 DJNZ R2,WAIT2
  57.                 MOV R2,#5
  58.                 DEC SECOND1
  59.                 DEC SECOND2
  60.                 LCALL DISPLAY
  61.                 DJNZ R3,WAIT2


  62.                 MOV R2,#20
  63.                 MOV R3,#2
  64.                 MOV SECOND1,#2
  65.                 MOV SECOND2,#2
  66.                 LCALL DISPLAY
  67. WAIT3:
  68.                 LCALL STATE3
  69.                 JNB TF0,WAIT3
  70.                 CLR TF0
  71.                 MOV TH0,#3CH
  72.                 MOV TL0,#0B0H
  73.                 DJNZ R2,WAIT3
  74.                 MOV R2,#20
  75.                 DEC SECOND1
  76.                 DEC SECOND2
  77.                 LCALL DISPLAY
  78.                 DJNZ R3,WAIT3
  79.                
  80.                 MOV R2,#20
  81.                 MOV R3,#20
  82.                 MOV SECOND1,#25
  83.                 MOV SECOND2,#25
  84.                 LCALL DISPLAY
  85. WAIT4:
  86.                 LCALL STATE4
  87.                 JNB TF0,WAIT4
  88.                 CLR TF0
  89.                 MOV TH0,#3CH
  90.                 MOV TL0,#0B0H
  91.                 DJNZ R2,WAIT4
  92.                 MOV R2,#20
  93.                 DEC SECOND1
  94.                 DEC SECOND2
  95.                 LCALL DISPLAY
  96.                 DJNZ R3,WAIT4

  97.                 MOV R2,#5
  98.                 MOV R4,#4
  99.                 MOV R3,#3
  100.                 MOV SECOND1,#5
  101.                 MOV SECOND2,#5
  102.                 LCALL DISPLAY
  103. WAIT5:
  104.                 LCALL STATE5
  105.                 JNB TF0 ,WAIT5
  106.                 CLR TF0
  107.                 MOV TH0,#3CH
  108.                 MOV TL0,#0B0H
  109.                 DJNZ R4,WAIT5
  110.                 CPL LED_G2
  111.                 MOV R4,#4
  112.                 DJNZ R2,WAIT5
  113.                 MOV R2,#5
  114.                 DEC SECOND1
  115.                 DEC SECOND2
  116.                 LCALL DISPLAY
  117.                 DJNZ R3,WAIT5

  118.                 MOV R2,#20
  119.                 MOV R3,#2
  120.                 MOV SECOND1,#2
  121.                 MOV SECOND2,#2
  122.                 LCALL DISPLAY
  123. WAIT6:
  124.                 LCALL STATE6
  125.                 JNB TF0,WAIT6
  126.                 CLR TF0
  127.                 MOV TH0,#3CH
  128.                 MOV TL0,#0B0H
  129.                 DJNZ R2,WAIT6
  130.                 MOV R2,#20
  131.                 DEC SECOND1
  132.                 DEC SECOND2
  133.                 LCALL DISPLAY
  134.                 DJNZ R3,WAIT6
  135.                 LJMP LOOP
  136. STATE1:
  137.                 SETB LED_G1
  138.                 CLR LED_Y1
  139.                 CLR LED_R1
  140.                 CLR LED_G2
  141.                 CLR LED_Y2
  142.                 SETB LED_R2
  143.                 RET
  144. STATE2:
  145.                 CLR LED_Y1
  146.                 CLR LED_R1
  147.                 CLR LED_G2
  148.                 CLR LED_Y2
  149.                 SETB LED_R2
  150.                 RET
  151. STATE3:
  152.                 CLR LED_G1
  153.                 SETB LED_Y1
  154.                 CLR LED_R1
  155.                 CLR LED_G2
  156.                 CLR LED_Y2
  157.                 SETB LED_R2
  158.                 RET
  159. STATE4:
  160.                 CLR LED_G1
  161.                 CLR LED_Y1
  162.                 SETB LED_R1
  163.                 SETB LED_G2
  164.                 CLR LED_Y2
  165.                 CLR LED_R2
  166.                 RET
  167. STATE5:
  168.                 CLR LED_G1
  169.                 CLR LED_Y1
  170.                 SETB LED_R1
  171.                 CLR LED_Y2
  172.                 CLR LED_R2
  173.                 RET
  174. STATE6:
  175.                 CLR LED_G1
  176.                 CLR LED_Y1
  177.                 SETB LED_R1
  178.                 CLR LED_G2
  179.                 CLR LED_R2
  180.                 SETB LED_Y2
  181.                 RET

  182. DISPLAY:
  183.                 MOV A,SECOND1
  184.                 MOV B,#10
  185.                 DIV AB
  186.                 MOV DBUF+3,A
  187.                 MOV A,B
  188.                 MOV DBUF+2,A
  189.                 MOV A,SECOND2
  190.                 MOV B,#10
  191.                 DIV AB
  192.                 MOV DBUF+1,A
  193.                 MOV A,B
  194.                 MOV DBUF,A
  195.                 MOV R0,#DBUF
  196.                 MOV R1,#TEMP
  197.                 MOV R7,#4
  198. DP10:
  199.                 MOV DPTR,#LEDMAP
  200.                 MOV A,@R0
  201.                 MOVC A,@A+DPTR
  202.                 MOV @R1,A
  203.                 INC R0
  204.                 INC R1
  205. ……………………

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

所有资料51hei提供下载:
交通灯.rar (142.59 KB, 下载次数: 39)
回复

使用道具 举报

ID:349918 发表于 2018-6-15 20:04 | 显示全部楼层
可以不用74ls164,用一些基础简单的电路吗,这个元件不会用
回复

使用道具 举报

ID:349918 发表于 2018-6-15 20:05 | 显示全部楼层
可以不用74ls164做一个吗,这个元件不会用,可以用一些基础简单的电路吗?
回复

使用道具 举报

ID:1085175 发表于 2023-7-3 22:26 | 显示全部楼层
这个搭建需要震荡电路吗
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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