新聞中心

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

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

        作者: 時(shí)間:2012-03-28 來(lái)源:網(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語(yǔ)言在.h文件中聲明: extern unsigned char proc_a(unsigned char val);

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

          說(shuō)明:

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

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

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

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

        3:51的P0口特殊之處

          許多新手都碰到這個(gè)問題,其實(shí)很簡(jiǎn)單,這涉及到芯片的io腳是怎么做出來(lái)的。這對(duì)硬件工程師來(lái)說(shuō)十分重要。TTL的io腳模型:

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

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

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



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

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 抚宁县| 商水县| 华宁县| 墨脱县| 务川| 温泉县| 石城县| 海兴县| 霍州市| 阜阳市| 南郑县| 越西县| 耒阳市| 内丘县| 根河市| 婺源县| 广丰县| 利辛县| 鱼台县| 彭州市| 汤阴县| 白水县| 无棣县| 古蔺县| 文成县| 汪清县| 潞西市| 广宁县| 定远县| 兰州市| 金门县| 焉耆| 邵东县| 珲春市| 舟曲县| 武夷山市| 襄汾县| 南康市| 定安县| 方正县| 建德市|