设Ф =12MHz,试编写80C51单片机定时器T0定时5ms的初始化程序和中断服务子程序。要

2024-12-16 14:58:27
推荐回答(2个)
回答1:

sbit sb p^1.0;
sbit 2b p^1.7;

TMOD=0X01;定时器0方式1
TH0=(65536-5000)/256;
TL0=(65536-5000)/256;//定时5ms
ET0=1;
TR0=1;以上为初始化程序

中断服务程序:
TH0=(65536-5000)/256;
TL0=(65536-5000)/256;//定时5ms
2b=sb;

楼上的汇编 闪瞎了我的狗眼。。。。

回答2:

定时初值:65536-5000=60536=EC78H
工作模式设置:TMOD=00000001B=01H(T0定时方式1)
ORG 0000H
LJMP MAIN
ORG 000BH
MOV TH0,#0ECH
MOV TL0,#78H
MOV C,P1.0
MOV P1.7,C
RETI
ORG 0100H
MAIN:MOV TMOD,#01H
MOV TH0,#0ECH
MOV TL0,#78H
SETB ET0
SETB EA
SETB TR0
SJMP $
END