📄 交通灯控制.lst
字号:
A51 MACRO ASSEMBLER 交蚠灯縚制 04/28/2006 15:06:04 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN 交通灯控制.OBJ
ASSEMBLER INVOKED BY: D:\Program Files\Keil\C51\BIN\A51.EXE 交通灯控制.asm SET(SMALL) EP
LOC OBJ LINE SOURCE
1 ;晶振12M
2 ;CPU:ATMEL89s51/89s52
3
0030 4 sec equ 30h
0031 5 sec1 equ 31h
0032 6 sec2 equ 32h
0033 7 sec3 equ 33h
8
0034 9 ge_bit equ 34h
0035 10 shi_bit equ 35h
11
0036 12 deng1 equ 36h
0037 13 deng2 equ 37h
0038 14 biaozhi1 equ 38h
0039 15 biaozhi2 equ 39h
16
17
0000 18 org 0000h
0000 020069 19 ljmp start
000B 20 org 000bh
000B 020030 21 ljmp ET_0
001B 22 org 001bh
001B 020033 23 ljmp ET_1
24
25
0030 26 org 0030h
0030 0531 27 ET_0:inc sec1 ;sec1每200us就加1
0032 32 28 RETI
29
0033 758DFF 30 ET_1:mov th1,#0ffh ;形成175μ秒中断(200偏低音,100、150偏高音)
0036 758B51 31 mov tl1,#51h
0039 B2B7 32 cPL p3.7
003B 32 33 RETI
34
003C E531 35 reflash:mov a,sec1
003E 75F005 36 mov b,#5
0041 84 37 div ab
0042 85F031 38 mov sec1,b
0045 2532 39 add a,sec2 ;sec2每200us×5=1ms就加1
0047 75F064 40 mov b,#100
004A 84 41 div ab
004B 85F032 42 mov sec2,b
004E 2533 43 add a,sec3 ;sec3每1ms×100=0.1s就加1
0050 75F00A 44 mov b,#10
0053 84 45 div ab
0054 85F033 46 mov sec3,b
0057 B4010E 47 cjne a,#1,exit ;sec每0.1s×10=1就减1
005A 1536 48 dec deng1
005C 1537 49 dec deng2
005E 0530 50 inc sec
0060 E530 51 mov a,sec
0062 B48C03 52 cjne a,#140,exit
0065 753000 53 mov sec,#00
0068 22 54 exit:ret
55
0069 753000 56 start:mov sec,#00h
006C 753100 57 mov sec1,#00h
006F 753200 58 mov sec2,#00h
A51 MACRO ASSEMBLER 交蚠灯縚制 04/28/2006 15:06:04 PAGE 2
0072 753300 59 mov sec3,#00h
60
0075 753600 61 mov deng1,#00h
0078 753700 62 mov deng2,#00h
63
007B 758160 64 mov sp,#60h
007E 75A800 65 mov ie,#00h
66
0081 758912 67 mov tmod,#12h ;T0&T1方式选择 T1方式1,16位计数器;T0方式2,8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -