音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(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

這兩句是什么意思

作者:kdc 欄目:單片機(jī)
這兩句是什么意思
你知道這個程式有什么用嗎?

       ……

       CLR     P1.0

       JB      P1.0,MMK

       ……

       ……

MMK:  RET

       ……

       ……

子程序就一句,也不知道起什么作用。


2樓: >>參與討論
yixiao2000
是不是用來測試單片機(jī)運(yùn)行情況的?
是不是用來測試單片機(jī)運(yùn)行情況的?

3樓: >>參與討論
raistlins
跳出
如果你這3行都在一個子程序里的話,意思就是掃描到P1.0高電平的時候中斷該子程序并且將PC值恢復(fù)到子程序運(yùn)行前的中斷點(diǎn).
如果在主程序里的話應(yīng)該編譯通過不了吧..

4樓: >>參與討論
conwh
輸出,檢測
 
5樓: >>參與討論
lenglx
是否手誤?
SETB P1.0
JB P1.0,MKK
還有可能.

6樓: >>參與討論
xiajiean
子程序里的一段,用于判斷P1.0是否為高電平
 
7樓: >>參與討論
lenglx
呵呵.
都CLR P1.0了,就算外部是高電平,你能檢測出來?

8樓: >>參與討論
conwh
RE:lenglx
 lenglx發(fā)表于 2006-10-12 16:54 侃單片機(jī) ←返回版面    

是否手誤?

SETB P1.0
JB P1.0,MKK
還有可能.
=============
你知道人家的外圍電路?



9樓: >>參與討論
lenglx
不知道.
就算我不知道外圍電路,如果他真是用來檢測P1.0引腳電平的話,那就應(yīng)當(dāng)先
SETB P1.0
而不是CLR P1.0
因?yàn)镃LR P1.0 將會使51內(nèi)部的那個MOS管導(dǎo)通,導(dǎo)致P1.0引腳拉低.
這種情況下,不管外部是什么電平(除非直接接電源,呵呵,但真接電源的話,"后果很嚴(yán)重"),JB P1.0,MKK都不會跳轉(zhuǎn).


10樓: >>參與討論
conwh
RE“LENGLX
lenglx 發(fā)表于 2006-10-12 17:37 侃單片機(jī) ←返回版面    

不知道.

就算我不知道外圍電路,如果他真是用來檢測P1.0引腳電平的話,那就應(yīng)當(dāng)先
SETB P1.0
而不是CLR P1.0
因?yàn)镃LR P1.0 將會使51內(nèi)部的那個MOS管導(dǎo)通,導(dǎo)致P1.0引腳拉低.
這種情況下,不管外部是什么電平(除非直接接電源,呵呵,但真接電源的話,"后果很嚴(yán)重"),JB P1.0,MKK都不會跳轉(zhuǎn).

===========================
對頭,我看馬虎了。對不起了。

11樓: >>參與討論
平常人
發(fā)表點(diǎn)外行人的見解
假設(shè):
1)該I/O口用于關(guān)閉某個外部信號,使它不能進(jìn)到單片機(jī)中;
2)若這個外部信號進(jìn)入單片機(jī),可觸發(fā)一個中斷,中斷處理程序?qū)⒃揑/O口置高就可以阻止上述程序JB后面語句的執(zhí)行
3)不能簡單地用關(guān)中斷擋住這個外部信號

想象一下,若只有CLR而沒有后面的JB,當(dāng)執(zhí)行CLR語句時或之前,那個外部信號觸發(fā)了中斷,則無法達(dá)到“阻止JB后面語句的執(zhí)行”的目的。

也就是說:CLR用于關(guān)閉外來信號,JB用于保證在關(guān)門的過程中外部信號沒有進(jìn)來。

綜上分析,這樣寫是十分必要的! 也許確如上面幾位大蝦所說,這是個錯誤,但從操作系統(tǒng)中互斥的角度出發(fā),我寧愿相信我的假設(shè)適用于這個程序。當(dāng)然,很有可能有其他考慮,但應(yīng)該是以互斥的概念來解釋。

12樓: >>參與討論
conwh
說2句吧
CLR 口位后,除了啟動(或關(guān)閉)外,同時也默認(rèn)了該口為輸出方式,所以使用JB口(讀操作)已經(jīng)沒有意義了,各位看看是不是這樣的。

13樓: >>參與討論
dengm
同意“平常人”的看法,還有一種可能:內(nèi)部的那個MOS管已被搞斷
 
14樓: >>參與討論
lenglx
也許..
平常人 發(fā)表于 2006-10-12 22:15 侃單片機(jī) ←返回版面    

發(fā)表點(diǎn)外行人的見解

假設(shè):
1)該I/O口用于關(guān)閉某個外部信號,使它不能進(jìn)到單片機(jī)中;
2)若這個外部信號進(jìn)入單片機(jī),可觸發(fā)一個中斷,中斷處理程序?qū)⒃揑/O口置高就可以阻止上述程序JB后面語句的執(zhí)行
3)不能簡單地用關(guān)中斷擋住這個外部信號

想象一下,若只有CLR而沒有后面的JB,當(dāng)執(zhí)行CLR語句時或之前,那個外部信號觸發(fā)了中斷,則無法達(dá)到“阻止JB后面語句的執(zhí)行”的目的。

也就是說:CLR用于關(guān)閉外來信號,JB用于保證在關(guān)門的過程中外部信號沒有進(jìn)來。

綜上分析,這樣寫是十分必要的! 也許確如上面幾位大蝦所說,這是個錯誤,但從操作系統(tǒng)中互斥的角度出發(fā),我寧愿相信我的假設(shè)適用于這個程序。當(dāng)然,很有可能有其他考慮,但應(yīng)該是以互斥的概念來解釋

---------------------------------------------------------------------------------------------
我對你的這段話不是很理解.

不過假設(shè)如你所說,CLR P1.0能阻止某個外部信號好了.那么CLR后面的語句也應(yīng)當(dāng)是檢測那個被阻止的外部信號,而不是檢測P1.0本身.
     CLR     P1.0
       JB      P1.0,MMK ;從互斥的觀點(diǎn)看,這里應(yīng)當(dāng)檢測互斥信號標(biāo)志(或者是一個標(biāo)志,或者是一個IO,但肯定不能是P1.0)
       ……                 ; 這部分應(yīng)當(dāng)是訪問互斥對象了.
       ……
MMK:  RET

---------------------------------------------------------------------------------------------
dengm 發(fā)表于 2006-10-13 08:06 侃單片機(jī) ←返回版面    

同意“平常人”的看法,還有一種可能:內(nèi)部的那個MOS管已被搞斷

如果是內(nèi)部的那個MOS管已經(jīng)斷了,CLR P1.0又有什么用?


---------------------------------------------------------------------------------------------


   讀鎖存器            /|
  --------------------/ |
           .------- -<  |-------------+
           |          \ |             |
           |           \|             |      vcc
           |                          |       |
           |                          |      .-.
           |     .----------------.   |      | |
內(nèi)部總線  |     |                |   |      | |
  ---------+-----|D             Q |---+      '-'
           |     |                |           |
           |     |                |           |-----+---- P1.X
           |     |                |        ||-+     |
寫鎖存器  |     |                |        ||       |
  ---------)-----|CL           /Q |--------||-+     |
           |     |                |           |     |
           |     '----------------'           |     |
           |                                 ===    |
           |                                 GND    |
           |                                        |
           |           /|                           |
           |          / |                           |
           '------- -<  |---------------------------+
---------------------\ |
  讀引腳               \|

15樓: >>參與討論
jt4117
是用來抗干擾的,增加系統(tǒng)可靠性(我認(rèn)為)
 
16樓: >>參與討論
conwh
lenglx就是厲害,用字符竟然作出一個圖來
 
17樓: >>參與討論
平常人
解釋這里如何實(shí)現(xiàn)互斥的概念
假如在CLR之前那條指令與JB之間剛好有一個中斷發(fā)生,即CPU執(zhí)行完CLR指令前/后進(jìn)入了中斷處理程序X,在X中剛好有指令SETB P1.0,當(dāng)X完成返回后,CPU會繼續(xù)從JB處開始執(zhí)行,這時JB就會發(fā)生跳轉(zhuǎn)躲開互斥區(qū)。

但如果CLR可以阻止這個有SETB P1.0指令的中斷發(fā)生,那么CPU一旦進(jìn)入互斥區(qū),可以進(jìn)入X的中斷就不可能再進(jìn)來了。

注:互斥區(qū)是JB到RET間的程序段。

18樓: >>參與討論
conwh
這已經(jīng)深入到玄學(xué)中了,哈哈。
2條指令引人入勝呀,這就是單片機(jī)的魅力,不按套路出招,將無招勝有招,將無形變有形。以上大蝦分析的都有道理,“平常人”以不平常的道理演繹了一個大蝦的風(fēng)范。

* - 本貼最后修改時間:2006-10-13 23:15:05 修改者:conwh

19樓: >>參與討論
rtfsc
-
假如在CLR之前那條指令與JB之間剛好有一個中斷發(fā)生,即CPU執(zhí)行完CLR指令前/后進(jìn)入了中斷處理程序X,在X中剛好有指令SETB P1.0,當(dāng)X完成返回后,CPU會繼續(xù)從JB處開始執(zhí)行,這時JB就會發(fā)生跳轉(zhuǎn)躲開互斥區(qū)。

但如果CLR可以阻止這個有SETB P1.0指令的中斷發(fā)生,那么CPU一旦進(jìn)入互斥區(qū),可以進(jìn)入X的中斷就不可能再進(jìn)來了。

注:互斥區(qū)是JB到RET間的程序段。
-------------------------------------

假如是這樣的話,JB還有存在的意義嗎?

就2條指令也能想這么多,真無聊。

20樓: >>參與討論
yuands
延時
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
哪個型號的芯片能與at89s52管腳兼容?
各位老師幫我想想這幾個模塊的時間調(diào)度,謝謝拉。
想做一個光控開關(guān),請推薦個好用的光傳感器!
請教各位前輩使用U2270B使用問題?
8-32位微處理器免費(fèi)培訓(xùn),想去的都來看看,搭個伴
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號