标题: 单片机汇编程序问题 [打印本页]

作者: un51hei    时间: 2018-4-9 14:49
标题: 单片机汇编程序问题
如图所示,x上面的图形是我想要的,但是代码下载到单片机中,最后出来的确实下面的图形,只有每隔100个周期(图中没有完全画出来),才能正常输出一次波形,为什么???另外,我的阶梯波无法从单片机中输出来?


相关部分的代码如下:
  1. AGAIN:  
  2.                 MOV     DPTR, #1590H                           ;从左下开始输出
  3.         MOV     R3, #90D                               ;高90
  4.                
  5. LP221:  MOV        R2, #16D                                                ;宽16
  6.                 CLR     HSYN                                        ;1Tc,行同步开始
  7. LP22:   MOVX        A, @DPTR                                      ;2Tc
  8.                 MOV        P1, A                                                  ;1Tc,从P1口输出数据
  9.         CLR     ENSHIFT                                 ;1Tc,置数                       
  10.         NOP                                                                  ;1Tc,低电平2u
  11.         SETB    ENSHIFT                           ;1Tc,开始移位
  12.         NOP                                                                 ;1Tc
  13.         NOP                                                                 ;1Tc
  14.              INC        DPTR                                                          ;2Tc
  15.         DJNZ    R2, LP22                       ;2Tc
  16.                 NOP                                                                  ;保证最后一次也是10u
  17.                 NOP                                          
  18.                 NOP                                                                  ;3Tc
  19.         SETB    HSYN                                      ;1Tc  
  20.         CLR        C                                                                  ;DPTR-20H,从下往上扫,上移一行
  21.                 MOV        A, DPL                                        ;1590H是数据段的最后一行,对应0
  22.                 SUBB        A, #20H                        
  23.         MOV        DPL, A
  24.         MOV        A, DPH
  25.         SUBB        A, #00H
  26.         MOV        DPH, A         
  27.         ACALL        LADDER                                        ;2Tc,0832,电平抬高一台阶      
  28.         DJNZ    R3, LP221                          ;2Tc,R3=90D,90行显示完,DPTR=1500H

  29.         MOV        DPTR, #OUTDAC                                ;输出阶梯波
  30.         MOV     B, #00H         
  31.         MOV     A, B
  32.         MOVX    @DPTR, A

  33.         SETB    HSYN                              
  34.         MOV     R7, #00H
  35.         CLR        IE0                                                ;开中断,一祯完了检查一次按键
  36.         SETB        EA
  37.         SETB        EX0
复制代码


作者: sunhuanhappy    时间: 2018-4-9 17:31
看着就牛逼
作者: ahshmj    时间: 2018-4-9 19:29
这仅仅是程序的片段,没法看的明白。
作者: 明白    时间: 2018-4-9 23:18
楼主在做VGA输出吗,要注意几个参数,行周期64μs、行正程52μs、行逆程12μs;场周期20ms、场正程18.4ms、场逆程1.6ms。一帧影像的总行数是625行、每场312.5行、
每场正程287.5行、每场逆程25行。这只是其中一种制色:PAL50HZ
作者: OliveDS    时间: 2018-4-10 17:27
直接用取反函数就行了
作者: linshizhiyu    时间: 2018-4-10 22:32
用取反




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1