<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ì)(6)

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

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

          (3)倒計(jì)時(shí)的C 程序。

            根據(jù)圖7~ 圖9 編寫的的倒計(jì)時(shí)C 程序(命名為pic06.c)清單如下:

            #includepic.h>

            #define PORTAIT(add,bit)((unsigned)(add)*8+(bit))

            static bit PORTA_0 @PORTAIT(PORTA,0);

            //pic16F84A

            static bit PORTA_1 @PORTAIT(PORTA,1);

            static bit PORTA_2 @PORTAIT(PORTA,2);

            //A 口的位定義

            static bit PORTA_3 @PORTAIT(PORTA,3);

            static bit PORTA_4 @PORTAIT(PORTA,4);

            unsigned int ttr=0;

            // 無(wú)符號(hào)整形變量ttr,并賦值0

            unsigned char x=0,sign_a=0;

            // 字符變量X,標(biāo)志位并賦值0

            void key_server(); // 鍵值服務(wù)函數(shù)

            void display(unsigned int x);

            // 帶形參X 的顯示函數(shù)

            void display_set(unsigned int x);

            // 帶形參X 的鍵值顯示函數(shù)

            void delay_1m(); // 按鍵延時(shí)函數(shù)

            void delay(unsigned long int k ) // 延時(shí)函數(shù)

            {

            unsigned long int i; // 無(wú)符號(hào)整形變量i

            for(i=0;i=k;i++) // for 語(yǔ)句

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

            }

            void display(unsigned int x) // 顯示函數(shù)開始

            {

            unsigned int d=5800,unit_bit,ten_bit,

            // 整型變量d 并賦值,個(gè)、十位

            unsigned char SEG7[10]={0xc0,0xf9,0xa4,

            0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

            // 引用數(shù)組字符段碼

            unit_bit=x%10; //picc 編譯器可識(shí)別的個(gè)位

            ten_bit=x/10%10; // picc 可識(shí)別的十位

            while(d>0) // while 語(yǔ)句

            {

            PORTA|=0x1E; // 關(guān)顯示

            PORTB=SEG7[unit_bit];

            // 個(gè)位字段碼送B 口

            RA3=0; // 顯示個(gè)位

            delay(200); // 延時(shí)以便觀察

            RA3=1;  // 關(guān)個(gè)位顯示

            delay(2); // 延時(shí)

            PORTB=SEG7[ten_bit];

            // 十位字段碼送B 口

            RA2=0; // 顯示十位

            delay(200); // 延時(shí)以便觀察

            RA2=1; // 關(guān)十位顯示

            delay(2); // 延時(shí)

            d--; // d 從5800 開始自減量

            if( PORTA_4==0) // K1 未按下

            {

            while(1) // 執(zhí)行while 語(yǔ)句

            {

            if( PORTA_4==1) // K1 按下,執(zhí)行以下程序

            {

            sign_a=1;

            x=0;

            d=0;

            RA0=0;

            break; // 跳出循環(huán)

            }

            }

            }

            }

            }

            void main( ) // 主程序開始

            {

            TRISB=0x00;

            // 16F84A 口初始化,B 為輸入

            TRISA=0x10; // A4 輸入,其余輸出

            PORTB=0xFF;

            INTCON=0x00;

            PORTA=0xFF; 關(guān)顯示

            RA0=0; 關(guān)報(bào)警

            x=0; // 給整型變量X 賦值0



          評(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); })();