MC51单片机显示200us方波的汇编语言程序
发布网友
发布时间:2022-05-29 19:42
我来回答
共3个回答
热心网友
时间:2023-05-31 07:00
ORG 00H
LJMP START
ORG 00BH
LJMP T0INT
START:
MOV SP,#60H
MOV TMOD,#01H
MOV TH0,#0FFH
MOV TL0,#9CH
SETB EA
SETB ET0
SETB TR0
LOOP:
LJMP LOOP
T0INT:
MOV TH0,#0FFH
MOV TL0,#9CH
CPL P3.5
CPL P3.7
RETI
END
热心网友
时间:2023-05-31 07:00
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:CLR P3.7
M1:MOV R7,#47
NOP
NOP
DJNZ R7,$
CPL P3.5
SJMP M1
END
如果差一个us,可以采用增减NOP指令来完成,多一条NOP指令,就多一个us。
假设采用12M晶体。
热心网友
时间:2023-05-31 07:01
汇编几乎忘完了,愿提供c。要不要?
#include <AT89X52.H>
sbit flag= P2^5;
main()
{
TMOD=0X00;//定时器0工作方式定义
TH0=0X1F;//计数初TH0
TL0=0X38;//计数初值TL0
ET0=1;//开定时器0中断
EA=1;//开全局中断
TF0=0;//定时器0中断标志位清0
TR0=1;//定时器0开始计数
while(1);
}
void int0() interrupt 1 using 0//定时器0服务子程序
{
TH0=0X1F;//计数初TH0
TL0=0X38;//计数初值TL0
flag=~flag;
}