AT80C51单片机,用汇编语言编写程序,在单片机的P3.7口产生一个占空比为2:5周期为500ums的方波脉冲信号

2024-12-20 14:05:38
推荐回答(3个)
回答1:

不知道500ums是什么单位,理解为500ms吧,占空比40%。这个不重要,理解错误自己改动一下就好了。

;假定晶振12M,机器周期1us

ORG 00H
AJMP GO
ORG 0BH
AJMP TIME0_1

ORG 30H
GO:
MOV SP,#60H
MOV TMOD,#01H
MOV TH0,#0B0H
MOV TL0,#3CH ;50MS
MOV R5,#5 ;中断间隔计次
MOV R6,#2 ;2中断为100MS
MOV R7,#0 ;取表序号数
LOOP:
MOV DPTR,#TAB
MOV A,R7
MOVC A,@A+DPTR
MOV P3,A
AJMP LOOP

TIME0_1:
PUSH ACC
DJNZ R6,RTT
MOV R6,#2 ;2次中断为100ms
INC R7 ;取表加1
DJNZ R5,RTT ;中断间隔次5次,2次为高电平,3次低电平,40%占空比
MOV R5,#5
MOV R7,#0
RTT:
POP ACC
RETI

TAB:
DB 80H,80H,00H,00H,00H

END

回答2:

占空比为2:5周期为500ums的方波脉冲信号...
----
题目写错了。

第一、500ums,不是时间单位。
第二、占空比为2:5,也不是方波。
第三、题目并没有给出晶振频率。

因此,凡是按照题目回答的答案,都是错误的。

回答3:

建议 去 我的领地 5d6d 的 proteus 论坛看看

那里有很多 仿真实例,包括仿真图 和 源码