如图所示,x上面的图形是我想要的,但是代码下载到单片机中,最后出来的确实下面的图形,只有每隔100个周期(图中没有完全画出来),才能正常输出一次波形,为什么???另外,我的阶梯波无法从单片机中输出来?
相关部分的代码如下:- AGAIN:
- MOV DPTR, #1590H ;从左下开始输出
- MOV R3, #90D ;高90
-
- LP221: MOV R2, #16D ;宽16
- CLR HSYN ;1Tc,行同步开始
- LP22: MOVX A, @DPTR ;2Tc
- MOV P1, A ;1Tc,从P1口输出数据
- CLR ENSHIFT ;1Tc,置数
- NOP ;1Tc,低电平2u
- SETB ENSHIFT ;1Tc,开始移位
- NOP ;1Tc
- NOP ;1Tc
- INC DPTR ;2Tc
- DJNZ R2, LP22 ;2Tc
- NOP ;保证最后一次也是10u
- NOP
- NOP ;3Tc
- SETB HSYN ;1Tc
- CLR C ;DPTR-20H,从下往上扫,上移一行
- MOV A, DPL ;1590H是数据段的最后一行,对应0
- SUBB A, #20H
- MOV DPL, A
- MOV A, DPH
- SUBB A, #00H
- MOV DPH, A
- ACALL LADDER ;2Tc,0832,电平抬高一台阶
- DJNZ R3, LP221 ;2Tc,R3=90D,90行显示完,DPTR=1500H
- MOV DPTR, #OUTDAC ;输出阶梯波
- MOV B, #00H
- MOV A, B
- MOVX @DPTR, A
- SETB HSYN
- MOV R7, #00H
- CLR IE0 ;开中断,一祯完了检查一次按键
- SETB EA
- SETB EX0
复制代码
|