设at89c52的晶振频率f=12MHz,要求在P1.3端输出周期为2ms的方波。

把单片机程序写出来。

1、一个机器周期就是12个时钟周期,而时钟周期要看晶振频率。12MHz的晶振则机器周期 = 12×时钟周期=12×(1/12)μs=1μs。
2、机器周期:一个机器周期包含6个状态周期S1-S6,也就是12个时钟周期。在一个机器周期内,CPU可以完成一个独立的操作。
3、振荡周期也称时钟周期,是指为单片机提供时钟信号的振荡源的周期,一般实验板上为11.0592MHZ,12MHZ和24MHZ用的也比较多。
4、AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,AT89C52可以按照常规方法进行编程也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。追问

能把程序写出来吗?

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-24
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0ISR
ORG 0030H
MAIN:
MOV TMOD,#01H
MOV TH0,#HIGH(65536-250)
MOV TL0,#LOW(65536-250)
SETB TR0
SETB ET0
SETB EA
MOV R2,#0
SJMP $
T0ISR:
CLR TR0
MOV TH0,#HIGH(65536-250)
MOV TL0,#LOW(65536-250)
SETB TR0
INC R2
CPL P1.3
MOV R2,#0
T0E:
RETI
END本回答被提问者和网友采纳
相似回答