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

2024-11-03 13:30:44
推荐回答(5个)
回答1:

ORG0000H

SJMPSTART

ORG001BH;T1中断入口。

SJMPT1_INT

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

MOVTH1,#(65536-50000)/256;送入初始值。

MOVTL1,#(65536-50000)MOD256;定时50000us@12MHz

MOVIE,#10001000B;开放旅核总中断和T1中断。

SETBTR1;启动T1

MOVTH1,#(65536-50000)禅段/256;重新送入初始值。

MOVTL1,#(65536-50000)MOD256;定时50000us@12MHz

RETI;中断返回

END;完

功能特性

1,可以仿真63K程序空间,接近64K的16位地址空间;

2,可以仿真64Kxdata空间,全部64K的16位地址空间;

3,可以真实仿真全部32条IO脚;

4,完全兼容keilC51UV2调试环境,可以通过UV2环境进行单步,断点,全速等操作;

5,可以使用C51语言或者ASM汇编语言进行调试;

6,可以非常方便地进行拆袭掘所有变量观察,包括鼠标取值观察,即鼠标放在某变量上就会立即显示出它此的值;

以上内容参考:百度百科-51单片机

回答2:

:
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 ;定旁姿时50000us@12MHz
MOV IE, #10001000B ;开放总中断和镇悔T1中断.
SETB TR1 ;启动T1
SJMP $ ;等着吧.
T1_INT:
MOV TH1, #(65536-50000) / 256 ;重新送入初始值.
MOV TL1, #(65536-50000) MOD 256 ;定时50000us@12MHz
CPL P2.3 ;输出方波.
RETI ;中御启正断返回.
END ;完.

回答3:

你是想用C还是想用汇编?

回答4:

library IEEE
END

回答5:

0分,就不给你写!没诚意!