?? 6r.lst
字號(hào):
頁 1
01-29-03
01:39:10
偉福匯編器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 機(jī)器碼 源程序
; *************************************
; * (INCEPT3.ASM) *
; * 十五路遙控接收板 *
; * 2001.7.18 *
; * *
; *************************************
;
;**********************************************************************
;* *
;* A P1.0 1 40 VCC *
;* B P1.1 2 39 P0.0 LED0 *
;* C P1.2 3 38 P0.1 LED1 *
;* P1.3 4 37 P0.2 LED2 *
;* P1.4 5 36 P0.3 LED3 *
;* P1.5 6 35 P0.4 LED4 *
;* P1.6 7 34 P0.5 LED5 *
;* P1.7 8 33 P0.6 LED6 *
;* 100HZ RST 9 32 P0.7 LED7 *
;* P3.0 10 MCS-51 31 EA VDD *
;* P3.1 11 30 ALE *
;* REMOTEIN P3.2 12 29 PSEN *
;* P3.3 13 28 P2.7 調(diào)光脈沖 *
;* P3.4 14 27 P2.6 LED8 *
;* P3.5 15 26 P2.5 LED9 *
;* P3.6 16 25 P2.4 LED10 *
;* P3.7 17 24 P2.3 LED11 *
;* XTAL2 18 23 P2.2 LED12 *
;* XTAL1 19 22 P2.1 LED13 *
;* VSS 20 21 P2.0 DEV14(燈泡) *
;* *
;* *
;**********************************************************************
;注:P3.0為100HZ的交流電源過零點(diǎn)相位參考輸入
;
;
;*************************************
;* *
;* 主程序和中斷程序入口 *
;* *
;*************************************
ORG 0000H ;程序開始地址
0000 02003E LJMP START ;跳至START執(zhí)行
ORG 0003H ;外中斷0中斷入口
0003 020059 LJMP INTEX0 ;跳至INTEX0執(zhí)行中斷服務(wù)程序
ORG 000BH ;定時(shí)器T0中斷入口地址
000B 32 RETI ;中斷返回(不開中斷)
ORG 0013H ;外中斷1中斷入口地址
0013 32 RETI ;中斷返回(不開中斷)
C:\MY DOCUMENTS\2003.02.12書稿\配套光盤源程序\實(shí)例6\6R.ASM
頁 2
01-29-03
01:39:10
偉福匯編器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 機(jī)器碼 源程序
ORG 001BH ;定時(shí)器T1中斷入口地址
001B 32 RETI ;中斷返回(不開中斷)
ORG 0023H ;串行口中斷入口地址
0023 32 RETI ;中斷返回(不開中斷)
ORG 002BH ;定時(shí)器T2中斷入口地址
002B 32 RETI ;中斷返回(不開中斷)
;
;***************************
;* *
;* 初始化程序 *
;* *
;****************************
002C E4 CLEARMEMIO: CLR A ;
002D 14 DEC A ;A為#0FFH
002E F580 MOV P0,A ;P1-P3口置1
0030 F590 MOV P1,A ;
0032 F5A0 MOV P2,A ;
0034 F5B0 MOV P3,A ;
0036 75A800 CLEARMEM: MOV IE,#00H ;關(guān)所有中斷
0039 D2A8 SETB EX0 ;開外中斷
003B D2AF SETB EA ;總中斷允許
003D 22 RET ;子程序返回
;
;*************************************
;* *
;* 主程序 *
;* *
;*************************************
003E 12002C START: LCALL CLEARMEMIO ;上電初始化
0041 120128 LCALL LOOP ;調(diào)用調(diào)光控制程序
;
0044 20B0FD MAIN: JB P3.0,MAIN ;50HZ交流電未過零轉(zhuǎn)MAIN
0047 120120 LCALL DLX ;過零點(diǎn)時(shí)調(diào)用延時(shí)子程序(延時(shí)可變)
004A C2A7 CLR P2.7 ;發(fā)調(diào)光脈沖
004C 120113 LCALL DELAY ;持續(xù)512微秒
004F D2A7 SETB P2.7 ;關(guān)調(diào)光脈沖
0051 020044 LJMP MAIN ;轉(zhuǎn)MAIN循環(huán)
0054 00 NOP ;PC值出錯(cuò)處理
0055 00 NOP
0056 02003E LJMP START ;出錯(cuò)時(shí)重新初始化
;******************************
; 遙控接收程序
;******************************
;采用中斷接收
0059 C2A8 INTEX0: CLR EX0 ;關(guān)外中斷
005B 30B103 JNB P3.1,READ1 ;P3.1口為低電平轉(zhuǎn)READ1
005E D2A8 READOUTT0: SETB EX0 ;P3.1口為高電平開中斷(系干擾)
0060 32 RETI ;退出中斷
C:\MY DOCUMENTS\2003.02.12書稿\配套光盤源程序\實(shí)例6\6R.ASM
頁 3
01-29-03
01:39:10
偉福匯編器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 機(jī)器碼 源程序
;
0061 E4 READ1: CLR A ;清A
0062 F583 MOV DPH,A ;清DPTR
0064 F582 MOV DPL,A ;
0066 20B105 HARD1: JB P3.1,HARD11 ;P3.1變高電平轉(zhuǎn)HARD11
0069 A3 INC DPTR ;用DPTR對(duì)低電平計(jì)數(shù)
006A 00 NOP ;1微秒延時(shí)
006B 00 NOP
006C 0166 AJMP HARD1 ;轉(zhuǎn)HARD1循環(huán)(循環(huán)周期為8微秒)
006E E583 HARD11: MOV A,DPH ;DPTR高8位放入A
0070 60EC JZ READOUTT0 ;為0(脈寬小于8*255=2毫秒)退出
0072 E4 CLR A ;不為0,說明是第一個(gè)寬脈沖(3毫秒)
0073 04 READ11: INC A ;脈沖個(gè)數(shù)計(jì)1
0074 30B1FD READ12: JNB P3.1,READ12 ;低電平時(shí)等待
0077 7906 MOV R1,#06H ;高電平寬度判斷定時(shí)值
0079 30B1F7 READ13: JNB P3.1,READ11 ;變低電平時(shí)轉(zhuǎn)READ11脈沖計(jì)數(shù)
007C 120113 LCALL DELAY ;延時(shí)(512微秒)
007F D9F8 DJNZ R1,READ13 ;6次延時(shí)不到轉(zhuǎn)READ13再延時(shí)
0081 14 DEC A ;超過3毫秒判為結(jié)束,減1
0082 14 DEC A ;減1
0083 6032 JZ FUN0 ;為0執(zhí)行FUN0(2個(gè)脈沖)
0085 14 DEC A ;減1
0086 6034 JZ FUN1 ;為0執(zhí)行FUN1(3個(gè)脈沖)
0088 14 DEC A ;
0089 6036 JZ FUN2 ;為0執(zhí)行FUN2(4個(gè)脈沖)
008B 14 DEC A ;
008C 6038 JZ FUN3 ;為0執(zhí)行FUN3(5個(gè)脈沖)
008E 14 DEC A ;
008F 603A JZ FUN4 ;為0執(zhí)行FUN4(6個(gè)脈沖)
0091 14 DEC A ;
0092 603C JZ FUN5 ;為0執(zhí)行FUN5(7個(gè)脈沖)
0094 14 DEC A ;
0095 603E JZ FUN6 ;為0執(zhí)行FUN6(8個(gè)脈沖)
0097 14 DEC A ;
0098 6040 JZ FUN7 ;為0執(zhí)行FUN7(9個(gè)脈沖)
009A 14 DEC A ;
009B 6042 JZ FUN8 ;為0執(zhí)行FUN8(10個(gè)脈沖)
009D 14 DEC A ;
009E 6044 JZ FUN9 ;為0執(zhí)行FUN9(11個(gè)脈沖)
00A0 14 DEC A ;
00A1 6046 JZ FUN10 ;為0執(zhí)行FUN10(12個(gè)脈沖)
00A3 14 DEC A ;
00A4 6048 JZ FUN11 ;為0執(zhí)行FUN11(13個(gè)脈沖)
00A6 14 DEC A ;
00A7 604A JZ FUN12 ;為0執(zhí)行FUN12(14個(gè)脈沖)
00A9 14 DEC A ;
00AA 604C JZ FUN13 ;為0執(zhí)行FUN13(15個(gè)脈沖)
00AC 14 DEC A ;
C:\MY DOCUMENTS\2003.02.12書稿\配套光盤源程序\實(shí)例6\6R.ASM
頁 4
01-29-03
01:39:10
偉福匯編器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 機(jī)器碼 源程序
00AD 604E JZ FUN14 ;為0執(zhí)行FUN14(16個(gè)脈沖)
00AF 14 DEC A ;
00B0 6050 JZ FUN15 ;為0執(zhí)行FUN15(17個(gè)脈沖)
00B2 00 NOP ;
00B3 00 NOP ;
00B4 02005E LJMP READOUTT0 ;出錯(cuò)退出
;
00B7 B280 FUN0: CPL P0.0 ;P0口各端口開關(guān)輸出控制
00B9 02005E LJMP READOUTT0 ;轉(zhuǎn)中斷退出
00BC B281 FUN1: CPL P0.1 ;
00BE 02005E LJMP READOUTT0 ;
00C1 B282 FUN2: CPL P0.2
00C3 02005E LJMP READOUTT0
00C6 B283 FUN3: CPL P0.3
00C8 02005E LJMP READOUTT0
00CB B284 FUN4: CPL P0.4
00CD 02005E LJMP READOUTT0
00D0 B285 FUN5: CPL P0.5
00D2 02005E LJMP READOUTT0
00D5 B286 FUN6: CPL P0.6
00D7 02005E LJMP READOUTT0
00DA B287 FUN7: CPL P0.7
00DC 02005E LJMP READOUTT0
00DF B2A6 FUN8: CPL P2.6 ;P2口各端口開關(guān)輸出控制
00E1 02005E LJMP READOUTT0 ;轉(zhuǎn)中斷退出
00E4 B2A5 FUN9: CPL P2.5
00E6 02005E LJMP READOUTT0
00E9 B2A4 FUN10: CPL P2.4
00EB 02005E LJMP READOUTT0
00EE B2A3 FUN11: CPL P2.3
00F0 02005E LJMP READOUTT0
00F3 B2A2 FUN12: CPL P2.2
00F5 02005E LJMP READOUTT0
00F8 B2A1 FUN13: CPL P2.1
00FA 02005E LJMP READOUTT0
00FD B2A0 FUN14: CPL P2.0 ;P2.0口開關(guān)控制
00FF 02005E LJMP READOUTT0 ;轉(zhuǎn)中斷退出
0102 1590 FUN15: DEC P1 ;P1口值減1
0104 E590 MOV A,P1 ;移入A
0106 B4F704 CJNE A,#0F7H,OUTT0 ;不等轉(zhuǎn)OUTT0(顯示值小于7)
0109 E4 CLR A ;相等清A
010A 14 DEC A ;A為#0FFH
010B F590 MOV P1,A ;放回P1(顯示值為7)
010D 120128 OUTT0: LCALL LOOP ;亮度調(diào)整
0110 02005E LJMP READOUTT0 ;中斷退出
;
;*************************************
;* 延時(shí) 255 X 2 = 512 us *
C:\MY DOCUMENTS\2003.02.12書稿\配套光盤源程序\實(shí)例6\6R.ASM
頁 5
01-29-03
01:39:10
偉福匯編器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 機(jī)器碼 源程序
;*************************************
;
0113 78FF DELAY: MOV R0,#0FFH
0115 D8FE DELAY1: DJNZ R0,DELAY1
0117 22 RET
;
;*************************************
;* 延時(shí)10 ms *
;*************************************
;
0118 7914 DL10MS: MOV R1,#14H
011A 120113 DL10MS1: LCALL DELAY
011D D9FB DJNZ R1,DL10MS1
011F 22 RET
;
;*************************************
;* 調(diào)光延時(shí)時(shí)間控制 *
;*************************************
;
0120 AAF0 DLX: MOV R2,B ;置延時(shí)初值
0122 120113 DLX1: LCALL DELAY ;調(diào)512微秒延時(shí)子程序
0125 DAFB DJNZ R2,DLX1 ;循環(huán)控制
0127 22 RET ;返回
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -