找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2188|回复: 0
打印 上一主题 下一主题
收起左侧

51单片机信号发生器 单缓冲的,想改成双缓冲 代码和原来图都在资料里了

[复制链接]
跳转到指定楼层
楼主
这是单缓冲的,想改成双缓冲,但是改了好多次都不行,就是两个函数可以分别在两个示波器上,求大家帮忙看看!谢谢大家啦!

单片机源程序如下:
ORG     0000H        ;程序开始
       MOV     DPTR,#0FEFFH ;0832的地址
       MOV     SP,#60H      ;设置堆栈
           
START:
       JNB     P1.1,SJB     ;输出三角波程序
           JNB     P1.4,ZXB     ;输出正弦波程序
           SJMP    START        ;循环检测开关情况
           RET
           /**************三角波************/         
SJB:   MOV      R6,#00H     ;给R6初值
DA1:   MOV      A,R6        ;R6送A
       MOVX     @DPTR,A     ;初值给地址
           INC      R6          ;R6的内容既初值+1
           CJNE     R6,#0FFH,DA1;初值到最大
DA2:   DEC      R6          ;R6内容既初值-1
       MOV      A,R6        ;R6送A
       MOVX     @DPTR,A     ;初值给地址
       CJNE     R6,#00H,DA2 ;初值到最小
       JB       P1.1,START  ;开关断开了既退出
       AJMP     SJB         ;跳转到SJB处

/*************正弦波************/        
ZXB:   MOV       R1,#00H     ;取表格初值
LOOP1: MOV       A,R1        ;在表格里取数送到指定地址
       MOV       DPTR,#TAB   ;把DPTR指针指向表格TAB的所在的地址。
           MOVC      A,@A+DPTR   ;将DPTR的地址加上累加器A存的偏移量,形成的新地址中的数取出给A
           MOV       DPTR,#0FEFFH;建立数据指针地址为0FEFFH
           MOVX      @DPTR,A     ;传送数据时先把地址给DPTR,然后用MOVX指令把累加器A的内容传送给@DPTR
           INC       R1          ;加一
           JB        P1.4,START  ;开关断开了既退出
           AJMP      LOOP1       ;循环
TAB:   DB 080H,083H,086H,089H,08DH,090H,093H,096H
           DB 099H,09CH,09FH,0A2H,0A5H,0A8H,0ABH,0AEH
           DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H   
           DB 0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8H
           DB 0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9H  
           DB 0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5H
           DB 0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDH  
           DB 0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
           DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDH  
           DB 0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6H
           DB 0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAH
           DB 0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAH   
           DB 0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7H
       DB 0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1H
           DB 0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99H   
           DB 96H,93H,90H,8DH,89H,86H,83H,80H
           DB 80H,7CH,79H,78H,72H,6FH,6CH,69H
           DB 66H,63H,60H,5DH,5AH,57H,55H,51H
           DB 4EH,4CH,48H,45H,43H,40H,3DH,3AH
           DB 38H,35H,33H,30H,2EH,2BH,29H,27H
           DB 25H,22H,20H,1EH,1CH,1AH,18H,16H
           DB 15H,13H,11H,10H,0EH,0DH,0BH,0AH
           DB 09H,08H,07H,06H,05H,04H,03H,02H
           DB 02H,01H,00H,00H,00H,00H,00H,00H
           DB 00H,00H,00H,00H,00H,00H,01H,02H
           DB 02H,03H,04H,05H,06H,07H,08H,09H
       DB 0AH,0BH,0DH,0EH,10H,11H,13H,15H
           DB 16H,18H,1AH,1CH,1EH,20H,22H,25H
           DB 27H,29H,2BH,2EH,30H,33H,35H,38H
           DB 3AH,3DH,40H,43H,45H,48H,4CH,4EH
           DB 51H,55H,57H,5AH,5DH,60H,63H,66H
           DB 69H,6CH,6FH,72H,76H,79H,7CH,80H
           RET
           END

资料.zip

22.67 KB, 下载次数: 5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表