?? 4.lst
字號:
頁 1
01-29-03
01:12:20
偉福匯編器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 機器碼 源程序
;************************;
;八路模擬數據采集顯示電路;
; 2001.10.08編 ;
;************************;
;
;70H-77H存放采樣值,78H-7BH存放顯示數據,依次為個位、十位、百位、通道標志
;
;*************************************
;* *
;* 主程序和中斷程序入口 *
;* *
;*************************************
ORG 0000H ;程序執行開始地址
0000 020040 LJMP START ;跳至START執行
ORG 0003H ;外中斷0中斷入口地址
0003 32 RETI ;中斷返回(不開中斷)
ORG 000BH ;定時器T0中斷入口地址
000B 32 RETI ;中斷返回(不開中斷)
ORG 0013H ;外中斷1中斷入口地址
0013 32 RETI ;中斷返回(不開中斷)
ORG 001BH ;定時器T1中斷入口地址
001B 32 RETI ;中斷返回(不開中斷)
ORG 0023H ;串行口中斷入口地址
0023 32 RETI ;中斷返回(不開中斷)
ORG 002BH ;定時器T2中斷入口地址
002B 32 RETI ;中斷返回(不開中斷)
;
;*************************************
;* *
;* 初始化程序中的各變量 *
;* *
;*************************************
002C E4 CLEARMEMIO: CLR A ;
002D F5A0 MOV P2,A ;P2口置0
002F 7870 MOV R0,#70H ;內存循環清0(70H-7BH)
0031 7A0C MOV R2,#0CH ;
0033 F6 LOOPMEM: MOV @R0,A ;
0034 08 INC R0 ;
0035 DAFC DJNZ R2,LOOPMEM ;
0037 74FF MOV A,#0FFH ;
0039 F580 MOV P0,A ;P0、P1、P3端口置1
003B F590 MOV P1,A ;
003D F5B0 MOV P3,A ;
003F 22 RET ;子程序返回
;
;*************************************
;* *
;* 主 程 序 *
C:\MY DOCUMENTS\2003.02.12書稿\配套光盤源程序\實例4\4.ASM
頁 2
01-29-03
01:12:20
偉福匯編器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 機器碼 源程序
;* *
;*************************************
0040 12002C START: LCALL CLEARMEMIO ;初始化
0043 120051 MAIN: LCALL DISPLAY ;顯示數據一次
0046 1200B2 LCALL TEST ;測量一次
0049 0143 AJMP MAIN ;返回MAIN循環
004B 00 NOP ;PC值出錯處理
004C 00 NOP ;空操作
004D 00 NOP ;空操作
004E 020040 LJMP START ;重新復位起動
;
0051 7B08 DISPLAY: MOV R3,#08H ;8路信號循環顯示控制
0053 7870 MOV R0,#70H ;顯示數據初址(70H-77H)
0055 757B00 MOV 7BH,#00H ;顯示通道路數(0-7)
0058 E6 DISLOOP1: MOV A,@R0 ;顯示數據轉為三位十進制BCD碼存入
0059 75F064 MOV B,#100 ;7AH、79H、78H顯示單元內
005C 84 DIV AB ;顯示數據除100
005D F57A MOV 7AH,A ;商入7AH
005F 740A MOV A,#10 ;A放入數10
0061 C5F0 XCH A,B ;余數與數10交換
0063 84 DIV AB ;余數除10
0064 F579 MOV 79H,A ;商入79H
0066 85F078 MOV 78H,B ;余數入78H
0069 7AFF MOV R2,#0FFH ;每路顯示時間控制 4MS*255
006B 120076 DISLOOP2: LCALL DISP ;調四位LED顯示程序
006E DAFB DJNZ R2,DISLOOP2 ;每路顯示時間控制
0070 08 INC R0 ;顯示下一路
0071 057B INC 7BH ;通道顯示數值加1
0073 DBE3 DJNZ R3,DISLOOP1 ;8路顯示未完轉DISLOOP1再循環
0075 22 RET ;8路顯示完子程序結束
;
; LED共陽顯示子程序,顯示內容在78H-7BH,數據在P1輸出,列掃描在P3.0-P3.3口
0076 7978 DISP: MOV R1,#78H ;賦顯示數據單元首址
0078 7DFE MOV R5,#0FEH ;掃描字
007A 7590FF PLAY: MOV P1,#0FFH ;關顯示
007D ED MOV A,R5 ;取掃描字
007E 52B0 ANL P3,A ;開顯示
0080 E7 MOV A,@R1 ;取顯示數據
0081 90009E MOV DPTR,#TAB ;取段碼表首址
0084 93 MOVC A,@A+DPTR ;查顯示數據對應段碼
0085 F590 MOV P1,A ;段碼放入P1口
0087 1200A9 LCALL DL1MS ;顯示1MS
008A 09 INC R1 ;指向下一地址
008B E5B0 MOV A,P3 ;取P3口掃描字
008D 30E307 JNB ACC.3,ENDOUT ;四位顯示完轉ENDOUT結束
0090 23 RL A ;掃描字循環左移
0091 FD MOV R5,A ;掃描字放入R5暫存
0092 75B0FF MOV P3,#0FFH ;顯示暫停
C:\MY DOCUMENTS\2003.02.12書稿\配套光盤源程序\實例4\4.ASM
頁 3
01-29-03
01:12:20
偉福匯編器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 機器碼 源程序
0095 017A AJMP PLAY ;轉PLAY循環
0097 75B0FF ENDOUT: MOV P3,#0FFH ;顯示結束,端口置1
009A 7590FF MOV P1,#0FFH ;
009D 22 RET ;子程序返回
;
;LED數碼顯示管用共陽段碼表,分別對應0-9,最后一個是"熄滅符"
009E C0F9A4
00A1 B09992
00A4 82F880
00A7 90FF TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH
;
; 1MS延時子程序,LED顯示用
00A9 7E14 DL1MS: MOV R6,#14H ;
00AB 7F19 DL1: MOV R7,#19H
00AD DFFE DL2: DJNZ R7,DL2
00AF DEFA DJNZ R6,DL1
00B1 22 RET
;
;模數轉換測量子程序
00B2 E4 TEST: CLR A ;清累加器A
00B3 F5A0 MOV P2,A ;清P2口
00B5 7870 MOV R0,#70H ;轉換值存放首址
00B7 7F08 MOV R7,#08H ;轉換8次控制
00B9 1200C1 LCALL TESTART ;啟動測試
00BC 20B713 WAIT: JB P3.7,MOVD ;等A/D轉換結束信號后轉MOVD
00BF 01BC AJMP WAIT ;P3.7為0等待
;
00C1 D2A3 TESTART: SETB P2.3 ;鎖存測試通道地址
00C3 00 NOP ; 延時2微秒
00C4 00 NOP ;
00C5 C2A3 CLR P2.3 ;測試通道地址鎖存完畢
00C7 D2A4 SETB P2.4 ; 啟動測試,發開始脈沖
00C9 00 NOP ; 延時2微秒
00CA 00 NOP ;
00CB C2A4 CLR P2.4 ; 發啟動脈沖完畢
00CD 00 NOP ;延時4微秒
00CE 00 NOP ;
00CF 00 NOP ;
00D0 00 NOP ;
00D1 22 RET ;子程序調用結束
;
; 取A/D轉換數據至70H-77H內存單元
00D2 D2A5 MOVD: SETB P2.5 ;8090輸出允許
00D4 E580 MOV A,P0 ;將A/D轉換值移入A
00D6 F6 MOV @R0,A ;放入內存單元
00D7 C2A5 CLR P2.5 ;關閉8090輸出
00D9 08 INC R0 ;內存地址加1
00DA E5A0 MOV A,P2 ;通道地址移入A
C:\MY DOCUMENTS\2003.02.12書稿\配套光盤源程序\實例4\4.ASM
頁 4
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -