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

📄 pcf8591-da-lcd1602-asm.lst

📁 89S52单片机做的A/D,D/A的实验的源程序PCF8591 D/A CONVERTER */ /* */ /* LCD1602显示 */ /* 参考电压接至5V电源 */ /* 最小输出电
💻 LST
📖 第 1 页 / 共 4 页
字号:
                     454     ;---------------------------------------------------------
02DF                 455     SIN_TAB:
02DF 80838689        456        DB  80H,83H,86H,89H,8DH,90H,93H,96H,99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH
02E3 8D909396                
02E7 999C9FA2                
02EB A5A8ABAE                
02EF B1B4B7BA        457        DB  0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H,0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8H
02F3 BCBFC2C5                
02F7 C7CACCCF                
02FB D1D4D6D8                
02FF DADDDFE1        458        DB  0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9H,0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5H
0303 E3E5E7E9                
0307 EAECEEEF                
030B F1F2F4F5                
030F F6F7F8F9        459        DB  0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDH,0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
0313 FAFBFCFD                
0317 FDFEFFFF                
031B FFFFFFFF                
031F FFFFFFFF        460        DB  0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDH,0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6H
0323 FFFFFEFD                
0327 FDFCFBFA                
032B F9F8F7F6                
032F F5F4F2F1        461        DB  0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAH,0E9H,0E7H,0E5H,0E3H,0E1H,0DFH,0DDH,0DAH
0333 EFEEECEA                
0337 E9E7E5E3                
033B E1DFDDDA                
033F D8D6D4D1        462        DB  0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7H,0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1H
A51 MACRO ASSEMBLER  PCF8591_DA_LCD1602_ASM                                               12/20/2006 22:57:40 PAGE     9

0343 CFCCCAC7                
0347 C5C2BFBC                
034B BAB7B4B1                
034F AEABA8A5        463        DB  0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99H,96H,93H,90H,8DH,89H,86H,83H,80H
0353 A29F9C99                
0357 9693908D                
035B 89868380                
035F 807C7976        464        DB  80H,7CH,79H,76H,72H,6FH,6CH,69H,66H,63H,60H,5DH,5AH,57H,55H,51H
0363 726F6C69                
0367 6663605D                
036B 5A575551                
036F 4E4C4845        465        DB  4EH,4CH,48H,45H,43H,40H,3DH,3AH,38H,35H,33H,30H,2EH,2BH,29H,27H
0373 43403D3A                
0377 38353330                
037B 2E2B2927                
037F 2522201E        466        DB  25H,22H,20H,1EH,1CH,1AH,18H,16H,15H,13H,11H,10H,0EH,0DH,0BH,0AH
0383 1C1A1816                
0387 15131110                
038B 0E0D0B0A                
038F 09080706        467        DB  09H,08H,07H,06H,05H,04H,03H,02H,02H,01H,00H,00H,00H,00H,00H,00H
0393 05040302                
0397 02010000                
039B 00000000                
039F 00000000        468        DB  00H,00H,00H,00H,00H,00H,01H,02H,02H,03H,04H,05H,06H,07H,08H,09H
03A3 00000102                
03A7 02030405                
03AB 06070809                
03AF 0A0B0D0E        469        DB  0AH,0BH,0DH,0EH,10H,11H,13H,15H,16H,18H,1AH,1CH,1EH,20H,22H,25H
03B3 10111315                
03B7 16181A1C                
03BB 1E202225                
03BF 27292B2E        470        DB  27H,29H,2BH,2EH,30H,33H,35H,38H,3AH,3DH,40H,43H,45H,48H,4CH,4EH
03C3 30333538                
03C7 3A3D4043                
03CB 45484C4E                
03CF 5155575A        471        DB  51H,55H,57H,5AH,5DH,60H,63H,66H,69H,6CH,6FH,72H,76H,79H,7CH,7EH
03D3 5D606366                
03D7 696C6F72                
03DB 76797C7E                
                     472     
                     473     ;==========================================================
                     474     
                     475     ;DAC输出方波子程序:用示波器观察输出的信号。
                     476     
                     477     ;==========================================================
03DF                 478     Square:
03DF 7400            479               MOV      A,#00H
03E1 F5F0            480               MOV      B,A
03E3 12029B          481               LCALL  PCF_DA         ;启动DA转换
03E6                 482     SQU1:
03E6 30970E          483               JNB  K4,SQU2          ;退出
03E9 F7              484               MOV  @R1,A
03EA 1202B6          485               LCALL  PCF_DA1         ;DA转换
03ED 120292          486               LCALL    DELAY
03F0 E5F0            487               MOV      A,B
03F2 F4              488               CPL      A
03F3 F5F0            489               MOV      B,A
03F5 61E6            490               AJMP     SQU1
03F7                 491     SQU2:
03F7 12052E          492               LCALL  STOP
03FA D201            493               SETB  20H.1
03FC 120276          494               LCALL  BEEP_BL
03FF 22              495               RET
                     496     ;===================================================
                     497     ;DAC输出三角波子程序
                     498     ;单片机从数字量0开始,逐次加1直到255,然后从输出
A51 MACRO ASSEMBLER  PCF8591_DA_LCD1602_ASM                                               12/20/2006 22:57:40 PAGE    10

                     499     ;255逐次减1直至为0,即可输出连续三角波。
                     500     ;===================================================
0400                 501     Triangle:
0400 7400            502               MOV  A,#00H
0402 F5F0            503               MOV  B,A
0404 12029B          504               LCALL  PCF_DA         ;启动DA转换
                     505     
0407                 506     SJ_UP:
0407 F7              507               MOV  @R1,A
0408 1202B6          508               LCALL  PCF_DA1        ;启动DA转换
040B 309717          509               JNB  K4,SJ_END
040E 05F0            510               INC  B                ;上升沿
0410 E5F0            511               MOV  A,B
0412 B4FFF2          512               CJNE  A,#0FFH,SJ_UP
0415                 513     SJ_DOWN:
0415 F7              514               MOV  @R1,A
0416 1202B6          515               LCALL  PCF_DA1        ;启动DA转换
0419 309709          516               JNB  K4,SJ_END
041C 15F0            517               DEC  B                ;下降沿
041E E5F0            518               MOV  A,B
0420 B400F2          519               CJNE  A,#00H,SJ_DOWN
0423 8107            520               AJMP  SJ_UP           ;连续输出波型
0425                 521     SJ_END:
0425 12052E          522               LCALL  STOP
0428 D201            523               SETB  20H.1
042A 120276          524               LCALL  BEEP_BL
042D 22              525               RET
                     526     
                     527     ;=========================================================
                     528     ;DAC输出梯形波
                     529     ;单片机从数字量0开始,逐次加1直到255,保持255次,
                     530     ;然后从输出255逐次减1直至为0,如此重复,即可输出连续梯形波。
                     531     ;=========================================================
042E                 532     Echelon:
042E 7400            533               MOV  A,#00H
0430 F5F0            534               MOV  B,A
0432 12029B          535               LCALL  PCF_DA         ;启动DA转换
0435                 536     TX_UP:
0435 F7              537               MOV  @R1,A
0436 1202B6          538               LCALL  PCF_DA1        ;DA转换
0439 05F0            539               INC  B                 ;上升沿
043B E5F0            540               MOV  A,B
043D B4FFF5          541               CJNE  A,#0FFH,TX_UP
0440 7CFF            542               MOV  R4,#0FFH
0442                 543     TX_BEEP:
0442 309717          544               JNB  K4,TX_END
0445 E5F0            545               MOV  A,B
0447 F7              546               MOV  @R1,A            ;保持高电平
0448 1202B6          547               LCALL  PCF_DA1        ;DA转换
044B DCF5            548               DJNZ  R4,TX_BEEP
044D E5F0            549               MOV  A,B
044F                 550     TX_DOWN:
044F F7              551               MOV  @R1,A
0450 1202B6          552               LCALL  PCF_DA1        ;DA转换
0453 15F0            553               DEC  B                ;下降沿
0455 E5F0            554               MOV  A,B
0457 B400F5          555               CJNE  A,#00H,TX_DOWN
045A 8135            556               AJMP  TX_UP
045C                 557     TX_END:
045C 12052E          558               LCALL  STOP
045F D201            559               SETB  20H.1
0461 120276          560               LCALL  BEEP_BL
0464 22              561               RET
                     562     ;====================================================
                     563     ;DAC输出锯齿波子程序:用示波器观察输出的信号。
                     564     ;====================================================
A51 MACRO ASSEMBLER  PCF8591_DA_LCD1602_ASM                                               12/20/2006 22:57:40 PAGE    11

0465                 565     Sawtooth:
0465 7400            566               MOV      A,#0
0467 F5F0            567               MOV      B,A
0469 12029B          568               LCALL  PCF_DA         ;启动DA转换
046C                 569     JUCHI1:
046C 30970A          570               JNB  K4,JUCHI_END
046F F7              571               MOV  @R1,A
0470 1202B6          572               LCALL  PCF_DA1        ;DA转换
0473 E5F0            573               MOV      A,B
0475 05F0            574               INC      B
0477 816C            575               AJMP     JUCHI1
0479                 576     JUCHI_END:
0479 12052E          577               LCALL  STOP
047C D201            578               SETB  20H.1
047E 120276          579               LCALL  BEEP_BL
0481 22              580               RET
                     581     ;**************************************************
                     582     ;*             IIC 总线驱动程序                   *
                     583     ;**************************************************
                     584     
                     585     ;==================================================
                     586     ;总线启动子程序
                     587     ;==================================================
0482                 588     STR:
0482 00              589                NOP
0483 D293            590                SETB  SDA
0485 00              591                NOP
0486 D290            592                SETB  SCL    ;起始条件建立时间大于4.7us
0488 00              593                NOP
0489 00              594                NOP
048A 00              595                NOP
048B 00              596                NOP
048C 00              597                NOP
048D C293            598                CLR  SDA
048F 00              599                NOP          ;起始条件锁定时间大于4.7us
0490 00              600                NOP
0491 00              601                NOP
0492 00              602                NOP
0493 00              603                NOP
0494 C290            604                CLR  SCL     ;钳住总线,准备发数据
0496 00              605                NOP
0497 22              606                RET
                     607     ;==================================================
                     608     ;发送一个字节子程序
                     609     ;字节数据放入ACC
                     610     ;==================================================
0498                 611     WR0:
0498 00              612                NOP
0499 7B08            613                MOV  R3,#08H
049B C290            614                CLR  SCL
049D C3              615                CLR  C
049E                 616     LL0:
049E 33              617                RLC  A
049F 4006            618                JC  LL1
04A1 0204B7          619                LJMP  LL2
04A4                 620     LL4:
04A4 DBF8            621                DJNZ  R3,LL0
04A6 22              622                RET
04A7                 623     LL1:
04A7 00              624                NOP
04A8 D293            625                SETB  SDA
04AA 00              626                NOP
04AB D290            627                SETB  SCL
04AD 00              628                NOP
04AE 00              629                NOP
04AF 00              630                NOP
A51 MACRO ASSEMBLER  PCF8591_DA_LCD1602_ASM                                               12/20/2006 22:57:40 PAGE    12

04B0 00              631                NOP
04B1 00              632                NOP
04B2 C290            633                CLR  SCL
                     634     
                     635                ;CLR  SDA
04B4 0204A4          636                LJMP  LL4
04B7                 637     LL2:
04B7 00              638                NOP
04B8 C293            639                CLR  SDA
04BA 00              640                NOP
04BB 00              641                NOP
04BC D290            642                SETB  SCL
04BE 00              643                NOP
04BF 00              644                NOP
04C0 00              645                NOP
04C1 00              646                NOP
04C2 00              647                NOP
04C3 C290            648                CLR  SCL
04C5 0204A4          649                LJMP  LL4
                     650     ;=======================================================
                     651     ;发送应答信号子程序
                     652     ;=======================================================
04C8                 653     YIDA:
04C8 C293            654                CLR   SDA
04CA 00              655                NOP

⌨️ 快捷键说明

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