单片机AT89C51输出2s方波汇编程序

  • 格式:docx
  • 大小:226.03 KB
  • 文档页数:2

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机AT89C51输出2s方波汇编程序

ORG 0000H

SJMP STAR

ORG 000BH ;T0中断入口地址

SJMP DVT0

ORG 0030H ;主程序开始地址

STAR: MOV TMOD,#01H ;选择定时/计数器T0,工作方式1,关闭T1 MOV IE,#82H ;开总中断和T0中断

MOV TH0,#0FFH ;向T0高8位送入初值

MOV TL0,#0F5H; ;向T0低8位送入初值,这里初值只是用于启

动T0,当计数TF0=1溢出,转到中断DVT0

这里的值会被清零

SETB TR0 ;启动T0

MOV R0,#20 ;T0在工作方式1下最大定时值为65.536ms,

要周期2s的方波,定时为1s。设定时时间为

50ms,计20次为20×50ms=1000ms=1s SJMP $ ;等待中断

DVT0: MOV TH0,#3CH ;中断程序,装入定时时间为50ms的初值MOV TL0,#0B0H ;高8位为3CH,低8位为B0H

DJNZ R0,LOOP ;判断R0是否等于0,不等于0中断返回,继

续等待中断(计时满1s,程序向下执行)MOV R0,#20 ;重新给R0赋值20

CPL P1.0 ;P1.0输出取反

LOOP: RETI ;中断返回

END