|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
單片機(jī)啟動后,數(shù)據(jù)寄存器,如30H等,它的內(nèi)容為0嗎? |
| 作者:chengsong 欄目:單片機(jī) |
我用KEIL C的。 用匯編語言,往液晶里寫數(shù)據(jù)來顯示。 開始認(rèn)為30H等寄存器在單片機(jī)復(fù)位啟動后應(yīng)是0,直接用ORL 30H,#30H,然后用(30H)中內(nèi)容往液晶模塊寫數(shù)據(jù),但是最后得到的不是0,而是某個(gè)字符。奇怪,是不是51復(fù)位后,不是0吧。 |
| 2樓: | >>參與討論 |
| 作者: dengm 于 2005/5/25 17:48:00 發(fā)布:
隨機(jī)的, 看datasheet!!! |
|
| 3樓: | >>參與討論 |
| 作者: coke 于 2005/5/25 19:17:00 發(fā)布:
在startup.a51里有個(gè)項(xiàng)可以改用什么初始化RAM.默認(rèn)值是0 |
|
| 4樓: | >>參與討論 |
| 作者: chengsong 于 2005/5/25 20:34:00 發(fā)布:
wo |
|
| 5樓: | >>參與討論 |
| 作者: chengsong 于 2005/5/25 20:37:00 發(fā)布:
我要在初始化子程序里加上mov 30h,#00h就好了。 為什么呢?奇怪。我也沒動過配置。 而且,同樣的編譯結(jié)果,用89C51就沒問題,89S51就出問題。 可能是什么原因呢? |
|
| 6樓: | >>參與討論 |
| 作者: kasedy 于 2005/5/25 22:12:00 發(fā)布:
兩種情況 如果是上電復(fù)位(注:掉電時(shí)間起碼十幾秒以上,且無保存數(shù)據(jù)電源),RAM中數(shù)據(jù)為00;如果是按RST端復(fù)位,則RAM中數(shù)據(jù)保持復(fù)位前數(shù)值不變。為安全起見,復(fù)位后初始化時(shí)用MOV ??H,#00H清零相應(yīng)的RAM。 |
|
| 7樓: | >>參與討論 |
| 作者: wincpu 于 2005/5/26 9:48:00 發(fā)布:
為了程序嚴(yán)謹(jǐn),初始化清0 |
|
| 8樓: | >>參與討論 |
| 作者: chengsong 于 2005/5/26 10:41:00 發(fā)布:
沒辦法,只好每個(gè)RAM初始化時(shí)都清零了。 可能RAM再復(fù)位以后就是不為零的。不管我怎么時(shí)都一樣,而且數(shù)值有時(shí)還有變化的。 |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |