當前位置:首頁 » 服務存儲 » 單片機片選外部存儲器電壓異常
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

單片機片選外部存儲器電壓異常

發布時間: 2023-03-25 20:11:49

① 關於單片機訪問外部數據存儲器,P2口問題。

當單片機讀寫外部存儲器過後,P2口在訪問完之後,就又變回IO口的通用狀態(即0xFF)。實際上,它的輸出「0xFF」狀態是一直存在的,這也是為什麼在訪問外部存儲器前需要將P0,P2置為0xFF的原因。

② 關於單片機擴展片外存儲器的選片問題

從電原理圖可以看出,4片8K的外部存儲器,共享單片機P0和P2組成的13根地址線,剩餘3根的地址線有2根經LS139解碼,用於對外部存儲器的片選控制,最後1根用於對LS139的片選控制。不知你在糾結什麼,你對各存儲器地址范圍的理解是正確的,每一個存儲器的地址范圍都是從0000H到 1FFFH。而單片機的地址輸出范圍卻是要結合P2.5-P2.7這根地址線進行分配的,這就有了列表中4片IC所對應的地址范圍,但書中的常式確實存在錯誤,將對外部RAM操作指令MOVX,用於讀取外部ROM顯然是不妥的,結合LS139片選,1000H地址指向IC1是顯而易見的,而IC1、IC2的讀寫操作應該使用MOVC指令,樓上網友的回答也是正確的,請不要教條的尊重書本。

③ 關於51單片機存儲器的幾個小問題

第一個問題:
程序計數器PC是和RAM統一編址的,由於有特散孫賀殊的作用,所以不能叫做RAM,這類空間通常被叫做寄存器。在單片機的資料中通常說是128字凱拍節(或者256位元組),其實使用中沒有這么多的空間供你使用,就是這個原因。
至於說為被分到內部RAM中,只是為了給這個寄存器一個名份,既一個名字。相當於一個教師是公務員,但是我們不叫他公務員,而是直接叫做教師,他的編制是在公務員裡面的。
第二個問題:
同第一個問題,是和RAM統一編址的。
第三個問題:
像你所說,PO口的位元組地址是80H。但是請你注意是「位元組」地址。後面的80H-87H是「位」地址,這些位地址是在「位元組」地址裡面的。數數看80H-87H是不是8個位,正好一個位元組。
你看的RAM後128單元的82H等等也是位元組地址,你應向位元組地址為80H的裡面,(既每一位去看)。
第四個問題:
掉電再上電後,RAM中的數據是不確定的。而寄存器都有上電初始值,一般的都是清0,不過也有特殊的,比如80H(既是P0口)寄存器,上電後是FF。
掉電是電源沖派電壓低於單片機的工作電壓,單片機認為掉電。
斷電是外部斷電,由於有電源電容的存在,所以短時間的斷電,單片機不一定認為是掉電,還可能還在工作。
長時間斷電的話和掉電的概念就差不多了。

④ 救命啊51單片機不能用XBYTE[0x0000]訪問外部存儲器!!!

STC89C52內部有256位元組的XRAM,當你設定的地址范圍兆橘凳是0000~00FF時是訪問的片內的XRAM,只有地址大於00FF,即從0100開始時才訪問的外部數據存儲器。所以你的程序沒反應了!你試試把AUXR寄存器的第一位設置為1,這樣族旅再試試。
8019處於一個外部地址,或者說處於大於0x0100的地址時,單片機用XBYTE去訪問是絕伍笑對沒問題的!

⑤ 單片機外置存儲器損壞怎麼辦

Fault故障描述
每一種Fault故障的產生,都肯定是有一定原因的,如果你代碼產生了Fault故障中斷,說明代碼某些地方引起了Fault故障。
1、HardFault:硬故障
通過截圖的描述,你會發現硬故障是一種「不可編程」的故障,因為存儲器管理故障、匯流排故障、用法故障如果不能得到執行,就為上訪為硬故障。
CAN匯流排
比如:比如在取向量時產生的匯流排故障也按會硬故障進行處理。所以,你會發現出現故障,很多時候都是硬故障。
硬故障狀態寄存器描述:
CAN匯流排
通過狀態寄存器,你會發現產生硬故障的原因有以上幾種。 2、MemManage:存儲器管理故障 存儲器管理故障通常與MPU(內存保護單元)有關,之前給大家分享過MPU相關的文章《什麼是Cortex-M內核的MPU?》。 通常就是我們說的「內存越界」就會導致存儲器管理故障,細說引起該故障的誘因有:
訪問了 MPU 設置區域覆蓋范圍之外的地址
往只讀 region 寫數據
用戶級下訪問了只允許在特權級下訪問的地址
存儲器管理故障狀態寄存器:
CAN匯流排
通過狀態寄存器,你會發現引起該故障的一些原因。 3、BusFault:匯流排故障 匯流排故障,顧名思義就是對「匯流排」操作出現問題,導致的故障。 比如:當 AHB 介面上正在傳送數據時,如果回復了一個錯誤信號(error response),則會產生匯流排故障。 產生匯流排故障的場合:
取指,通常被稱作「預取流產」
數據讀/寫,通常被稱作「數據流產」
觸發匯流排故障的動作:
中斷處理起始階段的堆棧 PUSH 動作。稱為「入棧錯誤」
中斷處理收尾階段的堆棧 POP 動作。稱為「出棧錯誤」
CAN匯流排
同樣,通過匯流排故障狀態寄存器了解產生的原因:
CAN匯流排
4、UsageFault:用法故障 用法故障相對不常見,出現該故障通常是進行了「未對齊訪問操作」,其他導致該故障問題很少見。 比如:執行了未定義的指令、除數為0(編譯器都會避免)、無效的中斷返回等這些情況比較少見。 用法故障狀態寄存器:

⑥ 當51單片機上電後檢測到EA=0,會讓PSEN這個引腳輸出一個信號,片選外部存儲器。

當51單片機歲敗上電後檢測到EA=0,會讓PSEN這個引腳輸出一個信號,片選外部存儲器。好爛這樣理解基本上是正確門,EA為高,程序從內部0000H開始執行乎襪顫直到內部容量的頂部,之後轉到外部存儲器連續地址。

⑦ 單片機程序燒錄顯示電壓異常,會對程序燒錄有影響嗎

會。單片機(Microcontrollers)又稱微控制器擾櫻數,由頌讓中央處理器、存儲器、輸入輸出埠(包括並行I/O、串列I/O、模數轉換器)、計時器和計數器等組成,根據該機器相關介紹可知,單片機程序燒錄顯示電壓異常會對程序燒錄有影響。單片機具有完整緩首數字處理功能的大規模集成電路。

⑧ 單片機P2口電平問題,高電平測得是5V,可低電平時卻是4V,無法對8255進行片選啊

如果用外部程序或數據存儲器的話,8051的P2口是高8位地址匯流排,不能再當通用IO引腳使用。
用示波器看一下P2口的波形,如果上面有地址數據的話,就會出現或伏你說的那種情況。
另外,做地址線是不用上接電阻的,8051片內集成有上拉電阻。
如果你用MOVX指令讀寫8255的話,僅當MOVX指令操作期間者團彎8255的片選信號是低電平,這個短時間的低電平無法用萬用表准確測量,但是,用示波器可以看到。
如果你能用萬用表測到4V的電壓,就說明片選信號已經輸出了。不過,由於只是很短的低電首悶平脈沖,萬用表測不出來而已。

⑨ 單片機的供電電壓過低對單片機AD采樣有影響嗎

AD采樣的精度都會在 單片機 數據手冊上給出, 有些片子 精度必須在5V供電下才會精準, 但是3.3V也會正常工作,只是3.3V下AD采樣精度會降低. 另外如果你無法太高Vcc, 可以嘗試太高AD引腳上李檔的電壓. 采樣進度跟所採集的引腳電壓也有關系, 把採集電壓太高會提供精度 。
查看 電氣性能 一章節,看看AD採集的電燃渣壓需求,我看應該是跟上面的情況一樣. 只有2個辦法, 提高Vcc 或者 採集信號幅度, 你種情況還無法用補償來做,換一個片子補償值需求不一樣. 另外還有一個辦法: 就是先用一個穩壓(如2V)進行採集, 將採集結果保存非易失性存儲器,每次上電調皮擾悄出作為參考值. 可以用在要求不太嚴格的場合。