中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > C51語言應(yīng)用編程的若干問題

        C51語言應(yīng)用編程的若干問題

        作者: 時(shí)間:2012-07-04 來源:網(wǎng)絡(luò) 收藏


          在以上程序中,函數(shù)的返回值為一無符號(hào)整型數(shù),根據(jù)調(diào)用規(guī)則,返回值的高位必須在R6中,低位在R7中,這樣才可保證數(shù)據(jù)的傳遞不出錯(cuò)。另外,在調(diào)用過程中,必須注意寄存器的入棧。這樣在以后用到A/D轉(zhuǎn)換時(shí),在C語言中調(diào)用子程序AD()即可?!?BR>
        3 中斷處理過程

          編譯器支持在C源程序中直接開發(fā)中斷過程,因此減輕了使用的繁瑣工作,提高了開發(fā)效率。中斷服務(wù)函數(shù)的完整語法如下:

          void 函數(shù)名(void)[模式]
         ?。墼偃耄輎nterrupt n [using r]

          其中n(0~31)代表中斷號(hào)。編譯器允許32個(gè)中斷,具體使用哪個(gè)中斷由80C51系列的芯片決定。r(0~3)代表第r組寄存器。在調(diào)用中斷函數(shù)時(shí),要求中斷過程調(diào)用的函數(shù)所使用的寄存器組必須與其相同。"再入"用于說明中斷處理函數(shù)有無"再入"能力。C51編譯器及其對(duì)C語言的擴(kuò)充允許編程者對(duì)中斷所有方面的控制和寄存器組的使用。這種支持能使編程者創(chuàng)建高效的中斷服務(wù)程序,用戶只須在C語言下關(guān)心中斷和必要的寄存器組切換操作。

          例3 設(shè)單片機(jī)的fosc=12MHz,要求用T0的方式1編程,在P1.0腳輸出周期為2ms的方波。

          用C語言編寫的中斷服務(wù)程序如下:

        #include reg51.h>
        sbit P1_0=P1^0;
        void timer0(void)interrupt 1 using 1 {
           /*T0中斷服務(wù)程序入口*/
        P1_0=!P1_0;
        TH0=-(1000/256);   /*計(jì)數(shù)初值重裝*/
        TL0=-(1000%256);
        }
        void main(void)
        {
        TMOD=0x01;   /*T0工作在定時(shí)器方式1*/
        P1_0=0;
        TH0=-(1000/256);   /*預(yù)置計(jì)數(shù)初值*/
        TL0=-(1000%256);
        EA=1;      /*CPU開中斷*/
        ET0=1;      /*T0開中斷*/
        TR0=1;      /*啟動(dòng)T0*/
        do{}while(1);
        }

         在編寫中斷服務(wù)程序時(shí)必須注意不能進(jìn)行參數(shù)傳遞,不能有返回值。

        4 結(jié)論

          C51編譯器不但可以縮短單片機(jī)控制系統(tǒng)的開發(fā)周期,而且易于調(diào)試和維護(hù)。此外,C51語言還有許多強(qiáng)大的功能,如提供豐富的庫函數(shù)供用戶直接調(diào)用,完整的編譯控制指令為程序調(diào)試提供必要的符號(hào)信息等等??傊?,C51語言是廣大單片機(jī)開發(fā)人員的強(qiáng)有力的工具。


        上一頁 1 2 3 下一頁

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉