51单片机系统震荡频率12MHz,用p1.4每隔1ms输出一个100us的负脉冲,汇编语言编程实现。

如题所述

第1个回答  2014-10-19
;
ORG 0000H
MOV TMOD, #02H
MOV TH0, #156
MOV TL0, #156
SETB TR0
L1: MOV R2, #10
L2: JNB TF0, $
CLR TF0
SETB P1.4
DJNZ R2, L2
CLR P1.4
SJMP L1

END本回答被提问者采纳
第2个回答  2014-10-19
Output equ P1.4

Loop:
setb c
mov Output,c
lcall DELAY900US
setb c
mov Output,c
lcall DELAY100US
ljmp loop

DELAY900US: ;误差 0us
MOV R6,#45H
DL0:
MOV R5,#05H
DJNZ R5,$
DJNZ R6,DL0
RET

DELAY100US: ;误差 0us
MOV R6,#01H
DL0:
MOV R5,#2FH
DJNZ R5,$
DJNZ R6,DL0
RET追问

我只是初学者,你这个太麻烦了吧。。。有没有能简单实现功能就好,然后带注释。麻烦您了

本回答被网友采纳
第3个回答  2014-10-19
    ORG 0000H
    LJMP MAIN
    ORG 0300H
MAIN: MOV TMOD, #01H
      MOV TH0,#0FFH
      MOV TL0,#09CH
      MOV IE,#00H
      SETB TR0
      CLR TF0
      SETB P1.4 
LOOP:JBC  TF0,ZCZ
     AJMP LOOP
ZCZ:CLR TR0
    CLR TF0
    MOV TH0,#OFFH
    MOV TL0,#09CH
    CPL P1.4
    SETB TR0
    AJMP LOOP   



不足之处,敬请见谅!