新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 單片機關(guān)鍵技術(shù)基礎(chǔ)詳解(四)

單片機關(guān)鍵技術(shù)基礎(chǔ)詳解(四)

作者: 時間:2012-03-28 來源:網(wǎng)絡(luò) 收藏
/25px 宋體, arial; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; PADDING-TOP: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  mov a, r7

  inc a

  mov r7, a

  ret

  用c語言在.h文件中聲明: extern unsigned char proc_a(unsigned char val);

  調(diào)用時形如: retvalue = proc_a(0x11);

  說明:

  a:匯編程序如果帶參數(shù),則需要在匯編程序前多加一個下劃線。而聲明它的地方不用加(偉福編譯器這么要求的)。

  b:函數(shù)的形參中第一參數(shù)用R7傳遞,函數(shù)返回值用R7返回,這是C51的通用規(guī)范。其他參數(shù)都有相應(yīng)規(guī)定。函數(shù)可以返回一個位,用psw的c位返回。

  c:上面的語句,執(zhí)行順序是把0x11給R7,然后跳轉(zhuǎn)子程序,子程序?qū)⑺?后送回。

  d:函數(shù)跳轉(zhuǎn)到匯編程序時,本區(qū)的R0-R7,A,B,PSW,DPTR等寄存器可以供子程序使用,不必考慮調(diào)用后是否要恢復這些常規(guī)資源。上例中,A的值被函數(shù)使用了,編程者不必恢復調(diào)用前的值。

3:51的P0口特殊之處

  許多新手都碰到這個問題,其實很簡單,這涉及到芯片的io腳是怎么做出來的。這對硬件工程師來說十分重要。TTL的io腳模型:

  單片機關(guān)鍵技術(shù)基礎(chǔ)詳解(四)

  P1,P2,P3口都可以理解成左圖,注意vcc下面有個電阻,因此可以理解成:引腳輸出1的能力弱。地那邊沒有電阻,可以理解成引腳吸入電流能力強。而P0口,可以理解成右圖。這就是集電極開路輸出,也叫OC輸出??梢钥闯?,當CTR=1時,三極管導通,引腳被接地;當ctr=0時,三極管截止,引腳浮空,也叫三態(tài)。這個端口這么做的目的是考慮P0口肩負讀寫數(shù)據(jù)和地址復用,這個關(guān)系要仔細看懂cpu時序圖。因此,P0口要加合適的上拉電阻,絕不要加下拉電阻。上拉電阻的選擇要看外部負載情況。

  4:P1-3口如何輸入輸出



關(guān)鍵詞: 單片機 關(guān)鍵技術(shù)

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉