已知8051单片机的fosc=12MHz,请利用定时器0方式二让P1.2输出矩形波。其矩形波高电平宽50us,低电平宽250

不要C语言,只要8051 单片机的编程 在线等 求个大神给个标准答案 据说明天考试会考这道题 真心不会 麻烦大神帮帮忙

第1个回答  2013-05-31
ORG 0000H
LJMP MAIN
ORG 000BH;以下是定时器0中断处理
CJNE R7,#00H,HIGHO;如果R7不为0,跳转到输出低电平处
SETB P1.2 ;如果R7为0,输出高电平
LJMP TESTO ;跳转到TEST0,对R7进行处理

HIGHO:;输出低电平
CLR P1.2;输出低电平

TESTO:
INC R7 ;R7自加一
CJNE R7,#05H,EXIT ;如果R7不等于5,直接退出
MOV R7,#00H ;如果R7等于5,则清零R7

EXIT:
RETI ;退出中断

ORG 0030H
MAIN:
MOV R7,#00H;R7作为脉冲高低电平计数,初始清零
MOV TMOD,#02H;定时器0工作于方式2
MOV TH0,#0CEH;定时器0初值,50us中断一次
MOV TL0,#0CEH
SETB ET0;开启定时器0中断
SETB EA;开启总中断
SETB TR0;启动定时器0
LJMP $;死循环
END