熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2018-11-6 11:34
正文摘要:我看的普中科技的教程,首先按照普中科技講解的辦法,我的理解是: ①首先,確認(rèn)晶振的振蕩頻率,由晶振的振蕩頻率除以機(jī)器的周期12,即,比如我晶振頻率,12MHZ,那么12MHZ÷12=1,也就是1us微秒,我的這個(gè)理解方法 ... |
專業(yè)級(jí)入門的我告訴你: 郭天祥的方法是對(duì)的,你的也是對(duì)的,結(jié)果是一樣的,還有,那+1要不要都不重要的,無源晶振你就別想著它能達(dá)到理想的12.00MHZ,有時(shí)候是11.88有時(shí)候是12.22. 雖然郭天祥的方法是對(duì),但那也是不對(duì)的,他忘記了他是教別人,你用一個(gè)新手沒有學(xué)過的東西去教新手,卻不告訴新手這是個(gè)什么原理,我看過網(wǎng)上對(duì)他書的評(píng)論,真不咋的. 8位機(jī)是沒有浮點(diǎn)這個(gè)說法的,是不可能在機(jī)器內(nèi)部計(jì)算出一個(gè)小數(shù)點(diǎn)給你的 在8051或者大多的單片機(jī)機(jī)中,除以256是以不帶進(jìn)位標(biāo)志右移8次來完成的,而FC18=11111100 00011000="FC"高位加上 "18"低位.右移8個(gè)位,你看一下結(jié)果是不是FC?取模運(yùn)算是一樣的右移,然后只取之前的低8位的值. 如果你學(xué)過匯編你就會(huì)明白我說的了 |
sxhwdz 發(fā)表于 2018-11-6 14:13 請(qǐng)問我根據(jù)郭天祥的辦法,我定時(shí)1毫秒,那么TH0=(65536-1000)/256=252.09375,那么我把得到的252化成16進(jìn)制數(shù)=FC,這我能理解,但是他給TL0賦值時(shí)我就不能理解了,同樣的(65536-1000)%256=?這個(gè)大數(shù)字的取模這么算,65536-1000=64536,那么用64536%256=? 我算了一下首先64536÷256=252.09375這么多得余數(shù),怎么? |
1657329982 發(fā)表于 2018-11-6 14:10 請(qǐng)問我根據(jù)郭天祥的辦法,我定時(shí)1毫秒,那么TH0=(65536-1000)/256=252.09375,那么我把得到的252化成16進(jìn)制數(shù)=FC,這我能理解,但是他給TL0賦值時(shí)我就不能理解了,同樣的(65536-1000)%256=?這個(gè)大數(shù)字的取模這么算,65536-1000=64536,那么用64536%256=? 我算了一下首先64536÷256=252.09375這么多得余數(shù),怎么取? |
哪位大佬和我說說(0xffff - 50000)/ 0xff 這種算法法和郭天祥的算法是不是一樣的 |
一樣的呀,你說的 65535-1000+1時(shí)1mS的,這個(gè)65536-50000是50mS的。使用 /256 和 %256是為了分別得到高8位與低8位,不要再人工化解了 |
郭天祥的方法其實(shí)和你說的一樣只不過你的是自己算 他的賦值是你想計(jì)多少個(gè)數(shù)只需改變65536減的哪個(gè)數(shù)就可以,很方便,高八位賦值時(shí)/256的意思就是將低八位去掉只剩高八位賦值給高八位,低八位賦值時(shí),%256就是將高八位去掉只剩低八位賦值給低八位,無需你自己計(jì)算賦值。 |
都沒錯(cuò),都可以,你自己能看懂就行 |
單片機(jī)的類型,很有關(guān)係,看看STC下載工具中的時(shí)鐘初始化代碼 |
Powered by 單片機(jī)教程網(wǎng)