<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)C語(yǔ)言程序設(shè)計(jì)(15)

          PIC單片機(jī)C語(yǔ)言程序設(shè)計(jì)(15)

          作者: 時(shí)間:2013-01-26 來(lái)源:網(wǎng)絡(luò) 收藏

          說(shuō)明:a. 上述程序中,延時(shí)函數(shù)帶形式參數(shù)K,并由do-while 語(yǔ)句組成。

            b. 主函數(shù)main() 調(diào)用delay(k) 時(shí),其K 分別是45000(1 秒)、98000(2 秒)、和155000(3秒)。

            c.LED 燈點(diǎn)亮?xí)r的無(wú)限循環(huán),由while(1) 語(yǔ)句完成。

           ?。?)C 程序二,文件名為pic10.c, 清單如下:

            #include pic.h> // 頭文件

            void delay( K ) // 延時(shí)函數(shù)

            unsigned long int K;

            // 形參數(shù)(k) 說(shuō)明

            {

            unsigned long int d=K;

            // 說(shuō)明語(yǔ)句

            while(--d)

            // 由while 組成的延時(shí)執(zhí)行語(yǔ)句

            {;

            }

            }

            main( ) // 主函數(shù)開(kāi)始

            {

            TRISB=0x00

            // 設(shè)置PORTB 口全為輸出

            INTCON=0x00; // 關(guān)閉所有中斷

            PORTB=0x00; //RB 口先送低電平

            loop: // 語(yǔ)句標(biāo)號(hào)(無(wú)限循環(huán))

            PORTB=0x55;

            //RB 口外接LED 其1、3、5、7 點(diǎn)亮

            delay(37000);

            // 點(diǎn)亮的LED 延時(shí)1 秒后關(guān)閉

            PORTB=0xAA;

            //RB 口外接LED 其2、4、6、8 點(diǎn)亮

            delay(74000 );

            // 點(diǎn)亮的LED 延時(shí)2 秒后關(guān)閉

            PORTB=0xFF; //RB 口外接LED 全亮

            delay(111000);

            // 全亮的LED 延時(shí)3 秒后關(guān)閉

            goto loop; // 跳轉(zhuǎn)到loop 處循環(huán)

            }

            說(shuō)明:a. 上述程序中,延時(shí)函數(shù)帶形參數(shù)k,且由while 語(yǔ)句組成。

            b. 主函數(shù)main( ) 調(diào)用delay(k) 時(shí),其k 分別是37000(1 秒)、74000(2 秒)和1110000(3 秒)。

            c. LED 燈點(diǎn)亮?xí)r的無(wú)限循環(huán),由goto 無(wú)條件轉(zhuǎn)移執(zhí)行語(yǔ)句完成。其中l(wèi)oop 為語(yǔ)句標(biāo)號(hào)。對(duì)goto 語(yǔ)句使用時(shí)應(yīng)慎重,在簡(jiǎn)單的C 程序中使用goto 語(yǔ)句是必要的,但編輯復(fù)雜的C 程序結(jié)構(gòu),會(huì)使程序的可讀性變差。

            (3) C 程序三,文件名為pic11.c, 清單如下:

            #include pic.h> // 頭文件

            unsigned int h; // 無(wú)符號(hào)的整型變量

            void delay(unsigned long int M)

            // 延時(shí)函數(shù)開(kāi)始

            {

            unsigned int long i,j; // 說(shuō)明語(yǔ)句

            for(i=0;i=81;i++)

            // 由兩個(gè)for 語(yǔ)句組成的

            for(j=0;j=M;j++) // 延時(shí)執(zhí)行語(yǔ)句

            continue; // 繼續(xù)循環(huán)

            }

            main( ) // 主函數(shù)開(kāi)始

            {

            TRISB=0x00;

            // 設(shè)置PORTB 口全為輸出

            INTCON=0x00; // 關(guān)閉所有中斷

            PORTB=0x00; //RB 口先送低電平

            h=0; // 給h 賦置0

            do

            // do-while 語(yǔ)句開(kāi)始循環(huán)

            {

            PORTB=0x55;

            //RB 口外接LED 其1、3、5、7 點(diǎn)亮

            delay(500);

            // 點(diǎn)亮的LED 延時(shí)1 秒后關(guān)閉

            PORTB=0xAA;

            //RB 口外接LED 其2、4、6、8 點(diǎn)亮

            delay(1000);

            // 點(diǎn)亮的LED 延時(shí)2 秒后關(guān)閉

            PORTB=0xFF; // RB 口外接LED 全亮

            delay(1500);

            // 全亮的LED 延時(shí)3 秒后 關(guān)閉

            h++; // h 自增量

            }

            while(h=100); //h 自增不滿足條件時(shí)

            h=0; // 給h 賦值0

            return; // 返回

            }

            說(shuō)明:a. 上述程序中,延時(shí)函數(shù)帶形參數(shù)M,并由二個(gè)for 語(yǔ)句組成(可以是多個(gè)for 語(yǔ)句或一個(gè)for 語(yǔ)句)。

            b. 主函數(shù)main( ) 調(diào)用delay(M) 時(shí),M 值分別是500(1 秒)、1000(2 秒)和1500(3 秒)。

            c. LED 燈點(diǎn)亮?xí)r的無(wú)限循環(huán)由do_while 語(yǔ)句完成,其while(h =100) 中的100 可任意選取大于0 的其他值。

            (4)C 程序四,文件名為pic12.c,清單如下:

            #include pic.h> // 頭文件

            void delay(unsigned long int M)

            // 延時(shí)函數(shù)開(kāi)始

            {

            unsigned int long j; // 說(shuō)明語(yǔ)句

            for(j=0;j=M;j++)

            // 由一個(gè)for 語(yǔ)句組成的延時(shí)語(yǔ)句

            continue; //for 條件滿足繼續(xù)循環(huán)

            }

            void light1( );

            // 聲明RB 口點(diǎn)LED 燈函數(shù)1

            void light2( );

            // 聲明RB 口點(diǎn)LED 燈函數(shù)2

            void light3( );

            // 聲明RB 口點(diǎn)LED 燈函數(shù)3

            main( ) // 主函數(shù)開(kāi)始

            {

            TRISB=0x00;

            // 設(shè)置PORTB 口全為輸出

            INTCON=0x00; // 關(guān)閉所有中斷

            PORTB=0x00; //RB 口先送低電平

            while(1) // 永久循環(huán)開(kāi)始

            {

            light1( ); // 調(diào)用LED 燈函數(shù)

            delay(45000); // 調(diào)用延時(shí)函數(shù)(1 秒)

            light2( ); // 調(diào)用LED 燈函數(shù)2

            delay(95000); // 調(diào)用延時(shí)函數(shù)(2 秒)

            light3( ); // 調(diào)用LED 燈函數(shù)3

            delay(145000); // 調(diào)用延時(shí)函數(shù)(3 秒)

            }

            }

            void light1( ) //LED 燈函數(shù)1

            {

            PORTB=0x55;

            // RB 口外接LED 其1、3、5、7 點(diǎn)亮

            }

            void light2( ) //LED 燈函數(shù)2

            {

            PORTB=0xAA;

            //RB 口外接LED 其2、4、6、8 點(diǎn)亮

            }

            void light3( ) //LED 燈函數(shù)3

            {

            PORTB=0xFF; //RB 口外接LED 全亮

            }



          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();