⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex10-1.sdi

📁 《单片机原理实用教程——基于Proteus虚拟仿真》一书的配套光盘
💻 SDI
📖 第 1 页 / 共 2 页
字号:
,,,        org     0000h                           ;单片机复位地址
0000,21 00,,        ajmp    main                            ;转移到主程序处
,,,        org     0100h                           ;main被定位在0x0100处
0100,75 81 80,main,main:  mov      sp,#80h                 ;初始化堆栈指针
0103,30 90 06,,        jnb     P1.0,cr
0106,30 91 10,,        jnb     P1.1,cv
0109,30 92 1A,,        jnb     P1.2,ca
010C,7F 00,cr,cr:     mov     R7,#00h
010E,12 01 33,,        lcall   adc
0111,12 02 35,,        LCALL   RDAT
0114,12 02 AA,,        lcall   DISPLAY
0117,80 E7,,        sjmp    main
0119,7F 01,CV,CV:     MOV     R7,#01H
011B,12 01 33,,        LCALL   ADC
011E,12 01 3D,,        LCALL   VDAT
0121,12 02 AA,,        LCALL   DISPLAY
0124,80 DA,,        SJMP    MAIN
0126,7F 02,CA,CA:     MOV     R7,#02H
0128,12 01 33,,        LCALL   ADC
012B,12 01 B4,,        LCALL   ADAT
012E,12 02 AA,,        LCALL   DISPLAY
0131,80 CD,,        SJMP    MAIN
,,,
0133,EF,ADC,ADC:    MOV    A,R7        ;0808 A/D转换子程序
0134,90 7F FF,,        MOV    DPTR,#7FFFH
0137,F0,,        MOVX   @DPTR,A
0138,20 B3 FD,,        JB     P3.3,$
013B,E0,,        MOVX   A,@DPTR    ;输入转换结果
013C,22,,        RET
,,,
,,,
013D,,vdat,vdat:
013D,7A 00,,                mov     R2,#00h
013F,FB,,                mov     R3,A
0140,7E 01,,                mov     R6,#01h
0142,7F F4,,                mov     R7,#0F4h
0144,12 02 E7,,                call    MULD2                           ;乘以500
0147,C3,,                clr     C
0148,ED,,                mov     A,r5
0149,24 60,,                add     A,#60h                          ;加96修正
014B,FD,,                mov     r5,A
014C,EC,,                mov     A,r4
014D,34 00,,                addc    A,#00h
014F,FC,,                mov     r4,A
0150,EB,,                mov     A,r3
0151,34 00,,                addc    A,#00h
0153,FB,,                mov     r3,A
0154,EA,,                mov     A,r2
0155,34 00,,                addc    A,#00h
0157,FA,,                mov     r2,A
0158,78 30,,                mov     r0,#30h
015A,79 34,,                mov     r1,#34h
015C,EA,,                mov     A,R2
015D,F7,,                mov     @r1,A
015E,09,,                inc     r1
015F,EB,,                mov     A,R3
0160,F7,,                mov     @r1,A
0161,09,,                inc     r1
0162,EC,,                mov     A,R4
0163,F7,,                mov     @r1,A
0164,09,,                inc     r1
0165,ED,,                mov     A,R5
0166,F7,,                mov     @r1,A
0167,09,,                inc     r1
0168,77 00,,                mov     @r1,#00h
016A,09,,                inc     r1
016B,77 00,,                mov     @r1,#00h
016D,09,,                inc     r1
016E,77 00,,                mov     @r1,#00h
0170,09,,                inc     r1
0171,77 FF,,                mov     @r1,#0FFh
0173,12 03 17,,                call    DIVD4                           ;除以255
0176,79 38,,                mov     r1,#38h
0178,77 00,,                mov     @r1,#00h
017A,09,,                inc     r1
017B,77 00,,                mov     @r1,#00h
017D,09,,                inc     r1
017E,77 00,,                mov     @r1,#00h
0180,09,,                inc     r1
0181,77 0A,,                mov     @r1,#0Ah
0183,12 03 17,,                call    DIVD4
0186,85 33 43,,                mov     43h,33h
0189,12 03 17,,                call    DIVD4
018C,85 33 42,,                mov     42h,33h
018F,12 03 17,,                call    DIVD4
0192,85 33 41,,                mov     41h,33h
0195,78 40,,                mov     r0,#40h
0197,76 00,,                mov     @r0,#00h
0199,08,,                inc     r0
019A,E5 41,,                mov     A,41h
019C,90 02 A0,,                mov     DPTR,#SEGMENT7
019F,93,,                movc    A,@A+DPTR
01A0,44 80,,                orl     A,#80h
01A2,F6,,                mov     @r0,A
01A3,08,,                inc     r0
01A4,E5 42,,                mov     A,42h
01A6,90 02 A0,,                mov     DPTR,#SEGMENT7
01A9,93,,                movc    A,@A+DPTR
01AA,F6,,                mov     @r0,A
01AB,08,,                inc     r0
01AC,E5 43,,                mov     A,43h
01AE,90 02 A0,,                mov     DPTR,#SEGMENT7
01B1,93,,                movc    A,@A+DPTR
01B2,F6,,                mov     @r0,A
01B3,22,,                ret
,,,
01B4,,ADAT,ADAT:
01B4,F5 F0,,                mov     B,A
01B6,74 B6,,                mov     A,#0B6h
01B8,C3,,                clr     C                               ;以下根据范围设置数值以防溢出
01B9,95 F0,,                subb    A,B
01BB,40 08,,                jc      LARGERA
01BD,E5 F0,,                mov     A,B
01BF,94 16,,                subb    A,#16h
01C1,40 06,,                jc      LESSA
01C3,21 CD,,                ajmp    MIDDLEA
01C5,74 B6,LARGERA,LARGERA:        mov     A,#0B6h
01C7,21 CF,,                ajmp    CALCULATEA
01C9,74 16,LESSA,LESSA:          mov     A,#16h
01CB,21 CF,,                ajmp    CALCULATEA
01CD,E5 F0,MIDDLEA,MIDDLEA:        mov     A,B
01CF,7A C3,CALCULATEA,CALCULATEA:     mov     r2,#0C3h
01D1,7B 50,,                mov     r3,#50h
01D3,7E 00,,                mov     r6,#00h
01D5,FF,,                mov     r7,A
01D6,12 02 E7,,                call    MULD2                   ;乘以50000
01D9,C3,,                clr     C
01DA,ED,,                mov     A,r5
01DB,94 70,,                subb    A,#70h                  ;以下减去102000
01DD,FD,,                mov     r5,A
01DE,F5 37,,                mov     37h,A
01E0,EC,,                mov     A,r4
01E1,94 8E,,                subb    A,#8Eh
01E3,FC,,                mov     r4,A
01E4,F5 36,,                mov     36h,A
01E6,EB,,                mov     A,r3
01E7,94 01,,                subb    A,#01h
01E9,FB,,                mov     r3,A
01EA,F5 35,,                mov     35h,A
01EC,EA,,                mov     A,r2
01ED,94 00,,                subb    A,#00h
01EF,FA,,                mov     r2,A
01F0,F5 34,,                mov     34h,A
01F2,78 30,,                mov     r0,#30h
01F4,79 38,,                mov     r1,#38h
01F6,77 00,,                mov     @r1,#00h
01F8,09,,                inc     r1
01F9,77 01,,                mov     @r1,#01h
01FB,09,,                inc     r1
01FC,77 5E,,                mov     @r1,#5Eh
01FE,09,,                inc     r1
01FF,77 A0,,                mov     @r1,#0A0h
0201,12 03 17,,                call    DIVD4                   ;除以89760
0204,79 38,,                mov     r1,#38h
0206,77 00,,                mov     @r1,#00h
0208,09,,                inc     r1
0209,77 00,,                mov     @r1,#00h
020B,09,,                inc     r1
020C,77 00,,                mov     @r1,#00h
020E,09,,                inc     r1
020F,77 0A,,                mov     @r1,#0Ah
0211,90 02 A0,,                mov     DPTR,#SEGMENT7
0214,12 03 17,,                call    DIVD4
0217,E5 33,,                mov     A,33h
0219,93,,                movc    A,@A+DPTR
021A,F5 43,,                mov     43h,A
021C,12 03 17,,                call    DIVD4
021F,E5 33,,                mov     A,33h
0221,93,,                movc    A,@A+DPTR
0222,F5 42,,                mov     42h,A
0224,12 03 17,,                call    DIVD4
0227,E5 33,,                mov     A,33h
0229,93,,                movc    A,@A+DPTR
022A,B4 3F 02,,                cjne    A,#3Fh,NOTEQU
022D,74 00,,                mov     A,#00h
022F,F5 41,NOTEQU,NOTEQU:         mov     41h,A
0231,75 40 00,,                mov     40h,#00h
0234,22,,                RET
,,,
0235,,rdat,rdat:
0235,7A 00,,                mov     R2,#00h
0237,FB,,                mov     R3,A
0238,7E 03,,                mov     R6,#03h
023A,7F E8,,                mov     R7,#0E8h
023C,12 02 E7,,                call    MULD2           ;乘以1000
023F,78 30,,                mov     r0,#30h
0241,79 34,,                mov     r1,#34h
0243,EA,,                mov     A,R2
0244,F7,,                mov     @r1,A
0245,09,,                inc     r1
0246,EB,,                mov     A,R3
0247,F7,,                mov     @r1,A
0248,09,,                inc     r1
0249,EC,,                mov     A,R4
024A,F7,,                mov     @r1,A
024B,09,,                inc     r1
024C,ED,,                mov     A,R5
024D,F7,,                mov     @r1,A
024E,09,,                inc     r1
024F,77 00,,                mov     @r1,#00h
0251,09,,                inc     r1
0252,77 00,,                mov     @r1,#00h
0254,09,,                inc     r1
0255,77 00,,                mov     @r1,#00h
0257,09,,                inc     r1
0258,77 FF,,                mov     @r1,#0FFh
025A,12 03 17,,                call    DIVD4                           ;除以255
025D,79 38,,                mov     r1,#38h
025F,77 00,,                mov     @r1,#00h
0261,09,,                inc     r1
0262,77 00,,                mov     @r1,#00h
0264,09,,                inc     r1
0265,77 00,,                mov     @r1,#00h
0267,09,,                inc     r1
0268,77 0A,,                mov     @r1,#0Ah
026A,90 02 A0,,                mov     DPTR,#SEGMENT7
026D,12 03 17,,                call    DIVD4                           ;连续进行4次除以10的操作
0270,E5 33,,                mov     A,33h                           ;取得10进制值
0272,93,,                movc    A,@A+DPTR
0273,F5 43,,                mov     43h,A
0275,12 03 17,,                call    DIVD4
0278,E5 33,,                mov     A,33h
027A,93,,                movc    A,@A+DPTR
027B,F5 42,,                mov     42h,A

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -