|
TL1 = 0xDB 和 TH1 = 0xFE 是十六進(jìn)制表示的數(shù)值,它們對(duì)應(yīng)著特定的寄存器 TL1 和 TH1 的值。這些寄存器通常用于定時(shí)器操作。
第一種寫法 TL1 = 0xDB 使用了直接賦值的方式,將 TL1 寄存器的值設(shè)置為十六進(jìn)制數(shù) 0xDB,即十進(jìn)制的 219。同樣地,TH1 = 0xFE 將 TH1 寄存器的值設(shè)置為十六進(jìn)制數(shù) 0xFE,即十進(jìn)制的 254。
而第二種寫法 TL1 = (65535-800) >> 8 和 TH1 = (65535-800) 則是利用了十進(jìn)制數(shù)進(jìn)行計(jì)算并賦值。
首先,(65535-800) 會(huì)得到 64735,這是一個(gè)十進(jìn)制的數(shù)值。然后,(65535-800) >> 8 將這個(gè)數(shù)值右移 8 位,相當(dāng)于除以 256(2的8次方),丟棄了低 8 位的數(shù)值。這樣得到的結(jié)果是 253,即十進(jìn)制的 253。最后,該值被賦給 TL1 寄存器。
同樣地,(65535-800) 的結(jié)果作為十進(jìn)制數(shù)直接賦值給 TH1 寄存器,得到的結(jié)果是 64735,即十進(jìn)制的 64735。
需要注意的是,這兩種寫法實(shí)際上設(shè)置了相同的數(shù)值到 TL1 和 TH1 寄存器中,只是表達(dá)方式不同。第一種寫法直接使用十六進(jìn)制數(shù)賦值,而第二種寫法基于一個(gè)計(jì)算式來設(shè)置值。這兩種寫法在功能上是等效的 |
|