
单片机编程题,请给出正确的编程语言,谢谢
已知80C51单片机的fosc=6MHz,用T1定时器工作方式1,进行40ms定时,由P1.7输出高电平40ms,低电平360ms的方波...
已知80C51单片机的fosc=6MHz,用T1定时器工作方式1,进行40ms定时,由P1.7输出高电平40ms,低电平360ms的方波
展开
3个回答
展开全部
ORG 0000H
AJMP START
ORG 000BH
AJMP INT0
START: MOV TMOD,#10H
SETB EA
SETB ET0
MOV TH0,#B1H
MOV TL0,#E0H ;40MS延时初始值
MOV R0,#01H ;R0用来标志中断里定时器应该赋谁(高低电平)的初值的值
SETB P1.7 ;起始输出高电平
SETB TR0
HERE: SJPM HERE ;等待中断
INT0: MOV A,R0
JNZ GAO
SETB P1.7
MOV TH0,#0B1H
MOV TL0,#0E0H
SETB TR0
INC R0
SJMP NEXT
GAO: CLR P1.7
MOV TH0,#0B9H
MOV TL0,#B0H ;36MS延时初值
SETB TR0
INC R0
CJNE R0,#11,NEXT ;十次36MS延时之后清R0
CLR R0
NEXT: RETI
自己看看对不对吧
用两个定时器的话(一个定时高电平一个定时周期或者一个定时高电平一个定时低电平),可以省掉R0的,程序会比较简单
AJMP START
ORG 000BH
AJMP INT0
START: MOV TMOD,#10H
SETB EA
SETB ET0
MOV TH0,#B1H
MOV TL0,#E0H ;40MS延时初始值
MOV R0,#01H ;R0用来标志中断里定时器应该赋谁(高低电平)的初值的值
SETB P1.7 ;起始输出高电平
SETB TR0
HERE: SJPM HERE ;等待中断
INT0: MOV A,R0
JNZ GAO
SETB P1.7
MOV TH0,#0B1H
MOV TL0,#0E0H
SETB TR0
INC R0
SJMP NEXT
GAO: CLR P1.7
MOV TH0,#0B9H
MOV TL0,#B0H ;36MS延时初值
SETB TR0
INC R0
CJNE R0,#11,NEXT ;十次36MS延时之后清R0
CLR R0
NEXT: RETI
自己看看对不对吧
用两个定时器的话(一个定时高电平一个定时周期或者一个定时高电平一个定时低电平),可以省掉R0的,程序会比较简单
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2020-01-15 广告
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
2009-11-25
展开全部
sdewageqaq32 241
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
汇编?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |