新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC單片機C語言程序設計(6)

        PIC單片機C語言程序設計(6)

        作者: 時間:2013-02-05 來源:網絡 收藏

        while(1)   // while 循環語句開始

          {

          while(x>0)

          {

          display(x); // 調顯示函數

          key_server(); // 調鍵值服務函數

          x--; // 分自減量(倒計時)

          }

          if (x==0) // 如果X=0

          RA0=1; // RA0 賦值1(報警信號)

          display_set(x); // 調鍵值顯示函數

          key_server(); // 調鍵值服務函數

          }

          }

          void key_server()// 鍵值服務程序開始

          {

          unsigned int value=0; // 給存儲顯示值賦0

          display_set(x); // 調鍵值顯示函數

          if( PORTA_4==0 ) // 如果RA4 為0

          {

          while(1)

          {

          x++; // 鍵值X 自增

          if(x>99) // 如果鍵值X>99

          x=0;   // 給X 賦值0

          display_set(x); // 調鍵值顯示函數

          delay_1m(); // 按鍵延時,以便觀察

          if(PORTA_4==1) // 如果RA4 為高電平

          {

          sign_a=0; // 清零設定時間標志位

          RA0=0; // 給RA0 賦值0

          break; // 跳出循環返回

          }

          }

          }

          }

          void display_set(unsigned int x)

          // 鍵值顯示函數開始

          {

          unsigned int d=20,unit_bit,ten_bit,unsigned char SEG7[10]={0xc0,0xf9,0xa4,

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

          unit_bit=x%10;

          // 這里的注釋與display 的函數相似

          ten_bit=x/10%10;

          while(d>0)

          {

          PORTA=0x1e;

          PORTB=SEG7[unit_bit];

          RA3=0; // 顯示個位

          delay(200);

          RA3=1;

          delay(2);

          PORTB=SEG7[ten_bit];

          RA2=0; // 顯示十位

          delay(200);

          RA2=1;

          delay(2);

          d--;

          }

          }

          void delay_1m()

          // 按鍵(圖6 的K1)延時函數開始

          {

          unsigned long int k; // 說明語句

          for(k=0;k4;k++) // for 語句

          {

          display_set(x); // 調用鍵值顯示函數

          }

          }

          說明: 上述C 程序經picc 編譯后生成。hex,即可用PIC 單片機編程器將。hex 燒寫到pic16F84A芯片中,再按圖6 電路制成倒計時器,即可按需要使用。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 普洱| 邯郸市| 大埔县| 札达县| 万山特区| 襄城县| 吴旗县| 通道| 瓦房店市| 威远县| 万山特区| 彩票| 磐石市| 兰溪市| 正阳县| 象山县| 平潭县| 湖口县| 通州区| 岐山县| 社旗县| 绥棱县| 乌兰浩特市| 安达市| 堆龙德庆县| 定结县| 临武县| 澎湖县| 鲁山县| 洛川县| 黔南| 沂南县| 无极县| 灵宝市| 广汉市| 报价| 兴隆县| 峨边| 娄烦县| 大港区| 高邑县|