晶振频率为6mhz,定时器1工作方式1 中断方式在p1.0输出频率为50hz的 方波。初始值多少

如题所述

第1个回答  2011-10-14
初始值,并不需要人工计算。
编写程序的时候,写个公式,编译软件就会帮我们计算出来初始值。
下面就是一个12MHz条件下,定时50ms的初始化设置程序:

MOV TH1, #(65536 - 50000) / 256 ;送入初始值.
MOV TL1, #(65536 - 50000) MOD 256 ;定时50000us@12MHz

针对楼主的要求,定时时间是10ms,晶振是6MHz,那么:

MOV TH1, #(65536 - 5000) / 256 ;送入初始值.
MOV TL1, #(65536 - 5000) MOD 256 ;定时10000us@6MHz

即可。
如果非要看看这两个初始值是多少,也可以按照上述的公式人工计算。
结果分别是:EC 78。追问

糊涂掉了 我们书上初始值 都是16进字的。使用定时器1以工作方式0产生周期500微妙,,的等宽正方波在p1.0输出.已知晶振频率为6mhz.
这个题目的TH1=0FCH TL1=03H .
那这题 晶振频率为6mhz,定时器1工作方式1 中断方式在p1.0输出频率为50hz的 方波。初始值多少?

追答

晶振频率为6MHz,定时器1工作方式1,中断方式,在P1.0输出频率为50Hz的方波。
这就是在晶振6MHz的条件下,定时时间10ms。
也就是机器周期为2us,计数5000次。
初始值就是:(65536 - 5000)。
算吧。
60536 = EC78H,高8位就是ECH,低8位就是78H。

本回答被提问者采纳
第2个回答  2011-10-14
10ms 初值 :
TH1,#0ECH
TL1,#78H追问

频率为50hz 需要多长时间中断一次哟

追答

50HZ,周期就是20ms 。那么,10ms中断一次,p1.0求反(一个周期内高低电平各一个)

追问

刚有人跟我说 要产生10Hz的方波,周期是100毫秒也就是100000微妙,因为两次中断是一个周期,所以需要50000微妙中断一次,也就是说初值+50000就要溢出(=65536),因此初值=65536-50000。 那 现在是50hz的方波 又是怎样

追答

周期=1/频率,你算算看。
你是汇编还是C?

追问

题目是:51单片机系统晶振频率为6mhz,定时器1工作方式1 中断方式在p1.0输出频率为50hz的 方波。写出定时设计过程和完整代码 。在计算初值这我弄不明白

追答

周期=1/50=0.02s ,即10ms=10000us 中断一次,方波求反。

追问

我算的值和你的对不到 怎么算