51单片机汇编语言编程:用定时器控制输出矩形波

  • 格式:docx
  • 大小:13.90 KB
  • 文档页数:4

下载文档原格式

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

80C51单片机的时钟频率为12MHz,利用定时器T1和P1.0输出矩形脉冲。

波形只画出了2段:一段为100us 另一段为50us。

要完全的、完整的、详细的编写此程序的过程!谢谢

------------------------

最佳答案:

用一个定时器定时50us,也可以达到题目要求。

在我的空间里面有类似的问题和解答。

ORG 0000H

SJMP START

ORG 001BH ;T1中断入口.

SJMP T1_INT

START:

MOV TMOD, #20H ;设置T1定时方式2

MOV TH1, #206 ;自动重新装入方式.

MOV TL1, #206 ;定时时间

MOV IE, #10001000B ;开放总中断和T1中断.

SETB TR1 ;启动T1

MOV R2, #3 ;周期是3×50us

SJMP $ ;等着吧.

T1_INT:

SETB P1.0 ;输出高.

DJNZ R2, T1_END ;R2-1

CLR P1.0 ;减到0,就输出低电平.

MOV R2, #3

T1_END:

RETI ;中断返回.

END ;完.

------------------------

已知51单片机系统晶振频率为12MHz,请利用定时器1工作方式1,中断方式在P2.3输出频率为10Hz的方波。

写出定时设计过程及完整代码

问题补充:用汇编的麻烦写一下

------------------------

最佳答案:

ORG 0000H

SJMP START

ORG 001BH ;T1中断入口.

SJMP T1_INT

START:

MOV TMOD, #10H ;设置T1定时方式1

MOV TH1, #(65536-50000) / 256 ;送入初始值.

MOV TL1, #(65536-50000) MOD 256 ;定时

MOV IE, #10001000B ;开放总中断和T1中断.

SETB TR1 ;启动T1

SJMP $ ;等着吧.

T1_INT:

MOV TH1, #(65536-50000) / 256 ;重新送入初始值.

MOV TL1, #(65536-50000) MOD 256 ;定时

CPL P2.3 ;输出方波.

RETI ;中断返回.

END ;完.

------------------------

===========================================

单片机编程

选用T0操作模式1用于定时,由P1.7输出周期为5ms方波的控制程序,设晶振fosc=6MHz。

------------------------

最佳答案:

ORG 0000H

MOV TMOD, #01H ;T0方式1定时.

SETB TR0 ;启动T0

LOOP:

MOV TH0, #(65536-5000/2/2) / 256 ;送入初始值.

MOV TL0, #(65536-5000/2/2) MOD 256 ;定时

JNB TF0, $ ;等待定时完成.

CLR TF0 ;清除标志.

CPL P1.7 ;输出方波.

SJMP LOOP ;无限循环.

END ;完.