×
单片机 > 单片机程序设计 > 详情

DAC0832转换程序

发布时间:2020-06-18 发布时间:
|

程序框图

 

程序

                              ORG    05E0H

05E0    758153        SE13:  MOV    SP,#53H

05E3    757E00                MOV    7EH,#00H

05E6    757D08                MOV    7DH,#08H

05E9    757C03                MOV    7CH,#03H

05EC    757B02                MOV    7BH,#02H        ;显示缓冲区初值

05EF    7E00          LO20:  MOV    R6,#00H

05F1    90FFE0        LO21:  MOV    DPTR,#0FFE0H

05F4    EE                    MOV    A,R6

05F5    F0                    MOVX  @DPTR,A;        ;送0382转换

05F6    7879                  MOV    R0,#79H

05F8    120077                LCALL  PTDS

05FB    7A10                  MOV    R2,#10H

05FD    120425        LO23:  LCALL  DIS              ;显示

0600    DAFB                  DJNZ  R2,LO23

0602    0E                    INC    R6              ;加1

0603    BEFFEB        CJNE    R6,    #0FFH,LO21      ;不到FF继续加

0606    90FFE0        LO22:  MOV    DPTR,#0FFE0H

0609   1E                    DEC    R6

060A    EE                    MOV    A,R6

060B    F0                    MOVX  @DPTR,A          ;减1送0832转换

060C    7879                  MOV    R0,#79H

060E    120077                LCALL  PTDS

0611    7A10                  MOV    R2,#10H

0613    120425        LO24:  LCALL  DIS              ;显示

0616    DAFB                  DJNZ  R2,LO24

0618    BE00EB                CJNE  R6,#00H,LO22    ;不为 0继续减

061B    80D2                  SJMP  LO20            ;循环

                             ORG    0077H

0077    F9            PTDS:  MOV    R1,A            ;拆送缓冲区

0078    117C                  ACALL  PTDS1

007A    E9                    MOV    A,R1

007B    C4                    SWAP  A

007C    540F          PTDS1:  ANL    A,#0FH

007E    F6                    MOV    @R0,A

007F    08                    INC    R0

0080    22                    RET

                              ORG    0D59H

0D59    D2D4          SSEE:  SETB  RS1            ;换工作区

0D5B    7D05                  MOV   R5,#05H

0D5D    753020        SSE2:  MOV    30H,#20H

0D60    75317E                MOV    31H,#7EH

0D63    7F06                  MOV    R7,#06H

0D65    79DD          SSE1:  MOV    R1,#0DDH

0D67    E530                  MOV    A,30H

0D69    F3                   MOVX  @R1,A          ;字位送入

0D6A    A831                  MOV    R0,31H

0D6C    E6                    MOV    A,@R0

0D6D    900D85                MOV    DPTR,#0DDFFH

0D70    93                    MOVC  A,@A+DPTR      ;取字形代码

0D71    79DC                  MOV    R1,#0DCH

0D73    F3                    MOVX  @R1,A          ;字形送入

0D74    E530                  MOV    A,30H        ;右移

0D76    03                    RR    A

0D77    F530                  MOV    30H,A

0D79    1531                  DEC    31H

0D7B    74FF                  MOV    A,#0FFH

0D7D    F3                    MOVX  @R1,A          ;关显示

0D7E    DFE5                  DJNZ  R7,SSE1      ;6位显示完了吗?

0D80    DDDB                  DJNZ  R5,SSE2      ;5次显示完了吗?

0D82    C2D4                  CLR    RS1

0D84    22                    RET

                      ORG    044FH

044F    C0F9A4          LS0: DB 0C0H,0F9H,0A4H,0B0H,99H,92H

0452    B09992

0455    82F880                DB 82H,0F8H,80H,90H,88H,83H,0C6H

0458    908883

045B    C6

045C    A1868E                DB 0A1H,86H,8EH,0FFH,0CH,

045F    FF0C89          DB  89H,7FH,0BFH

0462    7FBF

                    ORG      0E2AH

0E2A    C002        DELYA:  PUSH  02H

0E2C    C002        DELYB:  PUSH  02H

0E2E    C002        DELYC:  PUSH  02H

0E30    DAFE        DELYD:  DJNZ  R2,DELYD

0E32    120D59              LCALL,SSEE          ;调显示子程序

0E35    D002                POP    02H

0E37    DAF5                DJNZ  R2,DELYC

0E39    D002                POP    02H

0E3B    DAEF                DJNZ  R2,DELYB

0E3D    D002                POP    02H

0E3F    DAE9                DJNZ  R2,DELYA      ;延时

0E41    22                  RET

END


关键字:DAC0832  转换程序 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM 汇编的必知必会