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

.已知51单片机系统晶振频率为12MHz,请利用定时器1工作方式1,中断方式在P2.3输出频率为10Hz的方波,写出定时设计过程及完整代码
用汇编的 麻烦写一下

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单片机

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-06-28
:
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 ;完.本回答被提问者和网友采纳
第2个回答  2011-01-05
你是想用C还是想用汇编?
第3个回答  2011-01-05
library IEEE
END
第4个回答  2011-01-05
0分,就不给你写!没诚意!
相似回答