如圖所示,x上面的圖形是我想要的,但是代碼下載到單片機中,最后出來的確實下面的圖形,只有每隔100個周期(圖中沒有完全畫出來),才能正常輸出一次波形,為什么???另外,我的階梯波無法從單片機中輸出來?
逆時針90度看
相關部分的代碼如下:- 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
復制代碼
|