...80C51单片机的时钟频率为12MHz,利用定时器T1和P1.0输出矩形...
发布网友
发布时间:2024-02-24 18:13
我来回答
共5个回答
热心网友
时间:2024-03-15 18:52
用一个定时器定时50us,也可以达到题目要求。
在我的空间里面有类似的问题和解答。
------------------------
ORG 0000H
SJMP START
ORG 001BH ;T1中断入口.
SJMP T1_INT
START:
MOV TMOD, #20H ;设置T1定时方式2
MOV TH1, #206 ;自动重新装入方式.
MOV TL1, #206 ;定时时间50us@12MHz
MOV IE, #10001000B ;开放总中断和T1中断.
SETB TR1 ;启动T1
MOV R2, #3 ;周期是3×50us
SJMP $ ;等着吧.
T1_INT:
SETB P1.0 ;输出高.
DJNZ R2, T1_END ;R2-1
CLR P1.0 ;减到0,就输出低电平.
MOV R2, #3
T1_END:
RETI ;中断返回.
END ;完.
热心网友
时间:2024-03-15 18:52
人家要完全的、完整的、详细的编写此程序的过程!
估计回答这个问题至少要个把小时。
其实一楼说的挺详细了。
热心网友
时间:2024-03-15 18:49
是要C代码吗?
热心网友
时间:2024-03-15 18:47
一般做法是用两个定时器,第一段用一个定时,第二段用另一个定时。如果硬要用一个也可以,第一段定时中断之后改定时器初值,改成第二段时间的,反之亦然。会有点误差,但可以修正,反正我就经常这么干的
热心网友
时间:2024-03-15 18:54
波形呢?